GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: Depi - 2010. Április 17. - 23:23:04

Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: Depi - 2010. Április 17. - 23:23:04
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.
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: szileni - 2010. Április 17. - 23:33:13
Köszönöm Hell, te mindig olyan figyelmes vagy xDD Szép tut
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: Depi - 2010. Április 17. - 23:38:06
Idézetet írta: szileni date=1271539993\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1409\" data-ipsquote-contentclass=\"forums_Topic
Köszönöm Hell, te mindig olyan figyelmes vagy xDD Szép tut
 
Köszönöm.
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: maark - 2010. Április 18. - 10:07:07
Nagyon jó tut :D grat
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: Depi - 2010. Április 18. - 10:16:28
Idézetet írta: maark date=1271578027\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1409\" data-ipsquote-contentclass=\"forums_Topic
Nagyon jó tut :D grat
 
Kösz.
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: jana4 - 2010. Április 18. - 12:32:39
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
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: Depi - 2010. Április 18. - 13:08:14
Idézetet írta: ScreaM date=1271586759\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1409\" data-ipsquote-contentclass=\"forums_Topic
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.  :)
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: Csabesz - 2010. Április 18. - 15:07:49
Jó lett. Grat! ;)
Akárcsak a PTP.  :D
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: Depi - 2010. Április 18. - 15:16:24
Idézetet írta: Csabesz date=1271596069\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1409\" data-ipsquote-contentclass=\"forums_Topic
Jó lett. Grat! ;)
Akárcsak a PTP.  :D
 
Kösz  :D Kár h azt kivették a 0.3ból xD
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: GroX - 2010. Április 18. - 15:32:36
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).
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: [sdc]skyline - 2012. Január 01. - 10:10:07
é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!
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: IXT - 2012. Január 01. - 19:14:47
Szép leírás
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: dexi - 2012. Január 01. - 19:25:19
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.
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: GangBang - 2012. Március 15. - 13:35:44
Kösz szépen ez nagyon sokat segitett.  :@  :hihi:
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: bence67 - 2012. Március 17. - 17:49:06
szia és azt hogy lehet hogy nem paranccsal hanem alapból kinyílik a kapu ha a cordinátában vagyok ?:)
 :hmmm: :hmmm: :hmmm:
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: Gabor.. - 2012. Március 17. - 19:16:27
A MoveObjectot, vagy a MoveDynamicObjectot berakod a
public OnPlayerUpdate(playerid)

alá, és ha odaérsz a megadott ponthoz, akkor kinyílik.
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: kurta999 - 2012. Március 17. - 19:39:45
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)
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: GangBang - 2012. Március 19. - 14:31:24
Köszi szépen ez a tut jól jött mert ezt kerestem :)
Cím: [ TuT ] IsPlayerInRangeOfPoint Használata
Írta: leito222 - 2012. Március 19. - 19:36:13
Szép tutorial! Grat, hasznos!