Problem mit Kegel/Pfeilen bei 2mal genutztem Innenraum

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo.
    Ich habe alle standart Kegel, die schon im Spiel waren mit "DisableInteriorEnterExits();" entfernt und habe am BSN selber einen Eingang gesetzt, der einwandfrei funktioniert. Doch ich habe noch einen BSN in SF "erstellt" mit der selben Innenraum ID wie das BSN in LS.
    Das Problem ist, wenn ich im SF BSN rein möchte, lande ich irgendwie am BSN in LS.


    Ich denke, dass das Problem an dem selben Innenraum liegt bzw. coordinaten und habe mich auch gefragt, ob es im PAWNO einen Befehl gibt, dass die Position vor dem Reingehen speichert und wenn man wieder raus kommt wieder an dem gespeicherten Punkt landet. Habe aber leider nichts darüber gefunden.


    Die Suchfunktion habe ich genutzt, doch nichts gefunden, was zu meinem Problem passt.



    Mit freundlichen Grüßen


    survivor

  • Dazu gibt es Virtuelle Welten.
    Diese sind dazu da, um die gleichen Orte mehrmals zu verwenden.
    D.h. es können 20 Leute im BSN in LS sein und 40 im BSN in SF. Die werden sich aber nur begegnen, wenn sie in der selben Stadt rein sind.
    Du kannst z.b. mitGetPlayerVirtualWorld(playerid)checken, ob der Spieler in einer bestimmten Welt ist, mit SetPlayerVirtualWorld(playerid, virtualworld)bestimmen, in welche Welt der Spieler gelangen soll.


    Guck dir das und das am besten dazu an.


    MFG

  • Das habe ich auch schon probiert, aber das klappt leider auch nicht.


    So sieht das bei mir aus:


    public Kegel(playerid)
    {
    if (PlayerToPoint(1,playerid, 1199.3251,-918.1364,43.1228))
    { //BSN LS Eingang
    SetPlayerPos(playerid,364.4518,-74.3468,1001.5078);
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid,1);
    SetPlayerFacingAngle(playerid,293.4144);
    SetCameraBehindPlayer(playerid);
    }
    else if (PlayerToPoint(1, playerid, 362.8913,-75.1639,1001.5078))
    { // BSN LS Ausgang
    SetPlayerPos(playerid,1199.6913,-921.6932,43.0230);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerFacingAngle(playerid,195.9903);
    SetCameraBehindPlayer(playerid);
    }
    if (PlayerToPoint(1,playerid,1199.6913,-921.6932,43.0230))
    { // BSN SF Eingang
    SetPlayerPos(playerid,1199.6913,-921.6932,43.0230);
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid,2);
    SetPlayerFacingAngle(playerid,195.9903);
    SetCameraBehindPlayer(playerid);
    }

    return 1;

  • Vielen Dank für deine Hilfe. Jetzt funktioniert es.


    Doch eine Frage hätte ich da noch:


    Wenn ich in einer dieser BSN reingehe, dann ist am Ausgangspunkt (Im Innenraum) der Kegel weg. Egal ob in LS oder SF. Kann man das irgendwie auch beheben?

    Einmal editiert, zuletzt von survivor ()