Problem - String überschneiden sich

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
  • Hallöchen,
    ich habe das Problem, dass wenn ich ins Autohaus gehe, die strings sich anscheinend überschneiden, weil dann kommt auch die Meldung, dass ich zur Geldwäsche fahren soll.
    Die Zeilen:

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for(new x = 0; x < AUTOHAUSER;x++)
    {
    if(PlayerToPoint(1.5, playerid, DtcSonstiges[x][0][0],DtcSonstiges[x][0][1],DtcSonstiges[x][0][2]) && !Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]] || pickupid == Dtc_Info[x] && !Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    TogglePlayerControllable(playerid, 0);
    SetPlayerVirtualWorld(playerid,55+playerid);
    new string[246];
    dtc_AutohausCar[playerid] = 0;
    dtc_AutohausCat[playerid] = x;
    new c1 = random(120);
    new c2 = random(120);
    new car;
    new preis;
    for(new ah = 0; ah < sizeof(dtcKaufliste);ah++)
    {
    if(car == 0 && dtcKaufliste[ah][dtc_Autohaus] == x)
    {
    car = dtcKaufliste[ah][dtc_CarModel];
    preis = dtcKaufliste[ah][dtc_CarModel];
    }
    }
    SetPlayerCameraPos(playerid, DtcSonstiges[x][2][0],DtcSonstiges[x][2][1],DtcSonstiges[x][2][2]);
    SetPlayerCameraLookAt(playerid, DtcSonstiges[x][1][0],DtcSonstiges[x][1][1],DtcSonstiges[x][1][2]);
    dtc_AutohausSCar[playerid] = CreateVehicle(car, DtcSonstiges[x][1][0],DtcSonstiges[x][1][1],DtcSonstiges[x][1][2],DtcSonstiges[x][1][3],c1,c2,-1);
    SetPlayerPos(playerid, DtcSonstiges[x][3][0],DtcSonstiges[x][3][1],DtcSonstiges[x][3][2]);
    SetVehicleVirtualWorld(dtc_AutohausSCar[playerid],55+playerid);
    format(string,sizeof(string),"~r~---------- AUTOHAUS ----------~n~~g~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d~n~~b~Auswaehlen:~n~~w~ <Num 4<~b~&~w~>Num 6> ~n~~b~Kaufen:~w~ Enter ~n~~b~Abbrechen:~w~ Tab",CarName[car-400],preis);
    if(!CarKauf[playerid])
    {
    CarKauf[playerid] = TextDrawCreate(200,310,string);
    TextDrawAlignment(CarKauf[playerid],1);
    TextDrawUseBox(CarKauf[playerid],1);
    TextDrawBoxColor(CarKauf[playerid],0x000000FF);
    TextDrawSetOutline(CarKauf[playerid],1);
    TextDrawBackgroundColor(CarKauf[playerid],COLOR_BLACK);
    TextDrawSetOutline(CarKauf[playerid],1);
    TextDrawFont(CarKauf[playerid], 1);
    TextDrawLetterSize(CarKauf[playerid], 0.300000, 1.899999);
    //TextDrawSetProportional(CarKauf[playerid], 2);
    TextDrawTextSize(CarKauf[playerid],450,410);
    TextDrawShowForPlayer(playerid,CarKauf[playerid]);
    }
    else
    {
    TextDrawHideForPlayer(playerid,CarKauf[playerid]);
    TextDrawSetString(CarKauf[playerid],string);
    TextDrawShowForPlayer(playerid,CarKauf[playerid]);
    }
    }
    else if(PlayerToPoint(1.5, playerid, DtcSonstiges[x][0][0],DtcSonstiges[x][0][1],DtcSonstiges[x][0][2]) && Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]] || pickupid == Dtc_Info[x] && Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    new mv = MaxVeh;
    if(mv > 1)
    {
    SendClientMessage(playerid, COLOR_GREEN, "{006600}Autohaus{FFFF00}: Du besitzt schon ein Fahrzeug mit deinem ausgewählten Schlüssel!");
    SendClientMessage(playerid, COLOR_GREEN, "{006600}Autohaus{FFFF00}: Du kannst deine Fahrzeuge mit '/cc' verwalten!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du besitzt schon ein Fahrzeug!");
    }
    }
    }
    if(pickupid == GELDSACK)
    {
    if(atmrob == 1)
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Der Tresor wurde gerade erst ausgeraubt!");
    return 1;
    }
    else
    {
    new stringbrs[128];
    new BANKGELD = 60000 + random(80000); // Geld / Checkpoint
    GELDWASCHE[playerid] = BANKGELD;
    format(stringbrs, sizeof(stringbrs), "** Du hast jetzt $%d in deiner Tasche, fahr zur Geldwäsche.",BANKGELD);
    SendClientMessage(playerid, COLOR_LIGHTGREEN, stringbrs);
    SetPlayerCheckpoint(playerid, -2179.1943,715.7703,53.8909,8.0);
    atmrob = 1;
    SetTimer("RobATM_Reset",3600000,0); // Nach 60 Minuten erst wieder ausrauben
    }
    }
    return 1;
    }


    Ich hoffe ihr könnt helfen. :)



    MfG,
    James.

  • Also,
    ich gehe zum Autohaus und will mir ein neues Fahrzeug kaufen, das funktioniert auch, es kommt aber immer diese Meldung:
    Diese Meldung taucht auch auf, wenn ich zum Autohaus gehe und vorhabe ein Fahrzeug zu kaufen, aber den falschen Schlüssel verwende.
    format(stringbrs, sizeof(stringbrs), "** Du hast jetzt $%d in deiner Tasche, fahr zur Geldwäsche.",BANKGELD);


    somit muss sich ja irgendetwas überschneiden, was dieses Format auch hervorbringt und ich weiß nicht was.
    Der komplette Code steht oben. ;)