Jump to content

Pawn.CMD


Gireada

Recommended Posts

Va prezint cel mai rapid procesor de comenzi. Acesta nu este creeat de mine, l-am gasit pe .com (toate creditele ii revin lui YourShadow) si ma gandeam sa le prezint si scripterilor care nu viziteaza acel forum.

Mai jos gasiti un grafic, unde arata vitezele dintre procesoarele de comenzi.

v43AinV.png

 

El are urmatoarele functii:

native PC_RegAlias(const cmd[], const alias[], ...); 
native PC_SetFlags(const cmd[], flags); 
native PC_GetFlags(const cmd[]); 
native PC_EmulateCommand(playerid, const cmdtext[]); 
native PC_RenameCommand(const cmd[], const newname[]); 
native PC_CommandExists(const cmd[]);    
native PC_DeleteCommand(const cmd[]); 

native CmdArray:PC_GetCommandArray(); 
native CmdArray:PC_GetAliasArray(const cmd[]); 
native PC_GetArraySize(CmdArray:arr); 
native PC_FreeArray(&CmdArray:arr); 
native PC_GetCommandName(CmdArray:arr, index, dest[], size = sizeof dest);  

si urmatoarele callback-uri:

forward PC_OnInit(); // calls after Pawn.CMD initialization 
forward OnPlayerCommandReceived(playerid, cmd[], params[], flags); // calls before a command  
forward OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags); // calls after a command  

 

Va voi arata un exemplu de comanda.


cmd:help(playerid, params[]) // also possible to use CMD and COMMAND 
{ 
    // code here 
    return 1; 
}  

Deci trecerea de la ZCDM la Pawn.CMD este foarte usoara, creearea comenzilor fiind identica.

Singura diferata cand vorbim de comenzi este un alias.

Deci daca in ZCMD aveam:

CMD:salut(playerid, params[])
{
	SendClientMessage(playerid, -1, "Salutare");
	return 1;
}

CMD:salut2(playerid, params[])
{
	return cmd_salut(playerid, params);
}

CMD:salut3(playerid, params[])
{
	return cmd_salut(playerid, params);
}

Adica comanzile /salut2 /salut3, vor face exact acelasi lucru ca si comanda /salut. In Pawn.CMD, treaba devenind mai simpla:

CMD:salut(playerid, params[])
{
	SendClientMessage(playerid, -1, "Salutare");
	return 1;
}

alias:salut("salut2", "salut3");

Deci sintaxa este astfe: alias:comanda("prescurtare");

Putem pune, cate prescurtari vrem noi fara a mai folosi CMD de zeceori sau de cate ori vrem sa scurtat o comanda.

alias:comanda("prescurtare1", "prescurtare2","prescurtare3","prescurtare4");

Pentru mai multe detalii accesati link-ul asta.

 

Download:

Github

 

1859311972_BANNER-GIREADAcopy-min.thumb.png.48e5e420ae2185dce5b244965a1d2601.png

 

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
  • 3 weeks later...
On 01.01.2017 at 6:56 PM, DanielMayson said:

E destul de bun Pawn.CMD dar se da carsh la Pawno dupa compile

Normal ca da crash daca nu sti sa modifici anumite comenzi .. ai acolo tutorial cum se integreaza in gm . 

Citeste aici : http://forum.sa-mp.com/showthread.php?t=608474

Link to comment
Share on other sites

La 11/16/2016 la 11:26, Tud0r. a spus:

Ești cam înapoiat bătrâne:D Drăcia asta (care mie sincer, nu îmi place) e celebră pe la noi după ce a recomandat-o un așa mare scripter pe rivală, de prin vară. Acum nu știu cât de bun e, dar eu recomand DC_CMD.

Eu am gasit-o pe .com, si am postat-o pe comunitatea de c**** p****

Edited by [RW]Robi

                        

 

 

Link to comment
Share on other sites

Acum 18 ore, SoNNy.sys a spus:

Am trecut de la mcmd la acest plugin fix cand a fost lansat pe .com si face exact ce spune in topic si chiar se simte si diferenta daca ai ochiul format si-ti dai seama si de "timpi".

isi face cu siguranta simtita prezenta la cei 10 jucatori pe care-i ai online.

 

Degeaba obtineti un timp mai bun cu 3 ms la 1000000000 comenzi executate ca nu va ajuta cu nimic.

Link to comment
Share on other sites

ZCMD rămâne după mine cel mai bun. Uitati-ca doar la faptul că e din 2009 si inca se tine bine. Numai zic ca e făcut de ZeeX probabil omilul care fara el, Y_Less si Incognito sa-mp nu ar fi fost ce e azi. Plus ca e cel mai stabil dintre toate.

Retras

Link to comment
Share on other sites

Acum 4 minute, Tud0r. a spus:

ZCMD rămâne după mine cel mai bun. Uitati-ca doar la faptul că e din 2009 si inca se tine bine. Numai zic ca e făcut de ZeeX probabil omilul care fara el, Y_Less si Incognito sa-mp nu ar fi fost ce e azi. Plus ca e cel mai stabil dintre toate.

Exact, iar daca vrei mai multe functii recomand y_commands.

 

Link to comment
Share on other sites

La 1/25/2017 la 18:27, Ksenon a spus:

isi face cu siguranta simtita prezenta la cei 10 jucatori pe care-i ai online.

 

Degeaba obtineti un timp mai bun cu 3 ms la 1000000000 comenzi executate ca nu va ajuta cu nimic.

Asa-i ba, nici la boti nu ajuta ce-i drept.

Sinner.png

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...
  • 2 years later...

Ai reprezentat acest procesor de comenzi bine dar nu sunt toate functiile,uite mai sunt
 

native PC_Init(bool:is_gamemode); 
native PC_RegAlias(const cmd[], const alias[], ...); 
native PC_SetFlags(const cmd[], flags); 
native PC_GetFlags(const cmd[], &flags); 
native PC_EmulateCommand(playerid, const cmdtext[]); 
native PC_RenameCommand(const name[], const newname[]); 
native PC_DeleteCommand(const name[]);  

Mai este si callbacks

forward OnPlayerCommandReceived(playerid, cmd[], params[], flags); 
forward OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags); 

 

Link to comment
Share on other sites

La 22.04.2017 la 20:50, FOCA a spus:

ba e util atunci cand pornesti cu un GM  de la 0 , dar daca editezi unul , nu cred ca sta nimeni sa rescrie comenzile....eu recunosc ca folosesc pawn cmd in gm la mine ca e mai simplu si mai putine coduri....

Daca ai DC_CMD - ZCMD poti liber sa treci la Pawn.CMD

Link to comment
Share on other sites

  • 7 months later...
  • 2 weeks later...
La 25.01.2017 la 18:27, Ksenon a spus:

isi face cu siguranta simtita prezenta la cei 10 jucatori pe care-i ai online.

 

Degeaba obtineti un timp mai bun cu 3 ms la 1000000000 comenzi executate ca nu va ajuta cu nimic.

 

Acum 3 ore, st0ry a spus:

Este unul bun, il folosesc pe burned optimizat.

:))

Link to comment
Share on other sites

  • 1 year later...

m-am uitat rapid peste codul sursa si foloseste un unordered_map ca sa stocheze numele comenzii ca cheie, iar pointer-ul functiei ca valoare. daca va plictisiti, incercati in aceasi maniera, doar ca folosind algoritmul asta: https://www.geeksforgeeks.org/trie-insert-and-search/

Edited by George-Valentin Hulpoi
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.