Hallo Leute,
Ich hab ein Problem, undzwar spinnen die Textdraws rum fürs Auto, wenn man das Autokennzeichen ändert, verschwinden einfach 3 Textdraws, wenn man das Auto verlääst, verschwinden ganz andere Textdraws, wie z.B. der TextDraw fürs Anzeigen der ServerVersion.
Und ein Wert wird nicht gesetzt bzw. bei Floats kommt garnichts, nur ein leerer Text.
Hier die verbuggten Codes
//GameModeInit
SetTimer("IsPlayerDriverTextDrawCheck",200,true);
new Versionstring[128];
format(Versionstring,sizeof(Versionstring),"~y~Version: ~w~%s",ServerVersion);
VersionText = TextDrawCreate(635.0,5.0,Versionstring);
TextDrawColor(VersionText,WEIß);
TextDrawUseBox(VersionText,0);
TextDrawAlignment(VersionText,3);
TextDrawFont(VersionText,1);
TextDrawLetterSize(VersionText,0.5,1.4);
TextDrawSetShadow(VersionText,3);
TextDrawSetProportional(VersionText,1);
TextDrawSetOutline(VersionText,1);
TextDrawBackgroundColor(VersionText,0x000000FF);
for(new i=0; i<MAX_VEHICLES; i++)
{
Fahrzeuganzeige[i][0] = TextDrawCreate(500.000000, 241.500000, "Fahrzeuginfos:");
TextDrawAlignment(Fahrzeuganzeige[i][0], 2);
TextDrawBackgroundColor(Fahrzeuganzeige[i][0], -1);
TextDrawFont(Fahrzeuganzeige[i][0], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][0], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][0], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][0], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][0], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][0], 1);
TextDrawUseBox(Fahrzeuganzeige[i][0], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][0], 1145325143);
TextDrawTextSize(Fahrzeuganzeige[i][0], 0.000000, 276.000000);
Fahrzeuganzeige[i][1] = TextDrawCreate(362.000000, 254.000000, "Fahrzeugname: ~w~NAME");
TextDrawBackgroundColor(Fahrzeuganzeige[i][1], -1);
TextDrawFont(Fahrzeuganzeige[i][1], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][1], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][1], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][1], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][1], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][1], 0);
TextDrawUseBox(Fahrzeuganzeige[i][1], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][1], -225);
TextDrawTextSize(Fahrzeuganzeige[i][1], 714.000000, 0.000000);
Fahrzeuganzeige[i][4] = TextDrawCreate(362.000000, 292.250000, "Motor: ~g~ Eingeschaltet");
TextDrawBackgroundColor(Fahrzeuganzeige[i][4], -1);
TextDrawFont(Fahrzeuganzeige[i][4], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][4], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][4], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][4], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][4], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][4], 0);
TextDrawUseBox(Fahrzeuganzeige[i][4], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][4], -225);
TextDrawTextSize(Fahrzeuganzeige[i][4], 714.000000, 0.000000);
Fahrzeuganzeige[i][5] = TextDrawCreate(362.000000, 279.500000, "Licht: ~g~ Eingeschaltet ?");
TextDrawBackgroundColor(Fahrzeuganzeige[i][5], -1);
TextDrawFont(Fahrzeuganzeige[i][5], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][5], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][5], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][5], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][5], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][5], 0);
TextDrawUseBox(Fahrzeuganzeige[i][5], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][5], -225);
TextDrawTextSize(Fahrzeuganzeige[i][5], 714.000000, 0.000000);
Fahrzeuganzeige[i][14] = TextDrawCreate(362.000000, 381.500000, "Zustand:~w~");
TextDrawBackgroundColor(Fahrzeuganzeige[i][14], -1);
TextDrawFont(Fahrzeuganzeige[i][14], 1);
TextDrawLetterSize(Fahrzeuganzeige[i][14], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][14], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][14], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][14], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][14], 0);
TextDrawUseBox(Fahrzeuganzeige[i][14], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][14], -225);
TextDrawTextSize(Fahrzeuganzeige[i][14], 714.000000, 0.000000);
Fahrzeuganzeige[i][9] = TextDrawCreate(362.000000, 304.750000, "Status: ~r~ Abgeschlossen");
TextDrawBackgroundColor(Fahrzeuganzeige[i][9], -1);
TextDrawFont(Fahrzeuganzeige[i][9], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][9], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][9], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][9], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][9], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][9], 0);
TextDrawUseBox(Fahrzeuganzeige[i][9], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][9], -225);
TextDrawTextSize(Fahrzeuganzeige[i][9], 714.000000, 0.000000);
}
// public
public UpdateVehicleAnzeigeTimer(vehicleid)
{
new engine, lights, alarm, doors, bonnet, boot, objective, string[256], Float: health;
GetVehicleHealth(vehicleid,health);
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
format(string,sizeof(string),"Fahrzeugname: ~w~%s",VehicleNames[GetVehicleModel(vehicleid) - 400]);
TextDrawSetString(Fahrzeuganzeige[vehicleid][1],string);
format(string,sizeof(string),"Motor: ~g~ %s",GetVehicleEngineState(vehicleid));
TextDrawSetString(Fahrzeuganzeige[vehicleid][4],string);
format(string,sizeof(string),"Licht: ~g~ %s",GetVehicleLightState(vehicleid));
TextDrawSetString(Fahrzeuganzeige[vehicleid][5],string);
format(string,sizeof(string),"Status: ~r~ %s",GetVehicleCarlockState(vehicleid));
TextDrawSetString(Fahrzeuganzeige[vehicleid][9],string);
format(string,sizeof(string),"Zustand:~w~%f (%i%%)",health,floatround(health,floatround_round));
TextDrawSetString(Fahrzeuganzeige[vehicleid][14],string);
return 1;
}
public IsPlayerDriverTextDrawCheck()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(GetPVarInt(i,"ImFahrzeug")==0)
{
if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
SetPVarInt(i,"ImFahrzeug",1);
SetPVarInt(i,"IsPlayerDriverTextDrawCheckVehicleID",GetPlayerVehicleID(i));
for(new r=0; r<MAX_FAHRZEUGANZEIGETEXT; r++)
{
updatevehicleanzeigetimer[GetPlayerVehicleID(i)] = SetTimerEx("UpdateVehicleAnzeigeTimer",500,true,"i",GetPlayerVehicleID(i));
TextDrawShowForPlayer(i,Fahrzeuganzeige[GetPlayerVehicleID(i)][r]);
}
}
}
if(GetPVarInt(i,"ImFahrzeug")==1)
{
if(!IsPlayerInAnyVehicle(i) || GetPlayerState(i) != PLAYER_STATE_DRIVER)
{
new vid;
SetPVarInt(i,"ImFahrzeug",0);
for(new r=0; r<MAX_FAHRZEUGANZEIGETEXT; r++)
{
vid = GetPVarInt(i,"IsPlayerDriverTextDrawCheckVehicleID");
KillTimer(updatevehicleanzeigetimer[vid]);
TextDrawHideForPlayer(i,Fahrzeuganzeige[vid][r]);
}
SetPVarInt(i,"IsPlayerDriverTextDrawCheckVehicleID",0);
}
}
}
return 1;
}
stock GetVehicleEngineState(vehicleid)
{
new Status[128], engine, light, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid,engine,light,alarm,doors,bonnet,boot,objective);
if(engine == 0)
{
Status = "Ausgeschaltet";
}
else if(engine == 1)
{
Status = "Eingeschaltet";
}
return Status;
}
stock GetVehicleLightState(vehicleid)
{
new Status[128], engine, light, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid,engine,light,alarm,doors,bonnet,boot,objective);
if(light == 0)
{
Status = "Ausgeschaltet";
}
else if(light == 1)
{
Status = "Eingeschaltet";
}
return Status;
}
stock GetVehicleCarlockState(vehicleid)
{
new Status[128], engine, light, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid,engine,light,alarm,doors,bonnet,boot,objective);
if(doors == 0)
{
Status = "Aufgeschlossen";
}
else if(doors == 1)
{
Status = "Abgeschlossen";
}
return Status;
}
Wo ist der Bug??