Hallo,
ich will das Vehicle System von BlackFox um ein ID System erweitern. Dazu hab das jetzt erst mal gaaanz einfach gemacht:
new string[30];
number = random(1000);
format(string ,30, "LS - VI - %d", number);
carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
for(new i; i< MAX_AUTOS; i++)
{
Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
}
Aber das LS - VI - [Random Zahl] erscheint nur über einem Fahrzeug, obwohl ich for(new i; i<MAX_AUTOS; i++) habe.
Warum erscheint das nicht über jedem Car?
Und gibt es ein fertiges Car ID Filterscript irgendwo? Weil ich hab über die Sufu nichts gefunden.
LG
V1rus
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ganz einfach: Du musst für jedes Auto ein eigenes Textlabel erstellen, das würde sowas von Ressourcen verschwenden...
Wenn du AttachLAbelTo...... oder so benutzt mit for-Schleife, wird das einmal dem einen und dann dem anderen Auto atached, sondern nicht neu erstellt
EDIT://
So müsste es richtig sein:
new string[30];
number = random(1000);
format(string ,30, "LS - VI - %d", number);
carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
for(new i; i< MAX_AUTOS; i++)
{
carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
} -
Und wie soll ich das jetzt machen?
-
EDIT://
So müsste es richtig sein:
for(new i; i< MAX_AUTOS; i++)
{
new string[30];
number = random(1000);
format(string ,30, "LS - VI - %d", number);
carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
} -
Ich würde dir aber raten, keine Random Zahl zu nehmen, es kann sein,
das es dan eine Zahl doppelt gibt. Verwende einfach vehicleid. -
Dann siehts so aus :
for(new i; i< MAX_AUTOS; i++)
{
new string[30];
format(string ,30, "LS - VI - %d", i);
carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
} -
Guter Junge
Danke -
Anstatt VI Kannst du auch deine ersten 2 Buchstaben des Namen ausgeben :
for(new i; i< MAX_AUTOS; i++)
{
new string[30];
new name[2];
GetPlayerName(playerid, name, sizeof name);
format(string ,30, "LS - %s%s - %d", name[0],name[1], i);
carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
} -
Und was soll das nutzen ?
Also ich meine das VI. Was soll das nutzen und was ist das..? XD -
Damit gibst du halt die ersten 2 Buchstaben des Spielers wieder.
-
Cool Danke
Gibts auch noch ne Möglichkeit nochmal Random auszuführen, falls die ID schon vergeben ist? -
eine vehicleid wird nicht doppelt vergeben. Deshalb habe ich dir ja gesagt,
anstatt random die Vehicleid verwenden. -
Also?
for(new i; i< MAX_AUTOS; i++)
{
new string[30];
new name[2];
i = GetPlayerVehicleID(playerid);
GetPlayerName(playerid, name, sizeof name);
format(string ,30, "LS - %s%s - %d", name[0],name[1], i);
carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
}
Ne so auch nicht oder? Sag mal bitte wie du das meinst.
Sry bin ein ziemlicher Anfänger....
V1rus -
for(new i; i< MAX_AUTOS; i++)
{
new string[30];
new name[2];
GetPlayerName(playerid, name, sizeof name);
format(string ,30, "LS - %s%s - %d", name[0],name[1], i);
carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
}Du hollst doch i schon aus MAX_Autos, also brauchst du vehicleid
garnicht zu definieren, ausser du verwendest MAX_AUTOS
für etwas ganz anderes. -
breadfish.de
Hat das Thema geschlossen.