Itt van.
Motorháztetõ+Csomagtartó #include <a_samp>
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/csomagtarto\", cmdtext, true))
{
new vehicleid = GetPlayerCar(playerid);
if(GetPlayerCar(playerid) == INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, \"Nincs autó a közeledben!\");
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, (boot == 1 ? 0 : 1), objective); // azért végzek egy inline feltételt, mert nem tudom, hogy logikai értéket ad-e vissza a függvény. Ha azt ad vissza akkor elég lett volna csak egy !boot
return 1;
}
if(!strcmp(\"/motorhazteto\", cmdtext, true))
{
new vehicleid = GetPlayerCar(playerid);
if(GetPlayerCar(playerid) == INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, \"Nincs autó a közeledben!\");
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, (bonnet == 1 ? 0 : 1), boot, objective);
return 1;
}
return 0;
}
stock GetPlayerCar(playerid, Float:range = 2.0)
{
if(IsPlayerInAnyVehicle(playerid)) // ha a játékos kocsiban ül, akkor csak visszaadjuk a jármûazonosítót
return GetPlayerVehicleID(playerid);
// de ha nem akkor meg kell vizsgálnunk minden kocsit
new Float:pos[3]; // x, y, z koordinátákat kell majd tárolnunk
for(new i = 0; i < MAX_VEHICLES; i++) // összes kocsin végig kell menni Ez egy 2000-es ciklus, szóval ha tudod, hogy mennyi autód van megközelítõleg a szerveren, akkor a MAX_VEHICLES-t lecserélheted arra a számra!
{
GetVehiclePos(playerid, pos[0], pos[1], pos[2]); // az éppen vizsgált kocsi helyzetét lekérjük
if(IsPlayerInRangeOfPoint(playerid, range, pos[0], pos[1], pos[2])) // ha a kocsi a megadott távolásgban van a játékoshoz képest...
{
return i; // akkor visszaadjuk az azonosítóját
}
}
return INVALID_VEHICLE_ID; // ha nincs kocsi a közelben akkor visszaadunk egy jelzõ értéket
}