Beiträge von Acrio

    Ja sry habe das Problem schon gelöst habe es so gemacht.


    format(distanzstr, sizeof(distanzstr), "%.02f", Distance);
    So habe ich 2Stellen hinterm Komma die ich als Meterzahlen nutze. Habe wohl vergessen auf erledigt zu klicken.

    Ich habe halt vor auch wenn ihr soetwas vielleicht blöd findet ein richtiges Tanksystem zu machen mit Verbrauch auf 100 Kilometer usw.
    //edit: obwohl ich auch einfach beim Verbrauch / 1000 rechnen könnte damit es mit den Metern passt.
    //edit:2 Jetzt sieht meine Funktion so aus. new Float:distanz,
    Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    distanz = GetDistanceFromPointToPoint(gX2[playerid], gY2[playerid], gZ2[playerid], x, y, z);
    if(distanz>100) return 1;
    distance[car] = distance[car]+distanz;
    GetPlayerPos(playerid, gX2[playerid], gY2[playerid], gZ2[playerid]);
    if(distance[playerid] > 100)
    {
    distance[car] = distance[car] - 100;
    floatsub(TankInhalt[car],floatdiv(vInfo[model][vVerbrauch],1000));
    format(tankstr, sizeof(tankstr), "%i", TankInhalt[car]);
    TextDrawSetString(TankAnzeige, tankstr);
    }
    TextDrawSetString(TankAnzeige, TankInhalt[car]);
    Kann sie sich mal jemand angucken und mir sagen ob es so geht.?


    Edit:// Es geht nicht. Ich bewege mich 1 Millimeter wirklich nur einmal die w taste angetptt und gleich angeblich 1316215156765 Kilometer.
    Irgendetwas passt hier nicht.

    Ja danke Pille. Aber wenn ich den Timer kleiner mache z.B: etwas übertrieben 20 millisekunden dann kommt man in der Zeit doch garnicht auf 100 Distanz

    Momentan läuft er auf 500 Millisekunden also ca. 0.5 Sekunden. Wie gesagt aber eventuell mache ich ihn noch kleiner da ich vielleicht die Geschwindigkeit genauer haben möchte. Deshalb bringt mir eine Meter pro Sekunden Rechnung nicht viel. Hier mal das Tacho. Vielleicht hilft es.


    new Float:Geschwindigkeit;
    GetVehicleVelocity(car, gX1[playerid], gY1[playerid], gZ1[playerid]);
    Geschwindigkeit = floatsqroot(gX1[playerid]*gX1[playerid] + gY1[playerid]*gY1[playerid] + gZ1[playerid]*gZ1[playerid]) * 100 * 2;
    format(tachostr, sizeof(tachostr), "%d", floatround(Geschwindigkeit));


    "Edits"
    Nr1. Pille das hilft mir leider nicht weiter, da ich die Function GetDistanceFromPointToPoint nicht habe da ich ein Selfmade mache.

    Ja. Aber ich habe meinen Timer (Habe schon einen Wo ich alles Aktualiesiere) Nich auf 1 sec. Sondern auf ne Halbe und eventuell mache ich den noch kleiner.

    Ich möchte es aber selber schaffen. Sonst bringt es ja nichts da ich dann immer noch nicht wies wie das geht. Ich möchte wie gesagt nur ein paar Tipps.

    Ich dachte an sowas das ich einen Punkt setze und dann auslese wenn er 1 Kilometer gefahren ist. Es muss natürlich nicht genau einen Kilometer sein aber sollte der GTA Größe entsprechen. Also ingame natürlich vom Größenverhältnis her einen Kilometer.

    Hi, Ich wollte gerade einen Kilometerzähler erstellen habe allerdings keine Ahnung wie man so etwas macht. Ich weis wohl das ich oben eine Variable erstellen muss ungefähr so.


    new Kilometer[MAX_VEHICLES];


    Aber wie man dann ausrechnet wann er einen Kilometer gefahren ist... Ich habe keine Ahnung. Könnt ihr mir ein bisschen Helfen?


    Danke im Voraus. Und ich möchte keinen Code sondern nur ein paar Tipps-

    Achso das hast du definiert? ich würde sagen das kannst du wegmachen und schreibst statt dessen new MaxVeh[MAX_PLAYERS] = 4;


    Die Abfrage ist richtig aber du musst diese Klammern nutzen: [ und ] Also nach MaxVeh. Und es kann sein das du wenn du ein GF besitzt oder das du überhaupt ein paar Errors bekommst, da ja das define dann weg ist. Die sind aber leicht zu beheben. Da du dann eigentlich nur MaxVeh durch MaxVeh[playerid] ersetzen musst.