SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Română/Romanian

Reply
 
Thread Tools Display Modes
Old 05/05/2011, 11:44 AM   #1
Skaizo
Gangsta
 
Skaizo's Avatar
 
Join Date: Sep 2010
Location: Romanian
Posts: 858
Reputation: 15
Exclamation [TUT]Zcmd

ZCMD
================================================== ====================================
Descriere


Acesta este doar un pic include care utilizeaza OnPlayerCommandText () pentru a procesa comenzi jucatori. Fiecare comanda are o functie separata ca in dcmd, dar zcmd ii numeste in mod direct prin CallLocalFunction (). O astfel de metoda este mult mai rapid decat atunci cand compara succesiv jucator text introdus la fiecare comanda aveti in script-ul dvs. (mai ales daca acesta trimite un cmd inexistent, treci desi toate apoi) si a superioritatii sale asupra vechiul mod este proportionala cu numarul de comenzi.


Folosire


Tot ce trebuie sa adaugati o comanda este de a face doar o functie publica folosind macro speciale de pre-definite, cum ar fi aceasta:

Code:
COMMAND: mycommand (playerid, params []) / / sau CMD: mycommand (playerid, params [])
{
  / / Fa ceva
  return 1;
}
sau

Code:
COMMAND: (mycommand, playerid, params []) / / sau cmd (mycommand, playerid, params [])
{
  / / Fa ceva
  return 1;
}
Aici params [] este string parametrii, playerid este un ID de jucator care trimite aceasta comanda.
Asta e tot! Foarte usor, nu este?


Important: Deoarece v0.3 OnPlayerCommandText nu pot fi utilizate mai (de asemenea, optiunea de ZCMD_NO_CALLBACK a fost eliminat), dar exista doua Callbacks noi in schimb:

Code:
OnPlayerCommandReceived (playerid, cmdtext [])
Acesta se numeste atunci cand cineva trimite o comanda. Daca return 0 aici, comanda nu va fi realizata.

Code:
OnPlayerCommandPerformed (playerid, cmdtext [], success)
Şi asta se numeste dupa executarea comenzii, aici daca faci "return 0", jucatorul va vedea standard "Unknown command" mesaj. "Success" parametru este egala cu valoarea returnata de functia intoarce comanda (in cazul in care nu exista success va fi 0).

Retineti ca nu este necesar sa adaugati aceste Callbacks la script-ul dvs., daca nu le folosesc.


Cum sa faci doua comenzi diferite de a face acelasi lucru

De exemplu, aveti /something cmd

Code:
COMMAND: something (playerid, params [])
{
  / / Unele chestii aici
  return 1;
}
si doriti sa creati un altul, cum ar fi /another un alt ca face ceea ce /something ceva nu. Mai simpla modalitate de a face asta este:

Code:
COMMAND:another (playerid, params [])
{
  return cmd_something (playerid, params);
}

Nota # 1: Daca doriti sa utilizati zcmd intr-un filterscript, a pus aceasta defini inainte, inclusiv:

Code:
# Define FILTERSCRIPT
Nota # 2: Daca doriţi sa verificati daca sir parametri este gol nu trebuie sa o faci cum ar fi:

Code:
if (! strlen (params))
{
  / / Nu parametrii
}
sau:

Code:
if (! params [0])
deoarece lungimea sa nu este niciodata null, pur si simplu utiliza isnull () incluse in zcmd:

Code:
if (isnull (params))
De fapt, daca utilizati sscanf nu aveti nevoie pentru a face acest lucru ca le-a construit-in verificarea isnull.

Aici este un exemplu de modul in care puteii face comanda /givemoney folosind zcmd cu sscanf:

Code:
COMMAND: givemoney (playerid, params [])
{
    if (IsPlayerAdmin (playerid))
    {
        new
          toplayerid, // ​​jucator vrem sa dam bani la
          amount;
        // Extragerea ID jucătorului şi suma de la params
        if (sscanf(params, "ii", toplayerid, amount))
        {
          if (toplayerid != INVALID_PLAYER_ID)
          {
            new
              mesaj [40];
            GivePlayerMoney (toplayerid, amount);
            format (message, sizeof (message), "Ai $%d d de la admin!", amount);
            SendClientMessage (toplayerid, 0x00FF00FF, message);
          }
          else SendClientMessage (playerid, 0xFF0000FF, "Acel jucator nu este conectat");
        }
        else SendClientMessage (playerid, 0xFFFFFFFF, "Utilizare: / givemoney <playerid> <amount>");
    }
    else SendClientMessage (playerid, 0xFF0000FF, "Doar administratorii pot folosi această comanda!");
    return 1;
}
Download
__________________
My works(Romanian)
Thanks To Jansish For Signature
[Tutorial]rezolvarea eroare pawno failed to set data for si File or function is not found
I am Russian?
No
You are Russian army fuck?
Yes but no Fuck
Lol )

