OnPlayerKeyState change i streamer aree

Započeo Sage, Avgust 04, 2021, 00:57:56 PRE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Citat: xLanmi poslato Avgust 05, 2021, 10:30:05 PRE PODNE
Lako je kopirati iz moda sa GIT-a , nisi nista objasnio ovde.. :)
Nisam objasnio zato što sam pisao već veoma detaljan tutorial za dinamyc aree i većinu streamer native-a ranije, ako su ljudi toliki invalidi onda ne znam stvarno.. ;)
Vidim da je dosta toga izgubljeno jer je vraćen forum na onaj backup ali svakako ovo je bila samo IDEJA, maštajte malo

Citat: // xunder poslato Avgust 05, 2021, 03:38:57 PRE PODNE

Ja ti koristim GVar pa me nešto bolela piša haha


Ja razumem da je iz nekog razloga ovde fora da ljudi naprave tutorial (pa cak i ako je sve pogresno u njemu)...Ali brate ovo niti je tutorial, niti je korisno...
Ako vec hoces da smanjis smece (clutter kako si napisao) u callback-u koristi includove (module) i y_hooks... Napravis modul za jedan sistem, njegova sranja idu u taj callback hook, i u sledecem fajlu opet koristis cist hook/callback...
Ako neces da koristis hookove...Onda napravi custom callback koji ce se pozivati iz OnPlayerKeyStateChange, tako ces i odvojiti logiku pa ce ti biti lakse da debug (ako razdvojis sve kako treba).

Citat: Deleted User poslato Avgust 06, 2021, 18:37:23 POSLE PODNE
Ja razumem da je iz nekog razloga ovde fora da ljudi naprave tutorial (pa cak i ako je sve pogresno u njemu)...Ali brate ovo niti je tutorial, niti je korisno...
Ako vec hoces da smanjis smece (clutter kako si napisao) u callback-u koristi includove (module) i y_hooks... Napravis modul za jedan sistem, njegova sranja idu u taj callback hook, i u sledecem fajlu opet koristis cist hook/callback...
Ako neces da koristis hookove...Onda napravi custom callback koji ce se pozivati iz OnPlayerKeyStateChange, tako ces i odvojiti logiku pa ce ti biti lakse da debug (ako razdvojis sve kako treba).

Nije korisno skrenuti ljudima paznju na funkcije plugina koji koriste?

Citat: // xunder poslato Avgust 06, 2021, 18:41:08 POSLE PODNE
Nije korisno skrenuti ljudima paznju na funkcije plugina koji koriste?
Ako pokazujes nesto napola onda NIJE KORISNO. Uzmi sebi za primer, ako hoces ovo za ulaze/izlaze  kuca, bizeva, javnih mesta i slicno...Kako ces prosiriti ovo? Hoces loop i stalno pozivati IsPlayerInDynamicArea?

Citat: Deleted User poslato Avgust 06, 2021, 18:49:29 POSLE PODNE
Ako pokazujes nesto napola onda NIJE KORISNO. Uzmi sebi za primer, ako hoces ovo za ulaze/izlaze  kuca, bizeva, javnih mesta i slicno...Kako ces prosiriti ovo? Hoces loop i stalno pozivati IsPlayerInDynamicArea?

To je kao da kazes da API dokumentacija nije korisna. Covjek je dao ideju, pokazao funkciju, mogucnosti. Na korisniku je da dalje mozga i smislja bolje nacine.

Citat: // xunder poslato Avgust 06, 2021, 19:18:10 POSLE PODNE
To je kao da kazes da API dokumentacija nije korisna. Covjek je dao ideju, pokazao funkciju, mogucnosti. Na korisniku je da dalje mozga i smislja bolje nacine.

Tutorial treba da bude tutorial, korisne funkcije su korisne funkcije...Neznam sta drugo da ti kazem...
Ako napravis tutorial ovako, samo ces nauciti ljude pogresno...Sad ce neki lik uzeti i praviti "da valja" po minimum jedan loop za svaki sistem koji moze ovo da koristi...

