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.
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));
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-
Habt ihr sowas nicht in der Schule gelernt? Wir haben das Thema gerad ein Deutsch.
Dann musst du da wo er ein Auto kauft bei der Abfrage wie viele er schon hat ich hoffe du weist was ich meine. MaxVeh durch MaxVeh[playerid]; ersetzen.
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.
Du nimmst den Variablen namen und macht = 6;
z.B. MaxCars[playerid] = 6;
Abfragen ob der Spieer premium ist,w enn ja dann die Variable auf 6 Setzen. Ist doch einfach.
Das new? Das kommt ganz nach oben. Am besten unter den includes.
Und sry habe da noch was vergessen.
new Kampstyle[MAX_PLAYERS] = 0;//Eine Klammer vergessen.
Vielleicht arbeitet er gar nicht mit einem enum? Mach einfach eine Variabe für alle Spieler also
new KampstyleMAX_PLAYERS] = 0;
Und speicher dann den Kapfstyle des Spielers in dieser variable.
Kommt auf das Script an.
Aber warte mal. Es macht doch sinn mit ID da ja nicht alle Modellegleichzeitig sondern jedes Vehicle selber Tank verliert wenn es an ist.
ok Danke Aber Tank muss auch en Float sein da wenn man 0.5 von 60 Abzeihen würde wäre es 59.5 und somit eine FLoat.
MAX_MODELS kennt ehr nicht also muss ich schon MAX_VEHICLES machen.
Ok, Aber wohin muss das untere? OnGameModeInit?