hey,
habe ein Problem mit dem Command /veh (siehe spoiler)
if(strcmp(cmd, "/veh", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] < 5)
{
SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 || color1 > 299) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 || color2 > 166) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new i = CreateNumber();
if(i == -1) return SendClientMessage(playerid, Grey, "Fehler! Meld dich bei einem Admin!");
PlayerCar[i][px] = X;
PlayerCar[i][py] = Y;
PlayerCar[i][pz] = Z;
PlayerCar[i][pa] = 0;
PlayerCar[i][c1] = color1;
PlayerCar[i][c2] = color2;
PlayerCar[i][model] = car;
PlayerCar[i][NSID] = i;
PlayerCar[i][Job] = 999;
PlayerCar[i][Frak] = 999;
PlayerCar[i][Fuel] = 100;
PlayerCar[i][JobCar] = 0;
PlayerCar[i][FrakCar] = 0;
format(PlayerCar[i][Key], MAX_PLAYER_NAME, "Ad");
PlayerCar[i][Lock] = 1;
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] < 5)
{
SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 || color1 > 299) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 || color2 > 166) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new i = CreateNumber();
if(i == -1) return SendClientMessage(playerid, Grey, "Fehler! Meld dich bei einem Admin!");
PlayerCar[i][px] = X;
PlayerCar[i][py] = Y;
PlayerCar[i][pz] = Z;
PlayerCar[i][pa] = 0;
PlayerCar[i][c1] = color1;
PlayerCar[i][c2] = color2;
PlayerCar[i][model] = car;
PlayerCar[i][NSID] = i;
PlayerCar[i][Job] = 999;
PlayerCar[i][Frak] = 999;
PlayerCar[i][Fuel] = 100;
PlayerCar[i][JobCar] = 0;
PlayerCar[i][FrakCar] = 0;
format(PlayerCar[i][Key], MAX_PLAYER_NAME, "Ad");
PlayerCar[i][Lock] = 1;
format(str, sizeof str, "/Cars/%d.ini", i);
dini_Create(str);
format(str, sizeof str, "%s-%d", PlayerCar[i][ABC], PlayerCar[i][NSID]);
PlayerCar[i][vid] = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
SaveCar(i);
new carid = PlayerCar[i][vid];
CreatedCars[CreatedCar] = carid;
CreatedCar++;
VehInfo[carid][Motor] = 1;
//Gas[carid] = GetGasMax(car);
format(string, sizeof(string), " *Du hast ein Fahrzeug gespawnt! Es hat die ID %d.", carid);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, 256, "Admin: %s hat ein Adminfahrzeug erstellt! Carid: %d",sendername, carid);
AdminNachricht(COLOR_RED,string,1);
dini_Create(str);
format(str, sizeof str, "%s-%d", PlayerCar[i][ABC], PlayerCar[i][NSID]);
PlayerCar[i][vid] = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
SaveCar(i);
new carid = PlayerCar[i][vid];
CreatedCars[CreatedCar] = carid;
CreatedCar++;
VehInfo[carid][Motor] = 1;
//Gas[carid] = GetGasMax(car);
format(string, sizeof(string), " *Du hast ein Fahrzeug gespawnt! Es hat die ID %d.", carid);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, 256, "Admin: %s hat ein Adminfahrzeug erstellt! Carid: %d",sendername, carid);
AdminNachricht(COLOR_RED,string,1);
}
return 1;
}
return 1;
}
hier die id erstellung:
public CreateNumber()
{
//generate_id:
new id = vrandom(MIN_ID, MAX_ID);
new path[128];
format(path,sizeof path,"/Cars/%d.ini",id);
if(fexist(path))
{
CreateNumber();
return 1;
}
else if(!fexist(path)) { return id; }
AdminNachricht(COLOR_LIGHTRED, "Achtung: Es können keine weitern Fahrzeuge mehr erstellt werden! MAX_ID Wert erhöhen! [ggf. an ServerLeitung weiterleiten!]", 6);
return -1;
}
{
//generate_id:
new id = vrandom(MIN_ID, MAX_ID);
new path[128];
format(path,sizeof path,"/Cars/%d.ini",id);
if(fexist(path))
{
CreateNumber();
return 1;
}
else if(!fexist(path)) { return id; }
AdminNachricht(COLOR_LIGHTRED, "Achtung: Es können keine weitern Fahrzeuge mehr erstellt werden! MAX_ID Wert erhöhen! [ggf. an ServerLeitung weiterleiten!]", 6);
return -1;
}
sie funktioniert zwar allerdings erstellt /veh cars ab id 499.. es gibt aber schon cars mit 499 500 (...) bis 970
gibt es eine möglichkeit es so einzustellen das der befehl /veh erst wieder cars ab id 1200 oder 1500 erstellt? also 1500.ini , 1501.ini?
habe schon versucht den MIN_ID wert zu erhöhen aber hat nicht funktioniert
hoffe ihr wisst eine lösung..
mfg mryoo
keiner eine lösung???
//push