enter - exit problem

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 liebe Com.


    Ich habe ein Enter - Exit System eingebaut ( Enum ), mit dem ich den BSN und den BSS begehbar mache. Wenn ich nun in den BSN eintrete und wieder raus gehe, lande ich am BSS. Ich habe für beides eine Virtuel World gesetzt. Bei Exit lasse ich abfragen, in welcher Virtuel World er ist, und lasse demnach die Koordinaten setzten. Jedoch funktioniert es nicht.


    Enum:



    enum enterpoints
    {
    Float:EnterX,
    Float:EnterY,
    Float:EnterZ,
    EnterInt,
    EnterVW,
    EnterInfo[200],
    EnterText[200],
    Float:ExitX,
    Float:ExitY,
    Float:ExitZ,
    ExitInt,
    ExitVW,
    ExitInfo[200],
    ExitText[200]
    };


    Koordinaten:



    new Float:CPs[][enterpoints] =
    {
    {1199.6921,-918.9936,43.1139,10,1,"BSN - Zum betreten benutze /enter","Willkommen im BSN",363.1241,-74.9279,1001.5078,0,0,"Zum verlassen benutze /exit","Los Santos"},
    {811.1469,-1616.1669,13.5469,10,2,"BSS - Zum betreten benutze /enter","Willkommen im BSS",363.1241,-74.9279,1001.5078,0,0,"Zum verlassen benutze /exit","Los Santos"}
    };


    /enter und /exit:



    if(!strcmp("/enter", cmdtext, true))
    {
    for(new cpid = 0; cpid < sizeof(CPs); cpid++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, CPs[cpid][EnterX], CPs[cpid][EnterY], CPs[cpid][EnterZ]))
    {
    SetPlayerPos(playerid,CPs[cpid][ExitX],CPs[cpid][ExitY],CPs[cpid][ExitZ]);
    SetPlayerInterior(playerid,CPs[cpid][EnterInt]);
    SetPlayerVirtualWorld(playerid,CPs[cpid][EnterVW]);
    GameTextForPlayer(playerid,CPs[cpid][EnterText],2000,5);
    }
    }
    }

    if(!strcmp("/exit", cmdtext, true))
    {
    for(new cpid = 0; cpid < sizeof(CPs); cpid++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, CPs[cpid][ExitX], CPs[cpid][ExitY], CPs[cpid][ExitZ]))
    {
    new VW;
    VW = GetPlayerVirtualWorld(playerid);
    if(VW == 2)
    {
    SetPlayerPos(playerid,CPs[2][EnterX],CPs[2][EnterY],CPs[2][EnterZ]);
    SetPlayerInterior(playerid,CPs[2][ExitInt]);
    SetPlayerVirtualWorld(playerid,CPs[2][ExitVW]);
    GameTextForPlayer(playerid,CPs[2][ExitText],2000,5);
    }
    if(VW == 1)
    {
    SetPlayerPos(playerid,CPs[1][EnterX],CPs[1][EnterY],CPs[1][EnterZ]);
    SetPlayerInterior(playerid,CPs[1][ExitInt]);
    SetPlayerVirtualWorld(playerid,CPs[1][ExitVW]);
    GameTextForPlayer(playerid,CPs[1][ExitText],2000,5);
    }
    else
    {
    SetPlayerPos(playerid,CPs[cpid][EnterX],CPs[cpid][EnterY],CPs[cpid][EnterZ]);
    SetPlayerInterior(playerid,CPs[cpid][ExitInt]);
    SetPlayerVirtualWorld(playerid,CPs[cpid][ExitVW]);
    GameTextForPlayer(playerid,CPs[cpid][ExitText],2000,5);
    }
    }
    }
    }


    Was mache ich Falsch ?

    Einmal editiert, zuletzt von Sean.H ()