Jump to content

Tutorial cum sa faci o comanda


Marian2

Recommended Posts

Salut eu sunt Marian iar astazi am sa va arat cum sa faceti o comanda , o sa o facem prin zcmd.

CMD:makeadmin(playerid, params[])
{
	if(P_Data[playerid][pAdmin] < 7) // verifica daca playerul are admin mai mic de 7 ii da mesajul
	    return SCM(playerid, Albastru, "Nu ai rangul administrativ necesar");
	new Nume, Level;//creem 2 functii new Nume si Level
	new query[128]; // creem functia query care verifica in baza de date
	new string[100]; // creem functia string care verifica numarul de caractere 
	if(sscanf(params, "ui", Nume, Level)) // creem parametrii 
 		return SCM(playerid, Rosie, "Foloseste /makeadmin [playerid][level]");
	P_Data[Nume][pAdmin] = Level; 
 	mysql_format(handle, query, sizeof(query), "UPDATE `conturi` SET `AdminLevel` = '%i' WHERE `Nume` = '%s'",P_Data[Nume][pAdmin], GetName(Nume) ); // se face update la conturi in baza de date la AdminLevel
	mysql_query(handle, query);// se trimite interogarea	
	format(string, sizeof(string), "La-i promovat la admin %i pe %s", P_Data[Nume][pAdmin], GetName(Nume)); // aici trimitem mesajul catre adminul care l-a promovat pe %s
	SCM(playerid, Rosie, string); // SCM = SendClientMessage
	format(string, sizeof(string), "Ai fost promovat la admin %i de catre adminul %s", P_Data[Nume][pAdmin], GetName(playerid)); // trimitem mesajul catre playerul care a fost promovat la admin.
	SCM(Nume, Rosie, string);
	return 1;
}

In loc de format(string, sizeof(string), " Ai fost promovat la admin ....

Puteam face 

SCMF(playerid, Masliniu, "PM catre %s (ID: %d): %s ", GetName(playerid));

Acesta a fost turorialul meu o sa mai fac si altele.

Link to comment
Share on other sites

Tutorialul tau este incomplet, de ce?

Pentru ca nu toti au P_DATA, de ex eu am AccInfo, si nu toti folosesc mysql.

Nu cred ca toti au #define SCM                          SendClientMessage in gamemode. si scmf.

aici:

new Nume, Level;//creem 2 functii new Nume si Level
	new query[128]; // creem functia query care verifica in baza de date
	new string[100];

poti face ceva mai scurt:

new Nume, Level, query[128], string[100];

Sa nu umpli comanda de new-uri.

Nu ai adaugat de ce include-uri trebuie sa se foloseasca. Adica sscanf zcmd si mysql.

Poate ei se folosesc de strcmp.

Nu toti au variabila handle definita, poate ai folosesc gHandle, connHandle, etc.

Totusi apreciez ca ai explicat fiecare functie din comanda.

 

Link to comment
Share on other sites

Cum a zis și pustiul de mai sus tutorial incomplet de ce?: 

1.nu ai specificat cum faci să folosesti zcmd #include <zcmd>  la începutul gamemod.ului

2.nu ai specificat unde trebuie plasată această comandă, un începător poate o pune la publicul OnPlayerCommandText și după se intreaba de ce îi da erori.

3.nu toți folosesc zcmd, trebuia să faci și cu strcmp,ycmd.

**********************************

Servicii Scripting de calitate:

*********************************

Future Project: ExpertGame

*********************************

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.

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