[Ajuda] Colocar Motivo
#1

Bom, esse й meu sistema de cadeia:
pawn Код:
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 ultilizar este comando.");
                return 1;
            }
            tmp = strtok(cmdtext, idx);
            tempo = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [ Tempo ]");
                return 1;
            }
            if(!strlen(tempo))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [ Tempo ]");
                return 1;
            }
            if(PlayerInfo[giveplayerid][pAdmin] >= 1339 && PlayerInfo[playerid][pAdmin] < 1338)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode Prender um Administrador Dono");
                return 1;
            }
            if(admtrampando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1340 && PlayerInfo[playerid][pAdmin] != 1341 && PlayerInfo[playerid][pAdmin] != 1342)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб Trabalhando. (/jogar)");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            tempo2 = strval(tempo);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), "* Vocк Prendeu %s", giveplayer);
                    SendClientMessage(playerid, COLOR_LIGHTRED, string);
                    if(admtrampando[playerid] == 1)
                    {
                        format(string, sizeof(string), "* Vocк foi preso Pelo Administrador %s.", sendername);
                        SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
                    }
                    GameTextForPlayer(giveplayerid, "", 5000, 3);
                    ResetPlayerWeaponsEx(giveplayerid);
                    WantedPoints[giveplayerid] = 0;
                    SetPlayerWantedLevel(giveplayerid, 0);
                    PlayerInfo[giveplayerid][pJailed] = 2;
                    PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60;
                    SetPlayerPos(giveplayerid, -221.059051,1408.984008,27.773437);
                    SetPlayerInterior(playerid, 18);
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   Nгo й um Jogador Ativo.");
                return 1;
            }
        }
        return 1;
    }
Mais ai gostaria que tivesse um motivo para prender o Player, pois sу usa o comando /cadeia [id] [Tempo]
Ai eu gostaria que tivesse /cadeia [id] [Tempo] [Motivo]
E que aparecesse o motivo nessa linha para o Player e o tempo de prisгo aparecesse para ele tambйm
Linha:
pawn Код:
format(string, sizeof(string), "* Vocк foi preso Pelo Administrador %s.", sendername);
Reply
#2

Vitor me desculpa sei que o certo era pra mim responder a tua pergunta mas quero fazer outra pergunta, pra dar o /cadeia nesse teu GM tem que tar logado na RCON?
Reply
#3

De uma estudada
pawn Код:
dcmd_jail(playerid,params[]) {
    if(PlayerInfo[playerid][LoggedIn] == 1) {
        if(PlayerInfo[playerid][Level] >= 1) {
            new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
            if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /jail [playerid] [minutos] [motivo]");
            new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
            player1 = strval(tmp);

            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
                if(PlayerInfo[player1][Jailed] == 0) {
                    GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
                    new jtime = strval(tmp2);
                    if(jtime == 0) jtime = 9999;

                    CMDMessageToAdmins(playerid,"JAIL");
                    PlayerInfo[player1][JailTime] = jtime*1000*60;
                    SetTimerEx("JailPlayer",5000,0,"d",player1);
                    SetTimerEx("Jail1",1000,0,"d",player1);
                    PlayerInfo[player1][Jailed] = 1;

                    if(jtime == 9999) {
                        if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrador %s prendeu %s ",adminname, playername);
                        else format(string,sizeof(string),"Administrador %s prendeu %s [motivo: %s]",adminname, playername, params[strlen(tmp)+1] );
                    } else {
                        if(!strlen(tmp3)) format(string,sizeof(string),"Administrador %s prendeu %s por %d minutos",adminname, playername, jtime);
                        else format(string,sizeof(string),"Administrador %s prendeu %s por %d minutos [motivo: %s]",adminname, playername, jtime, params[strlen(tmp2)+strlen(tmp)+1] );
                    }
                    return SendClientMessageToAll(blue,string);
                } else return SendClientMessage(playerid, red, "O jogador jб estб na cadeia");
            } else return SendClientMessage(playerid, red, "Jogador nгo conectado ou й um admin com nнvel alto");
        } else return SendClientMessage(playerid,red,"ERRO: Vocк nгo tem nнvel alto suficiente para usar este comando");
    } else return SendClientMessage(playerid,red,"ERRO: Vocк deve estar logado para usar este comando");
}
Reply
#4

Quote:
Originally Posted by Vinicios_SAMP
Посмотреть сообщение
Vitor me desculpa sei que o certo era pra mim responder a tua pergunta mas quero fazer outra pergunta, pra dar o /cadeia nesse teu GM tem que tar logado na RCON?
nгo..
Reply
#5

Код:
if(strcmp(cmd, "/cadeia",true) == 0)
        {
        if(IsPlayerConnected(playerid))
        {
            new tempo[20];
            new tempo2;
            new motivo[128];
            tempo = strval(tmp);
            if(PlayerInfo[playerid][pAdmin] < 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo esta autorizado ultilizar este comando.");
                return 1;
            }
            tmp = strtok(cmdtext, idx);
            tempo = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [ Tempo ] [Motivo]");
                return 1;
            }
            if(!strlen(tempo))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [ Tempo ] [Motivo]");
                return 1;
            }
            if(PlayerInfo[giveplayerid][pAdmin] >= 1339 && PlayerInfo[playerid][pAdmin] < 1338)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode Prender um Administrador Dono");
                return 1;
            }
            if(admtrampando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1340 && PlayerInfo[playerid][pAdmin] != 1341 && PlayerInfo[playerid][pAdmin] != 1342)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб Trabalhando. (/jogar)");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            tempo2 = strval(tempo);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), "* Vocк Prendeu %s", giveplayer);
                    SendClientMessage(playerid, COLOR_LIGHTRED, string);
                    if(admtrampando[playerid] == 1)
                    {
                        format(string, sizeof(string), "* Vocк foi preso Pelo Administrador %s.Motivo: %s", sendername,motivo);
                        SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
                    }
                    GameTextForPlayer(giveplayerid, "", 5000, 3);
                    ResetPlayerWeaponsEx(giveplayerid);
                    WantedPoints[giveplayerid] = 0;
                    SetPlayerWantedLevel(giveplayerid, 0);
                    PlayerInfo[giveplayerid][pJailed] = 2;
                    PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60;
                    SetPlayerPos(giveplayerid, -221.059051,1408.984008,27.773437);
                    SetPlayerInterior(playerid, 18);
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   Nгo й um Jogador Ativo.");
                return 1;
            }
        }
        return 1;
    }
Reply
#6

Coloquei, mais nгo aparece o motivo.
Reply
#7

pawn Код:
if(!strcmp(cmd, "/cadeia", true)) {
        #define SCM SendClientMessage
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SCM(playerid, -1, "/cadeia [id] [tempo] [motivo]");
        new id = ReturnUser(tmp);

        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SCM(playerid, -1, "/cadeia [id] [tempo] [motivo]");
        new tempo = strval(tmp);


        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' ')) idx++;
        new offset = idx, result[128];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
        {
            result[idx - offset] = cmdtext[idx];
            idx++;
        }
        result[idx - offset] = EOS;
        if(!strlen(result)) return SCM(playerid, -1, "/cadeia [id] [tempo] [motivo]");
        new Nome[2][24], prisaoString[100];
        GetPlayerName(playerid, Nome[0], 24); GetPlayerName(id, Nome[1], 24);
        format(prisaoString, 100, "O admin %s prendeu %s por %i minutos, motivo %s", Nome[0], Nome[1], tempo, result);
        SendClientMessageToAll(-1, prisaoString);

        ResetPlayerWeaponsEx(id);
        WantedPoints[id] = 0;
        SetPlayerWantedLevel(id, 0);
        PlayerInfo[id][pJailed] = 2;
        PlayerInfo[id][pJailTime] = tempo * 60;
        SetPlayerPos(id, -221.059051,1408.984008,27.773437);
        SetPlayerInterior(id, 18);
        return 1;
    }
Refiz todinho a mгo pra vocк
Reply
#8

Vф ver se da certo, qualquer coisa eu edito o post.
Reply
#9

Deu certo?
Reply
#10

Deu Errado
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)