[Ayuda] Bug en 'OnPlayerDeath'. - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Ayuda] Bug en 'OnPlayerDeath'. (
/showthread.php?tid=475775)
[Ayuda] Bug en 'OnPlayerDeath'. -
Swedky - 14.11.2013
Bien, estaba re-comenzando a hacer mi GM ya que perdн todo lo otro en la anterior PC.
Bueno, estaba testeando 'OnPlayerDeath', pero es como que no es llamado.
Digo esto ya que tiene que aparecer un mensaje diciendo: *** El Humano %s [%d] ha sido Infectado. Pero dicho mensaje no aparece.
Esto es lo que tengo en la callback:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, GetPlayerWeapon(killerid));
// Esta 'if' es la que no funciona, todo lo otro de la callback sн.
if(Team[playerid] == HUMANO)
{
new string[108];
SetPlayerColor(playerid, ROJO);
SetPlayerTeam(playerid, ZOMBIE);
format(string, sizeof(string), "{FF0000}*** {FFFFFF}El Humano {00FF00}%s [%d] {FFFFFF}ha sido {00FF00}Infectado{FFFFFF}.", GetPlayerNameEx(playerid), playerid);
SendClientMessageToAll(-1, string);
Team[playerid] = ZOMBIE;
}
if(Team[killerid] == HUMANO && Team[playerid] == ZOMBIE)
{
GameTextForPlayer(killerid, "~w~+ 5 score.~n~~r~+ $7500.", 5000, 3);
SetPlayerScore(killerid, GetPlayerScore(killerid) + 5);
GivePlayerMoney(killerid, 7500);
}
return 1;
}
Saludos.
Respuesta: [Ayuda] Bug en 'OnPlayerDeath'. -
Adoniiz - 14.11.2013
verifica bien las variables, no estarбs seteando la variable "Team" a ZOMBIES antes de que se llame dicha callback y por eso la restricciуn no es llamada y verdadera?
no veo nada de malo allн
Respuesta: [Ayuda] Bug en 'OnPlayerDeath'. -
Parka - 14.11.2013
if(Team[killerid] == ZOMBIE && Team[playerid] == HUMANO)
porque no lo hiciste similar al de abajo?
Respuesta: [Ayuda] Bug en 'OnPlayerDeath'. -
OTACON - 14.11.2013
Quote:
Originally Posted by Parka
if(Team[killerid] == ZOMBIE && Team[playerid] == HUMANO)
porque no lo hiciste similar al de abajo?
|
creoke no lo hizo por ke por ke... uno es para HUMANO nada mas y el otro es para ambos (general..
Respuesta: [Ayuda] Bug en 'OnPlayerDeath'. -
Swedky - 15.11.2013
Adoniiz: Si, estб todo en orden. Ademбs de que si es humano y mata un Zombie llama la if de la callback.
Parka: Y si es humano y muere por caer muy alto, o le explota algo?.
P/D: Lo solucionй; tenнa la callback asн:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, GetPlayerWeapon(killerid));
Team[playerid] = ZOMBIE; // Daba el Equipo Zombie antes de la if, y era por eso que no detectaba que era Humano.
if(Team[playerid] == HUMANO)
{
new string[108];
SetPlayerColor(playerid, ROJO);
SetPlayerTeam(playerid, ZOMBIE);
format(string, sizeof(string), "{FF0000}*** {FFFFFF}El Humano {00FF00}%s [%d] {FFFFFF}ha sido {00FF00}Infectado{FFFFFF}.", GetPlayerNameEx(playerid), playerid);
SendClientMessageToAll(-1, string);
Team[playerid] = ZOMBIE;
}
if(Team[killerid] == HUMANO && Team[playerid] == ZOMBIE)
{
GameTextForPlayer(killerid, "~w~+ 5 score.~n~~r~+ $7500.", 5000, 3);
SetPlayerScore(killerid, GetPlayerScore(killerid) + 5);
GivePlayerMoney(killerid, 7500);
}
return 1;
}
Arreglй eso, y pensй que habнa reiniciado la consola para que haga efecto :/.
Gracias a todos.