Hallo
Ich hab mir gestern ein kleines Vehicle Spawn System gescriptet.
- Mit /veh werden die Cars gespawnt (Insgesammt max. 20)
- Mit /listcars sieht man alle gespawnten Cars in einer Liste
- Mit /destroycar [1-20] Kann man eins der 20 Cars zerstören
- Mit /destroyallcars kann man alle zerstören
Nun hab ich nur das Problem, dass wenn ich mich auslogge & niemand mehr auf dem Server ist, doch noch mit /veh gespawnte cars aufm server sind
Sie wenn ich mich wieder einlogge nicht mehr unter /listcars angezeigt werden, wodruch ich sie auch nicht mehr zerstören kann.
((Die Autos werden in Variablen gespeichert))
Hier ein paar Zeilen aus meinem Script:
Unter dem /veh Befehl:
for(new i = 0; i < MAX_PLAYERS; i++)
{
new cars = GetPVarInt(i,"SpawnedCars");
if(cars == 0)
{
new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);
SetPVarInt(i,"SpawnedCars",cars+1);
SetPVarInt(i,"CarID1",carid);
format(string, sizeof(string), "* Fahrzeug mit der ID %d wurde erfolgreich gespawned, /listcars um eine Übersicht zu erhalten.", carid);
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
.
.
.
if(cars == 19)
{
new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);
SetPVarInt(i,"SpawnedCars",cars+1);
SetPVarInt(i,"CarID20",carid);
format(string, sizeof(string), "* Fahrzeug mit der ID %d wurde erfolgreich gespawned, /listcars um eine Übersicht zu erhalten.", carid);
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED," Es wurden bereits 20 Fahrzeuge gespawnt. Zerstöre sie um neue spawnen zu können!");
return 1;
}
}
listcars
for(new i = 0; i < MAX_PLAYERS; i++)
{
format(string,sizeof(string)," ~Gespawnte Cars(%d)~",GetPVarInt(i,"SpawnedCars"));
SendClientMessage(playerid,COLOR_DBLUE,string);
if(GetPVarInt(i,"CarID1") > 0)
{
format(string,sizeof(string),"1. CarID: %d | Model ID: %d (%s)",GetPVarInt(i,"CarID1"),GetVehicleModel(GetPVarInt(i,"CarID1")),VehicleName[GetVehicleModel(GetPVarInt(i,"CarID1"))-400]);
SendClientMessage(playerid,COLOR_GRAD1,string);
}
if(GetPVarInt(i,"CarID2") > 0)
{
format(string,sizeof(string),"2. CarID: %d | Model ID: %d (%s)",GetPVarInt(i,"CarID2"),GetVehicleModel(GetPVarInt(i,"CarID2")),VehicleName[GetVehicleModel(GetPVarInt(i,"CarID2"))-400]);
SendClientMessage(playerid,COLOR_GRAD1,string);
}
... bis zum 20. Car
Das Problem ist nun, dass die Variablen, wenn kein Spieler mehr on ist verloren geht. Wie kann ich die Variable erhalten bzw. wie kann ich die ganzen ID´s sonst speichern?
mfG
Driver