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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: takehun - 2012. november 10. - 17:20:30

Cím: Kinti börtönbõl elszökés = visszarakás
Írta: takehun - 2012. november 10. - 17:20:30
Üdv, olyan kérdésem lenne, miként lehetne kivitelezni az alábbi tervet:
Kinti börtönt ha elhagyja a bent lévõ rab, [mondjuk helivel kiviszik] akkor valamennyi táv után visszadobja a börtönbe.
Gondolom az  PlayerToPoint vagy IsPlayerInRangeOfPoint  függvénnyel, ha igen hogyan?
Esetleg van hasonló példa script valahol?
Köszönöm!
Cím: Kinti börtönbõl elszökés = visszarakás
Írta: Kovacs_Richard - 2012. november 10. - 17:25:54
idõzítõvel periódikusan csekkolod milyen messze van a börtön közepétõl ha jármûben van...
tehát X másodpercenként megnézed milyen messze van és ha messzebb van X távnál akkor visszarakod
gyalog meg WorldBound ajánlott:
http://wiki.sa-mp.com/wiki/SetPlayerWorldBounds
Cím: Kinti börtönbõl elszökés = visszarakás
Írta: ZyZu. - 2012. november 10. - 18:14:59
Inkább a SetPlayerWorldBounds használd ne használd ilyenre a  IsPlayerInRangeOfPoint..
A külömbség az, hogy egy adott négyzetbe tesz téged.. és a Point meg egy adott pontba..
 
SetPlayerWorldB.. amit linkelt Richard az hasznos lesz..
 

/*
         ymax
     |----------|
     |          |
xmin |          | xmax
     |          |
     |----------|
         ymin
*/
Cím: Kinti börtönbõl elszökés = visszarakás
Írta: bendor - 2012. november 10. - 18:28:21
new Timer[MAX_PLAYERS];
forward OutOfBound(playerid);
CMD:bortonbezar(playerid,params[])
{
new id;
if(sscanf(params,\"u\",id)) return 0;
Timer[id] = SetTimerEx(\"OutOfBound\", 1000,true,\"i\",playerid);
return 1;
}
CMD:bortonkinyit(playerid,params[])
{
new id;
if(sscanf(params,\"u\",id)) return 0;
KillTimer(Timer[id]);
return 1;
}
public OutOfBound(playerid)
{
if(!IsPlayerInRangeOfPoint(playerid, 50.0, 0.0, 0.0, 5.0))
SetPlayerPos(playerid,0.0,0.0,5.0);
return 1;
}