Portal SAMP
[Ajuda] Estou com dificuldades OnPlayerDeath. - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Estou com dificuldades OnPlayerDeath. (/showthread.php?tid=2711)



Estou com dificuldades OnPlayerDeath. - RosaScripter - 24/08/2022

Estou com uma difuldade ao teleportar o jogador apos a morte para o hospital

veja o código a baixo.
Código:
public OnPlayerDeath(playerid, killerid, reason)
{
    SetPlayerPos(playerid, 1150.7927,-1324.8185,-43.4495);
    SetPlayerFacingAngle(playerid, 265.8022);
    ZerarDados(playerid);
    SetPlayerHealth(playerid, 100);
    ClearAnimations(playerid);
    SalvarDadosS(playerid);
    return 1;
}
o jogador apos a morte não vai para o local definido no SetPos e sim para o Spawn de inicio do servidor, já tentei diversas formas e mesmo assim continua indo para o spawn e não para o local definido.


RE: Estou com dificuldades OnPlayerDeath. - MarcosBrazz - 24/08/2022

Tente algo assim:
Código:
public OnPlayerDeath(playerid, killerid, reason)
{
    morreu[playerid] = true;
    return 1;
}
public OnPlayerSpawn(playerid, killerid, reason)
{
   if(morreu[playerid])
   {
       //setplayerpos....
       morreu[playerid] = false;
   }
   return 1;
}



RE: Estou com dificuldades OnPlayerDeath. - Dr Editor - 24/08/2022

Quando o jogador morre não é possível manipular ele até a chamada da callback de seleção de classe.
Neste caso é necessário forçar o respawn.





Código:
public OnPlayerDeath(playerid, killerid, reason)
{
   TogglePlayerSpectating(playerid, 1);
    SpawnInfo(playerid, 255, 0, F1150.7927,-1324.8185,-43.4495, 265.8022, 0, 0, 0, 0, 0, 0);
    TogglePlayerSpectating(playerid, 0);

    ZerarDados(playerid);
    ClearAnimations(playerid);
    SalvarDadosS(playerid);
    return 1;
}




Isso é só um código de exemplo.


RE: Estou com dificuldades OnPlayerDeath. - RosaScripter - 24/08/2022

(24/08/2022 15:13)Dr Editor Escreveu: Quando o jogador morre não é possível manipular ele até a chamada da callback de seleção de classe.
Neste caso é necessário forçar o respawn.





Código:
public OnPlayerDeath(playerid, killerid, reason)
{
   TogglePlayerSpectating(playerid, 1);
    SpawnInfo(playerid, 255, 0, F1150.7927,-1324.8185,-43.4495, 265.8022, 0, 0, 0, 0, 0, 0);
    TogglePlayerSpectating(playerid, 0);

    ZerarDados(playerid);
    ClearAnimations(playerid);
    SalvarDadosS(playerid);
    return 1;
}




Isso é só um código de exemplo.

Certin +REP