17.10.2015, 01:22
Volvн a esto de pawn, hace dos aсos que no lo toco. Estoy programando un gamemode desde 0 y me resultу un problema, es algo ilуgico a mi entender.
Cuando coloco alguna funciуn en OnPlayerDeath no se ejecuta, por ejemplo.
Cuando el jugador muere el valor de la variable sigue en cero o en el que estaba anteriormente, es decir, no se modifica. Al igual que no se llama a la callback. No es un error de el cуdigo, ya que si yo coloco йste en un comando y luego muero realiza su funciуn. Lo mismo pasa con OnPlayerSpawn.
Si coloco llamo a la callback en OnPlayerUpdate al spawnear el dialog aparece a cada rato, es decir, lee que el valor de la variable es mayor a 1, pero en ningъn momento establecн que йsta estй en 1, es mбs, en OnPlayerConnect establecн que la variable estй en 0 hasta que se modifique posteriormente. No sй cuбl es el problema, si de la variable o de las callbacks.
Cuando coloco alguna funciуn en OnPlayerDeath no se ejecuta, por ejemplo.
Код:
public OnPlayerDeath(playerid, killerid, reason) { SetPVarInt(playerid, "IsDeath", 1); DeathPlayer(playerid); return 1; }
Код:
forward DeathPlayer(playerid); public DeathPlayer(playerid) { if(GetPVarInt(playerid, "IsDeath") > 0) return SendClientMessage(playerid, -1, "var in 0"); { new string[1024], dialog[1024]; format(string, sizeof(string), "{FFFFFF} Te encuentras herido y con probabilidades de morir. Teniendo en cuenta el entorno en el que te encuentras tendrбs\n"); strcat(dialog, string); format(string, sizeof(string), "{FFFFFF} la posibilidad de alertar a la policнa roleando que un tercero a visto la situaciуn {fdfe8b} їQuieres alertar a la policнa?.\n\n"); strcat(dialog, string); format(string, sizeof(string), "{FFFFFF} Usar esto para beneficiarte en caso de que no haya probabilidades de que\n alguien haya visto la situaciуn serб penado con una sanciуn."); strcat(dialog, string); ShowPlayerDialog(playerid, DIALOG_ENVIRONMENT, DIALOG_STYLE_MSGBOX, "Estбs herido. їQuй harбs?", dialog, "Llamar","Cancelar"); ApplyAnimation(playerid, "CRACK", "null", 4.0, 0, 0, 0, 1, 0, 1); ApplyAnimation(playerid, "CRACK", "crckdeth4", 4.0, 0, 0, 0, 1, 0, 1); TogglePlayerControllable(playerid, 0); SetPlayerPos(playerid, DeadX[playerid], DeadY[playerid]-0.3, DeadZ[playerid]); }