OnPlayerKeyState change i streamer aree

Započeo Sage
pre 4 godine
6,547
pregleda
34
postova
Sage
Enforcer
pre 4 godine
OnPlayerKeyStateChange


Vido sam ovo još davno al' me mrzelo da pišem tutorial tako da se izvinjavam, evo jedan gotivan način da smanjite clutter u OnPlayerKeyStateChange-u.


Znate kako neki modovi imaju fazon /pasos i takve komande? E pa sve češće viđam da modovi prelaze na KEYs, tj na primer da stisnete Y i da vam ono da pasoš.
Obično se koristi IsPlayerInRangeOfPoint i razne druge varijable ali mislim da je ovo nekako najbolje rešenje što ću vam sada pokazati.
Da se ne razumemo, ne govorim da je brže, verovatno jeste ali meni LIČNO lepše izgleda.


Evo primera kako da napravite vađenje pasoša sa Y ključem:
new passportArea = INVALID_STREAMER_ID;

public OnGameModeInit() {
    passportArea = CreateDynamicSphere(250.0, 250.0, 31.0, 1.5, .worldid = 1, .interiorid = 0, .playerid = -1, .priority = 1);
    return 1l
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys & KEY_YES && IsPlayerInDynamicArea(playerid, passportArea)) {
        if (...) { // Ako igrac nema pasos
            // Daj mu pasos
        }
    }
}

Možete da koristite i gVars ako imate neke trenutne aree (koje ne postoje 24/7 nego samo u odr trenutku)


To bi bilo to, veoma kratak tutorial ako ga tako mogu nazvati 🙂


Credits: The Next Generation Gaming, LLC SA:MP
Taylor Script
Made Man
pre 4 godine
Po meni je dosta preglednije sa IsPlayerInRangeOfPoint i dosta lakse, npr dok ti kreiras var pa dok ga na initu kreiras pa dok moras pamtit kako si ime stavio a ovako IsPlayerInRangeOfPoint .... ) // Uzimanje pasosa
Sage
Enforcer
pre 4 godine
_tayloR wrote on August 3, 2021, 11:17 pm:
Po meni je dosta preglednije sa IsPlayerInRangeOfPoint i dosta lakse, npr dok ti kreiras var pa dok ga na initu kreiras pa dok moras pamtit kako si ime stavio a ovako IsPlayerInRangeOfPoint .... ) // Uzimanje pasosa

Naravno da ti je to problem kada kod pišeš u jednom fajlu, svakako nije tema za početnike kao što si ti.
EDIT: I da koristiš GVar bilo bi ti lakše, lol, zamisli pored svega tebi je najveći problem ime varijable
Taylor Script
Made Man
pre 4 godine
Sage wrote on August 3, 2021, 11:28 pm:
Naravno da ti je to problem kada kod pišeš u jednom fajlu, svakako nije tema za početnike kao što si ti.
EDIT: I da koristiš GVar bilo bi ti lakše, lol, zamisli pored svega tebi je najveći problem ime varijable
Da slazem se samp skriptu bi trebalo koristiti u 23132131 modula pametnjakovicu ti mislis da si neko mudo sto sve kontra radis koristis nesto deseto pored necega sto ima u default samp inc i nisam rekao da je najveci problem ime varijable nego sto kreirati neki kurac kad vec mozes pozvat jednu funkciju koja ce ti vratit true false i to je to
iz jedne linije pravit 2+

A to pocetnik mozes objesit macku o rep ako mislis da me je sta dotaklo. Do sad vidim nisi nista korisno objavio kao inc ili filters ili gamemode, najlakse je laprdat. LP
Sage
Enforcer
pre 4 godine
_tayloR wrote on August 3, 2021, 11:39 pm:
Da slazem se samp skriptu bi trebalo koristiti u 23132131 modula pametnjakovicu ti mislis da si neko mudo sto sve kontra radis koristis nesto deseto pored necega sto ima u default samp inc i nisam rekao da je najveci problem ime varijable nego sto kreirati neki kurac kad vec mozes pozvat jednu funkciju koja ce ti vratit true false i to je to
iz jedne linije pravit 2+

A to pocetnik mozes objesit macku o rep ako mislis da me je sta dotaklo. Do sad vidim nisi nista korisno objavio kao inc ili filters ili gamemode, najlakse je laprdat. LP

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
Taylor Script
Made Man
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
Druze sta si ti ovdje rekao ?

Da se ne razumemo, ne govorim da je brže, verovatno jeste ali meni LIČNO lepše izgleda.

Ne da mi se natezat sa tobom ovdje jer vidim da imas psihickih problema pa se lijecis ovdje po forumu.
Zasto bi iko koristio to sto si naveo jer si ti bez ikakvog dokaza rekao VJEROVATNO JE BRZE, koji kurac

