Jump to content

Recommended Posts

Posted

Salut! Dacă ai accesat acest topic înseamnă că vrei să cunoşti ce este un iterator şi cum să-l foloseşti, sau ai venit doar ca să vezi dacă am scris topicul corect, sau pentru hate.

 

Mă rog, pentru cei care au venit cu scopul de a primi nişte informaţii, le veţi vedea mai jos.

Iteratorii sunt o versiune mai avansată a foreach-ului, care ajută la simplificarea codului şi nu numai, ajută foarte mult la optimizarea acestuia.

Pentru a putea folosi iteratorii, trebuie să aveţi librăria YSI şi să adăugaţi la începutul modului de joc:

#include	"	YSI\y_iterate	"

Pentru a declara un iterator, adăugaţi în modul de joc:

new Iterator:nume<tip>;  (tip = MAX_PLAYERS, MAX_VEHICLES, etc.)

Funcţiile iteratorului de bază sunt:

Iter_Add(nume, valoare); 

public OnPlayerConnect(playerid) {
	Iter_Add(Players, playerid); // daca un jucator s-a conectat acesta il adauga in bucla.
	return 1;
}

Iter_Remove(nume, valoare);

exemplu: 

public OnPlayerDisconnect(playerid) {
	Iter_Remove(Players, playerid); // daca un jucator s-a deconectat acesta il scoate din bucla.
	return 1;
}

Iter_Count(nume);

exemplu: facem o comanda sa vedem cati jucatori sunt conectati:

YCMD:players(playerid, params[], help) {
	new string [ 20 ];
	string[ 0 ] = '\0';
	format(string, 20, "Playeri conectati: %d", Iter_Count(Players));
	SendClientMessage(playerid, -1, string);
	return 1;
}

afisare in joc (in caz ca sunt doar eu conectat):


Playeri conectati: 1

 

Am făcut acest tutorial grăbit, scuzaţi eventualele greşeli.

  • Like 1
  • Thanks 1
  • Upvote 3

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • 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.