Jump to content

[Cerere tutorial] Cum sa faci o comanda (zcmd)


UrsulPolar

Recommended Posts

Salut, as vrea si eu un tutorial facut de voi.. in care voi (adica, fara link-uri spre alte tutoriale... pentru ca m-am uitat la tutoriale dar pana la urma tot imi va da o eroare..) sa imi explicati cum sa fac o comanda cu zcmd. 

Initial vroiam sa fac o comanda pentru admini "/ls" care sa te teleporteze in ls. (pAdmin)

Edited by UrsulPolar
Link to comment
Share on other sites

Inloc de if (strcmp, "gotols etc etc 

Scrii

CMD:gotols (playerid,params [])

Si muti comanda la finalul gmului nu in publicul OnPlayerCommandText si verifica daca ai pus 

include <zcmd>

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

Acum 13 ore, Mister a spus:

Inloc de if (strcmp, "gotols etc etc 

Scrii

CMD:gotols (playerid,params [])

Si muti comanda la finalul gmului nu in publicul OnPlayerCommandText si verifica daca ai pus 

include <zcmd>

Din ce mi-ai spus tu se rezuma la doar scrie CMD:gotols (playerid,params[]) si gata e comanda... Nu m-ai ajutat cu nimic...

Link to comment
Share on other sites

Pai asa se face, se pune CMD: gotols si se pune comanda inafara oricarui public, comanda de obicei se punea in OnPlayerCommandText, acum pe asta o pui deasupra public OnPlayerCommandText, 

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

Acum 16 minute, Mister a spus:

Pai asa se face, se pune CMD: gotols si se pune comanda inafara oricarui public, comanda de obicei se punea in OnPlayerCommandText, acum pe asta o pui deasupra public OnPlayerCommandText, 

CMD: ls(playerid, params[])
{
    if(PlayerIsConnected(playerid))
    {
        if(gLogged[playerid] == 1);
        {
            if (PlayerInfo[playerid][pAdmin] == 6 || IsPlayerAdmin(playerid))
            {
                SetPlayerPos(playerid, 1529.6,-1691.2,13.3);
            }
            SendClientMessage(playerid, WHITE, "Ai fost teleportat!");
        }
    return 1;
    }

D:\SAMP\gamemodes\w3op.pwn(546) : error 001: expected token: "(", but found "-identifier-"
D:\SAMP\gamemodes\w3op.pwn(546) : error 001: expected token: ";", but found "("
D:\SAMP\gamemodes\w3op.pwn(548) : error 010: invalid function or declaration
D:\SAMP\gamemodes\w3op.pwn(550) : error 010: invalid function or declaration
D:\SAMP\gamemodes\w3op.pwn(552) : error 010: invalid function or declaration
D:\SAMP\gamemodes\w3op.pwn(558) : error 010: invalid function or declaration
Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


6 Errors.
 

Imi poti spune ce am gresit te rog?

 

Link to comment
Share on other sites

1 ai IsPlayerConnected nu  PlayerIsConnected   

2 trebuie CMD:ls(  nu CMD: ls(

3 ai uitat o acolada inchisa aici  }       SendClientMessage(playerid, WHITE, "Ai fost teleportat!");       } deci mai adauga una 

4 nu trebuie  punct si virgula dupa if  tu ai asa  if(gLogged[playerid] == 1);  

Edited by Mister

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

Acum 6 minute, SoNNy.sys a spus:

De ce verificati voi daca jucatorul care scrie comanda e conectat?... *mindfuck*

Post pentru +1?  da, daca tot ai postat puteai sa te faci si tu ca i-ai lucrat la comanda, sau puteai posta mai devreme spunandu-i ce a gresit in comanda acum postezi doar de dragul de a face +1

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

Acum 4 minute, SoNNy.sys a spus:

De ce verificati voi daca jucatorul care scrie comanda e conectat?... *mindfuck*

Eh, iti dai seama.. sunt incepator rau, paralel cu pawn deocamdata... m-am uitat si eu pe la celelalte comenzi si am incercat sa fac si eu.

Acum 15 minute, Mister a spus:

1 ai IsPlayerConnected nu  PlayerIsConnected   

2 trebuie CMD:ls(  nu CMD: ls(

3 ai uitat o acolada inchisa aici  }       SendClientMessage(playerid, WHITE, "Ai fost teleportat!");       } deci mai adauga una 

4 nu trebuie  punct si virgula dupa if  tu ai asa  if(gLogged[playerid] == 1);  

Acum imi da asta

D:\SAMP\gamemodes\w3op.pwn(2998) : warning 203: symbol is never used: "ls"
Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.
 

Link to comment
Share on other sites

Acum 1 minut, UrsulPolar a spus:

Acum imi da asta

D:\SAMP\gamemodes\w3op.pwn(2998) : warning 203: symbol is never used: "ls"
Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.
 

pentru ca ti-am spus la problema 2 ca tu ai asa

CMD: ls(playerid, params[])
{

 

si trebuie asa

CMD:ls(playerid, params[])
{

Arata noua comanda

Edited by Mister

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

Acum 1 minut, Mister a spus:

pentru ca ti-am spus la problema 2 ca tu ai asa

CMD: ls(playerid, params[])
{

 

si trebuie asa

CMD:ls(playerid, params[])
{

Pai asa este...

CMD:ls(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(gLogged[playerid] == 1)
        {
            if (PlayerInfo[playerid][pAdmin] == 6 || IsPlayerAdmin(playerid))
            {
                SetPlayerPos(playerid, 1546.3396,-1675.5972,13.5621);
            }
            SendClientMessage(playerid, 0x5CAD5CFF, "Ai fost teleportat!");}
        }
    return 1;
    }

 

Link to comment
Share on other sites

Acum 9 minute, Mister a spus:

Post pentru +1?  da, daca tot ai postat puteai sa te faci si tu ca i-ai lucrat la comanda, sau puteai posta mai devreme spunandu-i ce a gresit in comanda acum postezi doar de dragul de a face +1

Vezi ca esti putin pe langa post dragul meu "Mister" si nu cred ca asta am intrebat defapt mai sus.

 

@UrsulPolar foloseste urmatorul cod iar la inceputul GM-ului pune #include "zcmd" pe care il poti descarca de aici: http://www.solidfiles.com/d/879d1213462fc1562d16d464e90c8cf9/

EDIT: Pune aceasta comanda la sfarsitul GM-ului, ai grija sa nu fie in interiorul unei alte functii !

CMD:ls( playerid, params[ ] )
{
	// ( Aici verifici daca jucatorul este logat )
    if( gLogged[ playerid ] != 1 );
		return SendClientMessage( playerid, WHITE, "Trebuie sa fii logat pentru a folosi comanda!" );

	// ( Aici verifici daca jucatorul este admin pentru a putea folosi comanda )
  	if( PlayerInfo[ playerid ][ pAdmin ] != 6 || !IsPlayerAdmin( playerid ) )
  	    return SendClientMessage( playerid, WHITE, "Trebuie sa fii admin pentru a folosi comanda!" );

	// ( Aici executi codul tau daca jucatorul a trecut de toate verificarile de mai sus! )
    SetPlayerPos( playerid, 1529.6, -1691.2, 13.3 );
	SendClientMessage( playerid, WHITE, "Ai fost teleportat!" );
	return true;
}

 

Edited by SoNNy.sys

Sinner.png

Link to comment
Share on other sites

Acum 5 minute, Mister a spus:

Ti-am spus ca ai o paranteza lipsa, inaitne de return 1; inchide o acolada

Defapt uitasem sa pun #include zcmd, ca am pus iar gm-ul ca sa il incep de la 0, ca mai incercasem eu chestii prin el si nu era prea ok :D  Am facut comanda, merge, multumesc de ajutor.

Acum 6 minute, SoNNy.sys a spus:

Vezi ca esti putin pe langa post dragul meu "Mister" si nu cred ca asta am intrebat defapt mai sus.

 

@UrsulPolar foloseste urmatorul cod iar la inceputul GM-ului pune #include "zcmd" pe care il poti descarca de aici: http://www.solidfiles.com/d/879d1213462fc1562d16d464e90c8cf9/


CMD:ls( playerid, params[ ] )
{
	// ( Aici verifici daca jucatorul este logat )
    if( gLogged[ playerid ] != 1 );
		return SendClientMessage( playerid, WHITE, "Trebuie sa fii logat pentru a folosi comanda!" );

	// ( Aici verifici daca jucatorul este admin pentru a putea folosi comanda )
  	if( PlayerInfo[ playerid ][ pAdmin ] != 6 || !IsPlayerAdmin( playerid ) )
  	    return SendClientMessage( playerid, WHITE, "Trebuie sa fii admin pentru a folosi comanda!" );

	// ( Aici executi codul tau daca jucatorul a trecut de toate verificarile de mai sus! )
    SetPlayerPos( playerid, 1529.6, -1691.2, 13.3 );
	SendClientMessage( playerid, WHITE, "Ai fost teleportat!" );
	return true;
}

 

Deja facusem comanda mea, dar totusi multumesc pentru faza cu return sendclientmessage, nu stiam de ea. :)

Link to comment
Share on other sites

Acum 3 minute, SoNNy.sys a spus:

Iti dau un mic sfat, incearca sa folosesti modelul meu de mai sus pentru un cod cat mai bine realizat si optimizat ;) O zi faina!

Daca folosesc modelul tau imi da asa:

D:\SAMP\gamemodes\w3op.pwn(549) : error 036: empty statement
D:\SAMP\gamemodes\w3op.pwn(550) : warning 217: loose indentation
D:\SAMP\gamemodes\w3op.pwn(553) : warning 225: unreachable code
D:\SAMP\gamemodes\w3op.pwn(553) : warning 217: loose indentation
Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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.