Guten Tag,
Ich versuche grad es so zumachen das wenn man /abschleppen eingibt das dann das Fahrzeug was am Hacken hängt zu einem Freien Parkplatz geportet wird, mein Problem ist aber folgendes er gibt immer noch ID 0 aus egal ob eins dort steht oder nicht ich hoffe mir kann jemand helfen.
Hier mal die Stocks:
stock GetFreePoint() {
for(new i = 0; i < MAX_VEHICLES; i++) {
for(new s = 0; s < 2; s++ ) {
if(!IsVehicleInArea(i, VehicleTowedSpawn[s][TowedSpawnMinX] , VehicleTowedSpawn[s][TowedSpawnMinY], VehicleTowedSpawn[s][TowedSpawnMaxX], VehicleTowedSpawn[s][TowedSpawnMaxY])) {
printf("%i", s);
return s;
}
}
}
return -1;
}
stock IsVehicleInArea(vehicleid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY) {
new Float:X, Float:Y, Float:Z;
GetVehiclePos(vehicleid, X, Y, Z);
if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY) {
return 1;
}
return 0;
}
& hier der Befehl dazu:
ocmd:abschleppen(playerid, params[]) {
if(!IsPlayerConnected(playerid) || !Player[playerid][PlayerLoggedIn])
return SCM(playerid, Text_NotConnected);
if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1105.7123,-1747.5623,13.5735))return SCM(playerid, Text_Error"Du bist nicht am Abgabepunkt!");
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) {
new buffer_TrailerVehicleID = GetVehicleTrailer(GetPlayerVehicleID(playerid));
for(new carid = 0; carid < MAX_PLAYER_VEHICLES; carid++) {
if(PrivatVehicle[carid][VehicleID] == buffer_TrailerVehicleID) {
new s = GetFreePoint();
if(s != -1) {
PrivatVehicle[carid][VehicleTowed] = 1;
SetVehiclePos(PrivatVehicle[carid][VehicleID],VehicleTowedSpawn[s][TowedSpawnX],VehicleTowedSpawn[s][TowedSpawnY],VehicleTowedSpawn[s][TowedSpawnZ]);
SetVehicleZAngle(PrivatVehicle[carid][VehicleID],VehicleTowedSpawn[s][TowedSpawnR]);
SCM(playerid, Text_Info"Fahrzeug in Verwahrrung!");
return 1;
} else return SCM(playerid, Text_Error"Die Verwahrstelle ist zurzeit voll!");
}
}
} else return SCM(playerid, Text_Error"Du hast kein Fahrzeug am Hacken!");
return 1;
}
MfG