Jump to content
Hostul a fost schimbat. Daca vedeti serverul offline readaugati rpg.b-zone.ro sau 141.95.124.78:7777 in clientul de sa-mp ×

[PAWN] - comanda /setadmin


BUHA
 Share

Recommended Posts

Salut pentru inceput mergem la sus de tot la GM-ul nostru si scriem :

 

 

new playerAdmin[MAX_PLAYERS];

 

Apoi definim o culoare :

 

 

#define ALBASTRU 0x0000FFFF

 

Trebuie sa aveti procesorul de comenzi ZCMD si SScanf

 

 

ZCMD : http://sampff.weebly.com/uploads/1/7/5/3/17534013/zcmd.inc
SScanf : https://github.com/emmet-jones/sscanf-3.0/archive/master.zip
Filele .inc vor veni in NumeServer ---> Pawn ----> includes ---> si il puneti acolo
Celelalte de la SSCANF va dati seama singuri !

 

Acum vom face comanda de dat admin , ATENTIE TREBUIE SA FITI LOGAT CA RCON pentru a folosi comanda !

 

 

// comanda setadmin
CMD:setadmin(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) //Aici verificam daca player'ul NU ESTE rcon admin
return SendClientMessage(playerid, ROSU, "Doar adminii RCON pot folosi aceasta comanda.");

new pID, adminLevel, str[128]; //Am creat 3 variabile LOCALE de data aceasta, doar in comanda sunt valabile variabilele acestea. (pID = Integer adminLevel = Integer si str[128] = string (text), unde 128 = lungimea maxima admisa textului)
if(sscanf(params,"ui", pID, adminLevel)) //Aici verificam parametrii introdusi in comanda. Daca cineva a folosit doar /makeadmin fara parametrii corecti, va da 'eroare'
return SendClientMessage(playerid, MAGENTA, "FOLOSIRE: /setadmin [PlayerID] [Level]");

if(!IsPlayerConnected(pID)) // Aici verificam daca primul parametru (pID) este conectat
return SendClientMessage(playerid, ROSU_SANGERIU, "Player-ul selectat nu este conectat.");

if(adminLevel < 0 || adminLevel > 10)
return SendClientMessage(playerid, ROSU_SANGERIU, "Admin level este gresit. Foloseste levele intre 0 si 10");

new name[MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME];
GetPlayerName(pID, name, sizeof name);
GetPlayerName(playerid, pName, sizeof pName);
playerAdmin[pID] = adminLevel; //Aici setam variabila globala 'playerAdmin', pe care am definit-o mai sus
format(str, sizeof str, "{00CED1}Admin %s te-a promovat in functia de admin %i.", pName, playerAdmin[pID]);
SendClientMessage(pID, -1, str);
format(str, sizeof str, "{00CED1}L-ai promovat pe %s in functia de admin %i.", name, playerAdmin[pID]);
SendClientMessage(playerid, -1, str);
format(str, sizeof str, "{00CED1}Admin %s l-a promovat pe %s in functia de admin %i.", pName, name, playerAdmin[pID]);
SendClientMessageToAll(-1, str);
SetPlayerSkin(playerid, 217);
return 1;
}

 

Daca aveti nelămuriri spuneti-mi

Edited by Cdorsu
Link to comment
Share on other sites

Nu sunt eu un maestru in PAWN, dar aici

 

sizeof str,
nu trebuia sa fie
sizeof(str)
?

De ce ai mai definit culoarea daca nu ai folosit-o?

 

Ce inseamna "ui" din acel sscanf?

Atunci cand afisezi un intreg nu ar trebui sa folosiste "%d"?

Link to comment
Share on other sites

In primul rand, cei care veti citi tutorial-ul vreau sa va zic ca aveti de pus si alte define-uri de culoare, (ROSU_SANGERIU, MANGETA), Care sunt utilizate in comanda aceasta. Dupa ce scrieti define-ul de albastru dati Copy Paste la cele doua randuri pe care le scriu:

 

1.

#define ROSU_SANGERIU FF0000

2.

#define MAGENTA CC00CC

In rest nu l-am incercat.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • 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.