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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: daweee3 - 2014. Március 21. - 09:42:01

Cím: Teleport tiltás
Írta: daweee3 - 2014. Március 21. - 09:42:01
Sziasztok!
Meglehet azt oldani valahogy, hogy pl: egy adott területen nem lehet teleportálni? 50méteres körzetbe..?!
Cím: Teleport tiltás
Írta: ppatrik2012 - 2014. Március 21. - 09:48:45
Igen.
Pl.
 
CMD:teleport(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid,tavolsag,X,Y,Z))
{
    SetPlayerPos(playerid,X,Y,Z);
}
else
{
    SendClientMessage(playerid, piros, \"Itt nem teleportálhatsz!\");
}
return 1;
}

 
Ez egy olyan \"típus\", amivel létrehozol pl. Egy közép pontot az X,Y,Z kordinátával, és az ahoz viszonyított távolságban nem lehet majd használni a parancsot. Nem teszteltem, de jónak kellene lennie.
Cím: Teleport tiltás
Írta: daweee3 - 2014. Március 21. - 12:22:10
Igen ez meg van, és úgy meglehet, hogy abba a távolságba MINDEN teleportot tiltson?
ne csak pont azt az 1et?!
Cím: Teleport tiltás
Írta: ppatrik2012 - 2014. Március 21. - 13:07:49
Letárolod egy változóba a teleportokat, és úgy..
Cím: Teleport tiltás
Írta: daweee3 - 2014. Március 23. - 19:42:09
Írnál egy példát?  ;D
Cím: Teleport tiltás
Írta: ppatrik2012 - 2014. Március 24. - 21:06:42
new teletiltas[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
teletiltas[playerid] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,2.0,0.0,1.0,0.0))
{
    teletiltas[playerid] = 1;
}
return 1;
}
CMD:teleportalas(playerid, params[])
{
if(teletiltas[playerid] !=1)
{
SetPlayerPos(playerid,1,1,1);
}
else
{
    SendClientMessage(playerid,-1,\"Elvagy tiltva a teleportálástól!\");
}
return 1;
}

 
Nem teszteltem. De ilyen elven megtudod oldani. Csak 1 a gond, az összes teleportodhoz bekell írnod az \"if.......\" függvényt.

Dupla hozzászólás automatikusan összefûzve. ( 2014. Március 24. - 21:07:37 )

A kordinátákat írd át!
Cím: Teleport tiltás
Írta: daweee3 - 2014. Március 24. - 22:01:44
Csak 1 a gond, az összes teleportodhoz bekell írnod az \"if.......\" ezt vágom
Kösz, zárok!
Cím: Teleport tiltás
Írta: daweee3 - 2014. Március 21. - 09:42:01
Sziasztok!
Meglehet azt oldani valahogy, hogy pl: egy adott területen nem lehet teleportálni? 50méteres körzetbe..?!
Cím: Teleport tiltás
Írta: ppatrik2012 - 2014. Március 21. - 09:48:45
Igen.
Pl.
 
CMD:teleport(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid,tavolsag,X,Y,Z))
{
    SetPlayerPos(playerid,X,Y,Z);
}
else
{
    SendClientMessage(playerid, piros, \"Itt nem teleportálhatsz!\");
}
return 1;
}

 
Ez egy olyan \"típus\", amivel létrehozol pl. Egy közép pontot az X,Y,Z kordinátával, és az ahoz viszonyított távolságban nem lehet majd használni a parancsot. Nem teszteltem, de jónak kellene lennie.
Cím: Teleport tiltás
Írta: daweee3 - 2014. Március 21. - 12:22:10
Igen ez meg van, és úgy meglehet, hogy abba a távolságba MINDEN teleportot tiltson?
ne csak pont azt az 1et?!
Cím: Teleport tiltás
Írta: ppatrik2012 - 2014. Március 21. - 13:07:49
Letárolod egy változóba a teleportokat, és úgy..
Cím: Teleport tiltás
Írta: daweee3 - 2014. Március 23. - 19:42:09
Írnál egy példát?  ;D
Cím: Teleport tiltás
Írta: ppatrik2012 - 2014. Március 24. - 21:06:42
new teletiltas[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
teletiltas[playerid] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,2.0,0.0,1.0,0.0))
{
    teletiltas[playerid] = 1;
}
return 1;
}
CMD:teleportalas(playerid, params[])
{
if(teletiltas[playerid] !=1)
{
SetPlayerPos(playerid,1,1,1);
}
else
{
    SendClientMessage(playerid,-1,\"Elvagy tiltva a teleportálástól!\");
}
return 1;
}

 
Nem teszteltem. De ilyen elven megtudod oldani. Csak 1 a gond, az összes teleportodhoz bekell írnod az \"if.......\" függvényt.

Dupla hozzászólás automatikusan összefûzve. ( 2014. Március 24. - 21:07:37 )

A kordinátákat írd át!
Cím: Teleport tiltás
Írta: daweee3 - 2014. Március 24. - 22:01:44
Csak 1 a gond, az összes teleportodhoz bekell írnod az \"if.......\" ezt vágom
Kösz, zárok!