Eine variable setzen.
Beispiel:
new h_l[MAX_VEHICLES];
//falls nicht vorhanden.
if(h_L[vehicleid] == 0)
{//not having a neon light
//code
h_l[vehicleid] = 1;
}
//falls vorhanden
if(h_l[vehicleid] == 1)
{//having a neon light
h_l[vehicleid] = 0;
}
In deinem Code angepasst.
//definierung der Variable nicht vergessen.
new h_l[MAX_VEHICLES];
//dann unter 'OnVehicelSpawn'
h_l[vehicleid] = 0; //resetten des Neonlichts
if(strcmp(cmd,"/autolichtgreen",true)==0)
{
if(IsPlayerConnected(playerid))
{
new x_nr[256];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_WHITE, "Benutze: /autolichtgreen [name]");
SendClientMessage(playerid, COLOR_WHITE, "Befehle: an, aus.");
return 1;
}
if(strcmp(x_nr,"an",true) == 0)
{
if(h_l[GetPlayerVehicleID(playerid)] == 1) return SendClientMessage(playerid, farbe, "Dieses Fahrzeug hat schon Neonlicht.");
farbegrun[GetPlayerVehicleID(playerid)] = CreateObject(18649,0,0,0,0,0,0,0); // Hier kannste auch einfach 0 rein machen.....
farbegrun2[GetPlayerVehicleID(playerid)] = CreateObject(18649,0,0,0,0,0,0,0);
AttachObjectToVehicle(farbegrun[GetPlayerVehicleID(playerid)], GetPlayerVehicleID(playerid),0.4,0,-0.80,0,0,0);
AttachObjectToVehicle(farbegrun2[GetPlayerVehicleID(playerid)], GetPlayerVehicleID(playerid),-0.4,0,-0.80,0,0,0);
h_l[GetPlayerVehicleID(playerid)] = 1;
}
else if(strcmp(x_nr,"aus",true) == 0)
{
if(h_l[GetPlayerVehicleID(playerid)] == 0) return SendClientMessage(playerid, farbe, "Dieses Fahrzeug hat kein Neonlicht.");
DestroyObject(farbegrun[GetPlayerVehicleID(playerid)]);
DestroyObject(farbegrun2[GetPlayerVehicleID(playerid)]);
h_l[GetPlayerVehicleID(playerid)] = 0;
}
}
return 1;
}
Sorry, dass es nicht richtig eingerückt ist. Liegt an meinem blöden Browser.
Natürlich könntest du das noch mit
switch(h_l[vehicleid])
machen, aber ist nicht so tragisch.^^