[Ajuda] Como colocar /aviso implantado no /agendarcadeia ?
#1

Galera como faзo pra implantar avisos junto do /agendarcadeia??

Por exemplo Atual:
pawn Код:
//[LISTA DE PUNIЗГO]: O Admin [%s] agendou o nick [%s] para [%d] minutos de cadeia, Motivo: %s
Como eu queria que ficasse:
pawn Код:
//[LISTA DE PUNIЗГO]: O Admin [%s] agendou o nick [%s] para [%d] minutos de cadeia e [%d] avisos, Motivo: %s
Segue o cуdigo do /agendarcadeia:
pawn Код:
if(strcmp(cmd, "/agendarcadeia",true) == 0 || strcmp(cmd, "/agendar",true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new tmpo[20];
            if(PlayerInfo[playerid][pAdmin] < 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo esta autorizado para usar este comando!");
                return true;
            }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /agendarcadeia [NOME_CORRETO] [Tempo] [Motivo]");
                return true;
            }
            tmpo = strtok(cmdtext, idx);
            if(!strlen(tmpo))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /agendarcadeia [NOME_CORRETO] [Tempo] [Motivo]");
                return true;
            }
            new tempo2 = strval(tmpo);

            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(!strlen(result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /agendarcadeia [NOME_CORRETO] [Tempo] [Motivo]");
                return true;
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new arquivo[128];
            format(arquivo, sizeof(arquivo), "Contas/%s.ini",tmp);
            if(!dini_Exists(arquivo))
            {
                SendClientMessage(playerid, COLOR_WHITE, "[ERRO] Este nick nгo estб registrado no server!");
                return true;
            }
            format(string, sizeof(string), "[LISTA DE PUNIЗГO]: O Admin [%s] agendou o nick [%s] para [%d] minutos de cadeia, Motivo: %s",PlayerName(playerid), tmp, tempo2, (result));
            SendClientMessageToAll(COLOR_LIGHTRED, string);
            AgendarLog(string);
            dini_IntSet(arquivo,"Jailed",9);
            dini_IntSet(arquivo,"JailTime",tempo2 * 60);
            strmid(AgendouInfo[playerid][cAdminAgendou], sendername, 0, strlen(sendername), MAX_PLAYER_NAME);
            dini_Set(arquivo,"AdminAgendou",sendername);
            strmid(AgendouInfo[playerid][cMotivoAgendou], result, 0, strlen(result), MAX_PLAYER_NAME);
            dini_Set(arquivo,"MotivoAgendou",result);
            dini_IntSet(arquivo,"Agendado",1);
            dini_IntSet(arquivo,"TempoAgendado",tempo2);
        }
        return true;
    }

Segue o cуdigo do /aviso:

