Guten Tag
ich arbeite grade an einem Oamt system, was bis jetzt sehr gut für gekaufte fahrzeuge funktioniert, nun wollte ich aber auch noch gangfahrzeuge sperren lassen, doch hier weiß ich nicht weiter. Ich hoffe mir kann jemand helfen oder kurz eine kleine Hilfestellung geben.
if (strcmp("/carlist", cmdtext, true)==0)
{
if(Dtc_PlayerHaveCar[playerid][0] && !Dtc_PlayerHaveCar[playerid][1])
{
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][0][CarModel]-400],PlayerCar[playerid][0][CarNumber]);
SendClientMessage(playerid,0x00FFFFFF,string);
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
}
if(Dtc_PlayerHaveCar[playerid][1] && !Dtc_PlayerHaveCar[playerid][0])
{
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][1][CarModel]-400],PlayerCar[playerid][1][CarNumber]);
SendClientMessage(playerid,0x00FFFFFF,string);
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
}
if(Dtc_PlayerHaveCar[playerid][0] && Dtc_PlayerHaveCar[playerid][1])
{
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][0][CarModel]-400],PlayerCar[playerid][0][CarNumber]);
SendClientMessage(playerid,0x00FFFFFF,string);
format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][1][CarModel]-400],PlayerCar[playerid][1][CarNumber]);
SendClientMessage(playerid,0x00FFFFFF,string);
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
}
if(!Dtc_PlayerHaveCar[playerid][0] && !Dtc_PlayerHaveCar[playerid][1])
{
SendClientMessage(playerid,0xFF0000FF,"Du hast garkein Fahrzeug!");
}
return 1;
}
if(strcmp(cmd,"/freikaufen",true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,2.5,930.9573,-1207.6936,17.1938))
{
if(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarGesperrt] == 1)
{
if(GetPlayerMoney(playerid) >= PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis])
{
GivePlayerMoney(playerid,-PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
format(string,256,"Du hast deinen %s für %d$ wieder frei gekauft. Hoffentlich kommt das nicht noch einmal vor. Bitte parke dein Fahrzeug neu.",CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
SendClientMessage(playerid,0x00FFFFFF,string);
PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarGesperrt] = 0;
FraktionsKasse[23] += PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis];
new xx[MAX_PLAYER_NAME];
GetPlayerName(playerid,xx,sizeof(xx));
format(string,256,"%s hat sein Fahrzeug (%s) für %d$ freigekauft. Das Geld wurde auf die Fraktionskasse überwiesen.",xx,CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
SendRadioMessage(24, TEAM_BLUE_COLOR, string);
PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]=0;
SetVehiclePos(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],937.4331,-1226.2257,16.5307);
SetVehicleZAngle(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],180);
PutPlayerInVehicle(playerid,PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],0);
return 1;
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du hast nicht genug Geld.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist nicht gesperrt.");
SendClientMessage(playerid,0xFF0000FF,"Stelle sicher, dass du den richtigen Schlüssel ausgewählt hast.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist nicht an dem /freikaufen-Punkt vor dem Ordnungsamt!");
return 1;
}
}
if(strcmp(cmd,"/entsperren",true)==0)
{
if(IsPlayerInFrac(playerid,24))
{
if(IsPlayerInRangeOfPoint(playerid,2.5,915.6431,-1235.1315,17.2109) || (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,0xFF0000FF,"FEHLER: /entsperren [Kennzeichen]");
return 1;
}
new kz[32];
format(kz,sizeof(kz),"%s",tmp);
if(KZExistiert(kz))
{
new kzveh = GetCarFromKZ(kz);
if(IsDtCarGesperrt(kzveh))
{
new modell = GetVehicleModel(kzveh);
new gpid = GetOwner(kzveh);
new gpidname[MAX_PLAYER_NAME];
GetPlayerName(gpid,gpidname,sizeof(gpidname));
format(string,sizeof(string),"Du hast das Kennzeichen %s (User: %d || Name: %s || Fahrzeug: %s) entsperrt.",kz,gpid,gpidname,CarName[modell-400]);
SendClientMessage(playerid,0x00FFFFFF,string);
new pnn[MAX_PLAYER_NAME];
GetPlayerName(playerid,pnn,sizeof(pnn));
format(string,sizeof(string),"%s hat dein Fahrzeug %s entsperrt.",pnn,CarName[modell-400]);
SendClientMessage(gpid,0xFF0000FF,string);
for(new x=0;x<MaxVeh;x++)
{
if(strcmp(PlayerCar[gpid][x][CarNumber],kz,true)==0)
{
PlayerCar[gpid][x][CarGesperrt] = 0;
PlayerCar[gpid][x][CarSperrpreis]=0;
}
}
return 1;
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist nicht gesperrt.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Kennzeichen wurde nicht registriert.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist nicht am kleinen Ordnungsamthaus oder in einem Ordnungsamtfahrzeug");
return 1;
}
}
}
if(strcmp(cmd,"/sperren",true)==0)
{
if(IsPlayerInFrac(playerid,24))
{
if(IsPlayerInRangeOfPoint(playerid,2.5,915.6431,-1235.1315,17.2109) || (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,0xFF0000FF,"FEHLER: /sperren [Kennzeichen] [Preis] [Grund]");
return 1;
}
new kz[32];
format(kz,sizeof(kz),"%s",tmp);
if(KZExistiert(kz))
{
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))
{
format(string,128,"FEHLER: /sperren %s [Sperrpreis] [Grund]",kz);
SendClientMessage(playerid,0xFF0000FF,string);
return 1;
}
new preis;
preis = strval(tmp);
if(preis >= 1)
{
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))
{
format(string,128,"FEHLER: /sperren %s %d [Grund]",kz,preis);
SendClientMessage(playerid,0xFF0000FF,string);
return 1;
}
new grund[256];
format(grund,sizeof(grund),"%s",tmp);
new kzveh = GetCarFromKZ(kz);
if(!IsDtCarGesperrt(kzveh))
{
new modell = GetVehicleModel(kzveh);
new gpid = GetOwner(kzveh);
new gpidname[MAX_PLAYER_NAME];
GetPlayerName(gpid,gpidname,sizeof(gpidname));
format(string,sizeof(string),"Du hast das Kennzeichen %s (User: %d || Name: %s || Fahrzeug: %s) für %d$ mit folgendem Grund gesperrt: %s",kz,gpid,gpidname,CarName[modell-400],preis,grund);
SendClientMessage(playerid,0x00FFFFFF,string);
new pnn[MAX_PLAYER_NAME];
GetPlayerName(playerid,pnn,sizeof(pnn));
format(string,sizeof(string),"%s hat dein Fahrzeug %s mit dem Kennzeichen %s für %d$ mit folgendem Grund gesperrt: %s",pnn,CarName[modell-400],kz,preis,grund);
SendClientMessage(gpid,0xFF0000FF,string);
for(new x=0;x<MaxVeh;x++)
{
if(strcmp(PlayerCar[gpid][x][CarNumber],kz,true)==0)
{
PlayerCar[gpid][x][CarGesperrt] = 1;
PlayerCar[gpid][x][CarSperrpreis]=preis;
}
}
return 1;
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist bereits gesperrt.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Der Sperrpreis darf nicht unter 0 sein.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Kennzeichen wurde nicht registriert.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist nicht am kleinen Ordnungsamthaus oder in einem Ordnungsamtfahrzeug.");
return 1;
}
}
}
{
if(Dtc_PlayerHaveCar[playerid][0] && !Dtc_PlayerHaveCar[playerid][1])
{
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][0][CarModel]-400],PlayerCar[playerid][0][CarNumber]);
SendClientMessage(playerid,0x00FFFFFF,string);
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
}
if(Dtc_PlayerHaveCar[playerid][1] && !Dtc_PlayerHaveCar[playerid][0])
{
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][1][CarModel]-400],PlayerCar[playerid][1][CarNumber]);
SendClientMessage(playerid,0x00FFFFFF,string);
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
}
if(Dtc_PlayerHaveCar[playerid][0] && Dtc_PlayerHaveCar[playerid][1])
{
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][0][CarModel]-400],PlayerCar[playerid][0][CarNumber]);
SendClientMessage(playerid,0x00FFFFFF,string);
format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][1][CarModel]-400],PlayerCar[playerid][1][CarNumber]);
SendClientMessage(playerid,0x00FFFFFF,string);
SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
}
if(!Dtc_PlayerHaveCar[playerid][0] && !Dtc_PlayerHaveCar[playerid][1])
{
SendClientMessage(playerid,0xFF0000FF,"Du hast garkein Fahrzeug!");
}
return 1;
}
if(strcmp(cmd,"/freikaufen",true)==0)
{
if(IsPlayerInRangeOfPoint(playerid,2.5,930.9573,-1207.6936,17.1938))
{
if(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarGesperrt] == 1)
{
if(GetPlayerMoney(playerid) >= PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis])
{
GivePlayerMoney(playerid,-PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
format(string,256,"Du hast deinen %s für %d$ wieder frei gekauft. Hoffentlich kommt das nicht noch einmal vor. Bitte parke dein Fahrzeug neu.",CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
SendClientMessage(playerid,0x00FFFFFF,string);
PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarGesperrt] = 0;
FraktionsKasse[23] += PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis];
new xx[MAX_PLAYER_NAME];
GetPlayerName(playerid,xx,sizeof(xx));
format(string,256,"%s hat sein Fahrzeug (%s) für %d$ freigekauft. Das Geld wurde auf die Fraktionskasse überwiesen.",xx,CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
SendRadioMessage(24, TEAM_BLUE_COLOR, string);
PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]=0;
SetVehiclePos(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],937.4331,-1226.2257,16.5307);
SetVehicleZAngle(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],180);
PutPlayerInVehicle(playerid,PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],0);
return 1;
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du hast nicht genug Geld.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist nicht gesperrt.");
SendClientMessage(playerid,0xFF0000FF,"Stelle sicher, dass du den richtigen Schlüssel ausgewählt hast.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist nicht an dem /freikaufen-Punkt vor dem Ordnungsamt!");
return 1;
}
}
if(strcmp(cmd,"/entsperren",true)==0)
{
if(IsPlayerInFrac(playerid,24))
{
if(IsPlayerInRangeOfPoint(playerid,2.5,915.6431,-1235.1315,17.2109) || (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,0xFF0000FF,"FEHLER: /entsperren [Kennzeichen]");
return 1;
}
new kz[32];
format(kz,sizeof(kz),"%s",tmp);
if(KZExistiert(kz))
{
new kzveh = GetCarFromKZ(kz);
if(IsDtCarGesperrt(kzveh))
{
new modell = GetVehicleModel(kzveh);
new gpid = GetOwner(kzveh);
new gpidname[MAX_PLAYER_NAME];
GetPlayerName(gpid,gpidname,sizeof(gpidname));
format(string,sizeof(string),"Du hast das Kennzeichen %s (User: %d || Name: %s || Fahrzeug: %s) entsperrt.",kz,gpid,gpidname,CarName[modell-400]);
SendClientMessage(playerid,0x00FFFFFF,string);
new pnn[MAX_PLAYER_NAME];
GetPlayerName(playerid,pnn,sizeof(pnn));
format(string,sizeof(string),"%s hat dein Fahrzeug %s entsperrt.",pnn,CarName[modell-400]);
SendClientMessage(gpid,0xFF0000FF,string);
for(new x=0;x<MaxVeh;x++)
{
if(strcmp(PlayerCar[gpid][x][CarNumber],kz,true)==0)
{
PlayerCar[gpid][x][CarGesperrt] = 0;
PlayerCar[gpid][x][CarSperrpreis]=0;
}
}
return 1;
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist nicht gesperrt.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Kennzeichen wurde nicht registriert.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist nicht am kleinen Ordnungsamthaus oder in einem Ordnungsamtfahrzeug");
return 1;
}
}
}
if(strcmp(cmd,"/sperren",true)==0)
{
if(IsPlayerInFrac(playerid,24))
{
if(IsPlayerInRangeOfPoint(playerid,2.5,915.6431,-1235.1315,17.2109) || (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,0xFF0000FF,"FEHLER: /sperren [Kennzeichen] [Preis] [Grund]");
return 1;
}
new kz[32];
format(kz,sizeof(kz),"%s",tmp);
if(KZExistiert(kz))
{
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))
{
format(string,128,"FEHLER: /sperren %s [Sperrpreis] [Grund]",kz);
SendClientMessage(playerid,0xFF0000FF,string);
return 1;
}
new preis;
preis = strval(tmp);
if(preis >= 1)
{
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))
{
format(string,128,"FEHLER: /sperren %s %d [Grund]",kz,preis);
SendClientMessage(playerid,0xFF0000FF,string);
return 1;
}
new grund[256];
format(grund,sizeof(grund),"%s",tmp);
new kzveh = GetCarFromKZ(kz);
if(!IsDtCarGesperrt(kzveh))
{
new modell = GetVehicleModel(kzveh);
new gpid = GetOwner(kzveh);
new gpidname[MAX_PLAYER_NAME];
GetPlayerName(gpid,gpidname,sizeof(gpidname));
format(string,sizeof(string),"Du hast das Kennzeichen %s (User: %d || Name: %s || Fahrzeug: %s) für %d$ mit folgendem Grund gesperrt: %s",kz,gpid,gpidname,CarName[modell-400],preis,grund);
SendClientMessage(playerid,0x00FFFFFF,string);
new pnn[MAX_PLAYER_NAME];
GetPlayerName(playerid,pnn,sizeof(pnn));
format(string,sizeof(string),"%s hat dein Fahrzeug %s mit dem Kennzeichen %s für %d$ mit folgendem Grund gesperrt: %s",pnn,CarName[modell-400],kz,preis,grund);
SendClientMessage(gpid,0xFF0000FF,string);
for(new x=0;x<MaxVeh;x++)
{
if(strcmp(PlayerCar[gpid][x][CarNumber],kz,true)==0)
{
PlayerCar[gpid][x][CarGesperrt] = 1;
PlayerCar[gpid][x][CarSperrpreis]=preis;
}
}
return 1;
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist bereits gesperrt.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Der Sperrpreis darf nicht unter 0 sein.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Dieses Kennzeichen wurde nicht registriert.");
return 1;
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist nicht am kleinen Ordnungsamthaus oder in einem Ordnungsamtfahrzeug.");
return 1;
}
}
}
Dies sind alle Pawn codes die ich verwende. Ich benutze das dtcar system.
Hier nochmal von einer Gang die Fahrzeuge
new GrooveVehs[8];//
if(!IsPlayerInFrac(playerid,13))
{
for(new pv = 0; pv < sizeof(GrooveVehs); pv++)
{
if(newcar == GrooveVehs[pv])
{
SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel!");
RemovePlayerFromVehicle(playerid);
}
}
}
{
for(new pv = 0; pv < sizeof(GrooveVehs); pv++)
{
if(newcar == GrooveVehs[pv])
{
SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel!");
RemovePlayerFromVehicle(playerid);
}
}
}
GrooveVehs[1] = AddStaticVehicleEx(468,2513.3596,-1686.1343,13.1162,77.4979,86,86,-1); // Groove Bike
GrooveVehs[2] = AddStaticVehicleEx(522,2511.4597,-1688.4041,13.1289,47.3900,86,86,-1); // Groove Bike
GrooveVehs[3] = AddStaticVehicleEx(492,2509.7922,-1668.9247,13.3100,7.7849,86,86,-1); // Groove
GrooveVehs[4] = AddStaticVehicleEx(492,2500.5073,-1655.8710,13.2951,67.9706,86,86,-1); // Groove
GrooveVehs[5] = AddStaticVehicleEx(567,2473.3394,-1694.0272,13.3817,359.6389,86,86,-1); // Groove
GrooveVehs[6] = AddStaticVehicleEx(567,2468.7510,-1670.6563,13.2664,12.9876,86,86,-1); // Groove
GrooveVehs[7] = AddStaticVehicleEx(482,2480.6196,-1653.9967,13.2585,271.4623,86,86,-1); // Groove
GrooveVehs[2] = AddStaticVehicleEx(522,2511.4597,-1688.4041,13.1289,47.3900,86,86,-1); // Groove Bike
GrooveVehs[3] = AddStaticVehicleEx(492,2509.7922,-1668.9247,13.3100,7.7849,86,86,-1); // Groove
GrooveVehs[4] = AddStaticVehicleEx(492,2500.5073,-1655.8710,13.2951,67.9706,86,86,-1); // Groove
GrooveVehs[5] = AddStaticVehicleEx(567,2473.3394,-1694.0272,13.3817,359.6389,86,86,-1); // Groove
GrooveVehs[6] = AddStaticVehicleEx(567,2468.7510,-1670.6563,13.2664,12.9876,86,86,-1); // Groove
GrooveVehs[7] = AddStaticVehicleEx(482,2480.6196,-1653.9967,13.2585,271.4623,86,86,-1); // Groove
Ich glaube das man die irgend wie mit einem Kennzeichen versehen kann weiß nur nicht wie. Freue mich über jede Positive Antwort. Würde auch Hilfe über TV annehmen.
MFG
TRoniix