Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

OnPlayerKeyState change i streamer aree

Započeo Sage
pre 4 godine
6,549
pregleda
34
postova
Sage
Enforcer
pre 4 godine
xLanmi wrote on August 5, 2021, 8:30 am:
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

// xunder wrote on August 5, 2021, 1:38 am:

Ja ti koristim GVar pa me nešto bolela piša haha
Rax_King
Godfather
pre 4 godine
Sage wrote on August 5, 2021, 11:40 am:
Ja ti koristim GVar pa me nešto bolela piša haha


NegativeIQ
Kingpin
pre 4 godine
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).
Rax_King
Godfather
pre 4 godine
Deleted User wrote on August 6, 2021, 4:37 pm:
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?
NegativeIQ
Kingpin
pre 4 godine
// xunder wrote on August 6, 2021, 4:41 pm:
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?
Rax_King
Godfather
pre 4 godine
Deleted User wrote on August 6, 2021, 4:49 pm:
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.
NegativeIQ
Kingpin
pre 4 godine
// xunder wrote on August 6, 2021, 5:18 pm:
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...
Sage
Enforcer
pre 4 godine
Deleted User wrote on August 6, 2021, 4:49 pm:
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 🙂
NegativeIQ
Kingpin
pre 4 godine
Sage wrote on August 6, 2021, 5:29 pm:
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.
Sage
Enforcer
pre 4 godine
Deleted User wrote on August 6, 2021, 5:34 pm:
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
RomaNn
Made Man
6
pre 4 godine
Ocajno
42O DayZ
Street Runner
pre 4 godine
Sage wrote on August 3, 2021, 11:43 pm:
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.
Sage
Enforcer
pre 4 godine
42O DayZ wrote on August 8, 2021, 11:51 am:
Au druze, gluplji si nego sto sam mislio.

Okej, pokazi mi kako bi sa IsInPlayerInRangeOfPoint preskocio 5000 provera pri svakom pritisku na neki key.
NegativeIQ
Kingpin
pre 4 godine
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...
Sage
Enforcer
pre 4 godine
Deleted User wrote on August 8, 2021, 5:32 pm:
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..

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava