Brasil SA-MP

Bem-vindo !
Então, por que você não é um membro? Junte-se agora! Esta mensagem aparecere apenas para convidados, será removida juntamente com os anúncios se logar-se.

Você não está conectado. Conecte-se ou registre-se

Using DCMD properly

Ver o tópico anterior Ver o tópico seguinte Ir em baixo Mensagem [Página 1 de 1]

#1
krueger..

avatar


First,define dcmd right down your includes:
Código:

#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Now,go to your OnPlayerCommandText callback and include an command:
Código:

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(talk,4,cmdtext); // Command text, letters of the text, variable to compare
    return 0; // Return 0 every time you close your command callback.
}
Now,you know that,talk have 4 letters,on the second parameter,you give the function the right number of letters that your command have,in my case,four letters.

Ok,so we define a new command,but how we will use it,if OnPlayerCommandText is closed ?

Simple,you can put you dcmd command anywhere !Take a look:
Código:

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(talk,4,cmdtext); // Command text, letters of the text, variable to compare
    return 0; // Return 0 every time you close your command callback.
}

public OnPlayerDeath(playerid, killerid, reason)
{
    GameTextForPlayer(playerid, "busted",3000,6);
    //just an example
    return 1;
}

dcmd_talk(playerid, params[]) //our command,yay :D
{
    if(!strlen(params)) return SendClientMessage(playerid, 0xFF0000FF, "|ERROR|:Don't be shy,say something!");
    ext[128], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    format(text, sizeof(text), "{808080}%s say: {700000}%s", pName, params);
    SendClientMessageToAll(-1, text);
    return 1;
}
See ?Awesome isn't ?
The only difference between ZCMD and DCMD,is that you have to set the dcmd command on the OnPlayerCommandText,and ZCMD no.

Perhaps two differences,'cuz if you don't use the "params",the compiler will give you an error,to get rid of that error,simply put this on the start of your command.
Código:

#pragma unused params
I use dcmd,for me,its the same crap that zcmd,whatever,using dcmd instead of zcmd don't change much things.

Ver perfil do usuário

#2
N1ceWalkMan

avatar


very good,interesting



[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]
Ver perfil do usuário http://squadelite.forumclan.com

#3
Luan_Argolo

avatar


Good job.

Ver perfil do usuário

#4
krueger..

avatar


Thanks guys !
Is not that hard at all..it's hard for people who didn't try to understand everything.

Ver perfil do usuário

#5
Anonimo

avatar


Good Job.

NOTA: 10



Olá Convidado, eu sou Anonimo, Membro da Brasil SA-MP.
A Brasil SA-MP foi criada a 1151 dias, em 29/7/2014, 23:08.
Temos atualmente 2988 posts e 334 tópicos.
Contamos com 771 usuários registrados é o ultimo registrado é Game_P
Seja muito bem vindo a
Brasil SA-MP.



Nunca desista, pois um dia se realiza.

É meu Fan Convidado? Usa minha fanbar.

[Você precisa estar registrado e conectado para ver esta imagem.]
Ver perfil do usuário http://strategypoint.com.br/

#6
Conteúdo patrocinado



Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo Mensagem [Página 1 de 1]


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum