Haus stimmt nicht

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 leute.


    Ich kauf ein Haus. Ich werde ins Haus gespawnt. Ich gehe raus. ABER ich lande beim Haus gegenüber?! Warum passiert das?


    So geh ich raus:


    if(PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);


    ich seh das nicht warum das nicht funzt.. es sind zwar die selben interiors (d.h. auch die selben ausgangspunkte), haben aber ne andere vw..


    Hoffe jemand kann mir helfen.


    MFG

  • hab ich mir auch schon gedacht.


    if(PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]) && GetPlayerVirtualWorld(playerid) == i)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);


    geht aber auch nicht so richtig.


    Beim eintreten in ein Haus geb ich dem Spieler die Virtualworld der id des hauses, also haus 1 hat vw 1 etc.


    //edit: ich find einfach nichts was falsch sein könnte. Am anfang speichert er alles von einer mysql tabelle in den variablen. das "i" sollte doch immer die gleiche nummer sein, oder ist die for schleife schneller als das spiel reagiert (kA..)?


    Mehr Codes wären nicht schlecht!
    Ich kann so keinen fehler sehen.


    und was für ein Code brauchst du mehr..?


    //edit: neue erkenntnis: wenn ich mit /houseo zu jedem haus springe, dann springt er immer zu einem anderen, also sollte eigentlich die variablenzuweisung stimmen..


    hier noch der gesamte code zum rein und rausgehen (per taste):



    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    if(PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]) && GetPlayerVirtualWorld(playerid) == i)
    {
    SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);
    SetPlayerInterior(playerid,0);
    PlayerInfo[playerid][pInt] = 0;
    PlayerInfo[playerid][pLocal] = 255;
    SetPlayerVirtualWorld(playerid,0);
    if(HouseInfo[i][hHel] == 1)
    {
    new Float:tempheal;
    GetPlayerHealth(playerid,tempheal);
    if(tempheal < 100.0) { SetPlayerHealth(playerid,100.0); }
    return 1;
    }
    }
    else if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
    {
    if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0)
    {
    SetPlayerInterior(playerid,HouseInfo[i][hInt]);
    SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
    GameTextForPlayer(playerid, "~w~Willkommen zuhause", 5000, 1);
    PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
    PlayerInfo[playerid][pLocal] = i;
    SetPlayerVirtualWorld(playerid,i);
    return 1;
    }
    else
    {
    GameTextForPlayer(playerid, "~r~Geschlossen", 5000, 1);
    return 1;
    }
    }
    }


    //edit: kann es sein, das es nur nicht geht, weil alle das selbe interior haben? Aber bei einigen anderen Leuten geht das wahrscheinlich auch, oder net?
    Ich hab was rausgefunden: wenn man bei einem haus steht, das das selbe interior hat, kommt man trotzdem beim ersten Haus mit diesem Interior raus, sollte ja nicht so sein oder?!