[Ajuda] /cadeia bugada - quando terminar o tempo nгo sai de lб.
#1

Gente, eu tou com um bug loko na GM do PlayHappy. Ele tб bugado, quando a pessoa й presa, quando o tempo acaba. Ela continua na cadeia, nгo sei por que.

Код:
	if(strcmp(cmd, "/cadeia",true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new tempo[20];
            new tempo2;
            if(PlayerInfo[playerid][pAdmin] < 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo esta autorizado para usar este comando!");
                return true;
            }
            tmp = strtok(cmdtext, idx);
            tempo = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [Tempo] [Motivo]");
                return true;
            }
            if(!strlen(tempo))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [Tempo] [Motivo]");
                return true;
            }
            if(PlayerInfo[giveplayerid][pAdmin] >= 1339 && PlayerInfo[playerid][pAdmin] < SUB_GERENTE)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode prender um Admin Dono !");
                return true;
            }
            giveplayerid = ReturnUser(tmp);
            tempo2 = strval(tempo);
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
            idx++;
            }
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
            result[idx - offset] = cmdtext[idx];
            idx++;
            }
            result[idx - offset] = EOS;
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));                    format(string, sizeof(string), "O Admin %s prendeu %s por %s minutos, Motivo: %s",PlayerName(playerid), giveplayer, tempo, (result));
                    SendClientMessageToAll(COLOR_LIGHTRED, string);
                    if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
                    {
                        SendClientMessage(giveplayerid, COLOR_LIGHTRED, "* Vocк esta preso na cadeia do admin");
                    }
                    else
                    {
                        format(string, sizeof(string), "* Vocк foi preso, Pelo Admin: %s.", PlayerName(playerid));
                        SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
                    }
                    ResetPlayerWeaponsBPH(giveplayerid);
                    WantedPoints[giveplayerid] = 0;
                    NaoPodeDigitar[giveplayerid] = 1;
                    SetPlayerWantedLevel(giveplayerid, 0);
                    PlayerInfo[giveplayerid][pJailed] = 9;
                    PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60;
                    SetPlayerInterior(giveplayerid, 1);
                    XXAirBreak[giveplayerid] += 2;SetPlayerPos(giveplayerid, 963.418762,2108.292480,1011.030273);
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   O jogador estб offline !");
                return true;
            }
        }
        return true;
    }
Reply
#2

falta a variavel amigo nгo e so isso
Reply
#3

Quote:
Originally Posted by Standby
Посмотреть сообщение
falta a variavel amigo nгo e so isso
Como assim nгo entedir.
Reply
#4

Variavel й exemplo :

PHP код:
pAdmin == 
Reply
#5

Variбvel como o colega de cima disse й um valor que se atribui a um sнmbolo, no caso ele atribuiu o valor de 5 ao sнmbolo pAdmin.

PlayerInfo[giveplayerid][pJailed] = 9;
PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60;

Essas suas as suas certo? Faltou um SetTimerEx("TempoDaCadeia", 1000, true, "i", giveplayerid);

pawn Код:
//No seu comando
SetTimerEx("TempoDaCadeia", 1000, true, "i", giveplayerid);

//Em algum lugar do gamemode, onde nгo esteja dentro de chaves "{ }"

forward TempoDaCadeia(giveplayerid);

public TempoDaCadeia(giveplayerid)
{
    PlayerInfo[giveplayerid][pJailTime]--;

    if (PlayerInfo[giveplayerid][pJailTime] == 0)
    {
        PlayerInfo[giveplayerid][pJailed] = 0; //Aqui voce poem a variavel que "desseta" o player da cadeia

    //Agora, termine de deolver as cosias pro player, tipo o chat, etc etc que voce bloqueou quando ele foi preso, Ponha dentro dessas chaves aqui
    }    

    return 1;
}
Reply
#6

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Variбvel como o colega de cima disse й um valor que se atribui a um sнmbolo, no caso ele atribuiu o valor de 5 ao sнmbolo pAdmin.

PlayerInfo[giveplayerid][pJailed] = 9;
PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60;

Essas suas as suas certo? Faltou um SetTimerEx("TempoDaCadeia", 1000, true, "i", giveplayerid);

pawn Код:
//No seu comando
SetTimerEx("TempoDaCadeia", 1000, true, "i", giveplayerid);

//Em algum lugar do gamemode, onde nгo esteja dentro de chaves "{ }"

forward TempoDaCadeia(giveplayerid);

public TempoDaCadeia(giveplayerid)
{
    PlayerInfo[giveplayerid][pJailTime]--;

    if (PlayerInfo[giveplayerid][pJailTime] == 0)
    {
        PlayerInfo[giveplayerid][pJailed] = 0; //Aqui voce poem a variavel que "desseta" o player da cadeia

    //Agora, termine de deolver as cosias pro player, tipo o chat, etc etc que voce bloqueou quando ele foi preso, Ponha dentro dessas chaves aqui
    }    

    return 1;
}
Eu adiciono aonde esses SetTimer?
Reply
#7

Leia os comentбrios em verde, tб explicado lб. Ponha no seu comando, dentro das mesmas chaves que tem as variбveis da cadeia. Essa forward e etc poem no fim do seu GM.

LEIA OS COMENTARIOS EM VERDE PARA NAO TER BUGS!!!
Reply
#8

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Leia os comentбrios em verde, tб explicado lб. Ponha no seu comando, dentro das mesmas chaves que tem as variбveis da cadeia. Essa forward e etc poem no fim do seu GM.

LEIA OS COMENTARIOS EM VERDE PARA NAO TER BUGS!!!
Vocк pode fazer prб mim por favor? Nгo to conseguindo, me add skype ou eu mando meu PWN prб vocк e vocк edita prб mim isso?

Obg se ajudar.
Reply
#9

up pra alguem ajudar.
Reply
#10

up alguem ajuda
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)