Citat: Deleted User poslato Avgust 06, 2021, 18:49:29 POSLE PODNE
Ako pokazujes nesto napola onda NIJE KORISNO. Uzmi sebi za primer, ako hoces ovo za ulaze/izlaze  kuca, bizeva, javnih mesta i slicno...Kako ces prosiriti ovo? Hoces loop i stalno pozivati IsPlayerInDynamicArea?
Ne, taj tutorial sam vec pisao za ulazenje u kuce/bizeve itd, postoji nesto sto se zove STREAMER ARRAY DATA u kom mozes da sacuvas neke stvari
Na primer sačuvaš Id i Tip (biz/house/etc.) aree i onda ako je tip aree u koju je igrač ušao taj - samo postaviš temp varijablu na id i type :)

Citat: Sage poslato Avgust 06, 2021, 19:29:26 POSLE PODNE
Ne, taj tutorial sam vec pisao za ulazenje u kuce/bizeve itd, postoji nesto sto se zove STREAMER ARRAY DATA u kom mozes da sacuvas neke stvari
Na primer sačuvaš Id i Tip (biz/house/etc.) aree i onda ako je tip aree u koju je igrač ušao taj - samo postaviš temp varijablu na id i type :)
O tome i pricam. Ovako ovo nije ni tutorial, vec nesto sto ce samo pokazati ljudima pogresno. Kao sto sam rekao iznad, y_hooks i raspodeli sisteme po fajlovima ako hoces da smanjis "clutter", ili pravi svoje callbackove/funkcije pa pozivaj iz OnPlayerKeyStateChange...
Recimo mozes da napravis OnPlayerPressActionKey callback, definises action key kao recimo F, i iz OnPlayerKeyStateChange pozivas OnPlayerPressActionKey samo za F. Ako OnPlayerPressActionKey vrati 0, onda recimo prekines i OnPlayerKeyStateChange.
To bi bio jedan od boljih nacina da smanis clutter a da ne koristis y_hooks (ali ja sam za y_hooks). Sta vise ako se ne varam mozes da koristis y_hooks u istom fajlu vise puta, samo bi morao da include iznad svakog hook-a koji se ponavlja.

Citat: Deleted User poslato Avgust 06, 2021, 19:34:39 POSLE PODNE
O tome i pricam. Ovako ovo nije ni tutorial, vec nesto sto ce samo pokazati ljudima pogresno. Kao sto sam rekao iznad, y_hooks i raspodeli sisteme po fajlovima ako hoces da smanjis "clutter", ili pravi svoje callbackove/funkcije pa pozivaj iz OnPlayerKeyStateChange...
Recimo mozes da napravis OnPlayerPressActionKey callback, definises action key kao recimo F, i iz OnPlayerKeyStateChange pozivas OnPlayerPressActionKey samo za F. Ako OnPlayerPressActionKey vrati 0, onda recimo prekines i OnPlayerKeyStateChange.
To bi bio jedan od boljih nacina da smanis clutter a da ne koristis y_hooks (ali ja sam za y_hooks). Sta vise ako se ne varam mozes da koristis y_hooks u istom fajlu vise puta, samo bi morao da include iznad svakog hook-a koji se ponavlja.
Nisam pravio ovaj tutorial za sebe, modularno radim od kada znam Pawn opušteno.
I kažem, na ovom forumu već postoji tutorial za gore pomenutu stvar tako da neću 2 puta isto da objašnjavam, sranje je što forum nema neke druge teme, razumem da nije ni tutorial ali nemam ni gde drugo da stavim, pogledaj ostalih 40 tutorijala koje sam obj i videt ces da sam sve fino objasnio, sada me mrzi iskreno, ne skriptam niti me zanima ovo toliko


Citat: Sage poslato Avgust 04, 2021, 01:43:56 PRE PODNE
Nisam ništa objavio? Vidi se da si nov momak.


Ne pokušavaj pronaći izgovor sada, problem sa IsPlayerInRangeOfPoint je da nemaš apsolutno nikakvu alternativu, šta misliš da se dešava kada neko hoće da flooduje server? Ili jednostavno ako igrač često stiska isti key? ;)
Dok ne nađeš odgovre na ta pitanja nemoj više da pričaš u ovoj temi.
Ja sam ljudima dao ideju da mogu da koriste streamer ovde, i ne, ovo nije jedini način, ni blizu, da se Skill Arena vodila logikom kao ti u fazonu E sad ja necu da koirstim aree nego IsPlayerInRangeOfPoint zato sto to ima u a_samp ne bi imali tickrate na 1000 igrača koliki zara ima na 200 zbog vaše balkanske paste od koda ;)
Zapitaj se malo pre nego što izjaviš neku glupost

Au druze, gluplji si nego sto sam mislio.

Citat: 42O DayZ poslato Avgust 08, 2021, 13:51:40 POSLE PODNE
Au druze, gluplji si nego sto sam mislio.
Okej, pokazi mi kako bi sa IsInPlayerInRangeOfPoint preskocio 5000 provera pri svakom pritisku na neki key.

Ajde bre jebala vas takva optimizacija, sta vise na isto dodje. Streamer mora da prodje kroz sve zone (nebitno je za koji su sistem) dok IsPlayerInRangeOfPoint ima samo 3 coordinate da sabere i proveri range ali ima overhead od virtuelne masine pawn-a.
Ne ubijaju loopovi po 10000 stvari servere, ubijaja ih najvise rad sa fajlovima, stringovima i kad nastavljaju sa kodom a ne prekinu kada je nesto nadjeno. Osim toga kad smo kod optimizacije, streamer ce stalno da proverava zone nekoliko puta u sekundi, tako da ce dodati stalni overhead na CPU nego IsPlayerInRangeOfPoint koji je samo na request pozvan.I inace najveci lag na balkanskim serverima je preopterecenje upload linkova zbog jeftinih virtuelnih masina na shnj hostovima ili serveri po 5eu mesecno...

Citat: Deleted User poslato Avgust 08, 2021, 19:32:50 POSLE PODNE
Ajde bre jebala vas takva optimizacija, sta vise na isto dodje. Streamer mora da prodje kroz sve zone (nebitno je za koji su sistem) dok IsPlayerInRangeOfPoint ima samo 3 coordinate da sabere i proveri range ali ima overhead od virtuelne masine pawn-a.
Ne ubijaju loopovi po 10000 stvari servere, ubijaja ih najvise rad sa fajlovima, stringovima i kad nastavljaju sa kodom a ne prekinu kada je nesto nadjeno. Osim toga kad smo kod optimizacije, streamer ce stalno da proverava zone nekoliko puta u sekundi, tako da ce dodati stalni overhead na CPU nego IsPlayerInRangeOfPoint koji je samo na request pozvan.I inace najveci lag na balkanskim serverima je preopterecenje upload linkova zbog jeftinih virtuelnih masina na shnj hostovima ili serveri po 5eu mesecno...
Opet nisi razumeo poentu. Takve stvari nisu problem serveru. I da ti hardver radi na serveru starom 10 godina opet možeš da promeniš tickrate streamera. Poenta je da se smanji clutter u OnPlayerKeyStateChange-u a da ostale provere idu paralelno sa tim, znači da nemaš toliko koda pod jednim eventom nego da podeliš na dva, ne forsiram ovo zbog optimizacije lmao...

Jednostavno zašto jedan event ako možeš da imaš specijalan event namenjen za to nešto, to je poenta celog posta..
Poslednja Izmena: Avgust 08, 2021, 20:14:11 POSLE PODNE od Sage