To sto sam iznio svoje misljenje kao sto si ti u ovoj temi nije razlog da napadas ali vjerovatno si cekao samo trenutak gledajuci iz proslih tema
Garadooo
Forum Don
pre 4 godine
Nabodiii gaaaaaaaaaa!!!!
Sage
Enforcer
pre 4 godine
_tayloR wrote on August 3, 2021, 11:53 pm:
Druze sta si ti ovdje rekao ?

Da se ne razumemo, ne govorim da je brže, verovatno jeste ali meni LIČNO lepše izgleda.

Ne da mi se natezat sa tobom ovdje jer vidim da imas psihickih problema pa se lijecis ovdje po forumu.
Zasto bi iko koristio to sto si naveo jer si ti bez ikakvog dokaza rekao VJEROVATNO JE BRZE, koji kurac

To sto sam iznio svoje misljenje kao sto si ti u ovoj temi nije razlog da napadas ali vjerovatno si cekao samo trenutak gledajuci iz proslih tema

Ne mogu da napišem BRŽE JE ako mi se ne da benčat, razumi da su ljudi ovde nedokazni, ti da znaš kako streamer i samp interno rade - znao bi razliku
Taylor Script
Made Man
pre 4 godine
Sage wrote on August 3, 2021, 11:57 pm:
Ne mogu da napišem BRŽE JE ako mi se ne da benčat, razumi da su ljudi ovde nedokazni, ti da znaš kako streamer i samp interno rade - znao bi razliku
Druze nije bitno mogu ja pogrijesiti, mozes ti, sve se moze fino rijesiti a ne da svakome ovdje na forumu trazis mahane i da se prepucavas, vidim zakacio si se Voidom, pa onda po temama sa x osoba i sad hoces sa mnom da se natezes. Zapitaj se do koga je, necu vise ovde nista pisat da ne bude nabijam postove
Sage
Enforcer
pre 4 godine
_tayloR wrote on August 4, 2021, 12:01 am:
Druze nije bitno mogu ja pogrijesiti, mozes ti, sve se moze fino rijesiti a ne da svakome ovdje na forumu trazis mahane i da se prepucavas, vidim zakacio si se Voidom, pa onda po temama sa x osoba i sad hoces sa mnom da se natezes. Zapitaj se do koga je, necu vise ovde nista pisat da ne bude nabijam postove

Brate trollujem na ovom nalogu kao i na prethodnih 30 jesi toliko slep
Garadooo
Forum Don
pre 4 godine
Sage wrote on August 4, 2021, 12:02 am:
Brate trollujem na ovom nalogu kao i na prethodnih 30 jesi toliko slep

Nemoj sad da se vadis, posteno te izjebo, prihvati poraz pičko.
dtutankamon
Hustler
pre 4 godine
Sto se tice urednosti sa tim da kada jednom kreiras areu posle mozes da menjas na jednom mestu, a takodje je i urednije slazem se.
Samo sto u vecini situacija svi troknu apsolutne koordinate u IsPlayerInRangeOfPoint funkciju i to je to, svejedno IsPlayerInRangeOfPoint uopste nije zahtevna funkcija pa cak i kad bi floodovo sa njom(a danas postoji na hiljade flood zastita tako da no sikiriki, cak nije ni tesko napraviti).
IsPlayerInRangeOfPoint je funkcija koja samo proveri vektore da li je objekat u radiusu, a to je pickin dim za procesor, nebitna stavka, kao misao, nestane za tren, ali sve u svemu preporucljivo je imati uredniji kod i ovaj nacin je sasvim legitiman.
Sage
Enforcer
pre 4 godine
tutankamon wrote on August 4, 2021, 11:13 pm:
Sto se tice urednosti sa tim da kada jednom kreiras areu posle mozes da menjas na jednom mestu, a takodje je i urednije slazem se.
Samo sto u vecini situacija svi troknu apsolutne koordinate u IsPlayerInRangeOfPoint funkciju i to je to, svejedno IsPlayerInRangeOfPoint uopste nije zahtevna funkcija pa cak i kad bi floodovo sa njom(a danas postoji na hiljade flood zastita tako da no sikiriki, cak nije ni tesko napraviti).
IsPlayerInRangeOfPoint je funkcija koja samo proveri vektore da li je objekat u radiusu, a to je pickin dim za procesor, nebitna stavka, kao misao, nestane za tren, ali sve u svemu preporucljivo je imati uredniji kod i ovaj nacin je sasvim legitiman.

Znam znam, ali ako imaš IPIROP moraš i interior i vw provere i onda samo još veći clutter, to je i trebao da bude glavni razlog ali da.. 🙂

+ Nisam baš mislio na flood, poenta je da možeš ceo blok koda da preskočiš ako dodaš neku temp varijablu kada streamer okine enter area cb i tek tada da kreneš sa proverom pod OPKSC (dok ovako svaki put moraš da proveravaš sve odjednom)
Rax_King
Godfather
pre 4 godine
marko077
Underboss
pre 4 godine
Lako je kopirati iz moda sa GIT-a , nisi nista objasnio ovde.. 🙂

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava