OnPlayerKeyState change i streamer aree

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

prethodna tema - sledeća tema

0 članova i 7 gostiju pregledaju ovu temu.

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:
[pawn]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
        }
    }
}[/pawn]
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
Poslednja Izmena: Avgust 04, 2021, 01:01:54 PRE PODNE od Sage

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

Citat: _tayloR poslato Avgust 04, 2021, 01:17:18 PRE PODNE
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
Poslednja Izmena: Avgust 04, 2021, 01:29:49 PRE PODNE od Sage

Citat: Sage poslato Avgust 04, 2021, 01:28:08 PRE PODNE
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

Citat: _tayloR poslato Avgust 04, 2021, 01:39:59 PRE PODNE
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

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
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


Citat: _tayloR poslato Avgust 04, 2021, 01:53:49 PRE PODNE
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

Citat: Sage poslato Avgust 04, 2021, 01:57:42 PRE PODNE
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

Citat: _tayloR poslato Avgust 04, 2021, 02:01:31 PRE PODNE
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

Citat: Sage poslato Avgust 04, 2021, 02:02:04 PRE PODNE
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.

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.

Citat: tutankamon poslato Avgust 05, 2021, 01:13:26 PRE PODNE
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)
Poslednja Izmena: Avgust 05, 2021, 01:16:54 PRE PODNE od Sage


Lako je kopirati iz moda sa GIT-a , nisi nista objasnio ovde.. :)

One And Only
Old Member
Since AVGUST 2013. :)
GAME OVER - SCRIPTING
SINCE 2009 - 2020