[Tutorial] Admin chat(/a) [Incepatori]
#1

Buna ziua,

Ma numesc Edy, ma ocup de ethical hacking si de asemenea in timpul liber sunt programator, am decis sa vin astazi cu un tutorial pentru un Admin Chat, este unul de incepatori acesta fiind foarte usor de realizat, si va poate dezvolta gandirea pentru tot felul de chaturi cum ar fi /f, /r, toate acestea sunt extrem de similare.
Asa ca, sa nu mai pierdem vremea si sa incepem cu tutorialul.

Inainte de a incepe declararea comenzilor, asigurati-va ca aveti include-ul ZCMD, pentru a putea urmari tutorialul si pentru a va face munca mai usoara.

Mai jos aveti culorile folosite in acest tutorial

Код:
#define GALBEN 0xFFFF00AA
#define ROSU 0xFF6347AA
Vom incepe prin declararea unei functii simple.
Код:
forward TrimiteMesajPentruAdmini(text[])
Dupa aceea vom crea aceasta functie.

Код:
public TrimiteMesajPentruAdmini(text[])
{

	for(new i = 0; i < MAX_PLAYERS; i ++)
	{


		    if(AccountInfo[i][aAdmin] >= 1) // Inlocuiti " AccountInfo[i][aAdmin]  " cu variabila voastra.
		    {

				SendClientMessage(i,GALBEN,text);

		    }


	}

}
Ca sa va explic cum functioneaza aceasta functie, acel "for" incepe sa numere de la ID-ul 0, pana la "MAX_PLAYERS", dupa aceea verificam pentru fiecare valoare a lui "i", adica a ID-ului, daca player-ul are admin, daca acesta nu are admin, nu i se va trimite niciun mesaj, daca acesta are admin, i se va trimite un mesaj definit de o comanda.
Acum, sa trecem la comanda propriu zisa.

Код:
COMMAND:a(playerid,params[])
{

    if(AccountInfo[playerid][aAdmin] >= 1)
    {
    
		new textintrodus[256];
                new nume[24];
                GetPlayerName(playerid, nume, sizeof(nume));
		FetchParamText(result,params,0);
		if(!strlen(result)) { SendClientMessage(playerid,ROSU,"COMANDA: /a [admin chat]"); return 1; }
		new mesajdetrimis[256];
		format(mesajdetrimis,sizeof(mesajdetrimis),"[Admin Chat] %s: %s",nume,textintrodus);
		TrimiteMesajPentruAdmini(mesajdetrimis);
		return 1;
    }
    else
    {

        SendClientMessage(i, ROSU, "Nu esti administrator");
        return 1;

    }


}
Aceasta comanda va verifica daca utilizatorul este administrator si ii va trimite mesajul prin functia creata mai sus.
Daca aveti nelamuriri nu ezitati sa ma contactati.

Daca mai doriti astfel de tutoriale, puteti lasa mai jos o cerere iar in timpul liber in care nu lucrez la server-ul meu voi incerca sa o indeplinesc. Doar ca sa stiti, in momentul de fata ma pregatesc pentru certificarea CEH(Certified Ethical Hacking) si s-ar putea sa postez umpic mai greu tutorialele.
Reply
#2

nu e rau ,insa ai fi putut sa zici ca fiecare va trebui sa-si puna propria variabila de verificare pentru admini ,in loc de
PHP код:
AccountInfo[i][aAdmin
Reply
#3

Acest
PHP код:
for(new 0MAX_PLAYERS++) 
pot fi optimizate pentru a:
PHP код:
for(new iGetPlayerPoolSize(); <= ji++) 
Foarte de bază, dar nu rău pentru un оnceput, ascultă, de asemenea, ce a spus pepsi.
Reply
#4

O sa ajute niste incepatori.
In loc de acel public ai putea folosi o functie normala... Publicurile sunt create ca sa poata fi "apelate" dintr-un mod "extern" ca de exemplu dintr-un plugin, dintr-un filterscript/gamemode (cu CallRemoteFunction parca) sau chiar de server (de aceea toate callback-urile sunt publice) ...
PS: Nu este o greaseala, e mai mult un sfat.
PS2: Bafta la certificare
Reply
#5

Код:
for(new i = 0; i < MAX_PLAYERS; i ++)
	{
            if(!IsPlayerConnected(i)) continue;

		    if(AccountInfo[i][aAdmin] >= 1)
		    {
Reply
#6

Iteratori
Reply
#7

Multumesc tuturor pentru sfaturi, le voi lua in considerare!
Reply
#8

Bravo mane.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)