pawn Код:
if(strcmp(cmd, "/aviso", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /aviso [id] [motivo]");
                return true;
            }
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 1)//if(IsPlayerConnected(giveplayerid)
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    new length = strlen(cmdtext);
                    if(strcmp(giveplayer,"Math_Guns",true)==0)
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "Vocк nгo pode avisar o criador do server '-' !!!");
                        format(string, sizeof(string), "[Aviso] %s [ID: %d] tentou usar o comando /aviso em vocк!",PlayerName(playerid), playerid);
                        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
                        return true;
                    }
                    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(!strlen(result))
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "USE: /aviso [id] [motivo]");
                        return true;
                    }
                    PlayerInfo[giveplayerid][pWarns] += 1;
                    if(PlayerInfo[giveplayerid][pWarns] >= 3)
                    {
                        format(string, sizeof(string), "AdmCmd: %s foi automaticamente banido temporariamente (3 dias), Motivo: Passou de 3 avisos (%d-%d-%d)", giveplayer);
                        BanLog(string);
                        format(string, sizeof(string), "AdmCmd: %s foi avisado por %s, Motivo: %s", giveplayer, sendername, (result));
                        SendClientMessageToAll(COLOR_LIGHTRED, string);
                        format(string, sizeof(string), "AdmCmd: %s foi banido temporariamente por 3 dias (Passou de 3 avisos)", giveplayer);
                        SendClientMessageToAll(COLOR_LIGHTRED, string);
                        getdate(Ano, Mes, Dia);
                        PlayerInfo[giveplayerid][pDiaBanTemp] = Dia+3;
                        PlayerInfo[giveplayerid][pMesBanTemp] = Mes;
                        PlayerInfo[giveplayerid][pAnoBanTemp] = Ano;
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 1 && PlayerInfo[giveplayerid][pDiaBanTemp] > 31)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 31;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 2 && PlayerInfo[giveplayerid][pDiaBanTemp] > 28)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 28;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 3 && PlayerInfo[giveplayerid][pDiaBanTemp] > 31)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 31;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 4 && PlayerInfo[giveplayerid][pDiaBanTemp] > 30)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 30;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 5 && PlayerInfo[giveplayerid][pDiaBanTemp] > 31)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 31;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 6 && PlayerInfo[giveplayerid][pDiaBanTemp] > 30)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 30;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 7 && PlayerInfo[giveplayerid][pDiaBanTemp] > 31)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 31;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 8 && PlayerInfo[giveplayerid][pDiaBanTemp] > 31)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 31;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 9 && PlayerInfo[giveplayerid][pDiaBanTemp] > 30)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 30;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 10 && PlayerInfo[giveplayerid][pDiaBanTemp] > 31)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 31;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 11 && PlayerInfo[giveplayerid][pDiaBanTemp] > 30)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 30;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] == 12 && PlayerInfo[giveplayerid][pDiaBanTemp] > 31)
                        {
                            PlayerInfo[giveplayerid][pDiaBanTemp] -= 31;
                            PlayerInfo[giveplayerid][pMesBanTemp]++;
                        }
                        if(PlayerInfo[giveplayerid][pMesBanTemp] > 12)
                        {
                            PlayerInfo[giveplayerid][pMesBanTemp] -= 12;
                            PlayerInfo[giveplayerid][pAnoBanTemp]++;
                        }
                        OnPlayerSave(giveplayerid);
                        BanTemp(giveplayerid, "Terceiro aviso", PlayerName(playerid));
                        return true;
                    }
                    format(string, sizeof(string), "AdmCmd: %s foi avisado por %s, Motivo: %s", giveplayer, sendername, (result));
                    SendClientMessageToAll(COLOR_LIGHTRED, string);
                    return true;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Esse nгo й um jogador ativo.");
            }
        }
        return true;
    }
Reply
#2

Sу copiar o format e adicionar mais um campo.
Reply
#3

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Sу copiar o format e adicionar mais um campo.
pawn Код:
format(string, sizeof(string), "AdmCmd: %s foi avisado por %s, Motivo: %s", giveplayer, sendername, (result));
                        SendClientMessageToAll(COLOR_LIGHTRED, string);
No caso seria esse format ?
Reply
#4

@up preciso de ajuda
Reply
#5

Vou te dar um cуdigo em ZCMD.
Agora, basta vocк alterar conforme vocк quer.

PHP код:
CMD:agendar(playeridparams[]) {
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"ERRO: Vocк nгo й administrador.");
    new 
nome[24], tempoavisos;
    if(
sscanf(params"s[24]dd"nometempoavisos)) return SendClientMessage(playerid, -1"ERRO: Use /agendar [nome] [tempo] [avisos]");
    new 
mensagem[100];
    
format(mensagem100"AdmCmd: %s agendou %d de cadeia e %d avisos em %s."PegarNome(playerid), tempoavisosnome);
    
SendClientMessageToAll(-1mensagem);
    
/*
        Aqui as funзхes de dar cadeia e aviso no jogador.
    */
    
return 1;
}
PegarNome(playerid) {
    new 
nameP[24];
    
GetPlayerName(playeridnameP24);
    return 
nameP;

Reply
#6

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Vou te dar um cуdigo em ZCMD.
Agora, basta vocк alterar conforme vocк quer.

PHP код:
CMD:agendar(playeridparams[]) {
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"ERRO: Vocк nгo й administrador.");
    new 
nome[24], tempoavisos;
    if(
sscanf(params"s[24]dd"nometempoavisos)) return SendClientMessage(playerid, -1"ERRO: Use /agendar [nome] [tempo] [avisos]");
    new 
mensagem[100];
    
format(mensagem100"AdmCmd: %s agendou %d de cadeia e %d avisos em %s."PegarNome(playerid), tempoavisosnome);
    
SendClientMessageToAll(-1mensagem);
    
/*
        Aqui as funзхes de dar cadeia e aviso no jogador.
    */
    
return 1;
}
PegarNome(playerid) {
    new 
nameP[24];
    
GetPlayerName(playeridnameP24);
    return 
nameP;

Muito complexo, de qualquer forma obrigado vou ficar quebrando a cabeзa aqui tentando
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)