Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Credits to SA:MP team for Dev package, Y_Less for SSCANF, Jeff for function to get closest vehicle, Zeex for ZCMD & Twinki for making this script*/
- #include <a_samp>
- native IsValidVehicle(vehicleid);
- new v_EngineStatus[MAX_VEHICLES],
- v_VehicleLights[MAX_VEHICLES],
- v_TrunkStatus[MAX_VEHICLES];
- /* Vehicle Engine */
- stock ToggleVehicleEngine(vehicle, status) {
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicle, engine, lights, alarm, doors, bonnet, boot, objective);
- switch(status) {
- case 0: { v_EngineStatus[vehicle] = 0; SetVehicleParamsEx(vehicle, 0, lights, alarm, doors, bonnet, boot, objective); return true; }
- case 1: { v_EngineStatus[vehicle] = 1; SetVehicleParamsEx(vehicle, 1, lights, alarm, doors, bonnet, boot, objective); return true; }
- }
- return true;
- }
- stock GetVehicleEngineStatusString(vehicle) {
- new StatusString[4];
- switch(v_EngineStatus[vehicle]) {
- case 0: StatusString = "Off";
- case 1: StatusString = "On";
- }
- return StatusString;
- }
- stock GetVehicleEngineStatus(vehicle) return v_EngineStatus[vehicle];
- stock AutomaticEngineSwitch(vehicle) {
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicle, engine, lights, alarm, doors, bonnet, boot, objective);
- switch(v_EngineStatus[vehicle]) {
- case 0: { v_EngineStatus[vehicle] = 1; SetVehicleParamsEx(vehicle, 1, lights, alarm, doors, bonnet, boot, objective); return true; }
- case 1: { v_EngineStatus[vehicle] = 0; SetVehicleParamsEx(vehicle, 0, lights, alarm, doors, bonnet, boot, objective); return true; }
- }
- return true;
- }
- /* Lights */
- stock ToggleVehicleLights(vehicle, status) {
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicle, engine, lights, alarm, doors, bonnet, boot, objective);
- switch(status) {
- case 0: { v_VehicleLights[vehicle] = 0; SetVehicleParamsEx(vehicle, engine, 0, alarm, doors, bonnet, boot, objective); }
- case 1: { v_VehicleLights[vehicle] = 1; SetVehicleParamsEx(vehicle, engine, 1, alarm, doors, bonnet, boot, objective); }
- }
- return true;
- }
- stock GetVehicleLightsStatusString(vehicle) {
- new LightsStatus[4];
- switch(v_VehicleLights[vehicle]) {
- case 0: LightsStatus = "Off";
- case 1: LightsStatus = "On";
- }
- return LightsStatus;
- }
- stock GetVehicleLightsStatus(vehicle) return v_VehicleLights[vehicle];
- stock AutomaticLightSwitch(vehicle) {
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicle, engine, lights, alarm, doors, bonnet, boot, objective);
- switch(v_VehicleLights[vehicle]) {
- case 0: { v_VehicleLights[vehicle] = 1; SetVehicleParamsEx(vehicle, engine, 1, alarm, doors, bonnet, boot, objective); }
- case 1: { v_VehicleLights[vehicle] = 0; SetVehicleParamsEx(vehicle, engine, 0, alarm, doors, bonnet, boot, objective); }
- }
- return true;
- }
- /* Trunk system */
- stock ToggleVehicleTrunk(vehicle, status) {
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicle, engine, lights, alarm, doors, bonnet, boot, objective);
- switch(status) {
- case 0: { v_TrunkStatus[vehicle] = 0; SetVehicleParamsEx(vehicle, engine, lights, alarm, doors, bonnet, 0, objective); }
- case 1: { v_TrunkStatus[vehicle] = 1; SetVehicleParamsEx(vehicle, engine, lights, alarm, doors, bonnet, 1, objective); }
- }
- return true;
- }
- stock GetVehicleTrunkStatus(vehicle) return v_TrunkStatus[vehicle];
- stock GetVehicleTrunkStatusString(vehicle) {
- new TrunkStatus[7];
- switch(v_TrunkStatus[vehicle]) {
- case 0: TrunkStatus = "Closed";
- case 1: TrunkStatus = "Open";
- }
- return TrunkStatus;
- }
- stock ToggleNearestPlayerTrunk(playerid,status) {
- new sCar = GetClosestVehicleForPlayer(playerid);
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(sCar, engine, lights, alarm, doors, bonnet, boot, objective);
- switch(status) {
- case 0: { v_TrunkStatus[sCar] = 0; SetVehicleParamsEx(sCar, engine, lights, alarm, doors, bonnet, 0, objective); }
- case 1: { v_TrunkStatus[sCar] = 1; SetVehicleParamsEx(sCar, engine, lights, alarm, doors, bonnet, 1, objective); }
- }
- return true;
- }
- stock ToggleAutomaticNearestTrunk(playerid) {
- new sCar = GetClosestVehicleForPlayer(playerid);
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(sCar, engine, lights, alarm, doors, bonnet, boot, objective);
- switch(v_TrunkStatus[sCar]) {
- case 0: { v_TrunkStatus[sCar] = 1; SetVehicleParamsEx(sCar, engine, lights, alarm, doors, bonnet, 1, objective); }
- case 1: { v_TrunkStatus[sCar] = 0; SetVehicleParamsEx(sCar, engine, lights, alarm, doors, bonnet, 0, objective); }
- }
- return true;
- }
- stock GetClosestVehicleForPlayer(playerid) //credits to Jeff
- {
- new vehicleid = INVALID_VEHICLE_ID;
- new Float:distance = 10.0;
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- for(new i = 0; i < MAX_VEHICLES; i++) {
- if(!IsValidVehicle(i)) continue;
- new Float: tmp = GetVehicleDistanceFromPoint(i, X, Y, Z);
- if(tmp > distance) continue;
- vehicleid = i;
- distance = tmp;
- }
- if(vehicleid != INVALID_VEHICLE_ID) return vehicleid;
- else return SendClientMessage(playerid,0xAA3333AA,"There are no vehicle near to you!");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement