[ajuda]Cadeia
#1

quando prendo alguem na cadeia o tempo nao passa so fica 60 segundos alguem pode me ajudar?
pawn Код:
if(strcmp(cmd, "/cadeia", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [ id ] [time(minutes)] [Motivo]");
                return 1;
            }
            new target;
            target = ReturnUser(tmp);
            new playa;
            new time;
            playa = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            time = strval(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 1)
            {
                if(admtrampando[playerid] < 1)
                {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/profadmin)");
                return 1;
                }
                new offset = idx;
                        new result[64];
                        new length = strlen(cmdtext);
                        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                        {
                            result[idx - offset] = cmdtext[idx];
                            idx++;
                        }
                        result[idx - offset] = EOS;
                        if(!strlen(result))
                        {
                            SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [Id Do Jogador] [motivo]");
                            return 1;
                        }
                if(IsPlayerConnected(playa))
                {
                    if(playa != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* Voce foi preso %s.", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTRED, string);
                        format(string, sizeof(string), "* Voce foi preso pelo  Admin %s.", sendername);
                        SendClientMessage(playa, COLOR_LIGHTRED, string);
                        ResetPlayerWeapons(playa);
                        WantedPoints[playa] = 0;
                        PlayerInfo[playa][pJailed] = 2;
                        PlayerInfo[playa][pJailTime] = time*60;
                        SetPlayerInterior(playa, 3);
                        SetPlayerPos(playa, 197.4018,175.4152,1003.0234);
                        format(string, 256, "Admin: %s ID(%d) Prendeu %s ID(%d) Por %d Minutos. Motivo: %s",sendername, playerid, giveplayer,target, time, (result));
                        SendClientMessageToAll(COLOR_LIGHTRED/*0x63C3F6AA*/, string);
                        format(string, sizeof(string), "Voce foi preso por %d Minutos em Praзa Publica.  Motivo: %s", time, (result));
                        SendClientMessage(playa, COLOR_LIGHTBLUE, string);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Voce nгo esta autorizado a usar este comando!");
            }
        }
        return 1;
    }
Reply
#2

pawn Код:
if(strcmp(cmd, "/cadeia", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [ id ] [time(minutes)] [Motivo]");
                return 1;
            }
            new target;
            target = ReturnUser(tmp);
            new playa;
            new time;
            playa = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            time = strval(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 1)
            {
                if(admtrampando[playerid] < 1)
                {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/profadmin)");
                return 1;
                }
                new offset = idx;
                        new result[64];
                        new length = strlen(cmdtext);
                        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                        {
                            result[idx - offset] = cmdtext[idx];
                            idx++;
                        }
                        result[idx - offset] = EOS;
                        if(!strlen(result))
                        {
                            SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [Id Do Jogador] [motivo]");
                            return 1;
                        }
                if(IsPlayerConnected(playa))
                {
                    if(playa != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* Voce foi preso %s.", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTRED, string);
                        format(string, sizeof(string), "* Voce foi preso pelo  Admin %s.", sendername);
                        SendClientMessage(playa, COLOR_LIGHTRED, string);
                        ResetPlayerWeapons(playa);
                        WantedPoints[playa] = 0;
                        PlayerInfo[playa][pJailed] = 2;
                        PlayerInfo[playa][pJailTime] = time;
                        SetPlayerInterior(playa, 3);
                        SetPlayerPos(playa, 197.4018,175.4152,1003.0234);
                        format(string, 256, "Admin: %s ID(%d) Prendeu %s ID(%d) Por %d Minutos. Motivo: %s",sendername, playerid, giveplayer,target, time, (result));
                        SendClientMessageToAll(COLOR_LIGHTRED/*0x63C3F6AA*/, string);
                        format(string, sizeof(string), "Voce foi preso por %d Minutos em Praзa Publica.  Motivo: %s", time, (result));
                        SendClientMessage(playa, COLOR_LIGHTBLUE, string);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Voce nгo esta autorizado a usar este comando!");
            }
        }
        return 1;
    }
tenta ^^
Reply
#3

Estou com uma duvida:
PHP код:
 O Tempo nгo passa (O Kra fica sempre na cadeia)
 (
OU)
 * 
Vocк poe pro kra fica meia hora e so fica um minuto 
Reply
#4

Power,percebi que voce modificou de
pawn Код:
PlayerInfo[playa][pJailTime] = time*60;
para
pawn Код:
PlayerInfo[playa][pJailTime] = time;
e isso esta errado,porque o Time e o tempo definido pelo adm..dae no caso,no comando e por minutos,exemplo,se o cara colocar /cadeia Id 2..vai pegar o 2,e multiplicara por 60,virando 2 minutos...

@Topic..Explique melhor o que esta acontecendo...
Reply
#5

oq esta acontecendo eh o seguinte:
Eu coloca o cara por exemplo
1 minuto na cadeia.Mais ai o tempo nao passa,fica sу 60seg e nao desce.
e se eu coloco 0 minutos,o cara tb nao sai da cadeia
Reply
#6

o problema deve de estar no timer que diminui o tempo que ele estб na cadeia.
Reply
#7

pawn Код:
if (PlayerInfo[playerid][pAdmin] >= 1)
            {
                if(admtrampando[playerid] < 1)
                {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/profadmin)");
                return 1;
                }
                new offset = idx;
                        new result[64];
                        new length = strlen(cmdtext);
                        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                        {
                            result[idx - offset] = cmdtext[idx];
                            idx++;
                        }
                        result[idx - offset] = EOS;
                        if(!strlen(result))
                        {
                            SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [Id Do Jogador] [motivo]");
                            return 1;
                        }
                if(IsPlayerConnected(playa))
                {
                    if(playa != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* Voce foi preso %s.", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTRED, string);
                        format(string, sizeof(string), "* Voce foi preso pelo  Admin %s.", sendername);
                        SendClientMessage(playa, COLOR_LIGHTRED, string);
                        ResetPlayerWeapons(playa);
                        WantedPoints[playa] = 0;
                        PlayerInfo[playa][pJailed] = 2;
                        SetTimerEx("SoltarPreso", time*60, 0, "playa", playa);
                        SetPlayerInterior(playa, 3);
                        SetPlayerPos(playa, 197.4018,175.4152,1003.0234);
                        format(string, 256, "Admin: %s ID(%d) Prendeu %s ID(%d) Por %d Minutos. Motivo: %s",sendername, playerid, giveplayer,target, time, (result));
                        SendClientMessageToAll(COLOR_LIGHTRED/*0x63C3F6AA*/, string);
                        format(string, sizeof(string), "Voce foi preso por %d Minutos em Praзa Publica.  Motivo: %s", time, (result));
                        SendClientMessage(playa, COLOR_LIGHTBLUE, string);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Voce nгo esta autorizado a usar este comando!");
            }
        }
        return 1;
    }
pawn Код:
forward SoltarPreso(playerid);
public SoltarPresp(playerid)
{
    WantedPoints[playa] = 0;
    PlayerInfo[playa][pJailed] = 0;
    SetPlayerPos(playerid, X, Y, Z); //Coord de onde ele irб aparecer ao ser solto
    SetPlayerInterior(playerid, Interior); //Interior do local onde ele irб aparecer
    SendClientMessage(playerid, Branco, "Vocк foi {1E90AA}solto");
    return 1;
}
Apenas troquei o pJailTime por um SetTimerEx e adicionei a public, sugiro que vocк refaзa esse comando por completo por que nгo tб nada legal...
Reply
#8

Com este codigo aн se o kra reloga ou ele nгo volta para a cadeia ou ele volta e comeca a contar tudo denovo.
Reply
#9

Quote:
Originally Posted by Dr_Pawno
Посмотреть сообщение
Com este codigo aн se o kra reloga ou ele nгo volta para a cadeia ou ele volta e comeca a contar tudo denovo.
Como disse, sugiro que ele refaзa o comando.
Muita coisa desnecessбria, e coisas necessбrias faltando...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)