Szerző Téma: Teleport tiltás  (Megtekintve 1178 alkalommal)

Teleport tiltás
« Dátum: 2014. Március 21. - 09:42:01 »
0 Show voters
Sziasztok!
Meglehet azt oldani valahogy, hogy pl: egy adott területen nem lehet teleportálni? 50méteres körzetbe..?!

Teleport tiltás
« Válasz #1 Dátum: 2014. Március 21. - 09:48:45 »
0 Show voters
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.

Teleport tiltás
« Válasz #2 Dátum: 2014. Március 21. - 12:22:10 »
0 Show voters
Igen ez meg van, és úgy meglehet, hogy abba a távolságba MINDEN teleportot tiltson?
ne csak pont azt az 1et?!

Teleport tiltás
« Válasz #3 Dátum: 2014. Március 21. - 13:07:49 »
0 Show voters
Letárolod egy változóba a teleportokat, és úgy..

Teleport tiltás
« Válasz #4 Dátum: 2014. Március 23. - 19:42:09 »
0 Show voters
Írnál egy példát?  ;D

Teleport tiltás
« Válasz #5 Dátum: 2014. Március 24. - 21:06:42 »
0 Show voters
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!

Teleport tiltás
« Válasz #6 Dátum: 2014. Március 24. - 22:01:44 »
0 Show voters
Csak 1 a gond, az összes teleportodhoz bekell írnod az \"if.......\" ezt vágom
Kösz, zárok!

Teleport tiltás
« Válasz #7 Dátum: 2014. Március 21. - 09:42:01 »
0 Show voters
Sziasztok!
Meglehet azt oldani valahogy, hogy pl: egy adott területen nem lehet teleportálni? 50méteres körzetbe..?!

Teleport tiltás
« Válasz #8 Dátum: 2014. Március 21. - 09:48:45 »
0 Show voters
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.

Teleport tiltás
« Válasz #9 Dátum: 2014. Március 21. - 12:22:10 »
0 Show voters
Igen ez meg van, és úgy meglehet, hogy abba a távolságba MINDEN teleportot tiltson?
ne csak pont azt az 1et?!

Teleport tiltás
« Válasz #10 Dátum: 2014. Március 21. - 13:07:49 »
0 Show voters
Letárolod egy változóba a teleportokat, és úgy..

Teleport tiltás
« Válasz #11 Dátum: 2014. Március 23. - 19:42:09 »
0 Show voters
Írnál egy példát?  ;D

Teleport tiltás
« Válasz #12 Dátum: 2014. Március 24. - 21:06:42 »
0 Show voters
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!

Teleport tiltás
« Válasz #13 Dátum: 2014. Március 24. - 22:01:44 »
0 Show voters
Csak 1 a gond, az összes teleportodhoz bekell írnod az \"if.......\" ezt vágom
Kösz, zárok!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal