[Pedido] Sistema agendamento (cadeia/carandiru)
#1

Bem tentei buscar, achei alguns sistemas que nгo funcionaram tentei pesquisar aqui no fуrum mais aprofundadamente so que isto nгo aconteceu como eu esperava nгo sei por que o Fуrum realmente estб com uma lentidгo enorme nгo sei se e apenas para mim entгo decidi criar um tуpico (mesmo nгo querendo) para pedir para vocкs o Sistema de Agendamento cadeia/Carandiru ou uma base para mim elaborar e adaptar a meu GM.
Reply
#2

nunca vi um sistema desses que preste por aew mas nao e dificio de fazelo vc so vai precisar fazer
um setplayerpos usar sscanf ou strtok pra definir o tempo de cadeia e salvar em um ini depois carregar e
um timer pra contar o tempo Boa sorte.

https://sampwiki.blast.hk/wiki/SetPlayerPos
https://sampforum.blast.hk/showthread.php?tid=120356
https://sampwiki.blast.hk/wiki/Strtok
Reply
#3

Usa Como Base qualquer erro me avisa
pawn Код:
//>-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    if(strcmp(cmd, "/cadeia",true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new tempo[20];
            new tempo2;
            if(PlayerInfo[playerid][pAdmin] < 3)
            {
                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(admtrampando[playerid] < 1)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/jogar)");
                return true;
            }
            giveplayerid = ReturnUser(tmp);
            tempo2 = strval(tempo);
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
            idx++;
            }
            new offset = idx;
            new result[100];
            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), "Admin %s colocou %s na Cadeia, por %s minutos, Motivo: %s",PlayerName(playerid), giveplayer, tempo, (result));
                    SendClientMessageToAll(COLOR_LIGHTRED, string);
                    ResetPlayerWeaponsEx(giveplayerid);
                    OnPlayerUpdate(giveplayerid);
                    PlayerInfo[giveplayerid][pJailed] = 6;
                    PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60;
                    SetPlayerInterior(giveplayerid, 5);
                    SetPlayerPos(giveplayerid, 318.5804,316.9043,999.1484);
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   O jogador estб offline !");
                return true;
            }
        }
        return true;
    }

    if(strcmp(cmd, "/agendar",true) == 0)
    {
        if(admtrampando[playerid] < 1) return SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/jogar)");
        new jogador[128], tempo[128], str[50];
        jogador = strtok(cmdtext, idx);
        tempo = strtok(cmdtext, idx);
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; }
        new offset = idx; new result[128];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; }
        result[idx - offset] = EOS;
        if(!strlen(jogador) || !strlen(tempo) || !strlen(result)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /agendar [Nome] [Tempo] [Motivo]");
        for(new x = 0, y = GetMaxPlayers(); x != y; x++)
        {
            if(IsPlayerConnected(x))
            {
            new nome[24];
            GetPlayerName(x, nome, MAX_PLAYER_NAME);
            if(!strcmp(nome, jogador))  return SendClientMessage(playerid, COLOR_GREY, " O jogador estб online... Use o comando comum para prendelo. !");
            }
        }
        format(str,sizeof(str), "Contas/%s.ini", jogador);
        if(!dini_Exists(str)) return SendClientMessage(playerid, COLOR_GREY, "   Nome Invalido! !");
        format(string, sizeof(string), "O admin %s agendou %s, %d minutos, Motivo: %s",PlayerName(playerid), jogador, strval(tempo), result);
        SendClientMessageToAll(COLOR_LIGHTRED, string);
        dini_IntSet(str, "pJailed", 6);
        dini_IntSet(str, "pJailTime", strval(tempo) * 60);
        return 1;
    }
Reply
#4

o /agendar que adaptei a minha GM nгo esta funcionando agendo uma conta minha e logo nela nгo acontece nada!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)