Haussystem /exit

  • Haussystem /exit

    Hallo,

    ich hab ein Problem wenn ich beim erstenmal spawnen /exit mache lande ich beim innenraum enter wieso?

    Wie kann ich machen das ich gleich beim Haus raus komme?

    [pwn] if(strcmp(cmd, "/exit", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(ImHaus[playerid] > 0)
    {
    new zz = HausInfo[ImHaus[playerid]][Hausinterior];
    if(IsPlayerInRangeOfPoint(playerid,5,HausInteriors[zz-1][0],HausInteriors[zz-1][1],HausInteriors[zz-1][2]))
    {
    SetPlayerPos(playerid,HausInfo[ImHaus[playerid]][hausx],HausInfo[ImHaus[playerid]][hausy],HausInfo[ImHaus[playerid]][hausz]);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerInterior(playerid,0);
    ImHaus[playerid] = 0;
    }
    }
    if(IRaumAnschauen[playerid] >= 0)
    {
    SetPlayerPos(playerid,1498.6699,-1582.1571,13.5498);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    IRaumAnschauen[playerid] = -1;
    }[/pwn]

    hoffe es kann mir jemand helfen

    LG
  • Okay also,

    ich Logg mich ein und Spawne im Haus... Danach schreibe ich /exit zum raus gehen

    [pwn]if(IRaumAnschauen[playerid] >= 0)

    {

    SetPlayerPos(playerid,1498.6699,-1582.1571,13.5498);

    SetPlayerInterior(playerid,0);

    SetPlayerVirtualWorld(playerid,0);

    IRaumAnschauen[playerid] = -1;

    }[/pwn]

    dort lande ich dann

    wenn ich mich dann mit /spawn spawne und wieder /exit mache

    bin ich dort:

    [pwn] if(ImHaus[playerid] > 0)
    {
    new zz = HausInfo[ImHaus[playerid]][Hausinterior];
    if(IsPlayerInRangeOfPoint(playerid,5,HausInteriors[zz-1][0],HausInteriors[zz-1][1],HausInteriors[zz-1][2]))
    {
    SetPlayerPos(playerid,HausInfo[ImHaus[playerid]][hausx],HausInfo[ImHaus[playerid]][hausy],HausInfo[ImHaus[playerid]][hausz]);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerInterior(playerid,0);
    ImHaus[playerid] = 0;
    }
    }[/pwn]
  • Nein :(

    Ich will das er immer beim Hausexit landet...

    [pwn]dcmd_iraum(playerid,params[])
    {
    new raumid;
    if(sscanf(params,"d",raumid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /iraum [raumid]");
    }
    else if(raumid < 1 || raumid > 21)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Die Raumid muss zwischen 1 und 21 liegen");
    }
    else if(!IsPlayerInRangeOfPoint(playerid,5,1498.6699,-1582.1571,13.5498))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht am Innenausstatter.");
    }
    else
    {
    GetPlayerName(playerid,pname,sizeof(pname));
    if(strcmp(HausInfo[PlayerInfo[playerid][pmietet]][Hausbesitzer],pname,true) == 0)
    {
    SetPlayerPos(playerid,HausInteriors[raumid-1][0],HausInteriors[raumid-1][1],HausInteriors[raumid-1][2]);
    SetPlayerInterior(playerid,HausInteriorID[raumid-1]);
    SetPlayerVirtualWorld(playerid,playerid+100);
    IRaumAnschauen[playerid] = raumid;
    format(str,sizeof(str),"~g~Innenraum %d ~n~Preis: ~b~%d Euro",raumid,HausInteriorPreise[raumid]);
    GameTextForPlayer(playerid,str,3000,1);
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Dir gehört kein Haus.");
    }
    }
    return 1;
    }[/pwn]

    Da sieht er das Interior was er mit /kaufen kaufen kann und beim /exit kommt er ja dann dort raus:

    [pwn]if(IRaumAnschauen[playerid] >= 0)

    {

    SetPlayerPos(playerid,1498.6699,-1582.1571,13.5498);

    SetPlayerInterior(playerid,0);

    SetPlayerVirtualWorld(playerid,0);

    IRaumAnschauen[playerid] = -1;

    }[/pwn]

    Der fehler ist jetzt wenn ich mich einlogge und im Haus spawne lande ich auch dort beim /exit aber wenn ich dann mich neu spawne und nochmal /exit mache lande ich normal.. ^^