Advertisement
Guest User

server

a guest
Aug 19th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.96 KB | None | 0 0
  1. --CREATING THE MG
  2.  
  3. function mg_pos()
  4. createMG(-2861.9, 19.4, 14.83, 0, -10, 188)
  5. createMG2(-2862.1, -65.5, 14.72, 0, -10, 188)
  6. createMG3(-2421, -582, 131.2, 0, -10, 190)
  7.  
  8. end
  9. addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), mg_pos)
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20. --MG 1
  21.  
  22. function createMG(posX,posY,posZ,rotX,rotY,rotZ)
  23. mg = createObject ( 356, 0,0,0)
  24. local weapon_base = createObject ( 1897, posX,posY,posZ,rotX,rotY,rotZ)
  25. local weapon = createObject ( 356, 0,0,0)
  26. attachElements ( weapon, weapon_base, -0.55, 0, 1.75, 0, 0, 0)
  27. setElementData ( mg, "weapon_base", weapon_base)
  28. setElementData ( mg, "weapon", weapon)
  29. setElementAlpha(weapon_base, 0)
  30.  
  31. setTimer ( event, 500, 1 )
  32. setTimer ( col, 500, 1, posX,posY )
  33. end
  34.  
  35. function col(posX,posY)
  36. triggerClientEvent("createCol", root, posX,posY)
  37.  
  38. col_s = createColCircle ( posX,posY, 3 )
  39. end
  40.  
  41.  
  42.  
  43. function createMG2(posX,posY,posZ,rotX,rotY,rotZ)
  44. mg2 = createObject ( 356, 0,0,0)
  45. local weapon_base = createObject ( 1897, posX,posY,posZ,rotX,rotY,rotZ)
  46. local weapon = createObject ( 356, 0,0,0)
  47. attachElements ( weapon, weapon_base, -0.55, 0, 1.75, 0, 0, 0)
  48. setElementData ( mg2, "weapon_base", weapon_base)
  49. setElementData ( mg2, "weapon", weapon)
  50. setElementAlpha(weapon_base, 0)
  51.  
  52. setTimer ( col2, 500, 1, posX,posY )
  53. end
  54.  
  55. function col2(posX,posY)
  56. triggerClientEvent("createCol2", root, posX,posY)
  57.  
  58. col_s2 = createColCircle ( posX,posY, 3 )
  59. end
  60.  
  61.  
  62.  
  63. function createMG3(posX,posY,posZ,rotX,rotY,rotZ)
  64. mg3 = createObject ( 356, 0,0,0)
  65. local weapon_base = createObject ( 1897, posX,posY,posZ,rotX,rotY,rotZ)
  66. local weapon = createObject ( 356, 0,0,0)
  67. attachElements ( weapon, weapon_base, -0.55, 0, 1.75, 0, 0, 0)
  68. setElementData ( mg3, "weapon_base", weapon_base)
  69. setElementData ( mg3, "weapon", weapon)
  70. setElementAlpha(weapon_base, 0)
  71.  
  72. setTimer ( col3, 500, 1, posX,posY )
  73. end
  74.  
  75. function col3(posX,posY)
  76. triggerClientEvent("createCol3", root, posX,posY)
  77.  
  78. col_s3 = createColCircle ( posX,posY, 3 )
  79. end
  80.  
  81.  
  82.  
  83. function event()
  84. local weapon = getElementData ( mg, "weapon" )
  85. local weapon2 = getElementData ( mg2, "weapon" )
  86. local weapon3 = getElementData ( mg3, "weapon" )
  87. triggerClientEvent("createRealWeapon", root, weapon,weapon2,weapon3)
  88. end
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98. --ENTERING THE MG
  99.  
  100.  
  101.  
  102. function attach()
  103. local detection = isElementWithinColShape ( source, col_s )
  104. local detection2 = isElementWithinColShape ( source, col_s2 )
  105. local detection3 = isElementWithinColShape ( source, col_s3 )
  106.  
  107. if detection then
  108. local weap = getElementData ( mg, "weapon_base" )
  109. attachElements ( source, weap, -1.2, 0.22, 1.75, 0, 0, 0 )
  110. triggerClientEvent("inUse_server", root)
  111.  
  112. elseif detection2 then
  113. local weap = getElementData ( mg2, "weapon_base" )
  114. attachElements ( source, weap, -1.2, 0.22, 1.75, 0, 0, 0 )
  115. triggerClientEvent("inUse_server2", root)
  116.  
  117. elseif detection3 then
  118. local weap = getElementData ( mg3, "weapon_base" )
  119. attachElements ( source, weap, -1.2, 0.22, 1.75, 0, 0, 0 )
  120. triggerClientEvent("inUse_server3", root)
  121. end
  122.  
  123. setPedAnimation ( source, "SILENCED", "SilenceCrouchfire", 0.7, false, false, false, true )
  124. setPedAnimationProgress(source, "SilenceCrouchfire", 0.7)
  125. toggleControl (source,"fire", false)
  126. setElementData ( source, "attachedToWeapon_w", weap )
  127. setTimer ( refresh_anim, 1000, 1, source )
  128.  
  129. end
  130. addEvent("attachPlayerToMG", true)
  131. addEventHandler("attachPlayerToMG",getRootElement(), attach)
  132.  
  133.  
  134. function refresh_anim(source)
  135. setPedAnimationProgress(source, "SilenceCrouchfire", 0.7)
  136. end
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143. function detach()
  144. local detection = isElementWithinColShape ( source, col_s )
  145. local detection2 = isElementWithinColShape ( source, col_s2 )
  146. local detection3 = isElementWithinColShape ( source, col_s3 )
  147.  
  148. if detection then
  149. triggerClientEvent("noUse_server", root)
  150. elseif detection2 then
  151. triggerClientEvent("noUse_server2", root)
  152. elseif detection3 then
  153. triggerClientEvent("noUse_server3", root)
  154. end
  155.  
  156.  
  157.  
  158. local attachTo = getElementData(source,"attachedToWeapon_w")
  159. setPedAnimation ( source, "ped","SEAT_UP", false )
  160. setTimer(setPedAnimation, 1300,1,source,false)
  161. detachElements(source,attachTo)
  162. setElementCollisionsEnabled ( source, true )
  163. toggleControl (source,"fire", true)
  164. setElementData ( source, "attachedToWeapon_w", nil )
  165. setElementData ( source,"attachedToWeapon",false)
  166. end
  167. addEvent("detachPlayerFromMG", true)
  168. addEventHandler("detachPlayerFromMG",getRootElement(),detach)
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176. function dmg_anim()
  177. setPedAnimationProgress(source, "SilenceCrouchfire", 0.7)
  178. end
  179. addEvent("demage_anim", true)
  180. addEventHandler("demage_anim",getRootElement(),dmg_anim)
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188. function rotate(rot,rot2_x)
  189. local detection = isElementWithinColShape ( source, col_s )
  190. local detection2 = isElementWithinColShape ( source, col_s2 )
  191. local detection3 = isElementWithinColShape ( source, col_s3 )
  192.  
  193. if detection then
  194. local weap = getElementData ( mg, "weapon_base" )
  195. local weap2 = getElementData ( mg, "weapon" )
  196. local x,y,z = getElementRotation (weap)
  197. setElementRotation ( weap, 0,0,rot+97)
  198.  
  199. if rot < 40 then
  200. --outputChatBox ( "< 40" )
  201. --triggerClientEvent("right", root)
  202. end
  203. if rot > 140 then
  204. --outputChatBox ( "> 180" )
  205. --triggerClientEvent("left", root)
  206. end
  207.  
  208. local x,y,z,rx,ry,rz = getElementAttachedOffsets (weap2)
  209. if -rot2_x < 8 then
  210. setElementAttachedOffsets ( weap2, x, y, z, rx, -rot2_x+10, rz)
  211. end
  212.  
  213. elseif detection2 then
  214. local weap = getElementData ( mg2, "weapon_base" )
  215. local weap2 = getElementData ( mg2, "weapon" )
  216. local x,y,z = getElementRotation (weap)
  217. setElementRotation ( weap, 0,0,rot+97)
  218.  
  219. if rot < 40 then
  220. --outputChatBox ( "< 40" )
  221. --triggerClientEvent("right", root)
  222. end
  223. if rot > 140 then
  224. --outputChatBox ( "> 180" )
  225. --triggerClientEvent("left", root)
  226. end
  227.  
  228. local x,y,z,rx,ry,rz = getElementAttachedOffsets (weap2)
  229. if -rot2_x < 8 then
  230. setElementAttachedOffsets ( weap2, x, y, z, rx, -rot2_x+10, rz)
  231. end
  232.  
  233. elseif detection3 then
  234. local weap = getElementData ( mg3, "weapon_base" )
  235. local weap2 = getElementData ( mg3, "weapon" )
  236. local x,y,z = getElementRotation (weap)
  237. setElementRotation ( weap, 0,0,rot+97)
  238.  
  239. if rot < 40 then
  240. --outputChatBox ( "< 40" )
  241. --triggerClientEvent("right", root)
  242. end
  243. if rot > 140 then
  244. --outputChatBox ( "> 180" )
  245. --triggerClientEvent("left", root)
  246. end
  247.  
  248. local x,y,z,rx,ry,rz = getElementAttachedOffsets (weap2)
  249. if -rot2_x < 8 then
  250. setElementAttachedOffsets ( weap2, x, y, z, rx, -rot2_x+10, rz)
  251. end
  252. end
  253. end
  254. addEvent("rotatePlayerWeapon", true)
  255. addEventHandler("rotatePlayerWeapon",getRootElement(), rotate)
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262. function fire_server(player,px,py,pz)
  263. local detection = isElementWithinColShape ( source, col_s )
  264. local detection2 = isElementWithinColShape ( source, col_s2 )
  265. local detection3 = isElementWithinColShape ( source, col_s3 )
  266.  
  267. if detection then
  268. triggerClientEvent("fire_client", getRootElement(), player,px,py,pz)
  269. elseif detection2 then
  270. triggerClientEvent("fire_client2", getRootElement(), player,px,py,pz)
  271. elseif detection3 then
  272. triggerClientEvent("fire_client3", getRootElement(), player,px,py,pz)
  273. end
  274. end
  275. addEvent("fire_server", true)
  276. addEventHandler("fire_server",getRootElement(), fire_server)
  277.  
  278. function ready_server(player,x,y,z)
  279. triggerClientEvent("ready_client", getRootElement(), player,x,y,z)
  280. end
  281. addEvent("ready_server", true)
  282. addEventHandler("ready_server",getRootElement(), ready_server)
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291. function vehicle_demage(veh)
  292. local vehicleHP = getElementHealth(veh)
  293. if vehicleHP > 0 then
  294. setElementHealth(veh,vehicleHP-10)
  295. elseif not ( isVehicleBlown ( veh ) ) then
  296. blowVehicle ( veh )
  297. end
  298. end
  299. addEvent("causeVehicleDamageFromMG", true)
  300. addEventHandler("causeVehicleDamageFromMG", getRootElement(), vehicle_demage)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement