[Ajuda] Bug estranho... Jogando sozinho nгo buga, de 2 ou mais players fica travado.
#1

Galerinha do Forum Samp, venho mais uma vez encher o saco de vocкs, me desculpe.

Minha dъvida pode atй ser boba, mas nгo vejo erro em meu cуdigo.

O problema й que ele nгo da erro no pawno quando eu jogo sozinho.

Seguinte, coloquei pra apуs morrer pra alguйm ficar espiando esse player e depois de 7 segundos parar de espiar e consequentemente spawnar novamente, mas quando eu jogo sozinho do jeito que eu tinha feito pegava, mas ao jogar com mais pessoas comeзa a travar e o player nгo spawna, por quк?

Olha como estб a public:

OnPlayerDeath...
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{  
    if(killerid == INVALID_PLAYER_ID) {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
    } else {
        if(gTeam[killerid] != gTeam[playerid]) {
            // Valid kill
            SendDeathMessage(killerid,playerid,reason);
            SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
            TogglePlayerSpectating(playerid, 1);
            PlayerSpectatePlayer(playerid, killerid);
            GameTextForPlayer(playerid, "~w~ Aguarde 7 segundos para um novo spawn", 7000, 5);
            SetTimer("Spawn", 7000, false);
        }
        else {
            // Team kill
            SendDeathMessage(killerid,playerid,reason);
        }
    }
    return 1;
}
Public Spawn:
pawn Код:
public Spawn(playerid)
{
    TogglePlayerSpectating(playerid, 0);
    return 1;
}
Antes que me perguntem, sim, jб acrescentei no inнcio do game mode tambйm.
pawn Код:
forward Spawn(playerid);
Nгo entendi o erro.
Reply
#2

Tenta mudar
desse
pawn Код:
SetTimer("Spawn", 7000, false);
para esse

pawn Код:
SetTimerEx("Spawn", 7000, false, "i", playerid);
Reply
#3

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid,playerid,reason);
    if(killerid == INVALID_PLAYER_ID)
    {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
    }
    if(gTeam[killerid] != gTeam[playerid])
    {
            // Valid kill
            SendDeathMessage(killerid,playerid,reason);
            SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
            TogglePlayerSpectating(playerid, 1);
            PlayerSpectatePlayer(playerid, killerid);
            GameTextForPlayer(playerid, "~w~ Aguarde 7 segundos para um novo spawn", 7000, 5);
            SetTimer("Spawn", 7000, false);
    }
    return 0;
}
Reply
#4

pawn Код:
SetTimerEx("Spawn", 7000, false, "i", playerid)
Reply
#5

Quote:
Originally Posted by Smith.
Посмотреть сообщение
Tenta mudar
desse
pawn Код:
SetTimer("Spawn", 7000, false);
para esse

pawn Код:
SetTimerEx("Spawn", 7000, false, "i", playerid);
Puts meu, eu perdi a fala agora...

Foi mal ai, esqueзo que existe diferenзa do SetTimer pro SetTimerEx.

Valeu ai!

@ Edit

Valeu todos ai!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)