[Ajuda] Como fazer isso , adaptar um cуdigo ?
#1

Olб pessoal gostaria de saber se alguйm faz isso para min ou se poder me ajudar como adaptar o cуdigo para strcmp , por favor !

- Sim ZCMD й o que vocкs aconselham , mais eu queria assim mesmo adaptar para strcmp se poderem me ajudar please


pawn Код:
CMD:agendarcadeia(playerid, params[])
    {
            new tempo2,avisos, result[64], nome[24];
            if(PlayerInfo[playerid][pAdmin] < 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo esta autorizado para usar este comando!");
                return true;
            }
            if(sscanf(params, "s[24]iis[64]", nome, tempo2, avisos, result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /agendarcadeia [Nick] [tempo] [avisos] [motivo]");
                return true;
            }

            GetPlayerName(playerid, sendername, sizeof(sendername));
            new arquivo[55], string[256];
            format(arquivo, sizeof(arquivo), Pasta_Contas,nome);
            if(!DOF2_FileExists(arquivo))
            {
                SendClientMessage(playerid, COLOR_WHITE, " Este nick nгo estб registrado no Brasil PlayFaster RPG!");
                return true;
            }
            new atualavisos = DOF2_GetInt(arquivo, "Avisos"),
                atualtempoj = DOF2_GetInt(arquivo, "JailTime"),
                atualtempo = DOF2_GetInt(arquivo, "TempoAgendado");

            new setavisos = atualavisos+=avisos,
                settempoj = (atualtempoj)+=(tempo2*60),
                settempo = atualtempo+=tempo2;

            if(settempoj < 0)
            {
                settempoj = 0;
                settempo = 0;
            }
            if(setavisos < 0)
            {
                setavisos = 0;
            }

            DOF2_SetInt(arquivo,"Jailed",           9);
            DOF2_SetInt(arquivo,"JailTime",         settempoj);
            strmid(AgendouInfo[playerid][cAdminAgendou], sendername, 0, strlen(sendername), MAX_PLAYER_NAME);
            DOF2_SetString(arquivo,"AdminAgendou",  sendername);
            strmid(AgendouInfo[playerid][cMotivoAgendou], result, 0, strlen(result), MAX_PLAYER_NAME);
            DOF2_SetString(arquivo,"MotivoAgendou", result);
            DOF2_SetInt(arquivo,"Agendado",         1);
            DOF2_SetInt(arquivo,"Avisos",           setavisos);
            DOF2_SetInt(arquivo,"TempoAgendado",    settempo);
            DOF2_SaveFile();

            new
                straviso[12],
                strtempo[12];

            if(avisos > -1)format(straviso, 12, "+%d", avisos);
            else format(straviso, 12, "%d", avisos);

            if(tempo2 > -1)format(strtempo, 12, "+%d", tempo2);
            else format(strtempo, 12, "%d", tempo2);

            format(string, sizeof(string), "AdmCmd: O Admin %s agendou %s para %s minutos de cadeia e %s avisos, Motivo: %s",PlayerName(playerid), nome, strtempo, straviso, result);
            SendClientMessageToAll(COLOR_LIGHTRED, string);
            BPCLogs("agendarcadeia", string);
            return true;
    }
Reply
#2

Alguns aconselham ZCMD por ser fбcil utiliza-lo. Porйm os melhores atualmente й y_cmd e iCmd.

Eu usei strcmp para comandos muito pouco, mas creio que params seja o cmdtext do strcmp.

E acho que existe uma ferramenta que converte isso que vocк precisa. Nao me recordo quem o criou, mas tente procurar.
Reply
#3

Seguindo o padrгo GF, se tem isso:

pawn Код:
if ( !strcmp(cmd, "/agendarcadeia") )
 {
    if(PlayerInfo[playerid][pAdmin] < 1)
    {
        SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo esta autorizado para usar este comando!");
        return true;
    }

    new tempo2, avisos, result[64], nome[24];

    nome = strtok(cmdtext, idx);
    tempo2 = strval(strtok(cmdtext, idx));
    avisos = strval(strtok(cmdtext, idx));  
    result = strtok(cmdtext, idx);

    if( strlen(nome) < 3 || !strlen(result) )
    {
        SendClientMessage(playerid, COLOR_GRAD2, "USE: /agendarcadeia [Nick] [tempo] [avisos] [motivo]");
        return true;
    }

    GetPlayerName(playerid, sendername, sizeof(sendername));
    new arquivo[55], string[256];
    format(arquivo, sizeof(arquivo), Pasta_Contas,nome);
    if(!DOF2_FileExists(arquivo))
    {
        SendClientMessage(playerid, COLOR_WHITE, " Este nick nгo estб registrado no Brasil PlayFaster RPG!");
        return true;
    }
    new atualavisos = DOF2_GetInt(arquivo, "Avisos"),
        atualtempoj = DOF2_GetInt(arquivo, "JailTime"),
        atualtempo = DOF2_GetInt(arquivo, "TempoAgendado");

    new setavisos = atualavisos+=avisos,
        settempoj = (atualtempoj)+=(tempo2*60),
        settempo = atualtempo+=tempo2;

    if(settempoj < 0)
    {
        settempoj = 0;
        settempo = 0;
    }
    if(setavisos < 0)
    {
        setavisos = 0;
    }

    DOF2_SetInt(arquivo,"Jailed",           9);
    DOF2_SetInt(arquivo,"JailTime",         settempoj);
    strmid(AgendouInfo[playerid][cAdminAgendou], sendername, 0, strlen(sendername), MAX_PLAYER_NAME);
    DOF2_SetString(arquivo,"AdminAgendou",  sendername);
    strmid(AgendouInfo[playerid][cMotivoAgendou], result, 0, strlen(result), MAX_PLAYER_NAME);
    DOF2_SetString(arquivo,"MotivoAgendou", result);
    DOF2_SetInt(arquivo,"Agendado",         1);
    DOF2_SetInt(arquivo,"Avisos",           setavisos);
    DOF2_SetInt(arquivo,"TempoAgendado",    settempo);
    DOF2_SaveFile();

    new
        straviso[12],
        strtempo[12];

    if(avisos > -1)format(straviso, 12, "+%d", avisos);
    else format(straviso, 12, "%d", avisos);

    if(tempo2 > -1)format(strtempo, 12, "+%d", tempo2);
    else format(strtempo, 12, "%d", tempo2);

    format(string, sizeof(string), "AdmCmd: O Admin %s agendou %s para %s minutos de cadeia e %s avisos, Motivo: %s",PlayerName(playerid), nome, strtempo, straviso, result);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    BPCLogs("agendarcadeia", string);
    return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)