IsPlayerInRangeOfPoint Használata : Szép jó estét mindenkinek.Most elmagyaráznám a IsPlayerInRangeOfPoint használatát,hogy miért is?! Hát azért mert sokan kérdezik tolem,hogy hogy lehet egy bizonyos pontból használni egy parancsot,hogy h lehet csinálni egy Automatikusan nyiló kaput.Na pont ezért írom le hogy mások is meg értsék.Mivel ez 0.3ban alapból benne van ezért nem kell neki semmit létre hoznunk.Nos akkor lássunk hozzá :
Példa egy teleport parancs egy bizonyos pontból : if (strcmp(\"/peldateleport\", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, X, Y, Z))
{
SetPlayerPos(playerid,X, Y, Z);
}
else
{
SendClientMessage(playerid,színkód,\"Te nem vagy a megadot pont közelében.\");
}
return 1;
}
Itt a játékos egy megadott pontból használhatja csak a parancsot,de ha nincs itt akkor kap egy üzit. :)Magyarázat :
if(IsPlayerInRangeOfPoint(playerid,7.0, X, Y, Z)):
if : Ha
IsPlayerInRangeOfPoint : Feltétel,avagy a fügvény rá.
playerid : Játékos ID.
7.0 : Ez egy sugár a megadott pontból számítva,egy ún. láthatatlan CheckPoint,amibe ha benne vagyunk akkor használhassuk a parancsot.
X,Y,Z : Ezek a kordináták.
SendClientMessage(playerid,színkód,\"Te nem vagy a megadot pont közelében.\"); : De ha nincs a közelbe a megadot pont közelében akkor kap egy üzenetet.
Nos ez csak egy egyszeru példa a használatára,sok mindenre használhatjuk,kapuk nyitására,pl Automatikus kapu,de ott vigyázni kell mert csak ID : 0 -nak fog kinyílni,de simán meg lehet csinálni,vagy pl még használhatjuk egy rendor munka egyik parancsára h pl csak akkor sokkolhasson ha a meg adott játékos a rendor közelében van.Remélem értheto volt,és segítettem valakinek,ha valami kérdésetek van,akkor azt itt írjátok meg.További jó fórumozást. Köszönöm hogy elolvastad.
Köszönöm Hell, te mindig olyan figyelmes vagy xDD Szép tut
Köszönöm Hell, te mindig olyan figyelmes vagy xDD Szép tut
Köszönöm.
Nagyon jó tut :D grat
Nagyon jó tut :D grat
Kösz.
Egyszeru, jó, grat :D
1 a baj. minimális angol tudással a wikirol is meglehetne ezt tanulni, de olyan mindegy. legalább segítettél a kezdo PAWNO-soknak. :D
Egyszeru, jó, grat :D
1 a baj. minimális angol tudással a wikirol is meglehetne ezt tanulni, de olyan mindegy. legalább segítettél a kezdo PAWNO-soknak. :D
Pont a kezdok miatt írtam le :D ;)
Köszönöm a dícséreteket. :)
Jó lett. Grat! ;)
Akárcsak a PTP. :D
Jó lett. Grat! ;)
Akárcsak a PTP. :D
Kösz :D Kár h azt kivették a 0.3ból xD
Ezzel a gond az hogy többször fut le, ha a visszatérési értéke igaz, és ott is maradsz. (akkor igaz ha a megadott ponthoz közel van a játékos).
és ha nem baj le írnád hogy kapuval hogy kell meg csinálni hogy ne csak 0 ID nek nyiljon?
elõre is köszönöm!
Szép leírás
skyline\" post=\"207441\" timestamp=\"1325409007\"]
és ha nem baj le írnád hogy kapuval hogy kell meg csinálni hogy ne csak 0 ID nek nyiljon?
elõre is köszönöm!
[/quote]
A for ciklus használatával lehet kiküszöbölni.
Kösz szépen ez nagyon sokat segitett. :@ :hihi:
szia és azt hogy lehet hogy nem paranccsal hanem alapból kinyílik a kapu ha a cordinátában vagyok ?:)
:hmmm: :hmmm: :hmmm:
A MoveObjectot, vagy a MoveDynamicObjectot berakod a
public OnPlayerUpdate(playerid)
alá, és ha odaérsz a megadott ponthoz, akkor kinyílik.
Meg egy bool változóval, vagy bitmûveletekkel megtudod csinálni, hogy ha elmegy tõle, akkor csukja, ha pedig odamegy és még nincs kinyitva, akkor nyissa ki.
De bitmûveletekkel jobb megoldás, mert egy bool változó egy bájtos, míg egy char array is egy bájtos, mivel egy bájt egy memóriacella.
bool változónak csak igaz/hamis értéket adhatsz, míg a char array-nak mind a 8 bitjét tudod manipulálni.
Ha ez nem elég, akkor ottvan a sima 4 bájtos változó (new)
Köszi szépen ez a tut jól jött mert ezt kerestem :)
Szép tutorial! Grat, hasznos!