25/10/2022 00:03
(24/10/2022 23:04)White_Blue Escreveu:(24/10/2022 22:48)tylerthecreator Escreveu:Se você não quer que a callback seja acionada, suponho que assim resolverá.(24/10/2022 19:50)White_Blue Escreveu:Obrigado pela resposta, White. Tentei, mas continua acionando a OnPlayerRequestClass após a morte.Tenta como no código acima.Código PHP:new bool:Morreu[MAX_PLAYERS] = false;
public OnPlayerDeath(playerid, killerid, reason) {
if(playerid != INVALID_PLAYER_ID) {
Morreu[playerid] = true;
}
return 1;
}
public OnPlayerSpawn(playerid) {
if(Morreu[playerid] == true) {
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
Morreu[playerid] = false;
}
return 1;
}
Código PHP:public OnPlayerRequestClass(playerid, classid) {
if(Morreu[playerid] == true) return 1;
return 1;
}
Infelizmente não funcionou.
O meu problema é exatamente esse aqui, que esse rapaz mencionou há alguns anos atrás:
https://sampforum.blast.hk/showthread.ph...pid3961370
https://sampforum.blast.hk/showthread.ph...pid3961633
A questão é a primeira morte, ela chama a OnPlayerRequest primeiro que a OnPlayerSpawn.
Já coloquei SpawnPlayer na callback, deu um jeito, mas ficou meio gambiarra, pois a callback OnPlayerSpawn é chamada duas vezes.
Existe uma forma pular a OnPlayerRequest após a morte, sem forçar o "SpawnPlayer", já vi numa GM, mas acabei perdendo e não soube como eles fizeram.