Aqui está um exemplo de como você pode ajustar o código:
Código:
// Na sua função onPlayerDeath, inicie o timer uma vez, se necessário.
if (killerid != INVALID_PLAYER_ID) {
// Seu código existente aqui...
// Certifique-se de que o timer só seja iniciado se ainda não estiver rodando.
if (TempoM[playerid] == 0) {
TempoM[playerid] = SetTimerEx("ContarMortoTempo", 1000, true, "d", playerid); // true para repetir
}
}
// Modifique a função ContarMortoTempo para não reiniciar o timer
public ContarMortoTempo(playerid) {
if (pInfo[playerid][Logado] == true && pmorto[playerid] == true) {
S[playerid]++;
if (S[playerid] >= 100) {
// Seu código para tratar o jogador após o tempo terminar...
KillTimer(TempoM[playerid]);
TempoM[playerid] = 0; // Resetar o timer para indicar que não está mais ativo.
pmorto[playerid] = false; // Resetar o estado de morte.
} else {
// Atualize a UI do jogador aqui...
}
}
return 1;
}
// Na sua função onPlayerSpawn, certifique-se de cancelar o timer se ele estiver ativo.
if (pmorto[playerid] == true) {
if (TempoM[playerid] != 0) {
KillTimer(TempoM[playerid]);
TempoM[playerid] = 0;
}
// Seu código existente aqui...
}