Hi, ich brauche mal eure Hilfe...
Ich möchte, dass bei eingabe von "/fahrzeug [Model-ID] [Farbe1] [Farbe2]" das entsprechende Fahrzeug als "fahrzeug0" gespeichert wird.
Wenn ich jetzt erneut "/fahrzeug [Model-ID] [Farbe1] [Farbe2]" eingebe, soll das entsprechende Fahrzeug als "fahrzeug1" gespeichert werden.
Jedoch soll "fahrzeug1" nur diesen Namen zugewiesen bekommen, wenn "farhzeug0" auch noch existiert, ansonsten soll das Fahrzeug den Tag "fahrzeug0" bekommen.
Wer das jetzt nicht aus Anhieb verstanden hat, bitte melden
Hier mal mein bisheriger Pawn-Code:
if(strcmp(cmd, "/fahrzeug", true) == 0)
{
new Float:health;
if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "Hinweis: /fahrzeug [Model-ID] [Farbe1] [Farbe2]");
return 1;
}
new car = GetVehicleModelIDFromName(tmp);
if (car == -1)
{
car = strval(tmp);
if(car < 400 || car > 611) return SendClientMessage(playerid, RED, "Die Model-ID muss größer als 400 und kleiner als 611 sein!");
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "Hinweis: /fahrzeug [Model-ID] [Farbe1] [Farbe2]");
return 1;
}
new color1 = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "Hinweis: /fahrzeug [Model-ID] [Farbe1] [Farbe2]");
return 1;
}
new color2 = strval(tmp);
if (GetVehicleHealth(fahrzeug0, health) >= 300)
{
new Float:X,Float:Y,Float:Z,Float:A;
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid, A);
X += (5 * floatsin(-A, degrees));
Y += (5 * floatcos(-A, degrees));
fahrzeug0 = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60);
format(string, sizeof(string), "Fahrzeug %s(%s) erstellt.", VehNames[GetVehicleModel(fahrzeug0)-400], fahrzeug0);
SendClientMessage(playerid, GREEN, string);
Cardestroytimer0 = SetTimer("Cardestroy0",30000,0);
drivercheck0 = SetTimer("CardestroyDriverCheck0",5000,1);
return 1;
}
else if (GetVehicleHealth(fahrzeug0, health) >= 300)
while (GetVehicleHealth(fahrzeug1, health) <= 300)
{
new Float:X,Float:Y,Float:Z,Float:A;
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid, A);
X += (5 * floatsin(-A, degrees));
Y += (5 * floatcos(-A, degrees));
fahrzeug1 = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60);
format(string, sizeof(string), "Fahrzeug %s(%s) erstellt.", VehNames[GetVehicleModel(fahrzeug1)-400], fahrzeug1);
SendClientMessage(playerid, GREEN, string);
Cardestroytimer1 = SetTimer("Cardestroy1",30000,0);
drivercheck1 = SetTimer("CardestroyDriverCheck1",5000,1);
return 1;
}
else if (GetVehicleHealth(fahrzeug0, health) >= 300)
while (GetVehicleHealth(fahrzeug1, health) >= 300)
while (GetVehicleHealth(fahrzeug2, health) <= 300)
{
new Float:X,Float:Y,Float:Z,Float:A;
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid, A);
X += (5 * floatsin(-A, degrees));
Y += (5 * floatcos(-A, degrees));
fahrzeug2 = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60);
format(string, sizeof(string), "Fahrzeug %s(%s) erstellt.", VehNames[GetVehicleModel(fahrzeug2)-400], fahrzeug2);
SendClientMessage(playerid, GREEN, string);
return 1;
}
else if (!IsPlayerInVehicle(i,fahrzeug3))
while (IsPlayerInVehicle(i,fahrzeug2))
while (IsPlayerInVehicle(i,fahrzeug1))
while (IsPlayerInVehicle(i,fahrzeug0))
{
new Float:X,Float:Y,Float:Z,Float:A;
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid, A);
X += (5 * floatsin(-A, degrees));
Y += (5 * floatcos(-A, degrees));
fahrzeug3 = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60);
format(string, sizeof(string), "Fahrzeug %s(%s) erstellt.", VehNames[GetVehicleModel(fahrzeug3)-400], fahrzeug3);
SendClientMessage(playerid, GREEN, string);
return 1;
}
else if (!IsPlayerInVehicle(i,fahrzeug4))
while (IsPlayerInVehicle(i,fahrzeug3))
while (IsPlayerInVehicle(i,fahrzeug2))
while (IsPlayerInVehicle(i,fahrzeug1))
while (IsPlayerInVehicle(i,fahrzeug0))
{
new Float:X,Float:Y,Float:Z,Float:A;
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid, A);
X += (5 * floatsin(-A, degrees));
Y += (5 * floatcos(-A, degrees));
fahrzeug4 = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60);
format(string, sizeof(string), "Fahrzeug %s(%s) erstellt.", VehNames[GetVehicleModel(fahrzeug4)-400], fahrzeug4);
SendClientMessage(playerid, GREEN, string);
return 1;
}
else if (!IsPlayerInVehicle(i,fahrzeug5))
while (IsPlayerInVehicle(i,fahrzeug4))
while (IsPlayerInVehicle(i,fahrzeug3))
while (IsPlayerInVehicle(i,fahrzeug2))
while (IsPlayerInVehicle(i,fahrzeug1))
while (IsPlayerInVehicle(i,fahrzeug0))
{
new Float:X,Float:Y,Float:Z,Float:A;
GetPlayerPos(playerid, X,Y,Z);
GetPlayerFacingAngle(playerid, A);
X += (5 * floatsin(-A, degrees));
Y += (5 * floatcos(-A, degrees));
fahrzeug5 = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60);
format(string, sizeof(string), "Fahrzeug %s(%s) erstellt.", VehNames[GetVehicleModel(fahrzeug5)-400], fahrzeug5);
SendClientMessage(playerid, GREEN, string);
return 1;
}
}
}
else SendClientMessage(playerid, RED, "Dein Admin-Level ist nicht ausreichend um diese Aktion auszuführen!");
return 1;
}
Die letzten Zeilen (also die mir fahrzeug3,4,5...) habe ich noch nicht verändert.
Mein Problem bis jetzt war, dass jedes Auto mit dem Namen "fahrzeug0" gespawnt wurde und das Script "fahrzeug1..." nicht verwendet hat
Vielleicht hat ja jemand ne Idee wie man das machen kann.
Danke schonmal im Vorraus
MfG