vehicleauto.pwn 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #include <YSI\y_hooks>
  2. #define VEHICLE_PARAMS_TOG 10030
  3. hook OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
  4. new vehicleid = GetPlayerVehicleID(playerid);
  5. szMiscArray[0] = 0;
  6. if((newkeys & KEY_YES) && vehicleid != INVALID_VEHICLE_ID && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  7. //if(!AC_KeySpamCheck(playerid)) return 1;
  8. new engine,lights,alarm,doors,bonnet,boot,objective;
  9. if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510 || DynVeh[vehicleid] != -1 && DynVehicleInfo[DynVeh[vehicleid]][gv_iType] == 1 && GetVehicleModel(vehicleid) == 592) return SendClientMessageEx(playerid,COLOR_WHITE,"This command can't be used in this vehicle.");
  10. if(WheelClamp{vehicleid}) return SendClientMessageEx(playerid,COLOR_WHITE,"(( This vehicle has a wheel camp on its front tire, you will not be able to drive away with it. ))");
  11. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  12. if(engine == VEHICLE_PARAMS_ON)
  13. {
  14. SetVehicleEngine(vehicleid, playerid);
  15. format(szMiscArray, sizeof(szMiscArray), "%s turns the key in the ignition and the engine stops.", GetPlayerNameEx(playerid));
  16. SetPlayerChatBubble(playerid, szMiscArray, COLOR_PURPLE, 15.0, 5000);
  17. //ProxDetector(30.0, playerid, szMiscArray, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  18. }
  19. else if((engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET))
  20. {
  21. if (GetPVarInt(playerid, "Refueling")) return SendClientMessageEx(playerid, COLOR_WHITE, "You can't do this while refueling.");
  22. format(szMiscArray, sizeof(szMiscArray), "%s turns the key in the ignition and the engine starts.", GetPlayerNameEx(playerid));
  23. SetPlayerChatBubble(playerid, szMiscArray, COLOR_PURPLE, 15.0, 5000);
  24. //ProxDetector(30.0, playerid, szMiscArray, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  25. SendClientMessageEx(playerid, COLOR_WHITE, "Vehicle engine starting, please wait...");
  26. SetTimerEx("SetVehicleEngine", 1000, 0, "dd", vehicleid, playerid);
  27. RemoveVehicleFromMeter(vehicleid);
  28. }
  29. }
  30. if((newkeys & KEY_LOOK_BEHIND) && vehicleid != INVALID_VEHICLE_ID && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  31. if(!IsAPlane(vehicleid)) {
  32. ShowVehicleMenu(playerid, vehicleid);
  33. }
  34. }
  35. return 1;
  36. }
  37. ShowVehicleMenu(playerid, vehicleid) {
  38. szMiscArray[0] = 0;
  39. new engine, lights, alarm, doors, bonnet, boot, objective;
  40. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  41. format(szMiscArray, sizeof(szMiscArray), "Item\tStatus\n\
  42. Seatbelt\t%s\n\
  43. Lights\t%s\n\
  44. Bonnet\t%s\n\
  45. Boot\t%s",
  46. ((Seatbelt[playerid] == 0) ? ("Off") : ("On")),
  47. ((lights == VEHICLE_PARAMS_OFF) ? ("Off") : ("On")),
  48. ((bonnet == VEHICLE_PARAMS_OFF) ? ("Closed") : ("Open")),
  49. ((boot == VEHICLE_PARAMS_OFF) ? ("Closed") : ("Open"))
  50. );
  51. ShowPlayerDialogEx(playerid, VEHICLE_PARAMS_TOG, DIALOG_STYLE_TABLIST_HEADERS, "Vehicle Options", szMiscArray, "Select", "Cancel");
  52. }
  53. hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  54. if(arrAntiCheat[playerid][ac_iFlags][AC_DIALOGSPOOFING] > 0) return 1;
  55. switch(dialogid) {
  56. case VEHICLE_PARAMS_TOG: {
  57. if(!response) return 1;
  58. new vehicleid = GetPlayerVehicleID(playerid);
  59. switch(listitem) {
  60. case 0: SetVehicleLights(vehicleid, playerid);// lights
  61. case 1: SetVehicleHood(vehicleid, playerid);// bonnet
  62. case 2: SetVehicleTrunk(vehicleid, playerid);// boot
  63. }
  64. }
  65. }
  66. return 0;
  67. }