Textdraw Hilfe

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 liebe Breadfish Community,
    Ich habe folgenes Problem.
    Ich habe mir letztens ein Tanksystem überlegt und bin auf folgenen Entschluss gekommen:
    BTW: Der Compiler gibt keinen Fehler es funkt. trozdem nicht.



    new Float:Tank[3];
    new string[10];
    Tank[veh] = 100;
    SetTimer("Tank",30000, true); {Tank[veh] = Tank[veh]-1;}
    if(Tank[veh] < 100) {format(string,sizeof string,"~w~Tank: ~r~%i",Tank[veh]);}
    if(Tank[veh] < 60) {format(string,sizeof string,"~w~Tank: ~y~%i",Tank[veh]);}
    if(Tank[veh] < 20) {format(string,sizeof string,"~w~Tank: ~g~%i",Tank[veh]);}
    if(Tank[veh] < 1) {SetVehicleHealth(veh,0);}
    TextDrawSetString(Tacho_Tank[i],string);


    Wenn ich Ingame ist das ist de tank 126366323 und verbrennt nicht
    Ich weiß das mit dem Tank --> 0 = Explode keinen sinn macht aber es kommt auf was anderes an.
    Ich hab keine Ahnugn wo das dran liegt :/8|?(
    Mfg Lambert32

    Einmal editiert, zuletzt von Lambert32 ()

  • SetTimer("Tank",30000, true); {Tank[veh] = Tank[veh]-1;}


    Da meckert der Compiler doch bestimmt, du kannst doch keinen Codeblock ohne Kontrollstruktur einfügen.


    new Float:Tank[3];
    new string[10];
    Tank[veh] = 100;
    SetTimerEx("DecreaseTank",30000, true, "ii", i, veh);


    public DecreaseTank (playerid, veh)
    {
    Tank[veh]--;


    if(Tank[veh] < 100) {format(string, 10,"~w~Tank: ~r~%i",Tank[veh]);}
    if(Tank[veh] < 60) {format(string, 10,"~w~Tank: ~y~%i",Tank[veh]);}
    if(Tank[veh] < 20) {format(string, 10,"~w~Tank: ~g~%i",Tank[veh]);}
    if(Tank[veh] < 1) {SetVehicleHealth(veh,0);}
    TextDrawSetString(Tacho_Tank[playerid],string);
    }


    Hab das jetzt mal einigermaßen zusammengewürfelt aber du unterschlägst natürlich Informationen wie zum Beispiel den Spieler, der dieses Textdraw angezeigt bekommt.

  • a meckert der Compiler doch bestimmt, du kannst doch keinen Codeblock ohne Kontrollstruktur einfügen.


    Doch kann man ;)


    //Ob
    test();


    //oder
    {
    test();
    }


    //oder
    {
    {
    test();
    }
    }


    Das macht alles keinen Unterschied :)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • @



    Hab das jetzt mal einigermaßen zusammengewürfelt aber du unterschlägst natürlich Informationen wie zum Beispiel den Spieler, der dieses Textdraw angezeigt bekommt. .



    Gute Idee nur hab ich den Rest des Tachos schon in einem Public :/ Die Infos sowie die deklarierten infos stehen ja da drinne . Und man kann ja einem Public kein Public einfügen ;)


    new Float:Tank[3];
    new string[10];
    Tank[veh] = 100;
    SetTimerEx("DecreaseTank",30000, true, "ii", i, veh);


    public SpeedoUpdate()
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    new Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed,final_speed_int;
    new veh = GetPlayerVehicleID(i);
    GetVehicleVelocity(veh, speed_x, speed_y, speed_z);
    final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*120.0;
    final_speed_int = floatround(final_speed,floatround_round);
    new kmh_anzahl = final_speed_int;
    new kmh[10],zustand[30],cars[50];
    format(kmh, 10,"KM/H: %d", kmh_anzahl);
    new Float:hp;
    GetVehicleHealth(GetPlayerVehicleID(i), hp);
    if(hp > 700){format(zustand, 30,"Zustand: ~g~%.0f", hp);}
    if(hp < 700){format(zustand, 30,"Zustand: ~y~%.0f", hp);}
    if(hp < 350){format(zustand, 30,"Zustand: ~r~%.0f", hp);}
    if(hp < 250){format(zustand, 30,"Zustand: ~r~%s", "BOOM");}
    format(cars, 50,"Vehicle: %s", VehicleName[GetVehicleModel(GetPlayerVehicleID(i))-400]);
    TextDrawSetString(Tacho_KMH[i], kmh);
    TextDrawSetString(Tacho_Zustand[i], zustand);
    TextDrawSetString(Tacho_Car[i], cars);
    }
    public DecreaseTank (playerid, veh)
    {
    Tank[veh]--;
    if(Tank[veh] < 100) {format(string, 10,"~w~Tank: ~r~%i",Tank[veh]);}
    if(Tank[veh] < 60) {format(string, 10,"~w~Tank: ~y~%i",Tank[veh]);}
    if(Tank[veh] < 20) {format(string, 10,"~w~Tank: ~g~%i",Tank[veh]);}
    if(Tank[veh] < 1) {SetVehicleHealth(veh,0);}
    TextDrawSetString(Tacho_Tank[playerid],string);
    }

    2 Mal editiert, zuletzt von Lambert32 ()