Advertisement
Guest User

Untitled

a guest
Jan 7th, 2012
1,040
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. #include <a_samp>
  2. //speedlock
  3. new LockedSpeed[MAX_VEHICLES];
  4. new HatSpeedLockAn[MAX_VEHICLES];
  5. new SpeedLockTimer[MAX_VEHICLES];
  6.  
  7.  
  8.  
  9.  
  10.  
  11. public OnPlayerExitVehicle(playerid,vehicleid)
  12. {
  13. new v = GetPlayerVehicleID(playerid);
  14. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  15. {
  16. if(HatSpeedLockAn[v] == 1)
  17. {
  18. LockedSpeed[v] = 0;
  19. HatSpeedLockAn[v] = 0;
  20. KillTimer(SpeedLockTimer[v]);
  21. }
  22. }
  23. }
  24. public OnVehicleSpawn(vehicleid)
  25. {
  26. HatSpeedLockAn[vehicleid] = 0;
  27. LockedSpeed[vehicleid] = 0;
  28. SpeedLockTimer[vehicleid] = 0;
  29. return 1;
  30. }
  31. public OnPlayerStateChange(playerid, newstate, oldstate)
  32. {
  33. new v = GetPlayerVehicleID(playerid);
  34. if(newstate == PLAYER_STATE_DRIVER)
  35. {
  36. if(HatSpeedLockAn[v] == 1)
  37. {
  38. KillTimer(SpeedLockTimer[v]);
  39. HatSpeedLockAn[v] = 0;
  40. SendClientMessage(playerid,0x00FF00,"SpeedLock automatisch Deaktiviert!");
  41. }
  42. }
  43. }
  44.  
  45. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  46. {
  47. new v = GetPlayerVehicleID(playerid);
  48. if(newkeys == KEY_YES)
  49. {
  50. if(IsPlayerAdmin(playerid))
  51. {
  52.  
  53. if(HatSpeedLockAn[v] == 0)
  54. {
  55. HatSpeedLockAn[v] = 1;
  56. LockedSpeed[v] = GetVehicleSpeed(v);
  57. SpeedLockTimer[v] = SetTimerEx("SpeedLock",500,1,"i",v);
  58. SendClientMessage(playerid,0x00FF00,"SpeedLock Aktiviert!");
  59. }
  60. else if(HatSpeedLockAn[v] == 1)
  61. {
  62. KillTimer(SpeedLockTimer[v]);
  63. HatSpeedLockAn[v] = 0;
  64. SendClientMessage(playerid,0x00FF00,"SpeedLock Deaktiviert!");
  65. }
  66. }
  67. }
  68. if(newkeys == KEY_HANDBRAKE)
  69. {
  70. if(HatSpeedLockAn[v] == 1)
  71. {
  72. KillTimer(SpeedLockTimer[v]);
  73. HatSpeedLockAn[v] = 0;
  74. SendClientMessage(playerid,0x00FF00,"SpeedLock durch bremsen deaktiviert!");
  75. }
  76. }
  77. return 1;
  78. }
  79.  
  80. //==============SPEED LOCK FUNKTION===================
  81. forward SpeedLock(vehicleid);
  82. public SpeedLock(vehicleid)
  83. {
  84. if(HatSpeedLockAn[vehicleid] == 1)
  85. {
  86. SetVehicleSpeed(vehicleid,LockedSpeed[vehicleid]);
  87. }
  88. return 1;
  89. }
  90.  
  91. //==============GETVEHICLE SPEED FUNK==================
  92. stock GetVehicleSpeed(vehicleid)
  93. {
  94. new Float:X,Float:Y,Float:Z;
  95. new Float:Speed;
  96. GetVehicleVelocity(vehicleid, X, Y, Z);
  97. Speed = floatsqroot(X*X + Y*Y + Z*Z)*200;
  98. new dd;
  99. dd = floatround(Speed);
  100. return dd;
  101. }
  102.  
  103. stock SetVehicleSpeed(vehicleid, Float:speed)
  104. {
  105. new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:a;
  106. GetVehicleVelocity(vehicleid, x1, y1, z1);
  107. GetVehiclePos(vehicleid, x2, y2, z2);
  108. GetVehicleZAngle(vehicleid, a); a = 360 - a;
  109. x1 = (floatsin(a, degrees) * (speed/200) + floatcos(a, degrees) * 0 + x2) - x2;
  110. y1 = (floatcos(a, degrees) * (speed/200) + floatsin(a, degrees) * 0 + y2) - y2;
  111. SetVehicleVelocity(vehicleid, x1, y1, z1);
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement