PARTNERI:
-UPOZORENJE-

Samo registrovani članovi mogu da vide/koriste forum u celini.
Prijavite se ili registrujte nalog na Balkan SA-MP forumu.


Autor Tema: [Tutorial] Y_ITERATE  (Pročitano 1318 puta)

0 članova i 1 gost pregledaju ovu temu.

Van mreže V01D

Y_ITERATE
« poslato: Avgust 08, 2020, 18:09:23 posle podne »
Posto sam zapazio da ljudi idalje include-aju nesto, a pritom su to uradili zato sto im je neko rekao, i pored tutoriala koji mozete naci na OVOM LINKU idalje ne koriste jako korisnu stvar, a to su iteratori. Pokusaci sto prostije i sto jasnije da objasnim kako da ih koristite za vase svrhe..

Sta je to Iterator? Prostije objasnjeno, iterator je array(niz ponaski) koji u svojim praznim mestima sadrzi vrednost -1, dok mi ne dodamo svoju neku vrednost koju cemo kasnije moci koristiti. Sta to sve znaci? Ne morate brinuti o tome sada, bice jasnije na primeru!

Ajmo poceti, pre svega, morate include :

Pawno Code: [Izaberi]
#include <YSI\y_iterate>
Nakon toga moramo deklarisati novi iterator i za to koristimo tag Iterator:

Pawno Code: [Izaberi]
new Iterator:ImeNasegIteratora<VELICINA>;
Sada mozemo da koristimo nas iterator i pokazacu jedan klasican primer za ovo, dok je upotreba naravno mnogo sira, u iterator cemo ubacivati administratore koji se konektaju na server..

Pawno Code: [Izaberi]
new Iterator:Administratori<MAX_PLAYERS>; //Deklarisemo novi iterator, naziva Administratori i za velicinu stavimo MAX_PLAYERS
Pawno Code: [Izaberi]
public OnPlayerConnect(playerid) {
if(PlayerInfo[playerid][pAdmin] >= 1) Iter_Add(Administratori, playerid); //Znaci, ovde vidimo proveru ako je igrac admin > ili = broju 1, doda ga u iterator
//Ako se jedan igrac konektuje sa id-em 25, pritom je taj igrac admin, u iterator ce se dodati vrednost 25, itd itd
}

Sada kada smo dodali ID naseg admina u iterator, i dodace svaki sledeci, mozemo krenuti da koristimo foreach da bi loop-ovali kroz sve admine, ovo moze imati siroku primenu kao sto je slanje poruka svim online adminima i umesto da loopujemo kroz svakog online igraca, mozemo samo loop-ovati kroz admine koji se nalaze u iteratoru Administratori :

Pawno Code: [Izaberi]
foreach(Administratori, i) { //Ovo ce loopovati kroz svakog igraca koji se nalazi u iteratoru Administratori
SendClientMessage(i, 0xC34848FF, "Poruka svakom online adminu!");
}

foreach(Player, i) { //Ovo ce loopovati kroz svakog igraca na serveru, vi procenite sta je brze :)
SendClientMessage(i, 0xC34848FF, "Poruka svakom online adminu!");
}

Ovo je samo jedan od primera primene iteratora.. Naravno, obavezno je i da admina uklonimo iz iteratora i za to koristimo Iter_Remove :

Pawno Code: [Izaberi]
public OnPlayerDisconnect(playerid, reason) {
Iter_Remove(Administratori, playerid); //Kada se diskonektuje igrac sa servera, brisemo njegov ID iz iteratora
}

Jako korisna stvar za nesto drugo moze biti i Iter_Clear koji ce izbrisati svaku vrednost iz iteratora :

Pawno Code: [Izaberi]
Iter_Clear(Administratori); //Sada ovaj iterator nece imati nijednu vrednost u sebi, ili u nasem slucaju nijedan ID admina
Ovo je jedna klasicna primena za iteratore, jako prosta, i nadam se jasna. Pokusao sam objasniti sto bolje mogu, a nesto slozenije mozete videti na tutorialu koji sam ostavio u prvoj recenici tutoriala. Ako sam nesto pogresio, slobodno ispravite. Da napomenem da je ovo tutorial za pocetnike, tako da sam se trudio da koristim malo prostiju terminologiju radi lakseg shvatanja o cemu se ovde radi.. Hvala na paznji i zelim vam toplu vodu <3

P.S. jebes urednost bitna je poruka :D

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
[GM]Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO
Y_ITERATE TUT -> KLIKNI ME NEZNO
[INC]Dynamic Rent Locations -> KLIKNI ME NEZNO
[GM]Balkan Evolution -> KLIKNI ME NEZNO
 

Van mreže __vedran.xyz77

Odg: Y_ITERATE
« Odgovor #1 poslato: Avgust 08, 2020, 18:13:17 posle podne »
YSI petica Voide ysi petica


btw kada se u foreach loopu koristi Iter_Remove padne server, tada je potrebno da se koristi Iter_SafeRemove
« Poslednja izmena: Avgust 08, 2020, 18:14:59 posle podne //>> Vedran »
 

Van mreže V01D

Odg: Y_ITERATE
« Odgovor #2 poslato: Avgust 08, 2020, 18:16:58 posle podne »
YSI petica Voide ysi petica


btw kada se u foreach loopu koristi Iter_Remove padne server, tada je potrebno da se koristi Iter_SafeRemove

Auu to sam zaboravio napomenuti, bukvalno se secam kada mi je pao server zbog toga, pa sam se par sati jebavao xDD

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
[GM]Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO
Y_ITERATE TUT -> KLIKNI ME NEZNO
[INC]Dynamic Rent Locations -> KLIKNI ME NEZNO
[GM]Balkan Evolution -> KLIKNI ME NEZNO
 

Van mreže inquisitiveemmett

Odg: Y_ITERATE
« Odgovor #3 poslato: Avgust 08, 2020, 18:18:07 posle podne »
#include <YSI\y_iterate>
 :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'(

Van mreže V01D

Odg: Y_ITERATE
« Odgovor #4 poslato: Avgust 08, 2020, 18:31:20 posle podne »
#include <YSI\y_iterate>
 :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'(

Nemoj tako negativno :D :D :D

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
[GM]Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO
Y_ITERATE TUT -> KLIKNI ME NEZNO
[INC]Dynamic Rent Locations -> KLIKNI ME NEZNO
[GM]Balkan Evolution -> KLIKNI ME NEZNO
 

Van mreže skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°)

Odg: Y_ITERATE
« Odgovor #5 poslato: Avgust 08, 2020, 18:54:45 posle podne »
YSI petica Voide ysi petica


btw kada se u foreach loopu koristi Iter_Remove padne server, tada je potrebno da se koristi Iter_SafeRemove
Ja na jednom modu ne koristim YSI5 jer je nestabilna za neke stvari i stvari poput multi languagea i tekst managementa uopšte ne rade u petici i neće skoro

Ne treba toliko siliti YSI5 ako neko prosto ne koristi mogućnosti istog

I imam negativan komentar a to je da ti ne treba pAdmin varijabla uopšte nego sve preko iteratora da se radi
« Poslednja izmena: Avgust 08, 2020, 18:56:36 posle podne Alhemičar v2 »
 

Van mreže skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°)

Odg: Y_ITERATE
« Odgovor #6 poslato: Avgust 08, 2020, 19:03:18 posle podne »
Da dodam gore da ipak treba pAdmin jer sam zaboravio da ne koristi y_groups budala :D
 

Van mreže V01D

Odg: Y_ITERATE
« Odgovor #7 poslato: Avgust 08, 2020, 19:07:54 posle podne »
ZABORAVIO SAM JAKO BITNU STVAR

Pawno Code: [Izaberi]
public OnPlayerDisconnect(playerid, reason) {
        if(Iter_Contains(Administratori, playerid)) Iter_Remove(Administratori, playerid);
}

Pisem preko telefona ne zamerite..

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
[GM]Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO
Y_ITERATE TUT -> KLIKNI ME NEZNO
[INC]Dynamic Rent Locations -> KLIKNI ME NEZNO
[GM]Balkan Evolution -> KLIKNI ME NEZNO
 

Van mreže skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°)

Odg: Y_ITERATE
« Odgovor #8 poslato: Avgust 08, 2020, 19:08:40 posle podne »
ZABORAVIO SAM JAKO BITNU STVAR

Pawno Code: [Izaberi]
public OnPlayerDisconnect(playerid, reason) {
        if(Iter_Contains(Administratori, playerid)) Iter_Remove(Administratori, playerid);
}

Pisem preko telefona ne zamerite..
Nemoj sve u jednoj liniji nego K&R i dole jebem mu boga :D
 

Van mreže // xunder

Odg: Y_ITERATE
« Odgovor #9 poslato: Avgust 08, 2020, 20:46:18 posle podne »
public OnPlayerDisconnect(playerid, reason) {
SetTimerEx("OnPlayerDisconnectDelay", 0, false, "d", playerid);
return 1;
}
forward OnPlayerDisconnectDelay(playerid); public OnPlayerDisconnectDelay(playerid) {
if (IsPlayerConnected(playerid)) return;
Iter_Remove(Administratori, playerid);
return 1;
}
*  Called AFTER "OnPlayerDisconnect" so that using "Kick" inside a
*  "foreach" loop doesn't crash the server due to an OOB error.

Van mreže XACK

Odg: Y_ITERATE
« Odgovor #10 poslato: Avgust 09, 2020, 02:57:11 pre podne »
Mogao si pokriti i multidimenzionalne iteratore, predefinisane iteratore, malo vise funkcija i primera, definicije, foreachex.
Ovo nije dovoljno da nekog ubedis da koristi, jer skoro svaki y_iterate tutorijal se svodi na ovo...  :D
Those parts of the system that you can hit with a hammer (not advised) are called hardware; those program instructions that you can only curse at are called software
 

Van mreže V01D

Odg: Y_ITERATE
« Odgovor #11 poslato: Avgust 09, 2020, 10:54:08 pre podne »
Mogao si pokriti i multidimenzionalne iteratore, predefinisane iteratore, malo vise funkcija i primera, definicije, foreachex.
Ovo nije dovoljno da nekog ubedis da koristi, jer skoro svaki y_iterate tutorijal se svodi na ovo...  :D

Ima i za to razlog. Ovo je za pocetnike i objasnjenje neke primene iteratora koja njima moze da bude jasna, kao sto si i san primetio, ovde dobra vecina ne zna osnove, a hoce da skripta. Sto je po meni veliki problem. Emmet je pravio tutorial, imam osecaj da ga je 10 clanova razumelo, a videlo 300..

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
[GM]Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO
Y_ITERATE TUT -> KLIKNI ME NEZNO
[INC]Dynamic Rent Locations -> KLIKNI ME NEZNO
[GM]Balkan Evolution -> KLIKNI ME NEZNO
 

Van mreže [][] Foxy 2k19 [][]

Odg: Y_ITERATE
« Odgovor #12 poslato: Avgust 10, 2020, 11:11:18 pre podne »
Dobro je :)
Balkan Moon v1.0 by Foxy

Owner // Scripter Balkan Moon

u Potpisu Foxy.

Ne pipaj lava Foxy, radi na BM-u :D :D :D
[4.7.2019] Respect For: Purda | Basovski | Mister Naithan | BICEL KO MI BUNTA | 7.9: Vasic[/b]

* Server [5.1.2019 Created]
* Scripter on Power Gaming
* Scripter on Night Life
* Scripter on Arena Gaming
* Scripter on duty (Balkan Moon)

[23.5.2k19] Messi u skriptanju hehe ;)
[7.8.2k19]OLD Minecraft Developer & Player (2016-2018)

#FOXYSCRIPT[/b]
MAPPER U POKUŠAJU :/[/b]
 

Van mreže skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°)

Odg: Y_ITERATE
« Odgovor #13 poslato: Avgust 10, 2020, 12:20:37 posle podne »
Dobro je :)
Jel moraš da bumpuješ pola foruma?
Idi pa ocenjuje mape i tdove ako ti trebaju postovi, ne razumem