Fehler im Haussystem

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!


    Hab ein Problem mit meinem Haussystem und weiß nicht wie ichs lösen kann :(
    Ich weiß sogar wo der Fehler liegt! (grüner Bereich // )
    Mit ENTER betritt und verlässt man das Haus und da mehrere Häuser das selbe Interior haben sollen, benutze ich VirtualWorld.
    Jedoch spawne ich beim Verlassen der Häuser immer am selben Fleck...
    Jemand eine Idee???
    Danke



    if(newkeys==KEY_SECONDARY_ATTACK)
    {
    if(GetPVarInt(playerid,"Gefesselt")==1)return 1;
    for(new hausid=1;hausid<MAX_HAUS;hausid++)
    {
    if(IsPlayerInRangeOfPoint(playerid,1,HausInfo[hausid][hx],HausInfo[hausid][hy],HausInfo[hausid][hz]))
    {
    new interior,virtualworld,interiorspawnx,interiorspawny,interiorspawnz;
    interior = HausInfo[hausid][hinterior];
    virtualworld = HausInfo[hausid][hvirtualworld];
    interiorspawnx=HausInfo[hausid][hinteriorx];
    interiorspawny=HausInfo[hausid][hinteriory];
    interiorspawnz=HausInfo[hausid][hinteriorz];
    new mietbarkeit=HausInfo[hausid][hmietbar];
    if(mietbarkeit==1)
    {
    if(HausInfo[hausid][hBesitzt] == 0)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=4)
    {
    SetPlayerInterior(playerid,interior);
    SetPlayerVirtualWorld(playerid,virtualworld);
    SetPlayerPos(playerid,interiorspawnx,interiorspawny,interiorspawnz);
    SetCameraBehindPlayer(playerid);
    SaveHaus(hausid);
    SpielerSpeichern(playerid);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du kannst dieses Haus nicht betreten. \nEs steht zum Verkauf!");
    }
    }
    else
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name[playerid],MAX_PLAYER_NAME);
    if(name[playerid]==HausInfo[hausid][hBesitzer])
    {
    SetPlayerInterior(playerid,interior);
    SetPlayerVirtualWorld(playerid,virtualworld);
    SetCameraBehindPlayer(playerid);
    SetPlayerPos(playerid,interiorspawnx,interiorspawny,interiorspawnz);
    SaveHaus(hausid);
    SpielerSpeichern(playerid);
    }
    else
    {
    new miete;
    miete = HausInfo[hausid][hmiete];
    GivePlayerMoney(playerid,-miete);
    HausInfo[hausid][hkasse]+=miete;
    SetPlayerInterior(playerid,interior);
    SetPlayerVirtualWorld(playerid,virtualworld);
    SetCameraBehindPlayer(playerid);
    SetPlayerPos(playerid,interiorspawnx,interiorspawny,interiorspawnz);
    SaveHaus(hausid);
    SpielerSpeichern(playerid);
    }
    }
    }
    else
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name[playerid],MAX_PLAYER_NAME);
    if(name[playerid]==HausInfo[hausid][hBesitzer])
    {
    SetPlayerInterior(playerid,interior);
    SetPlayerVirtualWorld(playerid,virtualworld);
    SetCameraBehindPlayer(playerid);
    SetPlayerPos(playerid,interiorspawnx,interiorspawny,interiorspawnz);
    SaveHaus(hausid);
    SpielerSpeichern(playerid);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"In diesem Haus kann man nicht mieten.");
    }
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid,3,HausInfo[hausid][hinteriorx],HausInfo[hausid][hinteriory],HausInfo[hausid][hinteriorz]))
    {
    //SetPlayerPos(playerid,HausInfo[hausid][hausgangspawnx],HausInfo[hausid][hausgangspawny]-2,HausInfo[hausid][hausgangspawnz]);
    //SetPlayerInterior(playerid,0);
    //SetPlayerVirtualWorld(playerid,0);
    SetCameraBehindPlayer(playerid);
    SaveHaus(hausid);
    }
    }
    }

  • hab ich ja...
    in jeder Hausdatei ist der Ausgangsspawn festgelegt.
    Das Problem ist dass das Spiel nicht mehr feststellen kann in welchem Haus ich bin weil ich ja immer im selben Interior bin
    Demnach spawne ich immer am selben Ort wenn ich im Haus ENTER drücke