[Tutorial] Usando y_commands e sscanf
#41

VLW deu certo mesmo mas sу que essa funзгo nгo tem como usar ela fora dos comandos mas ta de boa VLW ! ! !
Reply
#42

Quote:
Originally Posted by Input
Посмотреть сообщение
O Parametro help ele imprime quando usamos os comandos?

Exemplo:

Comando:
pawn Код:
YCMD:mensagem(playerid, params[], help)
{
    new msg[40];
    if( help ) return SendClientMessage(playerid, -1, "Nota: Este comando serve para mandar uma mensagem.");
    if( sscanf( params, "s", msg ) ) return SendClientMessage(playerid, -1, "Uso: /mensagem [texto]");
    SendClientMessageToAll(0xC0C0C0AA, msg);
    return 1;
}
Irб imprimir:
Код:
Nota: Este comando serve para mandar uma mensagem.
Uso: /mensagem [texto]
Correto?
Errado, testa:

pawn Код:
YCMD:mensagem(playerid, params[], help)
{
    if( help )
        SendClientMessage(playerid, -1, "Este comando serve para mandar uma mensagem.");
    new ptstr[128];
    if (isnull(params))
    {
        format(ptstr, sizeof (ptstr), "Uso: \"/%s [acao]\"", Command_GetDisplayNamed("mensagem", playerid));
        SendClientMessage(playerid, -1, ptstr);
    }
    else
    {
        format(ptstr, sizeof(ptstr), "%s", params);
        SendClientMessageToAll(0xC0C0C0AA, ptstr);
    }
    return 1;
}

Quote:
Originally Posted by lucas_mdr1235
Посмотреть сообщение
VLW deu certo mesmo mas sу que essa funзгo nгo tem como usar ela fora dos comandos mas ta de boa VLW ! ! !
Ainda bem que deu certo.
Reply
#43

Sabe o porque disso?
pawn Код:
C:\Documents and Settings\****\Desktop\samp03x_svr_R2_win32\pawno\include\YSI\y_hooks/impl.inc(1755) : error 025: function heading differs from prototype
C:\Documents and Settings\****\Desktop\samp03x_svr_R2_win32\pawno\include\YSI\y_hooks/impl.inc(2339) : error 025: function heading differs from prototype
C:\Documents and Settings\****\Desktop\samp03x_svr_R2_win32\pawno\include\YSI\y_hooks/impl.inc(2386) : error 025: function heading differs from prototype
Reply
#44

Quote:
Originally Posted by Input
Посмотреть сообщение
Sabe o porque disso?
pawn Код:
C:\Documents and Settings\****\Desktop\samp03x_svr_R2_win32\pawno\include\YSI\y_hooks/impl.inc(1755) : error 025: function heading differs from prototype
C:\Documents and Settings\****\Desktop\samp03x_svr_R2_win32\pawno\include\YSI\y_hooks/impl.inc(2339) : error 025: function heading differs from prototype
C:\Documents and Settings\****\Desktop\samp03x_svr_R2_win32\pawno\include\YSI\y_hooks/impl.inc(2386) : error 025: function heading differs from prototype
atualiza a sua YSI

https://sampforum.blast.hk/showthread.php?tid=321092
Reply
#45

Quote:
Originally Posted by PT
Посмотреть сообщение
o que vc quer saber? assim em promonor..

@ edited

explicado no skype...

Na verdade eu perguntei pra ver se vocк iria perceber, mas ainda nгo percebeu.
Pedi para que explicasse a opзгo help, bem eu esperava que fosse colocar em seu tutorial.




Explicaзгo parвmetro help y_commands.

Questгo:
Como utilizar o sistema help do processador de comandos y_cmd ou y_commands. ?

Resposta:
A opзгo help, й muito importante quando se sabe utilizar, o principal propуsito dela й o comando /help <commandname>, foi para isso que Y_less criou este sistema. Contudo, essa variбvel prove uma facilitaзгo quando necessitamos informaзхes sobre o comando.


Um exemplo de sua principal utilidade й ter um comando:
pawn Код:
YCMD:anuncio( playerid, params[], help ) {
    new
        string[144];

    if ( help )
        return SendClientMessage( playerid, 0x0010FF77, "Este comando й utilizado para enviar um anъncio a todos jogadores do servidor!" );
    if ( sscanf( params, "s[144]", string ) )
        return SendClientMessage( playerid, 0xFF0000FF, "Uso: /anuncio <mensagem do anъncio!>");

    strcat( string, "{00FF00}[Anъncio]:{0000F1}", sizeof(string) );

    SendClientMessageToAll( 0x00FF00FF, string );
    return 1;
}

E usar no sistema de help da include y_commands.
Para utilizar, basta digitar o comando, "/help anuncio", e o player vai receber entгo a mensagem de ajuda do comando criado acima, que recebeu o nome de "/anuncio"


Espero que eu tenha expandido um pouco mais sobre a y_commands processor, Contudo ela ainda tem mais alguns segredinhos.
A preguiзa bateu chega de explicar, haha.
Espero ter ajudado.
Reply
#46

Shocc uma coisa que ainda nгo entendi ? esta include й mais potente que a ZCMD se usando ela pra comandos ? sйrio nгo entendi muita coisa


#GANGSTA
Reply
#47

Quote:
Originally Posted by N3XTMapper
Посмотреть сообщение
Shocc uma coisa que ainda nгo entendi ? esta include й mais potente que a ZCMD se usando ela pra comandos ? sйrio nгo entendi muita coisa


#GANGSTA
Em poucas palavras eu diria que, ZCMD usar para pequenos scripts, servidores meio aonde nгo tem muitos jogadores.
YCMD para servidores de grande porte, servidores oficiais que podem bater 300+ a 1000 players online diariamente.

Caso contraio nгo й uma boa ideia usar YCMD para scripts pequenos com poucos comandos. й nessa hora que usamos ZCMD.
Reply
#48

Quote:
Originally Posted by Schocc
Посмотреть сообщение
..............
Schocc

A sua explicaзгo esta errada.

o y_commands nao traz o comando /help como nativo, tem de ser voce a criar-lo.


Mesmo assim dei uma melhorada na explicacao dessa parte la no Topico.
Reply
#49

Quote:
Originally Posted by Schocc
Посмотреть сообщение
Espero que eu tenha expandido um pouco mais sobre a y_commands processor, Contudo ela ainda tem mais alguns segredinhos.
A preguiзa bateu chega de explicar
Estou a 35 horas sem dormir, estou muito cansado eu pensei em explicar na prуxima hora....

Nгo esta errada, eu nгo afirmei que existe um comando embutido chamado help.
Eu nгo mencionei sobre a criaзгo do comando, atй porque й bobagem isso cabe ao scripter/programmer criar o comando para utilizar o sistema de ajuda.

Para usar o sistema de ajuda, deve ser criado o comando. Contudo utilizando a funзгo Command_ReProcess com o parвmetro help flag/bandeira, ativada.

A unica coisa que deve fazer й usar a funзгo Command_ReProcess, nгo й tгo difнcil fazer isso. O mesmo й o objetivo principal de Y_less.
pawn Код:
YCMD:help(p,pr[],h) {

    SendClientMessage( p, -1, "System help!" );
    Command_ReProcess( p, pr, true );
    return 1;
}

Quote:
Originally Posted by Y_Less
Посмотреть сообщение
pawn Код:
YCMD:help(playerid, params[], help)
{
    if (help)
    {
        SendClientMessage(playerid, 0xFF0000AA, "Displays help about your mode.");
    }
    else
    {
        if (isnull(params))
        {
            new
                str[128];
            SendClientMessage(playerid, 0xFF0000AA, "Welcome to my mode.");
            format(str, sizeof (str), "Type \"/%s [command]\" for more help on a command", Command_GetDisplayNamed("help", playerid));
            SendClientMessage(playerid, 0xFF0000AA, str);
        }
        else
        {
            Command_ReProcess(playerid, params, true);
        }
    }
    return 1;
}
[*]Help - The command system, as shown above, has inbuilt support for a help system. You define the help for a command with that command, making managing your script VASTLY easier. To use this feature from your help command simply do something like:

@PT/BR: O sistema de comando, como mostrado acima, tem embutido o suporte para um sistema de ajuda. Vocк define a ajuda para um comando com esse comando, tornando o gerenciamento de seu roteiro muito mais fбcil. Para usar esse recurso do seu comando de ajuda simplesmente fazer algo como:

[*]Command_ReProcess(playerid, cmdtext[], help) - Call to put text through the command processor, with the help functions enabled or disabled.


Isso resultaria em
Код:
/ajuda <commandname>
.

Agora creio que estб tudo esclarecido ao meu ponto de vista sobre o sistema de ajuda.
Reply
#50

Voce apenas voltou a falar o que eu ja tinha dito rs..

@ OFF

35h sem dormir? e doido? vai dormir cara.
Reply
#51

Bom Trabalho PT, Bom tut. Muita gente ainda usa o Zcmd, a nivel de performance o Y_CMD supera em velocidade sem duvida, a nivel de simplicidade tambem tanto que uma gm usando Y_ini, sscanf2 e Y_cmd consegue ter uns benchmarks bem nices bom tut e continua talvez tenha que falar mais um pouco contigo quando houver oportunidade pois finalmente encontro um bom scripter que fala a minha lingua, apesar de todos os meus gm's e codigo ser em ingles heh...
Reply
#52

Antes de mais obrigado a todos pelos comentбrios acima.

Foi atualizado o tуpico com os novos links de download das librarias.

Espero que continue a ajudar quem precisa.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)