[Ajuda] Problema na gamemode
#1

Esta ocorrendo varios problemas em minha public
e nao tenho ideia de como resolve-los
public :
pawn Код:
public Atualizar(playerid)
{
SetTimerEx("Atualizar", 1000, false, "i", playerid);
if(PlayerAFK[playerid] != 1)
{
GetPlayerPos(playerid, PosAfk[playerid][0], PosAfk[playerid][1], PosAfk[playerid][2]);
if(PosAfk[playerid][0] != PosAfk[playerid][3] && PosAfk[playerid][1] != PosAfk[playerid][4] && PosAfk[playerid][2] != PosAfk[playerid][5])
{
TempoAFK[playerid] = 0;
PosAfk[playerid][3] = PosAfk[playerid][0];
PosAfk[playerid][4] = PosAfk[playerid][1];
PosAfk[playerid][5] = PosAfk[playerid][2];
}
else
{
TempoAFK[playerid]++;
if(60*2 == TempoAFK[playerid])
{
PlayerAFK[playerid] = 1;
GetPlayerPos(playerid, PlayerPos[0][playerid], PlayerPos[1][playerid], PlayerPos[2][playerid]);
GetPlayerFacingAngle(playerid, PlayerPos[3][playerid]);
Interior[playerid] = GetPlayerInterior(playerid);
TogglePlayerControllable(playerid, 0);
for(new i = 0; i < 13; i++)
GetPlayerWeaponData(playerid, i, Weapon[i][0], Weapon[i][1]);
ResetPlayerWeapons(playerid);
new rand = random(100) - random(10);
SetPlayerPos(playerid, -1079.99+rand, 1061.58, 1343.04);
SetPlayerInterior(playerid, 10);
format(Str, sizeof(Str), "%s [ID: %i] esta em modo afk !", nome(playerid), playerid);
SendClientMessageToAll(Amarelo, Str);
SendClientMessage(playerid, Amarelo, "Use: /afk para voltar ao jogo.");
new mul = 60*TempoKick;
mul = mul -= 120;
AFKKick[playerid] = gettime() + mul;
}
}
}
else
{
if(gettime() >= AFKKick[playerid])
{
format(Str, sizeof(Str), "%s [ID: %i] foi kickado por ficar de AFK durante 30 minutos.", nome(playerid), playerid);
SendClientMessageToAll(Amarelo, Str);
SendClientMessage(playerid, Vermelho, "Voce foi kickado por ficar de AFK durante 30 minutos.");
SetTimerEx("KickPlayer", 1000, false, "i", playerid);
}
}
return 1;
}
erros :

error 012: invalid function call, not a valid address
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

todos estes erros relacionados a uma so linha :

format(Str, sizeof(Str), "%s [ID: %i] esta em modo afk !", nome(playerid), playerid);

alguem me ajuda ??
Reply
#2

Quais sгo os erros?
Reply
#3

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Quais sгo os erros?
error 012: invalid function call, not a valid address
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

'-'
Reply
#4

acho que tu esqueзeu de fechar algo
Reply
#5

zuero tabule seus cуdigos para deixa-los organizados. aqui tabulei para melhor entendimento dos scripters,