Last edited by Skaizo; 05/05/2011 at 04:16 PM.
Skaizo is offline   Reply With Quote
Old 05/05/2011, 11:56 AM   #2
Zh3r0
Godfather
 
Join Date: Mar 2008
Posts: 5,592
Reputation: 381
Default Re: [Tut]zcmd

Ma cops, nu mai fa tutoriale, limba ta romana e la pamant! BAGI LUMEA IN EROARE si dupaia vin cu turma sa intrebe ce ce ce?

pawn Code:
format (message, sizeof (message), "Ai $% d de la admin!", amount);
e %d nu % d


Si nu mai folosi diacritice! Nimeni nu le suporta sa le vada pe un forum!

Cititi asta si gata
http://www.sa-mp.ro/forum/index.php/topic,6398.0.html
__________________
Zh3r0 is offline   Reply With Quote
Old 05/05/2011, 12:00 PM   #3
Skaizo
Gangsta
 
Skaizo's Avatar
 
Join Date: Sep 2010
Location: Romanian
Posts: 858
Reputation: 15
Default Re: [Tut]zcmd

Quote:
Originally Posted by Zh3r0 View Post
Ma cops, nu mai fa tutoriale, limba ta romana e la pamant! BAGI LUMEA IN EROARE si dupaia vin cu turma sa intrebe ce ce ce?

pawn Code:
format (message, sizeof (message), "Ai $% d de la admin!", amount);
e %d nu % d


Si nu mai folosi diacritice! Nimeni nu le suporta sa le vada pe un forum!

Cititi asta si gata
http://www.sa-mp.ro/forum/index.php/topic,6398.0.html
lam editat
__________________
My works(Romanian)
Thanks To Jansish For Signature
[Tutorial]rezolvarea eroare pawno failed to set data for si File or function is not found
I am Russian?
No
You are Russian army fuck?
Yes but no Fuck
Lol )
Skaizo is offline   Reply With Quote
Old 05/05/2011, 03:06 PM   #4
SkizzoTrick
High-roller
 
SkizzoTrick's Avatar
 
Join Date: Aug 2010
Location: In your bed[if you are a girl]
Posts: 1,882
Reputation: 37
Default Re: [Tut]zcmd

In afara de exprimarea pe care ai folosit'o,exemplele par ok )
Oricum,macar incerci
__________________
Free accounts for XBOX Live, PS, Steam and others!
https://getyourfreeaccount.com
SkizzoTrick is offline   Reply With Quote
Old 05/05/2011, 04:32 PM   #5
Zh3r0
Godfather
 
Join Date: Mar 2008
Posts: 5,592
Reputation: 381
Default Re: [Tut]zcmd

Quote:
Originally Posted by SkizzoTrick View Post
In afara de exprimarea pe care ai folosit'o,exemplele par ok )
Oricum,macar incerci
Exemplele is VARZA!


De cand si pana cand se fac comentariile asa:
pawn Code:
/ / Fa ceva
Code:
error 010: invalid function or declaration

si definitiile asa?
pawn Code:
# Define FILTERSCRIPT
Code:
error 031: unknown directive
Si cum de mai nou asa se fac comenzile ZCMD?
pawn Code:
COMMAND: givemoney (playerid, params [])
Code:
error 001: expected token: "(", but found "-identifier-"
error 001: expected token: ";", but found "("
error 054: unmatched closing brace ("}")

Si de unde pana unde identarea asta oribila?
pawn Code:
OnPlayerCommandPerformed (playerid, cmdtext [], success)
__________________
Zh3r0 is offline   Reply With Quote
Old 05/05/2011, 04:38 PM   #6
xxmitsu
Gangsta
 
Join Date: Feb 2009
Posts: 629
Reputation: 35
Default Re: [Tut]zcmd

Observ ca multora dintre voi va place sa adaugati spatii in exces.

Un sfat: este recomandat sa n-o faceti. Nu ajuta cu nimic, codul mie cel putin mi se pare mai greu de citit si-n plus va mai si treziti cu erori.

Eu sunt obisnuit cu sintaxa din c++ unde scriu totul pe-o linie si fara spatii in exces.

Ma refer, fara cod de genul:
pawn Code:
new
     a , b; // linie noua
//sau..
stock Calculeaza( a , b ) .. // spatii inutile etc.
__________________
aka xanto - Retired - Former eGaming.ro technical staff.
xxmitsu is offline   Reply With Quote
Old 05/05/2011, 04:39 PM   #7
SkizzoTrick
High-roller
 
SkizzoTrick's Avatar
 
Join Date: Aug 2010
Location: In your bed[if you are a girl]
Posts: 1,882
Reputation: 37
Default Re: [Tut]zcmd

ok gata,nu mai incerc sa'i iau apararea xD...
Defapt nici nu inteleg ce cauta la sectiunea asta...
Off:Sandu,tu vorbesti vreo limba?
__________________
Free accounts for XBOX Live, PS, Steam and others!
https://getyourfreeaccount.com
SkizzoTrick is offline   Reply With Quote
Old 05/05/2011, 04:51 PM   #8
Zh3r0
Godfather
 
Join Date: Mar 2008
Posts: 5,592
Reputation: 381
Default Re: [Tut]zcmd

Quote:
Originally Posted by xxmitsu View Post
Observ ca multora dintre voi va place sa adaugati spatii in exces.

Un sfat: este recomandat sa n-o faceti. Nu ajuta cu nimic, codul mie cel putin mi se pare mai greu de citit si-n plus va mai si treziti cu erori.

Eu sunt obisnuit cu sintaxa din c++ unde scriu totul pe-o linie si fara spatii in exces.

Ma refer, fara cod de genul:
pawn Code:
new
     a , b; // linie noua
//sau..
stock Calculeaza( a , b ) .. // spatii inutile etc.
Eu de exemplu asa codez, bine nu pun spatiu dupa fiecare caracter, doar dupa virgula si inainte de paranteza.
Acum daca incerc sa ma dezobisnuiesc, n-o sa am sanse...Is obisnuit ca atunci cand scriu sa apas SPACE de vreo 10 ori ...
__________________
Zh3r0 is offline   Reply With Quote
Old 05/05/2011, 05:07 PM   #9
[NoV]LaZ
High-roller
 
Join Date: May 2008
Posts: 1,461
Reputation: 85
Default Re: [Tut]zcmd

Quote:
Originally Posted by Zh3r0 View Post
Eu de exemplu asa codez, bine nu pun spatiu dupa fiecare caracter, doar dupa virgula si inainte de paranteza.
Acum daca incerc sa ma dezobisnuiesc, n-o sa am sanse...Is obisnuit ca atunci cand scriu sa apas SPACE de vreo 10 ori ...
Eu m-am lasat de acel stil si nu regret. Micsorezi si marimea fisierului .pwn.
[NoV]LaZ is offline   Reply With Quote
Old 05/05/2011, 05:11 PM   #10
Zh3r0
Godfather
 
Join Date: Mar 2008
Posts: 5,592
Reputation: 381
Default Re: [Tut]zcmd

Quote:
Originally Posted by [NoV]LaZ View Post
Eu m-am lasat de acel stil si nu regret. Micsorezi si marimea fisierului .pwn.
La scriptul la care lucrez acuma este in MAJOR parte facut asa, nu am cum sa schimb stilu pentru moment...
M sa-l schimb dupa lansarea scriptului, am sa incerc sa ma obisnuiesc, dar recunosc ca-mi place mai mult cu spatiu, mi se pare mult mai eligibil, oricum nu pun spatiu peste tot.


