Sistema de morte - Crashado - Harald - 07/03/2024
Preciso de uma ajuda no sistema de morte, Quando eu morro no mobile, Eu acabo Crashado, mais se eu morro no PC, Acontece o que é pra acontecer, Ir pro Hospital.
Código:
Código: public OnPlayerSpawn(playerid)
{
if(Player[playerid][pMorreu] == 1)
{
SetPlayerHealth(playerid, 1);
SetPlayerPos(playerid, 1151.4218,-1314.0159,-43.3857);
SetPlayerFacingAngle(playerid, 357.6556);
Player[playerid][pRecuperando] = 1;
TimerHospital[playerid] = SetTimerEx("Recuperando", 4000, true, "d", playerid);
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Recuperando...", 5000, 5);
}
SetTimerEx("TempoFome", 1232, true, "d", playerid);
SetTimerEx("TempoSede", 1230, true, "d", playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
Player[playerid][pMorreu] = 1;
return 1;
}
O ngc do Tempo(Recuperando)
forward Recuperando(playerid);
public Recuperando(playerid)
{
if(Player[playerid][pRecuperando] == 0) return 1;
new Float:vida;
GetPlayerHealth(playerid, vida);
SetPlayerHealth(playerid, vida + 20);
GameTextForPlayer(playerid, "Recuperando...", 5000, 5);
if(vida >= 100)
{
GameTextForPlayer(playerid, "~g~Recuperado", 5000, 5);
Player[playerid][pMorreu] = 0;
Player[playerid][pRecuperando] = 0;
TogglePlayerControllable(playerid, 1);
KillTimer(TimerHospital[playerid]);
}
return 1;
}
RE: Sistema de morte - Crashado - Maycon_Felipe - 07/03/2024
Bom, meu principal suspeito ai é o GameTextForPlayer, mas não sei tmb o q tem dentro do OnPlayerDeath por completo ou do Recuperando.
Coloca tudo em um comando e testa no mobile, ou adiciona print(""); para debug e vê até onde vai no console qnd o mobile crashar.
Código: CMD:testemorte(playerid)
{
print("Chamou 1");
SetPlayerHealth(playerid, 1);
SetPlayerPos(playerid, 1151.4218,-1314.0159,-43.3857);
SetPlayerFacingAngle(playerid, 357.6556);
print("Chamou 2");
Player[playerid][pRecuperando] = 1;
TimerHospital[playerid] = SetTimerEx("Recuperando", 4000, true, "d", playerid);
TogglePlayerControllable(playerid, 0);
print("Chamou 3");
GameTextForPlayer(playerid, "Recuperando...", 5000, 5);
print("Chamou 4");
return 1;
}
RE: Sistema de morte - Crashado - Harald - 07/03/2024
No PC tá pegando de boa manin, o problema deve ser falta de um GameTextForPlayer é?
RE: Sistema de morte - Crashado - Notknown - 07/03/2024
(07/03/2024 16:02)Harald Escreveu: Preciso de uma ajuda no sistema de morte, Quando eu morro no mobile, Eu acabo Crashado, mais se eu morro no PC, Acontece o que é pra acontecer, Ir pro Hospital.
Código:
public OnPlayerSpawn(playerid)
{
if(Player[playerid][pMorreu] == 1)
{
SetPlayerHealth(playerid, 1);
SetPlayerPos(playerid, 1151.4218,-1314.0159,-43.3857);
SetPlayerFacingAngle(playerid, 357.6556);
Player[playerid][pRecuperando] = 1;
TimerHospital[playerid] = SetTimerEx("Recuperando", 4000, true, "d", playerid);
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Recuperando...", 5000, 5);
}
SetTimerEx("TempoFome", 1232, true, "d", playerid);
SetTimerEx("TempoSede", 1230, true, "d", playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
Player[playerid][pMorreu] = 1;
return 1;
}
O ngc do Tempo(Recuperando)
forward Recuperando(playerid);
public Recuperando(playerid)
{
if(Player[playerid][pRecuperando] == 0) return 1;
new Float:vida;
GetPlayerHealth(playerid, vida);
SetPlayerHealth(playerid, vida + 20);
GameTextForPlayer(playerid, "Recuperando...", 5000, 5);
if(vida >= 100)
{
GameTextForPlayer(playerid, "~g~Recuperado", 5000, 5);
Player[playerid][pMorreu] = 0;
Player[playerid][pRecuperando] = 0;
TogglePlayerControllable(playerid, 1);
KillTimer(TimerHospital[playerid]);
}
return 1;
}
Um Tempo atras estava com esse mesmo problema, e isso resolveu para mim
de uma olhada nisso: https://portalsamp.com/showthread.php?tid=1830
|