Beitrag von FLASH.[8743] ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
So, der Fehler is nun gefixxt..
Was war der Fehler??
Der Fehler lag hier:
format(string,sizeof(string),"%i%%~n~",VehicleInfo[vehicleid][Tank]/maxliter); // Hier sollte eigentlich Liter geteilt durch Maximal Liter werden.
So jetzt hat er es zwar gemacht, aber ich will ja dass die Anzeige angezeigt wird. Wie kann man sonst noch teilen?
Das heißt es funktioniert, aber es funktioniert nicht?
Erkläre bitte das jetzige Problem und poste den aktuellen Code dazu, da hier die Übersichtlichkeit ziemlich weg ist.
Also:
Der eigentliche Text wird jetzt angezeigt aber nicht wie gewünscht
public UpdateVehicleAnzeigeTimer(playerid)
{
new engine, lights, alarm, doors, bonnet, boot, objective, string[512], Float: health, maxliter, vehicleid, enginestate[32], lightstate[32], carlockstate[32];
vehicleid = GetPlayerVehicleID(playerid);
maxliter = VehicleInfo[vehicleid][MaxTank];
maxliter /= 100;
GetVehicleHealth(vehicleid,health);
if(vehicleid == 0) return 1;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
format(string,sizeof(string),"Fahrzeugname: ~w~%s~n~",VehicleNames[GetVehicleModel(vehicleid) - 400];
PlayerTextDrawSetString(playerid,Fahrzeuganzeige[playerid][0],string);
format(string,sizeof(string),"%i%%~n~",VehicleInfo[vehicleid][Tank]/ maxliter); // Hier soll Vehicleinfo... geteilt durch maxliter stattfinden
PlayerTextDrawSetString(playerid,Fahrzeuganzeige[playerid][2],string);
format(string,sizeof(string),"Geschwindigkeit: ~r~%i ~y~km/h",GetVehicleSpeed(vehicleid));
PlayerTextDrawSetString(playerid,Fahrzeuganzeige[playerid][1],string);
return 1;
}
Irgendwie hat das Script immer an der Stelle unterbrochen, wo die Rechnung war:
VehicleInfo[vehicleid][Tank]/ maxliter)
Als ich da nur Vehicleinfo[...] hingeschreiben habe, ging alles wie gewünscht, aber die Anzeige wird nicht aktualisiert.
Wegen dieser Rechnung ist das Script immer genau an dieser Stelle gestoppt worden.
Also das Script soll bitte an dieser Stelle Dividieren deswegen / aber / geht nicht genauso wenig wie /= beides geht nicht?
Wie dividiert man diese beiden Variablen, sodass es nun endlich klappt??
Danke
Jetzt sage ich dir zum dritten Mal, dass du den Code den ich dir gegeben habe versuchen sollst.
public UpdateVehicleAnzeigeTimer(playerid)
{
new engine, lights, alarm, doors, bonnet, boot, objective, string[512], Float: health, vehicleid, enginestate[32], lightstate[32], carlockstate[32];
vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid == 0) return 1;
GetVehicleHealth(vehicleid,health);
printf("playerid: %d | vehicleid: %d", playerid, vehicleid);
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
format(string,sizeof(string),"Fahrzeugname: ~w~%s",VehicleNames[GetVehicleModel(vehicleid) - 400]);
print(string);
PlayerTextDrawSetString(playerid,Fahrzeuganzeige[playerid][0],string);
print("Fahrzeuganzeige[playerid][0] gesetzt.");
format(string,sizeof(string),"Geschwindigkeit: ~r~%i ~y~km/h~",GetVehicleSpeed(vehicleid));
print(string);
PlayerTextDrawSetString(playerid,Fahrzeuganzeige[playerid][1],string);
print("Fahrzeuganzeige[playerid][1] gesetzt");
printf("Tank: %d / %d", VehicleInfo[vehicleid][Tank],VehicleInfo[vehicleid][MaxTank]);
format(string,sizeof(string),"%i%%~n~",VehicleInfo[vehicleid][Tank]/VehicleInfo[vehicleid][MaxTank]);
print(string);
PlayerTextDrawSetString(playerid,Fahrzeuganzeige[playerid][2],string);
print("Fahrzeuganzeige[playerid][2] gesetzt");
return 1;
}
Dort habe ich dir Rechnung bereits geändert.
Wie soll ich dir denn helfen, wenn du nicht machst, was ich dir sage?
ENDLICH GESCHAFFT!
Aber irgendwie ist der eine TextDraw immer noch verbuggt, der kein PlayerTextDraw ist.
Der verschwindet immer irgendwie, aber naja liegt denke mal an samp.
Davor war der Fehler ja noch nicht
Siehste!
Dann setze das verbuggte Textdraw doch einfach inaktiv, so dass du es keinem mehr anzeigst, und erstelle das Textdraw einfach nochmal, das zeigst du den Spielern dann an. Ist zwar keine schöne Lösung, aber hilft.
So, und damit hätte ich den glaube auch gefixxt.
Tausend Dank für deine Geduld & Hilfe