Hey, ich habe ein /lock System gemacht welches im Grunde auch Funktioniert
Allerdings kommt ab und zu wenn die Userzahlen mehr werden die Meldung "Du besitzt keinen Schlüssel für dieses Fahrzeug !" Obwohl das Fahrzeug dem Spieler gehört
Ich denke das hat was damit zu tun das sich die Vehicle IDs verschieben ? Bei Fraktionsfahrzeugen hab ich das Problem Jedenfalls nicht
Die Abfrage "GetDtCarOwner" Scheint Fehlerhaft zu sein weil daran scheitert es Aber eben nicht immer Das Autohaus ist "DT Cars" Vom Godfather
[list=1][*]if (strcmp("/lock", cmd, true, 10) == 0)
[*]{
[*]if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
[*]{
[*]new vid = GetPlayerVehicleID(playerid);
[*]if(IsADtCar(vid))// Privatfahrzeuge
[*]{
[*]new carowner = GetDtCarOwner(vid);
[*]if (carowner == playerid)
[*]{
[*]new engine, lights, alarm, doors, bonnet, boot, objective;
[*]GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
[*]if(doors == 1)
[*]{
[*]SetVehicleParamsEx(vid, engine, lights, alarm, 0, bonnet, boot, objective);
[*]SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast dein Fahrzeug aufgeschlossen.");
[*]}
[*]else
[*]{
[*]SetVehicleParamsEx(vid, engine, lights, alarm, 1, bonnet, boot, objective);
[*]SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast dein Fahrzeug abgeschlossen.");
[*]}
[*]}
[*]else
[*]{
[*]SendClientMessage(playerid, COLOR_GREY, "Du besitzt keinen Schlüssel für dieses Fahrzeug (debug 1)!");
[*]return 1;
[*]}
[*]}
[*]else for(new fc;fc<sizeof(FactionCars);fc++)// Fraktionsfahrzeug
[*]{
[*]if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
[*]{
[*]if(vid == FactionCars[fc][fCarid])
[*]{
[*]if(PlayerInfo[playerid][sMember] == FactionCars[fc][fFaction])
[*]{
[*]
[*]new engine, lights, alarm, doors, bonnet, boot, objective;
[*]GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
[*]
[*]if(doors == 1)
[*]{
[*]SetVehicleParamsEx(vid, engine, lights, alarm, 0, bonnet, boot, objective);
[*]SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast dein Fahrzeug aufgeschlossen.");
[*]}
[*]else
[*]{
[*]SetVehicleParamsEx(vid, engine, lights, alarm, 1, bonnet, boot, objective);
[*]SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast dein Fahrzeug abgeschlossen.");
[*]}
[*]}
[*]else
[*]{
[*]SendClientMessage(playerid, COLOR_GREY, "Du besitzt keinen Schlüssel für dieses Fahrzeug (debug 2)!");
[*]return 1;
[*]}
[*]}
[*]}
[*]}
[*]}
[*]return 1;
[*]}
[/list]
[list=1][*]forward GetDtCarOwner(veh);
[*]public GetDtCarOwner(veh)
[*]{
[*]for(new i = 0; i < MAX_PLAYERS; i++)
[*]{
[*]for(new x = 0; x < MaxVeh; x++)
[*]{
[*]if(PlayerCar[i][x][CarId] == veh)
[*]{
[*]return i;
[*]}
[*]}
[*]}
[*]return 555;
[*]}
[/list]