Szerző Téma: Ajtó teleport  (Megtekintve 2362 alkalommal)

Ajtó teleport
« Dátum: 2016. január 16. - 19:58:40 »
0 Show voters
Sziasztok! Régebb óta nem foglalkoztam ezzel a dologgal a módomban, mert nem ment de már ideje lenne utána kérdeznem.. :)
Szóval egy olyanra lenne szükségem, ha egy player egy megadott helyen van, akkor a rendszer teleportálja el egy másik helyre. Eddig csak parancsosan sikerült megcsinálnom sajna, szóval jó lenne ha valaki tudna segíteni!  :thumbsup:

Ajtó teleport
« Válasz #1 Dátum: 2016. január 16. - 22:09:39 »
0 Show voters
if(IsPlayerInRangeOfPoint( playerid, 1.0, 1.0, 1.0. 1.0)) //ha a player az adott koordinátán van akkor
{
    SetPlayerPos(playerid, 0.0,0.0,0.0); //állítsa át a játékos pozícióját,
    SetPlayerInterior(playerid, 0); //valamint az interriorját
}
« Utoljára szerkesztve: 2016. január 16. - 22:13:09 írta penaut »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Ajtó teleport
« Válasz #2 Dátum: 2016. január 16. - 22:28:08 »
0 Show voters

Ajtó teleport
« Válasz #3 Dátum: 2016. január 16. - 22:31:50 »
0 Show voters
Nem mysql-es. Penaut, ezt hova írjam?

Ajtó teleport
« Válasz #4 Dátum: 2016. január 16. - 22:56:43 »
0 Show voters
public CheckForWalkingTeleport(playerid)  <--- ez alá

Ajtó teleport
« Válasz #5 Dátum: 2016. január 17. - 10:17:55 »
0 Show voters
Nem megy..
Odamegyek a megadott kordinátához de semmi.
 

forward CheckForWalkingTeleport(playerid);
public CheckForWalkingTeleport(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid, 1.0, 1555.5055,-1675.6790,16.1953))
    {
        SetPlayerPos(playerid,246.4132, 110.5462, 1003.1916);
        SetPlayerInterior(playerid,10);
        GameTextForPlayer(playerid, \"~w~ORFK\", 3000, 1);
    }
    if(IsPlayerInRangeOfPoint(playerid, 1.0, 246.4132, 107.1142, 1003.1916))
    {
        SetPlayerPos(playerid,1552.5807,-1675.6079,16.1953);
        SetPlayerInterior(playerid,0);
        GameTextForPlayer(playerid, \"~w~Pershing Tér\", 3000, 1);
    }
    return 1;
}

Ajtó teleport
« Válasz #6 Dátum: 2016. január 17. - 10:54:40 »
0 Show voters
forward CheckForWalkingTeleport(playerid);
public CheckForWalkingTeleport(playerid)
{
new Float:cx, Float:cy, Float:cz;
GetPlayerPos(playerid, cx, cy, cz);
    if(IsPlayerInRangeOfPoint(playerid, 1.0, 1555.5055,-1675.6790,16.1953))
    {
        SetPlayerPos(playerid,246.4132, 110.5462, 1003.1916);
        SetPlayerInterior(playerid,10);
        GameTextForPlayer(playerid, \"~w~ORFK\", 3000, 1);
    }
    if(IsPlayerInRangeOfPoint(playerid, 1.0, 246.4132, 107.1142, 1003.1916))
    {
        SetPlayerPos(playerid,1552.5807,-1675.6079,16.1953);
        SetPlayerInterior(playerid,0);
        GameTextForPlayer(playerid, \"~w~Pershing Tér\", 3000, 1);
    }
    return 1;
}

 
Próbáld meg így

Ajtó teleport
« Válasz #7 Dátum: 2016. január 17. - 11:09:59 »
0 Show voters
Nem megy. Megpróbáltam így is de így se megy.. :S
 
 
public CheckForWalkingTeleport(playerid)
{
    new Float:cx, Float:cy, Float:cz;
    GetPlayerPos(playerid, cx, cy, cz);
    if(PlayerToPointStripped(1, playerid,1555.5055,-1675.6790,16.1953, cx,cy,cz))
    {
        SetPlayerPos(playerid,246.4132, 110.5462, 1003.1916);
        SetPlayerInterior(playerid,10);
        GameTextForPlayer(playerid, \"~w~ORFK\", 3000, 1);
    }
    if(PlayerToPointStripped(1, playerid,246.4132, 107.1142, 1003.1916, cx,cy,cz))
    {
        SetPlayerPos(playerid,1552.5807,-1675.6079,16.1953);
        SetPlayerInterior(playerid,0);
        GameTextForPlayer(playerid, \"~w~Pershing Tér\", 3000, 1);
    }
    return 1;
}

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Ajtó teleport
« Válasz #8 Dátum: 2016. január 17. - 12:04:53 »
0 Show voters
Kibányásztam a régi modomból egyet, ami (már-amennyire) dinamikus. Szólj, javítom, ha nem mûködik, nem teszteltem ÍGY, filterscriptként. Ez, ha kiveszed a megfelelõ helyrõl a kommentet, minden általad megadott ajtóhoz tesz le 3dtextet, lefele mutató nyíl (nem sárga, fehér) pickupot, és ha kell, olyan objectet is. A pickup persze cserélhetõ. Bemenni a /bemegy, kimenni a /kimegy paranccsal lehet. Vagy az N betû lenyomásával bármelyiket meg lehet tenni. Egy hiba van benne (tudtommal) de ezt javítom, ha életbevágóan fontos: ha a 2,5 méteres (vagy mennyit adtam meg) körzetedben több, mint 1 ajtó van, nem abba megy be, amelyik közelebb van, hanem, amelyik elõbb van az enumban. Ez azért van, mert nem a legközelebbi ajtót kéri le és tesz bele, hanem fut végig az ajtókon, és ha talál egy közelit, beledob.
[letöltés]
A nyilakat pont úgy rakja le, ahogy a játékos fordul kifelé menet, szóval ott kerek értéket kell megadni (pl. 0.0, 90.0, 180.0, 270.0, 360.0, stb.)
 
[/quote]
Azt az egy hibát már javítottam valamikor, csak már szerintem rég töröltem.
« Utoljára szerkesztve: 2016. január 17. - 12:08:41 írta kovanovik »

Ajtó teleport
« Válasz #9 Dátum: 2016. január 17. - 13:00:48 »
0 Show voters
Jól hangzik, sőt szép munka csak épp az lenne a lényeg, hogy automatán berakjon ne kelljen semmit csinálni. :S

Dupla hozzászólás automatikusan összefûzve. ( 2016. január 17. - 16:35:37 )

Ötlet?
« Utoljára szerkesztve: 2016. január 17. - 16:35:37 írta Zippanto »

Ajtó teleport
« Válasz #10 Dátum: 2016. február 05. - 22:20:51 »
0 Show voters
Hello!
Nekem simán a [pawn]public OnPlayerUpdate(playerid)[/pawn] alá van betéve fs-ben és mod-ban is egyaránt hibátlanul működik. ((Nálam legalábbis))
Tehát a [pawn]public CheckForWalkingTeleport(playerid)[/pawn] -t még nem használtam egyszer sem ezügyben.
Esetleg próbáld meg te is,hátha neked is menni fog így.
;-)
Szeva

Ajtó teleport
« Válasz #11 Dátum: 2016. február 06. - 09:16:55 »
0 Show voters
Ohh... most tökéletes! Köszi szépen!  :thumbsup: :thumbsup:
Megoldva!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal