Problem mit Fahrzeugtank und Floats

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
  • Hey,
    ich habe ein dynamisches Fahrzeugtank system. Schön und gut.
    Jetzt habe ich im Enum vInfo den wert "float:vFuel". Nun aber kommt überall wo GetVehicleTank abgefragt wird ein "Tag Mismatch".
    Das ist die GetVehicleTank Abfrage:
    #define GetVehicleTank(%0) Fahrzeugtank[GetVehicleModel(%0)-400]
    Und das ist der Static Const:
    static const Fahrzeugtank[212] = {
    60,40,40,120,40,50,80,80,80,60,50,60,50,50,50,60,120,150,50,40,40,40,50,30,80,120,50,120,90,60,90,60,40,70,60,0,
    50,60,40,50,40,0,40,80,30,50,100,150,20,0,0,60,120,80,200,80,80,20,50,40,90,40,30,45,0,0,50,50,40,120,80,40,100,20,50,40,90,60,40,40,80,0,40,40,180,10,30,150,120,80,80,50,40,
    120,150,40,30,150,40,40,40,0,60,60,40,50,60,40,40,0,0,200,100,80,120,100,40,40,40,250,80,30,30,30,40,50,40,40,80,40,10,20,40,50,40,40,40,0,0,40,40,60,45,40,80,40,40,40,180,
    40,40,40,50,120,50,45,20,20,50,50,50,50,50,120,0,40,40,50,0,0,0,10,20,40,20,40,30,400,70,40,40,30,40,15,0,40,30,40,30,30,0,0,600,100,0,90,80,80,80,60,40,80,50,40,0,0,0,0,0,50,0,0
    };
    Und so wirds zugeteilt (An diesen stellen kommt tag mismatch)
    vInfo[x][vFuel] = GetVehicleTank(x);
    Das kommt übrigens nur, wenn vTank ein Float ist. Ich hab schon rumprobiert Fahrzeugtank zu einem Float zu machen bzw die ausgabe zu "floaten". Nützte nichts.

    Einmal editiert, zuletzt von doge_ () aus folgendem Grund: Bool statt float geschrieben, ups ^^

  • Oh sorry, hab da Float stehen, verschieben ^^.
    Hab den teil abgeschrieben nicht kopiert.
    Also es ist Float:vFuel


    Hier:
    enum e_vInfo
    {
    bool:vEngine = false,
    bool:vLights = false,
    bool:vBonnet = false,
    bool:vBoot = false,
    float:vFuel,
    bool:IsFilling
    }

  • Wie gesagt, ganze Zahlen sind Integer Werte, also dementsprechend auch keine Floats. Mach das float weg.



    EDIT:
    Post unten: Das hättest du erwähnen sollen, dass du mit kommawerten arbeiten willst.
    Gut, dass du den Fehler selbst korrigiert hast.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Es soll ja eine kommazahl sein.
    Jede 10 Sekunden soll nämlich 0.1 abgezogen werden und dementsprechend auch als float angezeigt werden.
    Wobei ich die Lösung schon hab. Das float muss einfach groß geschrieben werden...


    Lg