[Ajuda] Trocar strcmp para zcmd
#1

Alguйm poderia me ajudar com isso. Porque eu quero migrar do strcmp para zcmd + sscanf. Mas fui tentar trocar em um comando e me deu uns erros um pouco tensos.

pawn Код:
CMD:comandos(playerid, params []);
    {
        SendClientMessage(playerid, COLOR_WHITE,"» ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ «");
        SendClientMessage(playerid, COLOR_GREEN,"       Comandos");
        SendClientMessage(playerid, COLOR_YELLOW,"/creditos = Para ver os crйditos do servidor.");
        SendClientMessage(playerid, COLOR_GREEN,"/regras = Para ver as regras do servidor.");
        SendClientMessage(playerid, COLOR_YELLOW,"/kill = Para se matar.");
        SendClientMessage(playerid, COLOR_GREEN,"/pm [ID] [Mesagem} = para enviar uma mesagem privada.");
        SendClientMessage(playerid, COLOR_YELLOW,"/teleportes = Para ver os teleportes do server.");
        SendClientMessage(playerid, COLOR_GREEN,"/animlist = Para ver a lista de animaзхes.");
        SendClientMessage(playerid, COLOR_YELLOW,"/relatorio [texto] = Para enviar um relatуrio aos nossos admins.");
        SendClientMessage(playerid, COLOR_YELLOW,"/afk = Para ficar e sair AFK ( Ausente do jogo ).");
        SendClientMessage(playerid, COLOR_YELLOW,"/p = Chat prуximo.");
        SendClientMessage(playerid, COLOR_WHITE,"» ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ «");
        return 1;
    }
Erros e avisos:
Код:
C:\Users\Wendell Rocha\Desktop\0.3c\0.3c\samp03csvr_win32\gamemodes\bcs.pwn(1050) : warning: 217: loose indentation
C:\Users\Wendell Rocha\Desktop\0.3c\0.3c\samp03csvr_win32\gamemodes\bcs.pwn(1050) : error: 029: invalid expression, assumed zero
C:\Users\Wendell Rocha\Desktop\0.3c\0.3c\samp03csvr_win32\gamemodes\bcs.pwn(1050) : error: 017: undefined symbol "cmd_comandos"
C:\Users\Wendell Rocha\Desktop\0.3c\0.3c\samp03csvr_win32\gamemodes\bcs.pwn(1050) : error: 029: invalid expression, assumed zero
C:\Users\Wendell Rocha\Desktop\0.3c\0.3c\samp03csvr_win32\gamemodes\bcs.pwn(1050) : error fatal: 107: too many error messages on one line
Todos os erros e avisos aconteceram na seguinte linha:
pawn Код:
CMD:comandos(playerid, params []);
Reply
#2

PHP код:
CMD:comandos(playeridparams[])
{
    
SendClientMessage(playeridCOLOR_WHITE,"» ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ «");
    
SendClientMessage(playeridCOLOR_GREEN,"       Comandos");
    
SendClientMessage(playeridCOLOR_YELLOW,"/creditos = Para ver os crйditos do servidor.");
    
SendClientMessage(playeridCOLOR_GREEN,"/regras = Para ver as regras do servidor.");
    
SendClientMessage(playeridCOLOR_YELLOW,"/kill = Para se matar.");
    
SendClientMessage(playeridCOLOR_GREEN,"/pm [ID] [Mesagem} = para enviar uma mesagem privada.");
    
SendClientMessage(playeridCOLOR_YELLOW,"/teleportes = Para ver os teleportes do server.");
    
SendClientMessage(playeridCOLOR_GREEN,"/animlist = Para ver a lista de animaзхes.");
    
SendClientMessage(playeridCOLOR_YELLOW,"/relatorio [texto] = Para enviar um relatуrio aos nossos admins.");
    
SendClientMessage(playeridCOLOR_YELLOW,"/afk = Para ficar e sair AFK ( Ausente do jogo ).");
    
SendClientMessage(playeridCOLOR_YELLOW,"/p = Chat prуximo.");
    
SendClientMessage(playeridCOLOR_WHITE,"» ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ «");
    return 
1;

Reply
#3

Quote:
Originally Posted by feliperch
Посмотреть сообщение
PHP код:
CMD:comandos(playeridparams[])
{
    
SendClientMessage(playeridCOLOR_WHITE,"» ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ «");
    
SendClientMessage(playeridCOLOR_GREEN,"       Comandos");
    
SendClientMessage(playeridCOLOR_YELLOW,"/creditos = Para ver os crйditos do servidor.");
    
SendClientMessage(playeridCOLOR_GREEN,"/regras = Para ver as regras do servidor.");
    
SendClientMessage(playeridCOLOR_YELLOW,"/kill = Para se matar.");
    
SendClientMessage(playeridCOLOR_GREEN,"/pm [ID] [Mesagem} = para enviar uma mesagem privada.");
    
SendClientMessage(playeridCOLOR_YELLOW,"/teleportes = Para ver os teleportes do server.");
    
SendClientMessage(playeridCOLOR_GREEN,"/animlist = Para ver a lista de animaзхes.");
    
SendClientMessage(playeridCOLOR_YELLOW,"/relatorio [texto] = Para enviar um relatуrio aos nossos admins.");
    
SendClientMessage(playeridCOLOR_YELLOW,"/afk = Para ficar e sair AFK ( Ausente do jogo ).");
    
SendClientMessage(playeridCOLOR_YELLOW,"/p = Chat prуximo.");
    
SendClientMessage(playeridCOLOR_WHITE,"» ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ «");
    return 
1;

Continua com os mesmos erros.
Reply
#4

No ZCMD vocк deve colocar os comandos fora das 'callbacks' , se vocк colocou em 'OnPlayerCommandText' nгo
vai funcionar...
Reply
#5

pode mandar uma parte do cуdigo acima do CMD:comandos(playerid,params[]) ?
Reply
#6

Quote:
Originally Posted by Dark.Angel
Посмотреть сообщение
No ZCMD vocк deve colocar os comandos fora das 'callbacks' , se vocк colocou em 'OnPlayerCommandText' nгo
vai funcionar...
Hг? Agora minha situaзгo piorou, como vou colocar fora das callbacks?

@edit
Aqui Felipe:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[128];
    new idx;
    new sendername[MAX_PLAYER_NAME];
    new tmp[128];
    cmd = strtok(cmdtext, idx);


    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerAdmin(i))
        {
            new stringcmd[256];
            new playa[MAX_PLAYER_NAME];
            GetPlayerName(playerid, playa,MAX_PLAYER_NAME);
            format(stringcmd, 256, "[BCS - Admin] O jogador %s (D:%d) digitou o comando: %s", playa,playerid,cmdtext);
            SendClientMessage(i,0x82C0FFAA,stringcmd);
        }
    }
   
    if(strcmp(cmd, "/pm", true) == 0)
    {
        new pname[MAX_PLAYER_NAME], id2, msg1[256], msg2[256], aname5[MAX_PLAYER_NAME];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_RED, "Ч Use: /pm [id] [mensagem]");
        }
        id2 = strval(tmp);
        if(!IsPlayerConnected(id2) || id2 == playerid)
        {
            SendClientMessage(playerid, COLOR_RED, "[ERRO] ID invбlido.");
        }
        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_RED, "Ч Digite uma mensagem.");
        }

        GetPlayerName(playerid, pname, sizeof(pname));
        GetPlayerName(id2, aname5, sizeof(aname5));
        format(msg1, 256, "» [ENVIADO] para %s (%d): %s", aname5, id2, result);
        format(msg2, 256, "» [RECEBIDO] de %s (%d): %s", pname, playerid, result);
        SendClientMessage(playerid, PM_OUTGOING_COLOR, msg1);
        SendClientMessage(id2, PM_INCOMING_COLOR, msg2);
        PlayerPlaySound(id2, 1085,0.0,0.0,0.0);
        GameTextForPlayer(id2,"~g~M~g~ensagem recebida!",1000,3);
        return 1;
    }

    CMD:comandos(playerid, params[])
    {
        SendClientMessage(playerid, COLOR_WHITE,"» ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ «");
        SendClientMessage(playerid, COLOR_GREEN,"       Comandos");
        SendClientMessage(playerid, COLOR_YELLOW,"/creditos = Para ver os crйditos do servidor.");
        SendClientMessage(playerid, COLOR_GREEN,"/regras = Para ver as regras do servidor.");
        SendClientMessage(playerid, COLOR_YELLOW,"/kill = Para se matar.");
        SendClientMessage(playerid, COLOR_GREEN,"/pm [ID] [Mesagem} = para enviar uma mesagem privada.");
        SendClientMessage(playerid, COLOR_YELLOW,"/teleportes = Para ver os teleportes do server.");
        SendClientMessage(playerid, COLOR_GREEN,"/animlist = Para ver a lista de animaзхes.");
        SendClientMessage(playerid, COLOR_YELLOW,"/relatorio [texto] = Para enviar um relatуrio aos nossos admins.");
        SendClientMessage(playerid, COLOR_YELLOW,"/afk = Para ficar e sair AFK ( Ausente do jogo ).");
        SendClientMessage(playerid, COLOR_YELLOW,"/p = Chat prуximo.");
        SendClientMessage(playerid, COLOR_WHITE,"» ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ «");
        return 1;
    }
Reply
#7

Coloca os comandos no fim do GM

This forum requires that you wait 120 seconds between posts. Please try again in 10 seconds.
Reply
#8

E que ZCMD nao usa a calback OnPlayerCommandText,ele quer dizer pra voce por fora das Calbacks,tipo,depois de todas e talz..no fim do gm..
Reply
#9

zcmd usa CallLocalFunction entгo ele pega o conteъdo das callbacks ^^ entгo CMD:comandos(playerid,params[]) й uma callback
Reply
#10

Transforme todos seus comandos em ZCMD dps itenda , dps deleta a public OnPlayerCommandText , e coloca os Comandos de ZCMD no final do seu GM e pronto...



__________________________________________

...Meus Trabalhos...
[FisterScripts]
Sistema de Admin e Helper Simples v0.3
Sistema de Viagem v0.5

[Includes]
Nenhum...

[GameModes]
Nenhum...

[Tutoriais]
Nenhum...

[Maps]
W.D.A. ( Water Dylan Airport )

Se meu post lhe ajudou , lhe deixou confuso Clique nesta imagem >> << abaixo do meu avatar


Estou de Olho em vocк !

[Ass] Assinatura feita por JORGE_HARD

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)