Hey,
habe mir ein Textdraw erstellt, besser gesagt 5. Es basiert auf der Z Achse. Zum Beispiel wenn ich höher als 10 bin wird das Textdraw 'ILS3' rot gefärbt. Und wenn ich danach dann tiefer als 10 bin, wird ILS4 rot.
Aber ich will es machen, dass wenn sich ein Textdraw zu rot färbt, soll sich das, das vorher rot war, weiß werden. Wie mache ich das ? Hier mein Code :
public ILS(playerid)
{
PlayerTextDrawShow(playerid,ILS1[playerid]);
PlayerTextDrawShow(playerid,ILS2[playerid]);
PlayerTextDrawShow(playerid,ILS3[playerid]);
PlayerTextDrawShow(playerid,ILS4[playerid]);
PlayerTextDrawShow(playerid,ILS5[playerid]);
new Float:ilsX,Float:ilsY,Float:ilsZ;
GetPlayerPos(playerid,ilsX,ilsY,ilsZ);
if(ilsZ < 30.8203)
{
PlayerTextDrawColor(playerid, ILS5[playerid], COLOR_RED);
return 1;
}
else if(ilsZ < 20.8203)
{
PlayerTextDrawColor(playerid, ILS4[playerid], COLOR_RED);
return 1;
}
else if(ilsZ < 10.8203)
{
PlayerTextDrawColor(playerid, ILS3[playerid], COLOR_RED);
return 1;
}
else if(ilsZ > 9.8203)
{
PlayerTextDrawColor(playerid, ILS2[playerid], COLOR_RED);
return 1;
}
else if(ilsZ > 8.8203)
{
PlayerTextDrawColor(playerid, ILS1[playerid], COLOR_RED);
return 1;
}
return 1;
}
CMD:ils(playerid, params)
{
SetTimer("ILS",500,1);
return 1;
}
Textdraw Color Update
- Oskaar1994
- Geschlossen
- Erledigt
-
-
Du setzt einfach das vorherige und das nachkommende Textdraw zu weiß.
Angenommen Textdraw 3 wird rot, dann setzt du Textdraw 2 und 4 zu weiß.
Wird 5 rot, dann wird eben nur 4 weiß, 6 gibt es ja nicht.
-
Du setzt einfach das vorherige und das nachkommende Textdraw zu weiß.
Angenommen Textdraw 3 wird rot, dann setzt du Textdraw 2 und 4 zu weiß.
Wird 5 rot, dann wird eben nur 4 weiß, 6 gibt es ja nicht.
Ist mir nur klar, aber wie mache ich es ? Also ich meine , dass es automatisch wechselt. Nur zum Verständniss es soll immer nur eins rot sein, also immer wenn die höhe wechselt, wechselt die Farbe auch. -
Na so:
else if(ilsZ > 9.8203)
{
PlayerTextDrawColor(playerid, ILS2[playerid], COLOR_RED);
PlayerTextDrawColor(playerid, ILS1[playerid], COLOR_WHITE);
PlayerTextDrawColor(playerid, ILS3[playerid], COLOR_WHITE);
return 1;
}Das wäre wenn 2 rot wird. Die anderen sind dementsprechend.
-
Ich glaub du verstehst nicht ganz was ich meine Es soll nicht unbedingt die Farbe wechseln, sondern nur wenn ich die Höhe wechsel.
-
public ILS(playerid)
{
PlayerTextDrawShow(playerid,ILS1[playerid]);
PlayerTextDrawShow(playerid,ILS2[playerid]);
PlayerTextDrawShow(playerid,ILS3[playerid]);
PlayerTextDrawShow(playerid,ILS4[playerid]);
PlayerTextDrawShow(playerid,ILS5[playerid]);
new Float:ilsX,Float:ilsY,Float:ilsZ;
GetPlayerPos(playerid,ilsX,ilsY,ilsZ);
if(ilsZ < 30.8203)
{
PlayerTextDrawColor(playerid, ILS5[playerid], COLOR_RED);
PlayerTextDrawColor(playerid, ILS4[playerid], COLOR_WHITE);
return 1;
}
else if(ilsZ < 20.8203)
{
PlayerTextDrawColor(playerid, ILS5[playerid], COLOR_WHITE);
PlayerTextDrawColor(playerid, ILS4[playerid], COLOR_RED);
PlayerTextDrawColor(playerid, ILS3[playerid], COLOR_WHITE);
return 1;
}
else if(ilsZ < 10.8203)
{
PlayerTextDrawColor(playerid, ILS4[playerid], COLOR_WHITE);
PlayerTextDrawColor(playerid, ILS3[playerid], COLOR_RED);
PlayerTextDrawColor(playerid, ILS2[playerid], COLOR_WHITE);
return 1;
}
else if(ilsZ > 9.8203)
{
PlayerTextDrawColor(playerid, ILS3[playerid], COLOR_WHITE);
PlayerTextDrawColor(playerid, ILS2[playerid], COLOR_RED);
PlayerTextDrawColor(playerid, ILS1[playerid], COLOR_WHITE);
return 1;
}
else if(ilsZ > 8.8203)
{
PlayerTextDrawColor(playerid, ILS2[playerid], COLOR_WHITE);
PlayerTextDrawColor(playerid, ILS1[playerid], COLOR_RED);
return 1;
}
return 1;
}Hast du es überhaupt probiert...?
-
breadfish.de
Hat das Thema geschlossen.