Advertisement
Guest User

Untitled

a guest
Aug 14th, 2013
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.88 KB | None | 0 0
  1. --------------------
  2. -- Copyright 2012 --
  3. -- tiRed und RenX --
  4. --------------------
  5.  
  6. TABLE_posCarBlinker = {}
  7. TABLE_posCarBlinker = { { -1, 2.5, -0.2}, { -1, -2.3, 0}, { 1, 2.5, -0.2 }, { 1, -2.3, 0 } } -- Position der Blinker ( bei Autos )
  8. TABLE_posLKWBlinker = {}
  9. TABLE_posLKWBlinker = { { -1, 3, -0.2}, { -1, -3, -0.2 }, { 1, 3, -0.2 }, { 1, -3, -0.2 } } -- Position der Blinker ( bei LKW )
  10. TABLE_posBusBlinker = {}
  11. TABLE_posBusBlinker = { { -1.3, 5.3, 0}, { -1.3, -5.3, 0 }, { 1.3, 5.3, 0 }, { 1.3, -5.3, 0 } } -- Position der Blinker ( bei Bus )
  12.  
  13.  
  14.  
  15.  
  16. TABLE_BlinkerDefault = {} -- Blinker erstellen
  17. TABLE_timer = { {}, {}, {} } -- Timer
  18.  
  19. function setBlinker_func ( player )
  20. local vehicle = getPedOccupiedVehicle ( player )
  21. if vehicle then
  22. if getVehicleController ( vehicle ) == player then
  23. local id = getElementModel ( vehicle )
  24. if cars[id] or lkws[id] or bus[id] then
  25. if not getElementData ( vehicle, "blinker" ) then
  26. setElementData ( vehicle, "blinker", true )
  27. TABLE_BlinkerDefault[vehicle] = {}
  28. TABLE_BlinkerDefault[vehicle][1] = createMarker ( 0, 0, 0, "corona", 0.3, 255, 102, 0, 0 ) -- Linker Blinker VORNE
  29. TABLE_BlinkerDefault[vehicle][2] = createMarker ( 0, 0, 0, "corona", 0.3, 255, 102, 0, 0 ) -- Linker Blinker HINTEN
  30. TABLE_BlinkerDefault[vehicle][3] = createMarker ( 0, 0, 0, "corona", 0.3, 255, 102, 0, 0 ) -- Rechter Blinker VORNE
  31. TABLE_BlinkerDefault[vehicle][4] = createMarker ( 0, 0, 0, "corona", 0.3, 255, 102, 0, 0 ) -- Rechter Blinker HINTEN
  32. if cars[id] then
  33. attachElements ( TABLE_BlinkerDefault[vehicle][1], vehicle, TABLE_posCarBlinker[1][1], TABLE_posCarBlinker[1][2], TABLE_posCarBlinker[1][3] )
  34. attachElements ( TABLE_BlinkerDefault[vehicle][2], vehicle, TABLE_posCarBlinker[2][1], TABLE_posCarBlinker[2][2], TABLE_posCarBlinker[2][3] )
  35. attachElements ( TABLE_BlinkerDefault[vehicle][3], vehicle, TABLE_posCarBlinker[3][1], TABLE_posCarBlinker[3][2], TABLE_posCarBlinker[3][3] )
  36. attachElements ( TABLE_BlinkerDefault[vehicle][4], vehicle, TABLE_posCarBlinker[4][1], TABLE_posCarBlinker[4][2], TABLE_posCarBlinker[4][3] )
  37. elseif lkws[id] then
  38. attachElements ( TABLE_BlinkerDefault[vehicle][1], vehicle, TABLE_posLKWBlinker[1][1], TABLE_posLKWBlinker[1][2], TABLE_posLKWBlinker[1][3] )
  39. attachElements ( TABLE_BlinkerDefault[vehicle][2], vehicle, TABLE_posLKWBlinker[2][1], TABLE_posLKWBlinker[2][2], TABLE_posLKWBlinker[2][3] )
  40. attachElements ( TABLE_BlinkerDefault[vehicle][3], vehicle, TABLE_posLKWBlinker[3][1], TABLE_posLKWBlinker[3][2], TABLE_posLKWBlinker[3][3] )
  41. attachElements ( TABLE_BlinkerDefault[vehicle][4], vehicle, TABLE_posLKWBlinker[4][1], TABLE_posLKWBlinker[4][2], TABLE_posLKWBlinker[4][3] )
  42. elseif bus[id] then
  43. attachElements ( TABLE_BlinkerDefault[vehicle][1], vehicle, TABLE_posBusBlinker[1][1], TABLE_posBusBlinker[1][2], TABLE_posBusBlinker[1][3] )
  44. attachElements ( TABLE_BlinkerDefault[vehicle][2], vehicle, TABLE_posBusBlinker[2][1], TABLE_posBusBlinker[2][2], TABLE_posBusBlinker[2][3] )
  45. attachElements ( TABLE_BlinkerDefault[vehicle][3], vehicle, TABLE_posBusBlinker[3][1], TABLE_posBusBlinker[3][2], TABLE_posBusBlinker[3][3] )
  46. attachElements ( TABLE_BlinkerDefault[vehicle][4], vehicle, TABLE_posBusBlinker[4][1], TABLE_posBusBlinker[4][2], TABLE_posBusBlinker[4][3] )
  47. end
  48. end
  49. end
  50. end
  51. end
  52. end
  53.  
  54.  
  55. -- Linker Blinker
  56. function leftBlinker_statechange ( player )
  57. local vehicle = getPedOccupiedVehicle ( player )
  58. if vehicle then
  59. if getVehicleController ( vehicle ) == player then
  60. local id = getElementModel ( vehicle )
  61. if cars[id] or lkws[id] or bus[id] then
  62. if getElementData ( vehicle, "blinker_r") then -- Rechter Blinker
  63. setElementData ( vehicle, "blinker_r", false )
  64. killTimer ( TABLE_timer[2][vehicle] ) -- Rechter Blinker killen
  65. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 0 ) -- Rechter Blinker Vorne unsichtbar
  66. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 0 ) -- Rechter Blinker Hinten unsichtbar
  67. triggerClientEvent ( player, "blinkerright", getRootElement(), false )
  68. elseif getElementData ( vehicle, "blinker_a" ) then -- Warnblinkanlage
  69. setElementData ( vehicle, "blinker_a", false )
  70. killTimer ( TABLE_timer[3][vehicle] ) -- Warnblinkanlage killen
  71. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 0 ) -- Linker Blinker Vorne unsichtbar
  72. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 0 ) -- Linker Blinker Hinten unsichtbar
  73. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 0 ) -- Rechter Blinker Vorne unsichtbar
  74. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 0 ) -- Rechter Blinker Hinten unsichtbar
  75. triggerClientEvent ( player, "blinkerall", getRootElement(), false )
  76. end
  77. if not getElementData ( vehicle, "blinker_l" ) then
  78. setElementData ( vehicle, "blinker_l", true )
  79. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 255 ) -- Linker Blinker Vorne
  80. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 255 ) -- Linker Blinker Hinten
  81. TABLE_timer[1][vehicle] = setTimer ( leftBlinker_timer, 500, 0, vehicle, 1, 2 )
  82. triggerClientEvent ( player, "blinkerleft", getRootElement(), true )
  83. elseif getElementData ( vehicle, "blinker_l" ) then
  84. setElementData ( vehicle, "blinker_l", false )
  85. killTimer( TABLE_timer[1][vehicle] ) -- Linker Blinker killen
  86. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 0 ) -- Linker Blinker Vorne unsichtbar
  87. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 0 ) -- Linker Blinker Hinten unsichtbar
  88. triggerClientEvent ( player, "blinkerleft", getRootElement(), false )
  89. end
  90. end
  91. end
  92. end
  93. end
  94.  
  95.  
  96. function leftBlinker_timer ( vehicle, vorne, hinten )
  97. local r,g,b,a = getMarkerColor ( TABLE_BlinkerDefault[vehicle][vorne] )
  98. if tonumber ( a ) == 50 then
  99. setMarkerColor ( TABLE_BlinkerDefault[vehicle][vorne], 255, 102, 0, 255 )
  100. setMarkerColor ( TABLE_BlinkerDefault[vehicle][hinten], 255, 102, 0, 255 )
  101. triggerClientEvent ( getVehicleOccupant ( vehicle ), "blinkerleft", getRootElement(), true )
  102. else
  103. setMarkerColor ( TABLE_BlinkerDefault[vehicle][vorne], 255, 102, 0, 50 )
  104. setMarkerColor ( TABLE_BlinkerDefault[vehicle][hinten], 255, 102, 0, 50 )
  105. triggerClientEvent ( getVehicleOccupant ( vehicle ), "blinkerleft", getRootElement(), false )
  106. end
  107. end
  108.  
  109. -- Rechter Blinker
  110. function rightBlinker_statechange ( player )
  111. local vehicle = getPedOccupiedVehicle ( player )
  112. if vehicle then
  113. if getVehicleController ( vehicle ) == player then
  114. local id = getElementModel ( vehicle )
  115. if cars[id] or lkws[id] or bus[id] then
  116. if getElementData ( vehicle, "blinker_l" ) then
  117. setElementData ( vehicle, "blinker_l", false )
  118. killTimer( TABLE_timer[1][vehicle] ) -- Linker Blinker killen
  119. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 0 ) -- Linker Blinker Vorne unsichtbar
  120. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 0 ) -- Linker Blinker Hinten unsichtbar
  121. triggerClientEvent ( player, "blinkerleft", getRootElement(), false )
  122. elseif getElementData ( vehicle, "blinker_a" ) then
  123. setElementData ( vehicle, "blinker_a", false )
  124. killTimer ( TABLE_timer[3][vehicle] ) -- Warnblinkanlage killen
  125. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 0 ) -- Linker Blinker Vorne unsichtbar
  126. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 0 ) -- Linker Blinker Hinten unsichtbar
  127. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 0 ) -- Rechter Blinker Vorne unsichtbar
  128. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 0 ) -- Rechter Blinker Hinten unsichtbar
  129. triggerClientEvent ( player, "blinkerall", getRootElement(), false )
  130. end
  131. if not getElementData ( vehicle, "blinker_r" ) then
  132. setElementData ( vehicle, "blinker_r", true )
  133. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 255 ) -- Linker Blinker Vorne
  134. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 255 ) -- Linker Blinker Hinten
  135. TABLE_timer[2][vehicle] = setTimer ( rightBlinker_timer, 500, 0, vehicle, 3, 4 )
  136. triggerClientEvent ( player, "blinkerright", getRootElement(), true )
  137. elseif getElementData ( vehicle, "blinker_r" ) then
  138. setElementData ( vehicle, "blinker_r", false )
  139. killTimer ( TABLE_timer[2][vehicle] ) -- Rechter Blinker killen
  140. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 0 ) -- Rechter Blinker Vorne unsichtbar
  141. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 0 ) -- Rechter Blinker Hinten unsichtbar
  142. triggerClientEvent ( player, "blinkerright", getRootElement(), false )
  143. end
  144. end
  145. end
  146. end
  147. end
  148.  
  149. function rightBlinker_timer ( vehicle, vorne, hinten )
  150. local r,g,b,a = getMarkerColor ( TABLE_BlinkerDefault[vehicle][vorne] )
  151. if tonumber ( a ) == 50 then
  152. setMarkerColor ( TABLE_BlinkerDefault[vehicle][vorne], 255, 102, 0, 255 )
  153. setMarkerColor ( TABLE_BlinkerDefault[vehicle][hinten], 255, 102, 0, 255 )
  154. triggerClientEvent ( getVehicleOccupant ( vehicle ), "blinkerright", getRootElement(), true )
  155. else
  156. setMarkerColor ( TABLE_BlinkerDefault[vehicle][vorne], 255, 102, 0, 50 )
  157. setMarkerColor ( TABLE_BlinkerDefault[vehicle][hinten], 255, 102, 0, 50 )
  158. triggerClientEvent ( getVehicleOccupant ( vehicle ), "blinkerright", getRootElement(), false )
  159. end
  160. end
  161.  
  162. -- Warnblinkanlage
  163. function allBlinker_statechange ( player )
  164. local vehicle = getPedOccupiedVehicle ( player )
  165. if vehicle then
  166. if getVehicleController ( vehicle ) == player then
  167. local id = getElementModel ( vehicle )
  168. if cars[id] or lkws[id] or bus[id] then
  169. if getElementData ( vehicle, "blinker_l" ) then
  170. setElementData ( vehicle, "blinker_l", false )
  171. killTimer( TABLE_timer[1][vehicle] ) -- Linker Blinker killen
  172. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 0 ) -- Linker Blinker Vorne unsichtbar
  173. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 0 ) -- Linker Blinker Hinten unsichtbar
  174. triggerClientEvent ( player, "blinkerleft", getRootElement(), false )
  175. elseif getElementData ( vehicle, "blinker_r") then -- Rechter Blinker
  176. setElementData ( vehicle, "blinker_r", false )
  177. killTimer ( TABLE_timer[2][vehicle] ) -- Rechter Blinker killen
  178. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 0 ) -- Rechter Blinker Vorne unsichtbar
  179. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 0 ) -- Rechter Blinker Hinten unsichtbar
  180. triggerClientEvent ( player, "blinkerright", getRootElement(), false )
  181. end
  182. if not getElementData ( vehicle, "blinker_a" ) then
  183. setElementData ( vehicle, "blinker_a", true )
  184. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 255 ) -- Linker Blinker Vorne
  185. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 255 ) -- Linker Blinker Hinten
  186. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 255 ) -- Rechter Blinker Vorne
  187. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 255 ) -- Rechter Blinker Hinten
  188. TABLE_timer[3][vehicle] = setTimer ( allBlinker_timer, 500, 0, vehicle )
  189. triggerClientEvent ( player, "blinkerall", getRootElement(), true )
  190. elseif getElementData ( vehicle, "blinker_a" ) then
  191. setElementData ( vehicle, "blinker_a", false )
  192. killTimer ( TABLE_timer[3][vehicle] ) -- Warnblinkanlage killen
  193. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 0 ) -- Linker Blinker Vorne unsichtbar
  194. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 0 ) -- Linker Blinker Hinten unsichtbar
  195. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 0 ) -- Rechter Blinker Vorne unsichtbar
  196. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 0 ) -- Rechter Blinker Hinten unsichtbar
  197. triggerClientEvent ( player, "blinkerall", getRootElement(), false )
  198. end
  199. end
  200. end
  201. end
  202. end
  203.  
  204. function allBlinker_timer ( vehicle )
  205. local r,g,b,a = getMarkerColor ( TABLE_BlinkerDefault[vehicle][1] )
  206. if tonumber ( a ) == 50 then
  207. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 255 )
  208. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 255 )
  209. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 255 )
  210. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 255 )
  211. triggerClientEvent ( getVehicleOccupant ( vehicle ), "blinkerall", getRootElement(), false )
  212. else
  213. setMarkerColor ( TABLE_BlinkerDefault[vehicle][1], 255, 102, 0, 50 )
  214. setMarkerColor ( TABLE_BlinkerDefault[vehicle][2], 255, 102, 0, 50 )
  215. setMarkerColor ( TABLE_BlinkerDefault[vehicle][3], 255, 102, 0, 50 )
  216. setMarkerColor ( TABLE_BlinkerDefault[vehicle][4], 255, 102, 0, 50 )
  217. triggerClientEvent ( getVehicleOccupant ( vehicle ), "blinkerall", getRootElement(), false )
  218. end
  219. end
  220.  
  221. addEventHandler("onElementDestroy", getRootElement(),
  222. function ( )
  223. if getElementType ( source ) == "vehicle" then
  224. if getElementData ( source, "blinker_l" ) then
  225. setElementData ( source, "blinker_l", false )
  226. killTimer ( TABLE_timer[1][source] )
  227. destroyElement ( TABLE_BlinkerDefault[source][1] )
  228. destroyElement ( TABLE_BlinkerDefault[source][2] )
  229. elseif getElementData ( source, "blinker_r" ) then
  230. setElementData ( source, "blinker_r", false )
  231. killTimer ( TABLE_timer[2][source] )
  232. destroyElement ( TABLE_BlinkerDefault[source][3] )
  233. destroyElement ( TABLE_BlinkerDefault[source][4] )
  234. elseif getElementData ( source, "blinker_a" ) then
  235. setElementData ( source, "blinker_a", false )
  236. killTimer ( TABLE_timer[3][source] )
  237. destroyElement ( TABLE_BlinkerDefault[source][1] )
  238. destroyElement ( TABLE_BlinkerDefault[source][2] )
  239. destroyElement ( TABLE_BlinkerDefault[source][3] )
  240. destroyElement ( TABLE_BlinkerDefault[source][4] )
  241. end
  242. end
  243. end
  244. )
  245.  
  246. addEventHandler("onVehicleExplode", getRootElement(),
  247. function ( )
  248. if getElementData ( source, "blinker_l" ) then
  249. setElementData ( source, "blinker_l", false )
  250. killTimer ( TABLE_timer[1][source] )
  251. destroyElement ( TABLE_BlinkerDefault[source][1] )
  252. destroyElement ( TABLE_BlinkerDefault[source][2] )
  253. elseif getElementData ( source, "blinker_r" ) then
  254. setElementData ( source, "blinker_r", false )
  255. killTimer ( TABLE_timer[2][source] )
  256. destroyElement ( TABLE_BlinkerDefault[source][3] )
  257. destroyElement ( TABLE_BlinkerDefault[source][4] )
  258. elseif getElementData ( source, "blinker_a" ) then
  259. setElementData ( source, "blinker_a", false )
  260. killTimer ( TABLE_timer[3][source] )
  261. destroyElement ( TABLE_BlinkerDefault[source][1] )
  262. destroyElement ( TABLE_BlinkerDefault[source][2] )
  263. destroyElement ( TABLE_BlinkerDefault[source][3] )
  264. destroyElement ( TABLE_BlinkerDefault[source][4] )
  265. end
  266. end
  267. )
  268.  
  269. function resetblinker ( vehicle )
  270. if getElementData ( vehicle, "blinker_l" ) then
  271. setElementData ( vehicle, "blinker_l", false )
  272. killTimer ( TABLE_timer[1][vehicle] )
  273. destroyElement ( TABLE_BlinkerDefault[vehicle][1] )
  274. destroyElement ( TABLE_BlinkerDefault[vehicle][2] )
  275. elseif getElementData ( vehicle, "blinker_r" ) then
  276. setElementData ( vehicle, "blinker_r", false )
  277. killTimer ( TABLE_timer[2][vehicle] )
  278. destroyElement ( TABLE_BlinkerDefault[vehicle][3] )
  279. destroyElement ( TABLE_BlinkerDefault[vehicle][4] )
  280. elseif getElementData ( vehicle, "blinker_a" ) then
  281. setElementData ( vehicle, "blinker_a", false )
  282. killTimer ( TABLE_timer[3][vehicle] )
  283. destroyElement ( TABLE_BlinkerDefault[vehicle][1] )
  284. destroyElement ( TABLE_BlinkerDefault[vehicle][2] )
  285. destroyElement ( TABLE_BlinkerDefault[vehicle][3] )
  286. destroyElement ( TABLE_BlinkerDefault[vehicle][4] )
  287. end
  288. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement