INSIDE RESURSE

Resurse pentru toate jocurile online! samp, csgo, mape, muzica, filme, ps, divertisment, geforce, fzarea, muzica, clan, coduri, cfg, inside, resurse, servere, gata, facute, war, zone, pgl, long, nvid


Nu sunteti conectat. Conectati-va sau inregistrati-va

[Tutorial/SA:MP]Procesor de comenzi (ZCMD + SSCANF)

Por favor, faça o login para responder

Vezi subiectul anterior Vezi subiectul urmator In jos  Mesaj [Pagina 1 din 1]

#1vendME 

la data de Joi Mai 04, 2017 12:08 am

avatar

Fondator
Fondator
Pentru inceput titlul acestei lectii este "Introducerea unui nou procesor de comenzi (ZCMD + SSCANF). Vom lucra pe un gamemode facut special pentru 0.3x de catre Drebin. Gamemode-ul este luat de pe forumul oficial sa-mp.com. Am ales sa fac acest tutorial ca in speranta sa invatati si voi ceva.

 

Link catre download gamemode este AICI ( http://www.solidfile...m/d/0281450ea4/ )

 

Pasul 1

 

Este important sa folositi pawno.exe din gamemode-ul pe care vi l-am pus mai sus. V-am pus eu fisierele in plugins respectiv pawno includes. Mai intai

trebuie sa "activati" include-uri pe care vi l-am pus eu in fisiere si in gamemode.

 

Le puneti imediat dupa #include <a_samp> cele de mai jos.

 

#include <sscanf2>

#include <zcmd> 

 

Mai departe pentru a putea folosi comenzile clasice strcmp si zcmd combinate trebuie modificat: 

 




public OnPlayerCommandText(playerid, cmdtext[])

 



 

 

 

in

 

 




public OnPlayerCommandPerformed(playerid, cmdtext[], success)

 



 

 

 

Apoi, bineinteles comenzile native zcmd, care pot fi pozitionate oriunde in script.

 

 

Pasul 2

 

Pasul 1 a fost zic eu foarte usor si nu trebuie sa primiti nicio eroare & warning in caz contrar inseamna ca ati gresit voi ceva, asa ca reluati din nou.

 

In pasul al 2-lea vom invata cum sa creeam o comanda ZCMD.

 

 




CMD:numelecomenzii(playerid, params []) // comanda mea

{

  // aici va aparea ceea ce vrem noi sa faca comanda

  return 1;

}

 



 

 

 

Combinarea ideala intre sscanf si zcmd.

 

Folosirea sscanf-ului arata cam asa

 

 




if (sscanf(params, "ui", giveplayerid, amount))

{

    return SendClientMessage(playerid, 0xFF0000AA, "Usage: /givecash <playerid/name> <amount>");

}


 



giveplayerid - reprezinta playerul caruiva vrei sa ii trimiti bani

amount - reprezinta suma

"ui" - sunt niste specificatori ( Vezi lista cu specificatori http://imagnet.ro/images/AWKYk.jpg ). Mai pe limba voastra literele din paranteza "ui" se iau in ordine cu giveplayerid, amount. Lui giveplayerid i se atribuie specificatorul "U" iar lui amount specificatorul "I" care de asemenea este pentru cifre.

 

O comanda zcmd combinata cu sscanf ar trebui sa arate astfel

 




CMD:a(playerid, params [])

{

   new string[128];

   if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, COLOR_ORANGE, "{F97804}USAGE:{B4B5B7}{FFFFFF} (/a)dmin [message]");

   if(strlen(params) > 60) return SendClientMessage(playerid, COLOR_WHITE, "Line too long");

   format(string, sizeof(string), "<< %s: {98F5EB}%s >>", playerid, params);

   return 1;



}

 



 

Observatie:

 

In comanda aceasta params are rolul de a arata ceea ce scrii tu iar specificatorul lui este "s[128]". Numarul din paranteza indica cat spatiu sa ocupe.


_________________

INSIDE RESURSE











http://resurseinside.forumgratuit.ro

Vezi subiectul anterior Vezi subiectul urmator Sus  Mesaj [Pagina 1 din 1]

Por favor, faça o login para responder

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum