[AJUDA]Oque estб errado nisso
#1

Ai galera queria saber oque estб errado neste comando de /aviso porque quando chega no 5 aviso fala que baniu mais o cara nгo й kickado sу cria os arquivos e diz SERVER Unknown Command, e depois disso nгo funciona nenhum comando.

pawn Код:
if(strcmp(cmd, "/aviso", true) == 0)
        {
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new str[256];
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /aviso [id do player] [motivo]");
                return 1;
            }
            giveplayerid = strval(tmp);
            if(logado[playerid] == 1)
            {
                        if(PlayerInfo[playerid][Admin] >= 1)
                        {
                        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++;
                        }
                        if(PlayerInfo[giveplayerid][Admin] == 6)
                        {
                            SendClientMessage(playerid, COLOR_CYAN, "Vocк nгo pode dar um aviso em um GameMaster.");
                            return 1;
                        }
                        if(!strlen(result))
                        {
                            result = "Sem Motivo";
                        }
                                if(WarnedTimes[giveplayerid] == 0)
                                {
                                        WarnedTimes[giveplayerid]+=1;
                                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                        GetPlayerName(playerid, sendername, sizeof (sendername));
                                        format(str, sizeof (str), "{00FF00}Adm.CMD:{FF8000} %s avisou %s Motivo: %s [1/5 Avisos]", sendername, giveplayer, result);
                                        SendClientMessageToAll(0xFFFF00FF, str);
                                        print(str);
                                        return 1;
                                }
                                if(WarnedTimes[giveplayerid] == 1)
                                {
                                        WarnedTimes[giveplayerid]+=1;
                                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                        GetPlayerName(playerid, sendername, sizeof (sendername));
                                        format(str, sizeof (str), "{00FF00}Adm.CMD:{FF8000} %s avisou %s Motivo: %s [2/5 Avisos]", sendername, giveplayer, result);
                                        SendClientMessageToAll(0xFFFF00FF, str);
                                        print(str);
                                        return 1;
                                }
                                if(WarnedTimes[giveplayerid] == 2)
                                {
                                        WarnedTimes[giveplayerid]+=1;
                                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                        GetPlayerName(playerid, sendername, sizeof (sendername));
                                        format(str, sizeof (str), "{00FF00}Adm.CMD:{FF8000} %s avisou %s Motivo: %s [3/5 Avisos]", sendername, giveplayer, result);
                                        SendClientMessageToAll(0xFFFF00FF, str);
                                        print(str);
                                        return 1;
                                }
                                if(WarnedTimes[giveplayerid] == 3)
                                {
                                        WarnedTimes[giveplayerid]+=1;
                                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                        GetPlayerName(playerid, sendername, sizeof (sendername));
                                        format(str, sizeof (str), "{00FF00}Adm.CMD:{FF8000} %s avisou %s Motivo: %s [4/5 Avisos]", sendername, giveplayer, result);
                                        SendClientMessageToAll(0xFFFF00FF, str);
                                        SendClientMessage(giveplayerid, COLOR_RED, "[RTX]INFO: Cuidado na prуxima vocк serб banido!");
                                        print(str);
                                        return 1;
                                }
                                else if(WarnedTimes[giveplayerid] == 4)
                                {
                                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                        GetPlayerName(playerid, sendername, sizeof (sendername));
                                        format(str, sizeof (str), "{00FF00}Adm.CMD:{FF0000} %s Foi banido %s Motivo: %s [5/5 Avisos]", sendername, giveplayer, result);
                                        SendClientMessageToAll(0xFF0000FF, str);
                                        new sStr[256], ip[24], sStr3[256], Dia, Mes, Ano, Hora, Minuto, Segundo;
                                        GetPlayerIp(giveplayerid, ip, sizeof(ip));
                                        getdate(Ano, Mes, Dia);
                                        gettime(Hora, Minuto, Segundo);
                                        format(sStr3, 14, "%d/%d/%d", Dia, Mes, Ano);
                                        format(sStr, 22, "%d:%d:%d", Hora, Minuto, Segundo);
                                        format(file, 40, "ContasBanidas/%s.ini", giveplayer);
                                        if(!dini_Exists(file))
                                        {
                                            dini_Create(file);
                                            dini_Set(file, "Admin", sendername);
                                            dini_Set(file, "Data", sStr3);
                                            dini_Set(file, "Hora", sStr);
                                            dini_Set(file, "Motivo", result);
                                        }
                                        format(file, 50, "IPsBanidos/%s.ini", ip);
                                        if(!dini_Exists(file))
                                        {
                                                    dini_Create(file);
                                                    dini_Set(file, "Admin", sendername);
                                                    dini_Set(file, "Data", sStr3);
                                                    dini_Set(file, "Hora", sStr);
                                                    dini_Set(file, "Motivo", result);
                                        }
                                        SalvarPlayer(giveplayerid);
                                        Kick(giveplayerid);
                                        return 1;
                                }
                        }
                        else
                        {
                                SendClientMessage(playerid, COLOR_CYAN, "Vocк nгo tem permissгo para usar este comando!!");
                                return 1;
                        }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_CYAN, "Vocк tem que estar logado para usar este comando!");
                }
            return 1;
        }
Reply
#2

pq nao usa sscanf? й mais rбpido e fбcil

pawn Код:
#include a_samp
#include zcmd
#include sscanf2

CMD:setarvida(playerid,params[])
{
    new Float:vida,idx;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"nгo й um admin");
    if(sscanf(params,"ud",idx,vida)) return SendClientMessage(playerid,-1,"use /setarvida [id]~[qtd]");
    return SetPlayerHealth(idx,vida);
}
um exemplo ai
Reply
#3

Nem gosto
Reply
#4

Quote:
Originally Posted by Nake01
Посмотреть сообщение
Nem gosto
pq o.o ? facilita e muito sua vida!
Reply
#5

nem acho, acho mais complicado, prefiro strcmp

#EDIT
Mais rбpido? hum, quando aperto ENTER o comando funciona na hora, e com sscanf funciona antes de eu aperta *0* ?
Reply
#6

E o GM fica mais optimizado, qdo vc usa um comando strcmp... o GM vai strcmp por strcmp comparando c o comando й igual o q vc digitou, o ZCMD o comando entra em 1 public e vai direto pro comando.
Reply
#7

Quote:
Originally Posted by Pharrel
Посмотреть сообщение
E o GM fica mais optimizado, qdo vc usa um comando strcmp... o GM vai strcmp por strcmp comparando c o comando й igual o q vc digitou, o ZCMD o comando entra em 1 public e vai direto pro comando.
alguns casos os Strcmp й mais rбpido que o prуprio ZCMD.
Reply
#8

In Portuguese
Reply
#9

Quote:
Originally Posted by [O.z]Caroline
Посмотреть сообщение
alguns casos os Strcmp й mais rбpido que o prуprio ZCMD.
sу c o strcmp for o 1є comando...sem falar q o strtok ja й ultrapassado e inseguro.
Reply
#10

Voltando ao tуpico oque estб errado '-' ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)