TYUI

Alarm to car by Miroslav

Jul 22nd, 2013
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.80 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3. /*____________________________________________________________________________*/
  4. forward OnPlayerTryBreakInACar(playerid,vehicleid);
  5. forward DisableVehicleAlarm(vehicleid);
  6. /*____________________________________________________________________________*/
  7. new bool:IsVehicleLocked[MAX_VEHICLES char] = {false,...};
  8. new AlarmTimer[MAX_VEHICLES char];
  9. /*____________________________________________________________________________*/
  10. stock LockVehicle(vehicleid)
  11. {
  12.     new engine, lights, alarm, doors, bonnet, boot, objective;
  13.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  14.     SetVehicleParamsEx(vehicleid, engine, lights, alarm, 1, bonnet, boot, objective);
  15.     IsVehicleLocked{vehicleid} = true;
  16. }
  17. /*____________________________________________________________________________*/
  18. stock UnLockVehicle(vehicleid)
  19. {
  20.     new engine, lights, alarm, doors, bonnet, boot, objective;
  21.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  22.     SetVehicleParamsEx(vehicleid, engine, lights, alarm, 0, bonnet, boot, objective);
  23.     IsVehicleLocked{vehicleid} = false;
  24. }
  25. /*____________________________________________________________________________*/
  26. stock LockWithException(exceptionid,vehicleid)
  27. {
  28.     for(new i=0; i < MAX_PLAYERS; i++)
  29.     {
  30.         if(i == exceptionid) continue;
  31.         SetVehicleParamsForPlayer(GetPlayerVehicleID(exceptionid),i,0,1);
  32.     }
  33.     IsVehicleLocked{vehicleid} = true;
  34. }
  35. /*____________________________________________________________________________*/
  36. stock UnlockForAll(vehicleid)
  37. {
  38.     for(new i=0; i < MAX_PLAYERS; i++)
  39.     {
  40.         SetVehicleParamsForPlayer(vehicleid,i,0,0);
  41.     }
  42.     IsVehicleLocked{vehicleid} = false;
  43. }
  44. /*____________________________________________________________________________*/
  45. public OnPlayerTryBreakInACar(playerid,vehicleid)
  46. {
  47.     new rnd_nmbr = random(100);
  48.     switch(rnd_nmbr)
  49.     {
  50.         case 23,43,69:
  51.         {
  52.             UnLockVehicle(vehicleid);
  53.             SendClientMessage(playerid,-1,"You broke into someone's car!!");
  54.         }
  55.         default:
  56.         {
  57.             new engine, lights, alarm, doors, bonnet, boot, objective;
  58.             GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  59.             SetVehicleParamsEx(vehicleid, engine, lights, 1, doors, bonnet, boot, objective);
  60.             KillTimer(AlarmTimer{vehicleid});
  61.             AlarmTimer{vehicleid} = SetTimerEx("DisableVehicleAlarm", 20000, false, "i", vehicleid);
  62.             SetPlayerWantedLevel( playerid , GetPlayerWantedLevel(playerid) + 1 );
  63.         }
  64.     }
  65.     return 1;
  66. }
  67. /*____________________________________________________________________________*/
  68. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  69. {
  70.     if(newkeys == KEY_SECONDARY_ATTACK)
  71.     {
  72.         if(!IsPlayerInAnyVehicle(playerid))
  73.         {
  74.             if(IsVehicleLocked{GetNearestCar(playerid,3.0)} == true) OnPlayerTryBreakInACar(playerid,GetNearestCar(playerid,3.0));
  75.         }
  76.     }
  77.     return 1;
  78. }
  79. /*____________________________________________________________________________*/
  80. public DisableVehicleAlarm(vehicleid)
  81. {
  82.     new engine, lights, alarm, doors, bonnet, boot, objective;
  83.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  84.     SetVehicleParamsEx(vehicleid, engine, lights, 0, doors, bonnet, boot, objective);
  85. }
  86. /*____________________________________________________________________________*/
  87. stock GetNearestCar(playerid, Float:radius)
  88. {
  89.     new Float:X, Float:Y, Float:Z, Float:CarX, Float:CarZ, Float:CarY;
  90.     GetPlayerPos(playerid, X, Y, Z);
  91.     for(new i = 1; i < MAX_VEHICLES; i++)
  92.     {
  93.         GetVehiclePos(i, CarX, CarY, CarZ);
  94.         if((floatabs(X-CarX)<radius)&&(floatabs(Y-CarY)<radius)&&(floatabs(Z-CarZ)<radius))
  95.         {
  96.             return i;
  97.         }
  98.     }
  99.     return false;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment