Hallo
ich habe ein Tacho system aber irgend wie geht die schadens anzeige nicht die gibt da so zahlen über 1mio aus aber sie soll nur von 0-1000 ausgeben also 1000 ist 100% kein kratzer und 356 autobrennt glaube
habe es jetzt so
stock CheckHealth(i)
{
new Float:vHealth;
new string[126];
GetVehicleHealth(GetPlayerVehicleID(i),vHealth);
if(vHealth > 999.0)
{
format(string, sizeof(string), "Zustand:~g~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
else if(vHealth > 875.0 && vHealth < 999.0)
{
format(string, sizeof(string), "Zustand:~g~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
else if(vHealth > 750.0 && vHealth < 875.0)
{
format(string, sizeof(string), "Zustand:~g~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
else if(vHealth > 625.0 && vHealth < 750.0)
{
format(string, sizeof(string), "Zustand:~y~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
else if(vHealth > 500.0 && vHealth < 625.0)
{
format(string, sizeof(string), "Zustand:~y~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
else if(vHealth > 375.0 && vHealth < 500.0)
{
format(string, sizeof(string), "Zustand:~y~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
else if(vHealth > 250.0 && vHealth < 375.0)
{
format(string, sizeof(string), "Zustand:~r~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
else if(vHealth > 125.0 && vHealth < 250.0)
{
format(string, sizeof(string), "Zustand:~r~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
else if(vHealth < 125.0)
{
format(string, sizeof(string), "Zustand:~r~%d", vHealth);
TextDrawSetString(Schaden[i],string);
}
return 1;
}
-
-
So wie es aussieht fehlen dir ein haufen sachen
-
Joar kann sein
hier mal alles
#define TACHOTIMER 500
new Text:Tacho[MAX_PLAYERS];
new Text:Schaden[MAX_PLAYERS];
new Text:Name[MAX_PLAYERS];
new Text:Tank[MAX_PLAYERS];
for(new i = 0; i < MAX_PLAYERS; i++)
{
Tacho[i] = TextDrawCreate(190.000000, 370.000000, "KM/H: ---");
TextDrawBackgroundColor(Tacho[i], 65535);
TextDrawFont(Tacho[i], 1);
TextDrawLetterSize(Tacho[i], 0.500000, 1.000000);
TextDrawColor(Tacho[i], -1);
TextDrawSetOutline(Tacho[i], 1);
TextDrawSetProportional(Tacho[i], 1);
TextDrawUseBox(Tacho[i], 1);
TextDrawBoxColor(Tacho[i], 255);
TextDrawTextSize(Tacho[i], 320.000000, 154.000000);
Schaden[i] = TextDrawCreate(310.000000, 370.000000, "Zustand:------");
TextDrawBackgroundColor(Schaden[i], 65535);
TextDrawFont(Schaden[i], 1);
TextDrawLetterSize(Schaden[i], 0.500000, 1.000000);
TextDrawColor(Schaden[i], -1);
TextDrawSetOutline(Schaden[i], 1);
TextDrawSetProportional(Schaden[i], 1);
TextDrawUseBox(Schaden[i], 1);
TextDrawBoxColor(Schaden[i], 255);
TextDrawTextSize(Schaden[i], 524.000000, 0.000000);
Name[i] = TextDrawCreate(190.000000, 381.000000, "Name:--------");
TextDrawBackgroundColor(Name[i], 65535);
TextDrawFont(Name[i], 1);
TextDrawLetterSize(Name[i], 0.500000, 1.000000);
TextDrawColor(Name[i], -1);
TextDrawSetOutline(Name[i], 1);
TextDrawSetProportional(Name[i], 1);
TextDrawUseBox(Name[i], 1);
TextDrawBoxColor(Name[i], 255);
TextDrawTextSize(Name[i], 524.000000, 0.000000);
Tank[i] = TextDrawCreate(340.000000, 381.000000, "Tank:---------");
TextDrawBackgroundColor(Tank[i], 65535);
TextDrawFont(Tank[i], 1);
TextDrawLetterSize(Tank[i], 0.500000, 1.000000);
TextDrawColor(Tank[i], -1);
TextDrawSetOutline(Tank[i], 1);
TextDrawSetProportional(Tank[i], 1);
}
for(new i=0;i<MAX_VEHICLES;i++)
{
Tankmenge[i] = 100;
}
SetTimer("TachoTimer",TACHOTIMER,1);
public TachoTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new Float:Entfernung, Float:Geschwindigkeit; // Die definierten Floats die mit den Werten gefüttert werden
GetVehiclePos(GetPlayerVehicleID(i), X1[i], Y1[i], Z1[i]); //Erste Koordinate wird genommen
Entfernung = floatsqroot(floatpower(floatabs(floatsub(X1[i], X2[i])), 2)+floatpower(floatabs(floatsub(Y1[i], Y2[i])), 2)+floatpower(floatabs(floatsub(Z1[i], Z2[i])), 2)); //Berechnung der Entfernung
Geschwindigkeit = (Entfernung / (TACHOTIMER/500)) * 3.6; //Meter/Sekunde in Kilometer/Stunde
new Tachostring[20]; // definiert den String
format(Tachostring, sizeof(Tachostring), "Km/h: %d", floatround(Geschwindigkeit)); //Hier das format, was es macht siehe oben im Wiki-Link. floatround rundet die Kommerzahl (Float:Geschwindigkeit) zu einer normalen ganzzahligen zahl, damit wir den Integer %d der für ganze zahlen ist, verwenden können.
TextDrawSetString(Tacho[i], Tachostring); //Setzt den String für das Textdraw für den Spieler mit der ID "i"
GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]); //Zweite Koordinate wird genommen
new veh;
veh = GetPlayerVehicleID(i);
/*new Autos = GetPlayerVehicleID(i);
new Float:Leben;
Leben = (Leben/10);
GetVehicleHealth(Autos, Leben);
new Tachostring2[126];
format(Tachostring2, sizeof(Tachostring2), "zustand: %d", Leben);
TextDrawSetString(Schaden[i], Tachostring2);*/
CheckHealth(i);
new Tachostring3[20];
format(Tachostring3, sizeof(Tachostring3), "Vehicle: %s", CarName[GetVehicleModel(veh)-400]);
TextDrawSetString(Name[i], Tachostring3);
new Tachostring4[20];
new Wagen = GetPlayerVehicleID(i);
format(Tachostring4, sizeof(Tachostring4), "Benzin/Fuel: %d", Tankmenge[Wagen]);
TextDrawSetString(Tank[i], Tachostring4);
TextDrawShowForPlayer(i, Tacho[i]);
TextDrawShowForPlayer(i, Schaden[i]);
TextDrawShowForPlayer(i, Name[i]);
TextDrawShowForPlayer(i, Tank[i]);
}
else
{
TextDrawHideForPlayer(i, Tacho[i]);
TextDrawHideForPlayer(i, Schaden[i]);
TextDrawHideForPlayer(i, Name[i]);
TextDrawHideForPlayer(i, Tank[i]);
}
}
return 1;
}
so das wars mehr habe ich net -
Probier mal so:
SQL
Alles anzeigenstock CheckHealth(i) { new Float:vHealth; new string[126]; GetVehicleHealth(GetPlayerVehicleID(i),vHealth); if(vHealth >= 999.0) { format(string, sizeof(string), "Zustand:~g~%.1f", vHealth); TextDrawSetString(Schaden[i],string); } else if(vHealth >= 750.0 && vHealth < 999.0) { format(string, sizeof(string), "Zustand:~g~%.1f", vHealth); TextDrawSetString(Schaden[i],string); } else if(vHealth >= 375.0 && vHealth < 750.0) { format(string, sizeof(string), "Zustand:~y~%.1f", vHealth); TextDrawSetString(Schaden[i],string); } else if(vHealth < 375.0) { format(string, sizeof(string), "Zustand:~r~%.1f", vHealth); TextDrawSetString(Schaden[i],string); } return 1; }
-
danke es geht
Danke für wure hilfe
Somit kann das Closed -
Wo gehört den die for schleife hin?
-
breadfish.de
Hat das Thema geschlossen.