pawn Код:
public Atualizar(playerid)
{
    SetTimerEx("Atualizar", 1000, false, "i", playerid);
    if(PlayerAFK[playerid] != 1)
    {
        GetPlayerPos(playerid, PosAfk[playerid][0], PosAfk[playerid][1], PosAfk[playerid][2]);
        if(PosAfk[playerid][0] != PosAfk[playerid][3] && PosAfk[playerid][1] != PosAfk[playerid][4] && PosAfk[playerid][2] != PosAfk[playerid][5])
        {
            TempoAFK[playerid] = 0;
            PosAfk[playerid][3] = PosAfk[playerid][0];
            PosAfk[playerid][4] = PosAfk[playerid][1];
            PosAfk[playerid][5] = PosAfk[playerid][2];
        }
        else
        {
            TempoAFK[playerid]++;
            if(60*2 == TempoAFK[playerid])
            {
                PlayerAFK[playerid] = 1;
                GetPlayerPos(playerid, PlayerPos[0][playerid], PlayerPos[1][playerid], PlayerPos[2][playerid]);
                GetPlayerFacingAngle(playerid, PlayerPos[3][playerid]);
                Interior[playerid] = GetPlayerInterior(playerid);
                TogglePlayerControllable(playerid, 0);
                for(new i = 0; i < 13; i++)
                GetPlayerWeaponData(playerid, i, Weapon[i][0], Weapon[i][1]);
                ResetPlayerWeapons(playerid);
                new rand = random(100) - random(10);
                SetPlayerPos(playerid, -1079.99+rand, 1061.58, 1343.04);
                SetPlayerInterior(playerid, 10);
                format(Str, sizeof(Str), "%s [ID: %i] esta em modo afk !", nome(playerid), playerid);
                SendClientMessageToAll(Amarelo, Str);
                SendClientMessage(playerid, Amarelo, "Use: /afk para voltar ao jogo.");
                new mul = 60*TempoKick;
                mul = mul -= 120;
                AFKKick[playerid] = gettime() + mul;
            }
        }
    }
    else
    {
        if(gettime() >= AFKKick[playerid])
        {
            format(Str, sizeof(Str), "%s [ID: %i] foi kickado por ficar de AFK durante 30 minutos.", nome(playerid), playerid);
            SendClientMessageToAll(Amarelo, Str);
            SendClientMessage(playerid, Vermelho, "Voce foi kickado por ficar de AFK durante 30 minutos.");
            SetTimerEx("KickPlayer", 1000, false, "i", playerid);
        }
    }
    return 1;
}
se quiser subistituir o cуdigo da sua gamemode por esse para ver se tira algum erro, fica a sua escolha .
Reply
#6

Quote:
Originally Posted by 4G4M3N0M
Посмотреть сообщение
zuero tabule seus cуdigos para deixa-los organizados. aqui tabulei para melhor entendimento dos scripters,

pawn Код:
public Atualizar(playerid)
{
    SetTimerEx("Atualizar", 1000, false, "i", playerid);
    if(PlayerAFK[playerid] != 1)
    {
        GetPlayerPos(playerid, PosAfk[playerid][0], PosAfk[playerid][1], PosAfk[playerid][2]);
        if(PosAfk[playerid][0] != PosAfk[playerid][3] && PosAfk[playerid][1] != PosAfk[playerid][4] && PosAfk[playerid][2] != PosAfk[playerid][5])
        {
            TempoAFK[playerid] = 0;
            PosAfk[playerid][3] = PosAfk[playerid][0];
            PosAfk[playerid][4] = PosAfk[playerid][1];
            PosAfk[playerid][5] = PosAfk[playerid][2];
        }
        else
        {
            TempoAFK[playerid]++;
            if(60*2 == TempoAFK[playerid])
            {
                PlayerAFK[playerid] = 1;
                GetPlayerPos(playerid, PlayerPos[0][playerid], PlayerPos[1][playerid], PlayerPos[2][playerid]);
                GetPlayerFacingAngle(playerid, PlayerPos[3][playerid]);
                Interior[playerid] = GetPlayerInterior(playerid);
                TogglePlayerControllable(playerid, 0);
                for(new i = 0; i < 13; i++)
                GetPlayerWeaponData(playerid, i, Weapon[i][0], Weapon[i][1]);
                ResetPlayerWeapons(playerid);
                new rand = random(100) - random(10);
                SetPlayerPos(playerid, -1079.99+rand, 1061.58, 1343.04);
                SetPlayerInterior(playerid, 10);
                format(Str, sizeof(Str), "%s [ID: %i] esta em modo afk !", nome(playerid), playerid);
                SendClientMessageToAll(Amarelo, Str);
                SendClientMessage(playerid, Amarelo, "Use: /afk para voltar ao jogo.");
                new mul = 60*TempoKick;
                mul = mul -= 120;
                AFKKick[playerid] = gettime() + mul;
            }
        }
    }
    else
    {
        if(gettime() >= AFKKick[playerid])
        {
            format(Str, sizeof(Str), "%s [ID: %i] foi kickado por ficar de AFK durante 30 minutos.", nome(playerid), playerid);
            SendClientMessageToAll(Amarelo, Str);
            SendClientMessage(playerid, Vermelho, "Voce foi kickado por ficar de AFK durante 30 minutos.");
            SetTimerEx("KickPlayer", 1000, false, "i", playerid);
        }
    }
    return 1;
}
se quiser subistituir o cуdigo da sua gamemode por esse para ver se tira algum erro, fica a sua escolha .
ja resolvi todos estes erros
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)