3D Haus Label löst Bug aus

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
  • Ich habe bei meinen Häusern 3D Texte, klappt alles wunderbar,
    doch sobald man ein haus kauft, rent einstellt oder verkauft,
    kommt zwar der neue text, der alte verschwindet allerdings nicht...


    Wie kann ich das machen?
    Habe gehört mit "Update3DTextLabelText" aber ich checks nicht,
    soviel probiert, bei /buyhouse etc...



    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(IsPlayerInRangeOfPoint(i,10.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
    {
    if(HouseInfo[h][hOwned] == 1)
    {
    if(HouseInfo[h][hRentabil] == 0)
    {
    format(string, sizeof(string), "Dieses Haus gehoert:\n%s\nLevel: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
    HouseInfo[h][label] = Create3DTextLabel(string,RED_NEW,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    }
    else
    {
    format(string, sizeof(string), "Dieses Haus gehoert:\n%s\nMiete:$%d\nLevel: %d\n/rentroom um es zu mieten",HouseInfo[h][hOwner],HouseInfo[h][hRent],HouseInfo[h][hLevel]);
    HouseInfo[h][label] = Create3DTextLabel(string,COLOR_ORANGE,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    }
    }
    else
    {
    format(string, sizeof(string), "Dieses Haus gehoert:");
    HouseInfo[h][label] = Create3DTextLabel(string,RED_NEW,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    }
    if(HouseInfo[h][hOwned] == 0)
    {
    format(string, sizeof(string), "Dieses Haus gehoert:\nNiemand\nLevel: %d\nPreis: $%d\n/buyhouse um es zu kaufen",HouseInfo[h][hLevel], HouseInfo[h][hValue]);HouseInfo[h][label] = Create3DTextLabel(string,COLOR_RED,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    HouseInfo[h][label] = Create3DTextLabel(string,COLOR_LIGHTGREEN,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    }
    return 1;
    }
    }

  • Ja, aber wie...


    Soll ich Create3DTextLabel ändern in Update3DTextLabelText
    und was dann oder so? :wacko:

  • Also ich habs jetzt so:


    unter public OnGameModeInit()
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new string[256];
    //new rand;
    NameTimer();
    for(new i = 0; i < MAX_PLAYERS; i++)
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(IsPlayerInRangeOfPoint(i,10.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
    {
    if(HouseInfo[h][hOwned] == 1)
    {
    if(HouseInfo[h][hRentabil] == 0)
    {
    format(string, sizeof(string), "Dieses Haus gehoert:\n%s\nLevel: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
    //Update3DTextLabelText(kaufbar,RED_NEW,string);
    HouseInfo[h][label] = Create3DTextLabel(string,COLOR_LIGHTGREEN,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    }
    else
    {
    format(string, sizeof(string), "Dieses Haus gehoert:\n%s\nMiete:$%d\nLevel: %d\n/rentroom um es zu mieten",HouseInfo[h][hOwner],HouseInfo[h][hRent],HouseInfo[h][hLevel]);
    //Update3DTextLabelText(kaufbar,COLOR_ORANGE,string);
    HouseInfo[h][label] = Create3DTextLabel(string,COLOR_ORANGE,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    }
    }
    else
    {
    format(string, sizeof(string), "Dieses Haus gehoert:");
    HouseInfo[h][label] = Create3DTextLabel(string,RED_NEW,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    }
    if(HouseInfo[h][hOwned] == 0)
    {
    format(string, sizeof(string), "Dieses Haus gehoert:\nNiemand\nLevel: %d\nPreis: $%d\n/buyhouse um es zu kaufen",HouseInfo[h][hLevel], HouseInfo[h][hValue]);HouseInfo[h][label] = Create3DTextLabel(string,COLOR_RED,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    //Update3DTextLabelText(kaufbar,COLOR_LIGHTGREEN,string);
    HouseInfo[h][label] = Create3DTextLabel(string,RED_NEW,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,20.0,0,0);
    }
    return 1;
    }
    }
    }




    if(strcmp(cmd, "/buyhouse", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
    {
    if(PlayerInfo[playerid][pOwnPerso] == 0)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du benötigst einen PerosnalAusweis");
    return 1;
    }
    if(PlayerInfo[playerid][pLevel] < HouseInfo[h][hLevel])
    {
    format(string, sizeof(string), " Du must mindestens Level %d um es zu kaufen !", HouseInfo[h][hLevel]);
    SendClientMessage(playerid, COLOR_GRAD5, string);
    return 1;
    }
    if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
    {
    SendClientMessage(playerid, COLOR_WHITE, " Dir gehört bereits ein Haus, gib /sellhouse ein um dein altes zu verkaufen !");
    return 1;
    }
    if(GetPlayerMoney(playerid) > HouseInfo[h][hValue])
    {
    PlayerInfo[playerid][pPhousekey] = h;
    HouseInfo[h][hOwned] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
    GivePlayerMoney(playerid,-HouseInfo[h][hValue]);
    PlayerPlayMusic(playerid);
    SetPlayerInterior(playerid,HouseInfo[h][hInt]);
    SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
    GameTextForPlayer(playerid, "~w~Willkommen zu Hause~n~Du kannst das Haus an deiner Haustür mit /exit verlassen.", 5000, 3);
    PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
    PlayerInfo[playerid][pLocal] = h;
    SendClientMessage(playerid, COLOR_WHITE, "Gratlation zu deinem neuen Kauf !");
    SendClientMessage(playerid, COLOR_WHITE, "Gib /help um Hilfe zu bekommen !");
    DateProp(playerid);
    OnPropUpdate();
    OnPlayerUpdate(playerid);
    format(string, sizeof(string), "Dieses Haus gehoert:\n%s\nLevel: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
    Update3DTextLabelText(kaufbar,RED_NEW,string);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, " Du hast nicht genug Geld !");
    return 1;
    }
    }
    }
    }
    return 1;
    }


    Das selbe mit dem updatetext ist bei sellhouse & setrent, nur mit anderen text dann

    2 Mal editiert, zuletzt von Jay ()

  • hab ich dir gestern schon gesagt überall wo du eine änderung bei den 3d texten hast muss ein update hin und bei einem serverstart musst du diese createn

    Zitat

    naja aufm homeserver mit kumpel getestet und nix laggt von daher sollte nen richtiger server mit sowas keine probs haben

    *an Kopf schlag
    sowas kommt Raus wenn man erst absendet ohne nachzudenken. Bitte Leute Hirn einschalten beim Posten...

  • wo genau ist dein problem ?!? das er den alten nicht löscht beim kaufen oder was ?!?^^

    Zitat

    naja aufm homeserver mit kumpel getestet und nix laggt von daher sollte nen richtiger server mit sowas keine probs haben

    *an Kopf schlag
    sowas kommt Raus wenn man erst absendet ohne nachzudenken. Bitte Leute Hirn einschalten beim Posten...

  • Ja genau, z.B.:


    ich kaufe nen haus, der alte text bleibt, und der neue erscheint auch,
    2das sich beide stapeln

  • dann verkaufe es und schau was passiert ^^und schau nochmal nach ob du sicher nur unter ongamemodeinit die 3dtexte erstellst^^

    Zitat

    naja aufm homeserver mit kumpel getestet und nix laggt von daher sollte nen richtiger server mit sowas keine probs haben

    *an Kopf schlag
    sowas kommt Raus wenn man erst absendet ohne nachzudenken. Bitte Leute Hirn einschalten beim Posten...

  • Habs anders, geht aber auchnicht, hab schon soviel probiert, geht alles nicht



    vllt einer da, der sich das mal angucken will?

    Einmal editiert, zuletzt von Jay ()

  • schick mir dat ma via PM^^

    Zitat

    naja aufm homeserver mit kumpel getestet und nix laggt von daher sollte nen richtiger server mit sowas keine probs haben

    *an Kopf schlag
    sowas kommt Raus wenn man erst absendet ohne nachzudenken. Bitte Leute Hirn einschalten beim Posten...