pawn Code:
CMD:mute( zParams )
{
    LoginCheck( playerid );
    LevelCheck( playerid, 2 );

    if ( sscanf( params, "uD(0)", params[ 0 ], params[ 1 ]) ) return SendUsage( playerid, "/mute "GREY"<id> <time>      "W"NOTICE: "GREY"Time must be in seconds! (If time was not set, muted forever)", "Will mute the player with time, player cannt mute-evade this" );
    else
    {
        CheckImune( playerid, params[ 0 ] );
        if ( params[ 0 ]  == (0xFFFF))        return SendError( playerid,  "Player not connected!");
        if ( params[ 0 ]  == playerid )       return SendError( playerid,  "You cannot mute yourself!");
        if ( P_DATA[ params[ 0 ] ][ Muted ] ) return SendError( playerid,  "Player is already muted!");

        if ( !params[ 1 ] )
        {
           
            P_DATA[ params[ 0 ] ][ Muted ] = 1;
            P_DATA[ params[ 0 ] ][ MutedTime ] = 0;
           

            #if SAVE_MUTE == true
            new
                pQue[ 256 ];

            format( pQue, 256, "SELECT * FROM `Muted` WHERE `IP` = '%s'", GetPlayerIPEx( params[ 0 ] ) );
            new DBResult:R1 = db_query( _DB, pQue );

            if ( !db_num_rows( R1 ) )format( pQue, sizeof (pQue), "INSERT INTO `Muted` ( `IP`, `Muted`, `Time`, `RealName` ) VALUES ('%s', '1', '0', '%s')", GetPlayerIPEx( params[ 0 ] ),  Name( params[ 0 ] ) );
            else format( pQue, sizeof (pQue), "UPDATE `Muted` SET `Muted` = '1', `Time` = '0', `RealName` = '%s' WHERE `IP` = '%s'", Name( params[ 0 ] ), GetPlayerIPEx( params[ 0 ] ) );
               

            db_free_result( R1 );
           
            db_free_result( db_query( _DB, pQue ) );
           
           
            #endif
           
            SendAdminCMD( playerid, "Admin "ORAN"%s[%i]"GREY" muted player "ORAN"%s[%i]", Name( playerid ), playerid, Name( params[ 0 ] ), params[ 0 ], params[ 1 ] );
            FormatMSG( playerid, Color:GREY, "You muted "ORAN"%s[%i]", Name( params[ 0 ] ), params[ 0 ] );
            SendClientMessage( params[ 0 ], Color:GREY, "You have been muted!");
        }
        else
        {
            P_DATA[ params[ 0 ] ][ Muted ] = 1;
           
            SendAdminCMD( playerid, "Admin "ORAN"%s[%i]"GREY" muted player "ORAN"%s[%i]  "GREY"[ "ORAN"Time: "W"%d"GREY" seconds ]", Name( playerid ), playerid, Name( params[ 0 ] ), params[ 0 ], params[ 1 ] );
            FormatMSG( playerid, Color:GREY, "You muted "ORAN"%s[%i]  "GREY"[ "ORAN"Time: "W"%d"GREY" seconds ]", Name( params[ 0 ] ), params[ 0 ], params[ 1 ] );
            FormatMSG( params[ 0 ], Color:GREY, "You have been muted! "W"[ "GREE"Time: "W"%d"GREY" seconds"W" ]", params[ 1 ]);
           
            #if SAVE_MUTE == true

                new
                    pQue[ 256 ];
               
                format( pQue, 256, "SELECT * FROM `Muted` WHERE `IP` = '%s'", GetPlayerIPEx( params[ 0 ] ) );
                new DBResult:R1 = db_query( _DB, pQue );
               
                if ( !db_num_rows( R1 ) )format( pQue, sizeof (pQue), "INSERT INTO `Muted` ( `IP`, `Muted`, `Time`, `RealName` ) VALUES ('%s', '1', '%d', '%s')", GetPlayerIPEx( params[ 0 ] ), params[ 1 ], Name( params[ 0 ] ) );
                else format( pQue, sizeof (pQue), "UPDATE `Muted` SET `Muted` = '1', `Time` = '%d', `RealName` = '%s' WHERE `IP` = '%s'", params[ 1 ], Name( params[ 0 ] ), GetPlayerIPEx( params[ 0 ] ) );
                   
                db_free_result( R1 );
               
                db_free_result( db_query( _DB, pQue ) );
               
            #endif
           
            KillTimer( MuteTimer[ params[ 0 ] ] );
            LowerMuteTimer[ params[ 0 ] ] = SetTimerEx( "LowerMuteTime", 1000, true, "i", params[ 0 ] );
            MuteTimer[ params[ 0 ] ] = SetTimerEx( "UnMutePlayer", params[ 1 ] * 1000, false, "i", params[ 0 ] );
            P_DATA[ params[ 0 ] ][ MutedTime ] = params[ 1 ];
        }
    }
    return 1;
}

Dupa cum vezi, cam asa fac pentru moment si TOTUL arata asa..
__________________
Zh3r0 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ZCMD gabitzu4ever Română/Romanian 6 16/03/2011 05:29 PM
ZCMD Help austin070 Help Archive 3 10/03/2011 10:21 PM
ZCMD Justas888 Help Archive 4 12/12/2010 03:44 PM
[Help] ZCMD Dudits Help Archive 10 15/07/2010 12:35 PM
ZCMD again... GaGlets(R) Help Archive 6 14/07/2010 02:58 PM


All times are GMT. The time now is 04:13 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.