Advertisement
Guest User

Hydradm (Bionix)

a guest
Mar 16th, 2011
468
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.76 KB | None | 0 0
  1. //***Hydra DM*** Script owned by aelfred aka Englander
  2. #include <a_samp>
  3. #include <streamer>
  4. #include <zcmd>
  5.  
  6. #undef MAX_PLAYERS
  7. #define MAX_PLAYERS (50)
  8.  
  9. #define HYDRA_LOGS// comment and compile to disable file logging
  10. #define HYDRA_EVENTLOG ("/hdm/eventlog.txt")
  11.  
  12. #define COLOUR_RED (0xFF7A7AFF)
  13. #define GREEN (0x00EE00FF)
  14.  
  15. #define HYDRA_WORLD (1984)
  16.  
  17. #define MAX_H_PICKUPS (20)
  18.  
  19. #define HDM_JOIN_TIME (30)//seconds - time it will take to teleport to the area (anti - evadedeath abuse)
  20.  
  21. enum HDM_PSAVE
  22. {
  23. Float:hdm_xpos,
  24. Float:hdm_ypos,
  25. Float:hdm_zpos,
  26. Float:hdm_angle,
  27. Float:hdm_health,
  28. Float:hdm_armour,
  29. hdm_weapons[13],
  30. hdm_ammo[13],
  31. hdm_world,
  32. hdm_interior,
  33. hdm_money,
  34. points
  35. }
  36.  
  37. new hdm_PositionInfo[MAX_PLAYERS][HDM_PSAVE];
  38.  
  39. new hdm_Vehicles[124];
  40. //Spawns ///////////////////////////////////////////////////////////////////////
  41. new Float:hdm_sfspawns[][4] =
  42. {
  43. {-1731.1409,-515.1472,14.1484,250.3323},
  44. {-1695.1316,-458.9703,14.1440,231.6366},
  45. {-1717.1395,-444.1720,14.1484,18.9045},
  46. {-1630.6888,-480.5114,22.0878,46.5825},
  47. {-1605.0040,-491.6891,22.0878,47.3136},
  48. {-1599.0651,-511.4464,22.0938,43.8436},
  49. {-1577.9191,-518.0285,22.0938,47.8125}
  50. };
  51.  
  52. new Float:hdm_lsspawns[][4] =
  53. {
  54. {1932.6709,-2613.2571,13.5469,200.7496},
  55. {1984.9918,-2642.7751,13.5469,355.9555},
  56. {2040.6644,-2639.8350,13.5469,3.6845},
  57. {1860.2072,-2629.0698,13.5469,358.3578},
  58. {1454.0518,-2643.9753,29.5309,3.1389},
  59. {1428.9087,-2648.2866,13.5469,0.2145},
  60. {1409.0420,-2638.9641,13.5469,336.9232},
  61. {1375.6110,-2607.7432,13.5469,219.5266},
  62. {1827.0909,-2420.5928,13.5547,1.3304},
  63. {1883.1597,-2533.6301,17.2344,176.7175}
  64. };
  65.  
  66. new Float:hdm_lvspawns[][4] =
  67. {
  68. {1610.8257,1592.0640,10.8203,84.0785}
  69. };
  70.  
  71. new stock Float:hdm_randompickups [MAX_H_PICKUPS][3] =
  72. {
  73. {-1411.9866,-523.9034,17.4451},
  74. {-1406.2982,-535.8403,17.4451},
  75. {-1449.8182,-510.1759,14.1776},
  76. {-1408.9218,-530.0074,14.1719},
  77. {-1450.6086,-562.4755,14.1719},
  78. {-1526.7629,-576.8246,14.6520},
  79. {1598.7837,1596.5858,10.8203},
  80. {1920.6658,-2668.6357,13.5532},
  81. {1884.1136,-2552.9258,17.2358},
  82. {1805.0806,-2441.9719,13.5547},
  83. {1586.0767,-2666.4905,13.5469},
  84. {1454.0518,-2643.9753,29.5309}
  85. };
  86.  
  87. new hdm_pickupids[MAX_H_PICKUPS] = {-1,...};//create 10 pickups then when one is picked up create another
  88.  
  89. //TextDraws ////////////////////////////////////////////////////////////////////
  90. new
  91. Text:hdm_ScoreTxt[MAX_PLAYERS] = {Text:INVALID_TEXT_DRAW, ...},
  92. Text:hdm_ScoreNum[MAX_PLAYERS] = {Text:INVALID_TEXT_DRAW, ...},
  93. Text:hdm_ScoreNum2[MAX_PLAYERS]= {Text:INVALID_TEXT_DRAW, ...};
  94. ////////////////////////////////////////////////////////////////////////////////
  95. //forwards /////////////////////////////////////////////////////////////////////
  96. ////////////////////////////////////////////////////////////////////////////////
  97. OnPlayerPickUpDynamicPickup(playerid, pickupid);
  98. hdm_OnPlayerEnterHydraZone(playerid);
  99. hdm_OnPlayerLeaveHydraZone(playerid);
  100. hdm_SpawnTimer(playerid);
  101. hdm_exittimer(playerid);
  102. hdm_DeathSpawnTimer(playerid);
  103. ////////////////////////////////////////////////////////////////////////////////
  104. //SA:MP Calbacks ///////////////////////////////////////////////////////////////
  105. ////////////////////////////////////////////////////////////////////////////////
  106. public OnFilterScriptInit()
  107. {
  108. CreateDynamicObject(987,-1654.69885254,-432.80484009,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (1)
  109. CreateDynamicObject(987,-1663.15747070,-424.32666016,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (2)
  110. CreateDynamicObject(987,-1671.61840820,-415.86694336,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (3)
  111. CreateDynamicObject(987,-1680.09667969,-407.44073486,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (4)
  112. CreateDynamicObject(987,-1688.53308105,-398.99047852,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (5)
  113. CreateDynamicObject(987,-1696.95568848,-390.55053711,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (6)
  114. CreateDynamicObject(987,-1705.42419434,-382.10559082,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (7)
  115. CreateDynamicObject(987,-1713.91552734,-373.65795898,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (8)
  116. CreateDynamicObject(987,-1722.39416504,-365.19177246,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (9)
  117. CreateDynamicObject(987,-1728.88464355,-358.90399170,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (10)
  118. CreateDynamicObject(987,-1562.34729004,-557.83575439,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (11)
  119. CreateDynamicObject(987,-1553.88330078,-566.29547119,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (12)
  120. CreateDynamicObject(987,-1545.45874023,-574.75335693,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (13)
  121. CreateDynamicObject(987,-1537.01550293,-583.20196533,13.14843750,0.00000000,0.00000000,135.00000000, HYDRA_WORLD); //object(elecfence_bar) (14)
  122. CreateDynamicObject(987,-1528.54565430,-574.68469238,13.14843750,0.00000000,0.00000000,225.20550537, HYDRA_WORLD); //object(elecfence_bar) (15)
  123. CreateDynamicObject(987,-1520.11450195,-566.21557617,13.14843750,0.00000000,0.00000000,225.20324707, HYDRA_WORLD); //object(elecfence_bar) (16)
  124. CreateDynamicObject(987,-1528.59887695,-557.71191406,13.14395714,0.00000000,0.00000000,315.00000000, HYDRA_WORLD); //object(elecfence_bar) (17)
  125. CreateDynamicObject(987,-1537.07702637,-549.25671387,13.14395714,0.00000000,0.00000000,314.99450684, HYDRA_WORLD); //object(elecfence_bar) (18)
  126. CreateDynamicObject(987,-1545.53356934,-540.80859375,13.14395714,0.00000000,0.00000000,314.99450684, HYDRA_WORLD); //object(elecfence_bar) (19)
  127. CreateDynamicObject(987,-1547.57958984,-538.61499023,13.14395714,0.00000000,0.00000000,314.99450684, HYDRA_WORLD); //object(el
  128. //iggy map SF
  129. CreateDynamicObject(16782,-1451.83679199,-505.91427612,14.37075615,0.00000000,0.00000000,298.00000000, HYDRA_WORLD); //object(a51_radar_scan) (1)
  130. CreateDynamicObject(1714,-1450.46899414,-508.81896973,13.17760849,0.00000000,0.00000000,30.00000000, HYDRA_WORLD); //object(kb_swivelchair1) (1)
  131. CreateDynamicObject(1810,-1450.22888184,-513.61151123,13.17760849,0.00000000,0.00000000,210.00000000, HYDRA_WORLD); //object(cj_foldchair) (1)
  132. CreateDynamicObject(1810,-1448.98107910,-512.95196533,13.17760849,0.00000000,0.00000000,209.99816895, HYDRA_WORLD); //object(cj_foldchair) (2)
  133. CreateDynamicObject(1810,-1447.47692871,-512.17437744,13.17760849,0.00000000,0.00000000,209.99816895, HYDRA_WORLD); //object(cj_foldchair) (3)
  134. CreateDynamicObject(1810,-1446.22595215,-511.52142334,13.17760849,0.00000000,0.00000000,209.99816895, HYDRA_WORLD); //object(cj_foldchair) (4)
  135. CreateDynamicObject(1810,-1446.22558594,-511.52050781,13.17760849,0.00000000,0.00000000,209.99816895, HYDRA_WORLD); //object(cj_foldchair) (5)
  136. CreateDynamicObject(1810,-1445.33959961,-513.07312012,13.17760849,0.00000000,0.00000000,209.99816895, HYDRA_WORLD); //object(cj_foldchair) (6)
  137. CreateDynamicObject(1810,-1446.48217773,-513.72509766,13.17760849,0.00000000,0.00000000,209.99816895, HYDRA_WORLD); //object(cj_foldchair) (7)
  138. CreateDynamicObject(1810,-1447.95983887,-514.54821777,13.17760849,0.00000000,0.00000000,209.99816895, HYDRA_WORLD); //object(cj_foldchair) (8)
  139. CreateDynamicObject(1810,-1449.19287109,-515.22851562,13.17760849,0.00000000,0.00000000,209.99816895, HYDRA_WORLD); //object(cj_foldchair) (10)
  140. CreateDynamicObject(3077,-1455.18896484,-507.92352295,13.17760849,0.00000000,0.00000000,28.00000000, HYDRA_WORLD); //object(nf_blackboard) (1)
  141. CreateDynamicObject(3077,-1448.30200195,-504.28784180,13.17760849,0.00000000,0.00000000,25.99816895, HYDRA_WORLD); //object(nf_blackboard) (2)
  142. CreateDynamicObject(2056,-1451.93261719,-564.34942627,13.93154621,0.00000000,0.00000000,117.99993896, HYDRA_WORLD); //object(cj_target6) (1)
  143. CreateDynamicObject(2056,-1452.32153320,-563.59606934,13.93154621,0.00000000,0.00000000,117.99865723, HYDRA_WORLD); //object(cj_target6) (2)
  144. CreateDynamicObject(2056,-1452.71020508,-562.84313965,13.93154621,0.00000000,0.00000000,117.99865723, HYDRA_WORLD); //object(cj_target6) (3)
  145. CreateDynamicObject(356,-1451.28540039,-565.64056396,13.42187500,0.00000000,276.39379883,299.59082031, HYDRA_WORLD); //object(2)
  146. CreateDynamicObject(356,-1451.42102051,-565.39227295,13.42187500,0.00000000,276.38854980,299.58618164, HYDRA_WORLD); //object(3)
  147. CreateDynamicObject(356,-1451.55676270,-565.14422607,13.42187500,0.00000000,276.38854980,299.58618164, HYDRA_WORLD); //object(4)
  148. CreateDynamicObject(356,-1451.55664062,-565.14355469,13.42187500,0.00000000,276.38854980,299.58618164, HYDRA_WORLD); //object(5)
  149. CreateDynamicObject(356,-1452.97668457,-562.16693115,13.42187500,0.00000000,276.38854980,299.58618164, HYDRA_WORLD); //object(6)
  150. CreateDynamicObject(356,-1453.15771484,-561.83618164,13.42187500,0.00000000,276.38854980,299.58618164, HYDRA_WORLD); //object(7)
  151. CreateDynamicObject(356,-1453.33837891,-561.50610352,13.42187500,0.00000000,276.38854980,299.58618164, HYDRA_WORLD); //object(8)
  152. CreateDynamicObject(3585,-1405.92663574,-535.84173584,14.80176353,0.00000000,0.00000000,295.75509644, HYDRA_WORLD); //object(lastran1_la02) (1)
  153. CreateDynamicObject(3585,-1412.02685547,-524.16845703,14.80176353,0.00000000,0.00000000,295.75195312, HYDRA_WORLD); //object(lastran1_la02) (2)
  154.  
  155. CreateDynamicObject(18715,1692.7489,-2538.9595,62.0240,124.7628, 0.0, 0.0, HYDRA_WORLD, -1, -1, 1000.0);
  156. CreateDynamicObject(18715,1754.4728,-2544.3628,62.0240,298.9226, 0.0, 0.0, HYDRA_WORLD, -1, -1, 1000.0);
  157. CreateDynamicObject(18715,1815.9968,-2542.8896,62.0240,124.7628, 0.0, 0.0, HYDRA_WORLD, -1, -1, 1000.0);
  158.  
  159. //IGGY MAP LS
  160. CreateDynamicObject(3491,1827.13037109,-2420.38867188,21.10000610,0.00000000,0.00000000,0.00000000, HYDRA_WORLD, -1, -1, 1000.0); //object(vegass_hanger2) (1)
  161. CreateDynamicObject(16782,1826.64184570,-2393.22998047,13.74783707,0.00000000,0.00000000,271.66320801, HYDRA_WORLD); //object(a51_radar_scan) (1)
  162. CreateDynamicObject(3279,1453.88537598,-2644.32202148,12.45279312,0.00000000,0.00000000,89.46228027, HYDRA_WORLD); //object(a51_spottower) (1)
  163. CreateDynamicObject(3864,1617.28198242,-2639.92846680,18.45573807,0.00000000,0.00000000,269.25402832, HYDRA_WORLD); //object(ws_floodlight) (1)
  164. CreateDynamicObject(3872,1617.95996094,-2633.18872070,19.60000801,0.00000000,2.40917969,263.63256836, HYDRA_WORLD); //object(ws_floodbeams) (1)
  165. CreateDynamicObject(3864,1682.78784180,-2639.90844727,18.45573807,0.00000000,0.00000000,269.25292969, HYDRA_WORLD); //object(ws_floodlight) (2)
  166. CreateDynamicObject(3872,1683.52551270,-2633.08056641,19.50592613,0.00000000,2.40600586,263.62792969, HYDRA_WORLD); //object(ws_floodbeams) (3)
  167. CreateDynamicObject(3864,1754.09606934,-2639.60791016,18.45573807,0.00000000,0.00000000,269.25292969, HYDRA_WORLD); //object(ws_floodlight) (3)
  168. CreateDynamicObject(3872,1754.82409668,-2632.72729492,19.50592613,0.00000000,2.40600586,263.62792969, HYDRA_WORLD); //object(ws_floodbeams) (5)
  169. CreateDynamicObject(3864,1822.38317871,-2639.84155273,18.45573807,0.00000000,0.00000000,269.25292969, HYDRA_WORLD); //object(ws_floodlight) (4)
  170. CreateDynamicObject(3872,1822.62536621,-2633.01147461,19.50592613,0.00000000,2.40600586,267.64318848, HYDRA_WORLD); //object(ws_floodbeams) (6)
  171. CreateDynamicObject(3864,1889.43823242,-2639.91699219,18.45573807,0.00000000,0.00000000,269.25292969, HYDRA_WORLD); //object(ws_floodlight) (5)
  172. CreateDynamicObject(3872,1889.66040039,-2633.08740234,19.50592613,0.00000000,2.40051270,267.63793945, HYDRA_WORLD); //object(ws_floodbeams) (7)
  173. CreateDynamicObject(7236,1819.94555664,-2543.71020508,38.16688538,0.00000000,0.00000000,0.00000000, HYDRA_WORLD, -1, -1, 1000.0); //object(vegasplant03b) (1)
  174. CreateDynamicObject(7236,1755.60131836,-2543.98779297,38.16688538,0.00000000,0.00000000,0.00000000, HYDRA_WORLD, -1, -1, 1000.0); //object(vegasplant03b) (2)
  175. CreateDynamicObject(7236,1695.99719238,-2542.46435547,38.16688538,0.00000000,0.00000000,0.00000000, HYDRA_WORLD, -1, -1, 1000.0); //object(vegasplant03b) (3)
  176.  
  177. //RANGER MAP LV
  178. CreateDynamicObject(8240,1294.04052734,1419.07739258,22.82453346,0.00000000,0.00000000,270.00000000, HYDRA_WORLD, -1, -1, 1000.0); //object(vgssbighanger1) (1)
  179.  
  180. // Hydra's SF AIRPORT
  181. hdm_Vehicles[0] = AddStaticVehicle(520, -1678.6724853516, -465.29016113281, 15.06353187561, 43.75, -1, -1); //0
  182. hdm_Vehicles[1] = AddStaticVehicle(520, -1652.876953125, -467.46038818359, 22.617158889771, 43.74755859375, -1, -1); //1
  183. hdm_Vehicles[2] = AddStaticVehicle(520, -1687.583984375, -473.32763671875, 15.06353187561, 43.74755859375, -1, -1); //2
  184. hdm_Vehicles[3] = AddStaticVehicle(520, -1696.49609375, -481.36474609375, 15.06353187561, 43.74755859375, -1, -1); //3
  185. hdm_Vehicles[4] = AddStaticVehicle(520, -1704.9899902344, -489.49945068359, 15.06353187561, 43.74755859375, -1, -1); //4
  186. hdm_Vehicles[5] = AddStaticVehicle(520, -1713.6708984375, -497.79931640625, 15.06353187561, 43.74755859375, -1, -1); //5
  187. hdm_Vehicles[6] = AddStaticVehicle(520, -1722.3525390625, -506.09912109375, 15.06353187561, 43.74755859375, -1, -1); //6
  188. hdm_Vehicles[7] = AddStaticVehicle(520, -1710.2592773438, -519.09826660156, 15.06353187561, 43.74755859375, -1, -1); //7
  189. hdm_Vehicles[8] = AddStaticVehicle(520, -1700.49609375, -510.51245117188, 15.06353187561, 43.74755859375, -1, -1); //8
  190. hdm_Vehicles[9] = AddStaticVehicle(520, -1719.1412353516, -527.53149414063, 15.06353187561, 43.74755859375, -1, -1); //9
  191. hdm_Vehicles[10] = AddStaticVehicle(520, -1729.2919921875, -537.169921875, 15.06353187561, 43.74755859375, -1, -1); //10
  192. hdm_Vehicles[11] = AddStaticVehicle(520, -1727.9122314453, -466.29388427734, 15.448751449585, 0.000000, -1, -1); //11
  193. hdm_Vehicles[12] = AddStaticVehicle(520, -1727.912109375, -451.79296875, 15.448751449585, 0.000000, -1, -1); //12
  194. hdm_Vehicles[13] = AddStaticVehicle(520, -1727.912109375, -436.04296875, 15.448751449585, 0.000000, -1, -1); //13
  195. hdm_Vehicles[14] = AddStaticVehicle(520, -1727.912109375, -420.29296875, 15.448751449585, 0.000000, -1, -1); //14
  196. hdm_Vehicles[15] = AddStaticVehicle(520, -1728.115234375, -404.294921875, 15.448751449585, 0.000000, -1, -1); //15
  197. hdm_Vehicles[16] = AddStaticVehicle(520, -1641.5866699219, -478.89727783203, 22.617158889771, 43.74755859375, -1, -1); //16
  198. hdm_Vehicles[17] = AddStaticVehicle(520, -1630.4537353516, -490.73486328125, 22.617158889771, 43.74755859375, -1, -1); //17
  199. hdm_Vehicles[18] = AddStaticVehicle(520, -1618.7497558594, -502.39114379883, 22.617158889771, 43.74755859375, -1, -1); //18
  200. hdm_Vehicles[19] = AddStaticVehicle(520, -1605.5405273438, -516.05847167969, 22.617158889771, 43.74755859375, -1, -1); //19
  201. hdm_Vehicles[20] = AddStaticVehicle(520, -1592.4714355469, -529.68780517578, 22.617158889771, 43.74755859375, -1, -1); //20
  202. hdm_Vehicles[21] = AddStaticVehicle(520, -1574.0400390625, -513.01300048828, 23.192150115967, 43.74755859375, -1, -1); //21
  203. hdm_Vehicles[22] = AddStaticVehicle(520, -1587.4091796875, -498.98077392578, 23.342147827148, 43.74755859375, -1, -1); //22
  204. hdm_Vehicles[23] = AddStaticVehicle(520, -1601.7133789063, -484.62866210938, 23.342147827148, 43.74755859375, -1, -1); //23
  205. hdm_Vehicles[24] = AddStaticVehicle(520, -1612.7772216797, -473.40881347656, 23.342147827148, 43.74755859375, -1, -1); //24
  206. hdm_Vehicles[25] = AddStaticVehicle(520, -1624.1802978516, -461.82214355469, 23.342147827148, 43.74755859375, -1, -1); //25
  207. hdm_Vehicles[26] = AddStaticVehicle(520, -1634.7346191406, -451.15258789063, 23.342147827148, 43.74755859375, -1, -1); //26
  208. //iggy vehicles SF VEHICLES
  209. hdm_Vehicles[27] = AddStaticVehicleEx(432,-1468.59729004,-520.78979492,14.27694416,205.99993896,-1,-1,15); //27
  210. hdm_Vehicles[28] = AddStaticVehicleEx(432,-1456.78698730,-515.57104492,14.27694416,205.99993896,-1,-1,15); //28
  211. hdm_Vehicles[29] = AddStaticVehicleEx(432,-1441.10693359,-508.72045898,14.27694416,205.99914551,-1,-1,15); //29
  212. hdm_Vehicles[30] = AddStaticVehicleEx(432,-1428.60961914,-503.02947998,14.27694416,205.99914551,-1,-1,15); //30
  213. hdm_Vehicles[31] = AddStaticVehicleEx(425,-1488.65710449,-532.23022461,14.99943733,204.20617676,-1,-1,15); //31
  214. hdm_Vehicles[32] = AddStaticVehicleEx(425,-1502.87622070,-538.45324707,14.99943733,204.20288086,-1,-1,15); //32
  215. hdm_Vehicles[33] = AddStaticVehicleEx(425,-1515.19995117,-543.84704590,14.99943733,204.20288086,-1,-1,15); //33
  216. //IGGY LS VEHICLES
  217. hdm_Vehicles[34] = AddStaticVehicleEx(520,1958.33666992,-2638.08300781,14.27302933,0.00000000,-1,-1,15); //Hydra
  218. hdm_Vehicles[35] = AddStaticVehicleEx(520,1976.29797363,-2637.80541992,14.35914612,359.19689941,-1,-1,15); //Hydra
  219. hdm_Vehicles[36] = AddStaticVehicleEx(520,1994.71765137,-2637.81152344,14.25975418,359.19250488,-1,-1,15); //Hydra
  220. hdm_Vehicles[37] = AddStaticVehicleEx(520,2013.53710938,-2637.20849609,14.27302933,359.19250488,-1,-1,15); //Hydra
  221. hdm_Vehicles[38] = AddStaticVehicleEx(520,2032.07800293,-2637.06372070,14.23054886,359.19250488,-1,-1,15); //Hydra
  222. hdm_Vehicles[39] = AddStaticVehicleEx(520,2049.95678711,-2636.92431641,14.33640671,359.19250488,-1,-1,15); //Hydra
  223. hdm_Vehicles[40] = AddStaticVehicleEx(425,2129.37377930,-2420.86938477,14.39787483,181.81121826,-1,-1,15); //Hunter
  224. hdm_Vehicles[41] = AddStaticVehicleEx(425,2096.03930664,-2421.85693359,14.39787483,180.20117188,-1,-1,15); //Hunter
  225. hdm_Vehicles[42] = AddStaticVehicleEx(520,2112.95751953,-2421.05322266,14.46645069,179.10638428,-1,-1,15); //Hydra
  226. hdm_Vehicles[43] = AddStaticVehicleEx(432,1806.51574707,-2399.51171875,13.65402412,181.79089355,-1,-1,15); //Rhino
  227. hdm_Vehicles[44] = AddStaticVehicleEx(432,1816.77429199,-2399.35205078,13.65402412,181.79077148,-1,-1,15); //Rhino
  228. hdm_Vehicles[45] = AddStaticVehicleEx(432,1837.95898438,-2398.84082031,13.65402412,181.79077148,-1,-1,15); //Rhino
  229. hdm_Vehicles[46] = AddStaticVehicleEx(432,1849.40966797,-2398.80468750,13.65402412,181.79077148,-1,-1,15); //Rhino
  230. hdm_Vehicles[47] = AddStaticVehicleEx(520,1872.12536621,-2439.78198242,14.47426319,271.66320801,-1,-1,15); //Hydra
  231. hdm_Vehicles[48] = AddStaticVehicleEx(520,1872.83886719,-2405.71411133,14.47426319,271.65893555,-1,-1,15); //Hydra
  232. hdm_Vehicles[49] = AddStaticVehicleEx(425,1874.53430176,-2422.12792969,14.40568733,269.82556152,-1,-1,15); //Hunter
  233. hdm_Vehicles[50] = AddStaticVehicleEx(520,1561.45629883,-2644.16674805,14.46645069,0.00000000,-1,-1,15); //Hydra
  234. hdm_Vehicles[51] = AddStaticVehicleEx(520,1542.76818848,-2644.60644531,14.46645069,0.00000000,-1,-1,15); //Hydra
  235. hdm_Vehicles[52] = AddStaticVehicleEx(520,1525.92077637,-2644.56274414,14.46645069,0.00000000,-1,-1,15); //Hydra
  236. hdm_Vehicles[53] = AddStaticVehicleEx(520,1508.79077148,-2644.51806641,14.46645069,0.00000000,-1,-1,15); //Hydra
  237. hdm_Vehicles[54] = AddStaticVehicleEx(520,1491.60192871,-2644.47875977,14.46645069,0.00000000,-1,-1,15); //Hydra
  238. hdm_Vehicles[55] = AddStaticVehicleEx(520,1471.35156250,-2644.43896484,14.46645069,0.80310059,-1,-1,15); //Hydra
  239. hdm_Vehicles[56] = AddStaticVehicleEx(425,1386.67163086,-2620.24780273,14.39787483,304.33673096,-1,-1,15); //Hunter
  240. hdm_Vehicles[57] = AddStaticVehicleEx(425,1401.22119141,-2632.91870117,14.39787483,321.99963379,-1,-1,15); //Hunter
  241. hdm_Vehicles[58] = AddStaticVehicleEx(425,1419.71142578,-2642.61157227,14.39787483,346.89318848,-1,-1,15); //Hunter
  242. hdm_Vehicles[59] = AddStaticVehicleEx(425,1439.05920410,-2643.61157227,14.39787483,358.93371582,-1,-1,15); //Hunter
  243. hdm_Vehicles[60] = AddStaticVehicleEx(520,1617.37023926,-2629.88598633,14.46645069,0.00000000,-1,-1,15); //Hydra
  244. hdm_Vehicles[61] = AddStaticVehicleEx(520,1682.28186035,-2628.87207031,14.46645069,3.21228027,-1,-1,15); //Hydra
  245. hdm_Vehicles[62] = AddStaticVehicleEx(520,1753.26647949,-2628.66552734,14.46645069,3.20800781,-1,-1,15); //Hydra
  246. hdm_Vehicles[63] = AddStaticVehicleEx(520,1821.62365723,-2628.91162109,14.46645069,3.20800781,-1,-1,15); //Hydra
  247. hdm_Vehicles[64] = AddStaticVehicleEx(520,1821.62365723,-2628.91162109,14.46645069,3.20800781,-1,-1,15); //Hydra
  248. hdm_Vehicles[65] = AddStaticVehicleEx(520,1889.70422363,-2627.92675781,14.46645069,1.60192871,-1,-1,15); //Hydra
  249. hdm_Vehicles[66] = AddStaticVehicleEx(520,2042.25354004,-2461.45019531,14.46645069,89.34484863,-1,-1,15); //Hydra
  250. hdm_Vehicles[67] = AddStaticVehicleEx(447,1711.31970215,-2415.24755859,13.65468788,180.09063721,-1,-1,15); //Seasparrow
  251. hdm_Vehicles[68] = AddStaticVehicleEx(447,1740.95227051,-2415.05761719,13.65468788,180.08789062,-1,-1,15); //Seasparrow
  252. hdm_Vehicles[69] = AddStaticVehicleEx(476,1726.06335449,-2414.13134766,14.72484016,181.65307617,-1,-1,15); //Rustler
  253. hdm_Vehicles[70] = AddStaticVehicleEx(520,1493.82678223,-2403.01904297,14.47426319,179.88543701,-1,-1,15); //Hydra
  254. hdm_Vehicles[71] = AddStaticVehicleEx(520,1474.06176758,-2403.39453125,14.47426319,179.88464355,-1,-1,15); //Hydra
  255. hdm_Vehicles[72] = AddStaticVehicleEx(425,1456.89624023,-2420.24633789,14.40568733,180.61822510,-1,-1,15); //Hunter
  256. hdm_Vehicles[73] = AddStaticVehicleEx(425,1442.40429688,-2420.39257812,14.40568733,180.61523438,-1,-1,15); //Hunter
  257. hdm_Vehicles[74] = AddStaticVehicleEx(425,1428.40014648,-2420.57080078,14.40568733,180.61523438,-1,-1,15); //Hunter
  258. hdm_Vehicles[75] = AddStaticVehicleEx(520,1414.53564453,-2417.54101562,14.47426319,180.20513916,-1,-1,15); //Hydra
  259. hdm_Vehicles[76] = AddStaticVehicleEx(425,1399.50878906,-2420.89111328,14.40568733,180.61523438,-1,-1,15); //Hunter
  260. hdm_Vehicles[77] = AddStaticVehicleEx(425,1384.23425293,-2420.55053711,14.40568733,180.61523438,-1,-1,15); //Hunter
  261. hdm_Vehicles[78] = AddStaticVehicleEx(425,1371.34155273,-2420.44628906,14.40568733,180.61523438,-1,-1,15); //Hunter
  262. //ranger lv vehicles ///////////////////////////////////////////////////////
  263. hdm_Vehicles[79] = AddStaticVehicleEx(520,1287.86870000,1410.49950000,11.54170000,270.97380000,54,99,15); //Hydra
  264. hdm_Vehicles[80] = AddStaticVehicleEx(520,1268.89770000,1438.02980000,11.53660000,270.36360000,125,106,15); //Hydra
  265. hdm_Vehicles[81] = AddStaticVehicleEx(520,1268.62940000,1421.78860000,11.53680000,268.21970000,27,30,15); //Hydra
  266. hdm_Vehicles[82] = AddStaticVehicleEx(520,1289.50560000,1445.28360000,11.54370000,183.20190000,74,80,15); //Hydra
  267. hdm_Vehicles[83] = AddStaticVehicleEx(520,1299.77760000,1445.42380000,11.54500000,184.36990000,83,92,15); //Hydra
  268. hdm_Vehicles[84] = AddStaticVehicleEx(520,1311.83410000,1445.35250000,11.54220000,183.12310000,101,122,15); //Hydra
  269. hdm_Vehicles[85] = AddStaticVehicleEx(520,1293.65030000,1399.77780000,11.54450000,269.59820000,30,50,15); //Hydra
  270. hdm_Vehicles[86] = AddStaticVehicleEx(520,1306.30750000,1392.90040000,11.54360000,0.00340000,72,79,15); //Hydra
  271. hdm_Vehicles[87] = AddStaticVehicleEx(520,1317.34200000,1392.72840000,11.54160000,359.79810000,37,105,15); //Hydra
  272. hdm_Vehicles[88] = AddStaticVehicleEx(520,1268.60020000,1392.70230000,14.32040000,278.41580000,120,43,15); //Hydra
  273. hdm_Vehicles[89] = AddStaticVehicleEx(520,1288.13160000,1428.09020000,11.53960000,269.04090000,66,1,15); //Hydra
  274. hdm_Vehicles[90] = AddStaticVehicleEx(520,1275.39500000,1408.38230000,14.33030000,0.18550000,97,30,15); //Hydra
  275. //IGGY LV VEHICLES
  276. hdm_Vehicles[91] = AddStaticVehicleEx(520,1522.65820312,1164.70141602,11.72473049,90.56127930,-1,-1,15); //Hydra
  277. hdm_Vehicles[92] = AddStaticVehicleEx(520,1522.04345703,1186.62744141,11.72473049,90.56030273,-1,-1,15); //Hydra
  278. hdm_Vehicles[93] = AddStaticVehicleEx(520,1521.83300781,1208.37329102,11.72473049,90.56030273,-1,-1,15); //Hydra
  279. hdm_Vehicles[94] = AddStaticVehicleEx(520,1522.04296875,1186.62695312,11.72473049,90.56030273,-1,-1,15); //Hydra
  280. hdm_Vehicles[95] = AddStaticVehicleEx(432,1559.06091309,1164.08520508,10.90449142,1.60607910,-1,-1,15); //Rhino
  281. hdm_Vehicles[96] = AddStaticVehicleEx(432,1568.66162109,1164.13781738,10.90449142,1.60400391,-1,-1,15); //Rhino
  282. hdm_Vehicles[97] = AddStaticVehicleEx(432,1594.24865723,1161.73559570,10.90449142,89.13781738,-1,-1,15); //Rhino
  283. hdm_Vehicles[98] = AddStaticVehicleEx(425,1585.72338867,1196.63110352,11.66349983,0.00000000,-1,-1,15); //Hunter
  284. hdm_Vehicles[99] = AddStaticVehicleEx(550,1487.49841309,1246.73535156,10.74309444,0.00000000,-1,-1,15); //Sunrise
  285. hdm_Vehicles[100] = AddStaticVehicleEx(476,1619.05261230,1293.21423340,11.98627567,91.22656250,-1,-1,15); //Rustler
  286. hdm_Vehicles[101] = AddStaticVehicleEx(476,1619.65246582,1273.17749023,11.98627567,91.22497559,-1,-1,15); //Rustler
  287. hdm_Vehicles[102] = AddStaticVehicleEx(476,1619.88110352,1251.58886719,11.98627567,91.22497559,-1,-1,15); //Rustler
  288. hdm_Vehicles[103] = AddStaticVehicleEx(447,1660.78735352,1547.68688965,10.89302254,56.19079590,-1,-1,15); //Seasparrow
  289. hdm_Vehicles[104] = AddStaticVehicleEx(447,1653.30371094,1536.57214355,10.89302254,56.18957520,-1,-1,15); //Seasparrow
  290. hdm_Vehicles[105] = AddStaticVehicleEx(447,1645.81713867,1525.68896484,10.89302254,56.18957520,-1,-1,15); //Seasparrow
  291. hdm_Vehicles[106] = AddStaticVehicleEx(425,1599.32092285,1382.80456543,22.39987373,136.56433105,-1,-1,15); //Hunter
  292. hdm_Vehicles[107] = AddStaticVehicleEx(425,1599.32031250,1382.80371094,22.39987373,136.56005859,-1,-1,15); //Hunter
  293. hdm_Vehicles[108] = AddStaticVehicleEx(520,1603.30053711,1448.28771973,34.29561234,89.91943359,-1,-1,15); //Hydra
  294. hdm_Vehicles[109] = AddStaticVehicleEx(425,1446.44653320,1228.24365234,11.67131233,0.00000000,-1,-1,15); //Hunter
  295. hdm_Vehicles[110] = AddStaticVehicleEx(425,1427.75695801,1227.77807617,11.67131233,0.00000000,-1,-1,15); //Hunter
  296. hdm_Vehicles[111] = AddStaticVehicleEx(425,1407.33361816,1227.40417480,11.67131233,0.00000000,-1,-1,15); //Hunter
  297. hdm_Vehicles[112] = AddStaticVehicleEx(425,1385.38244629,1227.23425293,11.67131233,0.00000000,-1,-1,15); //Hunter
  298. hdm_Vehicles[113] = AddStaticVehicleEx(520,1281.65283203,1324.27050781,11.73988819,270.05712891,-1,-1,15); //Hydra
  299. hdm_Vehicles[114] = AddStaticVehicleEx(520,1279.62487793,1362.10681152,11.73988819,270.05493164,-1,-1,15); //Hydra
  300. hdm_Vehicles[115] = AddStaticVehicleEx(520,1346.90710449,1848.18896484,11.73988819,179.26422119,-1,-1,15); //Hydra
  301. hdm_Vehicles[116] = AddStaticVehicleEx(520,1361.18847656,1848.09765625,11.73988819,179.26391602,-1,-1,15); //Hydra
  302. hdm_Vehicles[117] = AddStaticVehicleEx(520,1377.72070312,1847.99291992,11.73988819,179.26391602,-1,-1,15); //Hydra
  303. hdm_Vehicles[118] = AddStaticVehicleEx(425,1395.74072266,1847.92443848,11.67131233,180.85028076,-1,-1,15); //Hunter
  304. hdm_Vehicles[119] = AddStaticVehicleEx(425,1412.19677734,1847.44958496,11.67131233,180.84594727,-1,-1,15); //Hunter
  305. hdm_Vehicles[120] = AddStaticVehicleEx(425,1427.64160156,1847.58056641,11.67131233,180.84594727,-1,-1,15); //Hunter
  306. hdm_Vehicles[121] = AddStaticVehicleEx(520,1443.65454102,1847.84570312,11.73988819,179.26391602,-1,-1,15); //Hydra
  307. hdm_Vehicles[122] = AddStaticVehicleEx(520,1460.59448242,1847.90222168,11.73988819,179.26391602,-1,-1,15); //Hydra
  308. hdm_Vehicles[123] = AddStaticVehicleEx(520,1477.03186035,1847.79724121,11.73988819,179.26391602,-1,-1,15); //Hydra
  309. for(new i; i < sizeof(hdm_Vehicles); i++)
  310. SetVehicleVirtualWorld(hdm_Vehicles[i], HYDRA_WORLD);
  311. ////////////////////////////////////////////////////////////////////////////////
  312. //Pickups /////////////////////////////////////////////////////////////////////
  313. ////////////////////////////////////////////////////////////////////////////////
  314. hdm_pickupids[0] = CreateDynamicPickup(341, 1, -1411.9866,-523.9034,17.4451, HYDRA_WORLD);//chainsaw
  315. //hdm_pickupids[1] = CreateDynamicPickup(
  316.  
  317. SendClientMessageToAll(GREEN,"Type /hydradm To Enter The Hydra DeathMath Area");
  318.  
  319. AntiDeAMX();
  320. return 1;
  321. }
  322.  
  323. public OnFilterScriptExit()
  324. {
  325. for(new i; i < sizeof(hdm_Vehicles); i++)
  326. DestroyVehicle(hdm_Vehicles[i]);
  327. print("HydraDm Unloaded");
  328. return 1;
  329. }
  330.  
  331. public OnPlayerConnect(playerid)
  332. {
  333. SendClientMessage(playerid,GREEN,"Type /hydradm To Enter The Hydra DeathMath Area");
  334. return 1;
  335. }
  336.  
  337. public OnPlayerDisconnect(playerid, reason)
  338. {
  339. if(GetPVarInt(playerid, "hdm_inzone") == 1)
  340. CallLocalFunction("hdm_OnPlayerLeaveHydraZone", "i", playerid);
  341. return 1;
  342. }
  343.  
  344. public OnPlayerSpawn(playerid)
  345. {
  346. if(GetPVarInt(playerid, "hdm_inzone") == 1 && GetPVarInt(playerid, "hdm_justdied") == 1)
  347. {
  348. SetTimerEx("hdm_DeathSpawnTimer", 500, false, "i", playerid);
  349. DeletePVar(playerid, "hdm_justdied");
  350. }
  351. return 1;
  352. }
  353.  
  354. public OnPlayerDeath(playerid,killerid,reason)
  355. {
  356. if(GetPVarInt(playerid, "hdm_inzone") == 1)
  357. {
  358. SetPVarInt(playerid, "hdm_justdied",1);
  359. if(killerid != INVALID_PLAYER_ID)
  360. {
  361. new
  362. tdstr[11];
  363.  
  364. if(hdm_PositionInfo[killerid][points] == 9)
  365. {
  366. hdm_PositionInfo[killerid][points]++;
  367.  
  368. TextDrawDestroy(hdm_ScoreNum[killerid]);
  369. format(tdstr, sizeof(tdstr), "%d",hdm_PositionInfo[killerid][points]);
  370. hdm_ScoreNum2[killerid] = TextDrawCreate(545.000000, 113.000000, tdstr);
  371. TextDrawBackgroundColor(hdm_ScoreNum2[killerid], 255);
  372. TextDrawFont(hdm_ScoreNum2[killerid], 1);
  373. TextDrawLetterSize(hdm_ScoreNum2[killerid], 0.629999, 2.499999);
  374. TextDrawColor(hdm_ScoreNum2[killerid], -1);
  375. TextDrawSetOutline(hdm_ScoreNum2[killerid], 0);
  376. TextDrawSetProportional(hdm_ScoreNum2[killerid], 1);
  377. TextDrawSetShadow(hdm_ScoreNum2[killerid], 1);
  378. TextDrawShowForPlayer(killerid, hdm_ScoreNum2[killerid]);
  379. return 1;
  380. }
  381. hdm_PositionInfo[killerid][points]++;
  382. format(tdstr, sizeof(tdstr), "%d",hdm_PositionInfo[killerid][points]);
  383. TextDrawSetString(hdm_ScoreNum[killerid], tdstr);
  384. TextDrawSetString(hdm_ScoreNum2[killerid], tdstr);
  385. return 1;
  386. }
  387. }
  388. return 1;
  389. }
  390.  
  391. public OnPlayerEnterVehicle(playerid, vehicleid)
  392. {
  393. if(hdm_IsHydraDmVehicle(vehicleid))
  394. {
  395. }
  396. return 1;
  397. }
  398.  
  399. public OnPlayerExitVehicle(playerid, vehicleid)
  400. {
  401. if(hdm_IsHydraDmVehicle(vehicleid))
  402. {
  403. }
  404. return 1;
  405. }
  406.  
  407. public OnVehicleDeath(vehicleid, killerid)
  408. {
  409. if(hdm_IsHydraDmVehicle(vehicleid))
  410. {
  411. if(killerid != INVALID_PLAYER_ID)
  412. {
  413. new
  414. tdstr[11];
  415.  
  416. if(hdm_PositionInfo[killerid][points] == 9)
  417. {
  418. hdm_PositionInfo[killerid][points]++;
  419.  
  420. TextDrawDestroy(hdm_ScoreNum[killerid]);
  421. format(tdstr, sizeof(tdstr), "%d",hdm_PositionInfo[killerid][points]);
  422. hdm_ScoreNum2[killerid] = TextDrawCreate(545.000000, 113.000000, tdstr);
  423. TextDrawBackgroundColor(hdm_ScoreNum2[killerid], 255);
  424. TextDrawFont(hdm_ScoreNum2[killerid], 1);
  425. TextDrawLetterSize(hdm_ScoreNum2[killerid], 0.629999, 2.499999);
  426. TextDrawColor(hdm_ScoreNum2[killerid], -1);
  427. TextDrawSetOutline(hdm_ScoreNum2[killerid], 0);
  428. TextDrawSetProportional(hdm_ScoreNum2[killerid], 1);
  429. TextDrawSetShadow(hdm_ScoreNum2[killerid], 1);
  430. TextDrawShowForPlayer(killerid, hdm_ScoreNum2[killerid]);
  431. return 1;
  432. }
  433. hdm_PositionInfo[killerid][points]++;
  434. format(tdstr, sizeof(tdstr), "%d",hdm_PositionInfo[killerid][points]);
  435. TextDrawSetString(hdm_ScoreNum[killerid], tdstr);
  436. TextDrawSetString(hdm_ScoreNum2[killerid], tdstr);
  437. return 1;
  438. }
  439. }
  440. return 1;
  441. }
  442.  
  443. public OnPlayerPickUpDynamicPickup(playerid, pickupid)
  444. {
  445. return 1;
  446. }
  447.  
  448. ////////////////////////////////////////////////////////////////////////////////
  449. //Custom Callbacks /////////////////////////////////////////////////////////////
  450. ////////////////////////////////////////////////////////////////////////////////
  451. public hdm_OnPlayerEnterHydraZone(playerid)
  452. {
  453. new
  454. tdstr[11];
  455. format(tdstr, sizeof(tdstr), "%d", hdm_PositionInfo[playerid][points]);
  456. hdm_ScoreTxt[playerid] = TextDrawCreate(513.000000, 96.000000, "Score");
  457. TextDrawBackgroundColor(hdm_ScoreTxt[playerid], 255);
  458. TextDrawFont(hdm_ScoreTxt[playerid], 1);
  459. TextDrawLetterSize(hdm_ScoreTxt[playerid], 0.869999, 2.100000);
  460. TextDrawColor(hdm_ScoreTxt[playerid], 16711935);
  461. TextDrawSetOutline(hdm_ScoreTxt[playerid], 1);
  462. TextDrawSetProportional(hdm_ScoreTxt[playerid], 1);
  463.  
  464. if(hdm_PositionInfo[playerid][points] < 10)
  465. {
  466. hdm_ScoreNum[playerid] = TextDrawCreate(544.000000, 113.000000, tdstr);
  467. TextDrawBackgroundColor(hdm_ScoreNum[playerid], 255);
  468. TextDrawFont(hdm_ScoreNum[playerid], 1);
  469. TextDrawLetterSize(hdm_ScoreNum[playerid], 0.769999, 2.500000);
  470. TextDrawColor(hdm_ScoreNum[playerid], -16776961);
  471. TextDrawSetOutline(hdm_ScoreNum[playerid], 0);
  472. TextDrawSetProportional(hdm_ScoreNum[playerid], 1);
  473. TextDrawSetShadow(hdm_ScoreNum[playerid], 1);
  474. }
  475. else if(hdm_PositionInfo[playerid][points] > 9)
  476. {
  477. hdm_ScoreNum2[playerid] = TextDrawCreate(545.000000, 113.000000, "10");
  478. TextDrawBackgroundColor(hdm_ScoreNum2[playerid], 255);
  479. TextDrawFont(hdm_ScoreNum2[playerid], 1);
  480. TextDrawLetterSize(hdm_ScoreNum2[playerid], 0.629999, 2.499999);
  481. TextDrawColor(hdm_ScoreNum2[playerid], -1);
  482. TextDrawSetOutline(hdm_ScoreNum2[playerid], 0);
  483. TextDrawSetProportional(hdm_ScoreNum2[playerid], 1);
  484. TextDrawSetShadow(hdm_ScoreNum2[playerid], 1);
  485. }
  486.  
  487. TextDrawShowForPlayer(playerid, hdm_ScoreTxt[playerid]);
  488. TextDrawShowForPlayer(playerid, hdm_ScoreNum[playerid]);
  489. TextDrawShowForPlayer(playerid, hdm_ScoreNum2[playerid]);
  490. return 1;
  491. }
  492.  
  493. public hdm_OnPlayerLeaveHydraZone(playerid)
  494. {
  495. TextDrawDestroy(hdm_ScoreTxt[playerid]);
  496. TextDrawDestroy(hdm_ScoreNum[playerid]);
  497. TextDrawDestroy(hdm_ScoreNum2[playerid]);
  498. return 1;
  499. }
  500. ////////////////////////////////////////////////////////////////////////////////
  501. //Timers ///////////////////////////////////////////////////////////////////////
  502. ////////////////////////////////////////////////////////////////////////////////
  503. public hdm_SpawnTimer(playerid)
  504. {
  505. new
  506. hdm_randvar = random(3);
  507. switch(hdm_randvar)
  508. {
  509. case 0://sf
  510. {
  511.  
  512. hdm_SavePlayerPosInfo(playerid);
  513. hdm_randvar = random(sizeof(hdm_sfspawns));
  514.  
  515. SetPlayerPos(playerid, hdm_sfspawns[hdm_randvar][0], hdm_sfspawns[hdm_randvar][1],hdm_sfspawns[hdm_randvar][2]);
  516. SetPlayerFacingAngle(playerid, hdm_sfspawns[hdm_randvar][3]);
  517. SetCameraBehindPlayer(playerid);
  518. SetPlayerVirtualWorld(playerid, HYDRA_WORLD);
  519. SetPlayerInterior(playerid, 0);
  520. SetPlayerHealth(playerid, 100.0);
  521. SetPlayerArmour(playerid, 100.0);
  522. ResetPlayerMoney(playerid);
  523. SetPVarInt(playerid, "hdm_inzone", 1);
  524. return CallLocalFunction("hdm_OnPlayerEnterHydraZone", "i", playerid);
  525. }
  526. case 1://ls
  527. {
  528. hdm_SavePlayerPosInfo(playerid);
  529. hdm_randvar = random(sizeof(hdm_lsspawns));
  530.  
  531. SetPlayerPos(playerid, hdm_lsspawns[hdm_randvar][0], hdm_lsspawns[hdm_randvar][1], hdm_lsspawns[hdm_randvar][2]);
  532. SetPlayerFacingAngle(playerid, hdm_lsspawns[hdm_randvar][3]);
  533. SetCameraBehindPlayer(playerid);
  534. SetPlayerVirtualWorld(playerid, HYDRA_WORLD);
  535. SetPlayerInterior(playerid, 0);
  536. SetPlayerHealth(playerid, 100.0);
  537. SetPlayerArmour(playerid, 100.0);
  538. ResetPlayerMoney(playerid);
  539. SetPVarInt(playerid, "hdm_inzone", 1);
  540. return CallLocalFunction("hdm_OnPlayerEnterHydraZone", "i", playerid);
  541. }
  542. case 2://lv
  543. {
  544. hdm_SavePlayerPosInfo(playerid);
  545. hdm_randvar = random(sizeof(hdm_lvspawns));
  546.  
  547. SetPlayerPos(playerid, hdm_lvspawns[hdm_randvar][0], hdm_lvspawns[hdm_randvar][1], hdm_lvspawns[hdm_randvar][2]);
  548. SetPlayerFacingAngle(playerid, hdm_lvspawns[hdm_randvar][3]);
  549. SetCameraBehindPlayer(playerid);
  550. SetPlayerVirtualWorld(playerid, HYDRA_WORLD);
  551. SetPlayerInterior(playerid, 0);
  552. SetPlayerHealth(playerid, 100.0);
  553. SetPlayerArmour(playerid, 100.0);
  554. ResetPlayerMoney(playerid);
  555. SetPVarInt(playerid, "hdm_inzone", 1);
  556. return CallLocalFunction("hdm_OnPlayerEnterHydraZone", "i", playerid);
  557. }
  558. }
  559. return 1;
  560. }
  561.  
  562. public hdm_exittimer(playerid)
  563. {
  564. if(GetPVarInt(playerid, "hdm_inzone")==1)
  565. {
  566. hdm_LoadPlayerPosInfo(playerid);
  567. SendClientMessage(playerid, GREEN, "You have {FF7A7AFF}exited {00EE00FF}the hydra deathmatch zone!");
  568. DeletePVar(playerid, "hdm_inzone");
  569. CallLocalFunction("hdm_OnPlayerLeaveHydraZone", "i", playerid);
  570. return;
  571. }
  572. }
  573.  
  574. public hdm_DeathSpawnTimer(playerid)
  575. {
  576. new
  577. hdm_randvar = random(3);
  578. switch(hdm_randvar)
  579. {
  580. case 0://sf
  581. {
  582. hdm_randvar = random(sizeof(hdm_sfspawns));
  583.  
  584. SetPlayerPos(playerid, hdm_sfspawns[hdm_randvar][0], hdm_sfspawns[hdm_randvar][1],hdm_sfspawns[hdm_randvar][2]);
  585. SetPlayerFacingAngle(playerid, hdm_sfspawns[hdm_randvar][3]);
  586. SetCameraBehindPlayer(playerid);
  587. SetPlayerVirtualWorld(playerid, HYDRA_WORLD);
  588. SetPlayerInterior(playerid, 0);
  589. SetPlayerHealth(playerid, 100.0);
  590. SetPlayerArmour(playerid, 100.0);
  591. ResetPlayerMoney(playerid);
  592. SetPVarInt(playerid, "hdm_inzone", 1);
  593. }
  594. case 1://ls
  595. {
  596. hdm_randvar = random(sizeof(hdm_lsspawns));
  597.  
  598. SetPlayerPos(playerid, hdm_lsspawns[hdm_randvar][0], hdm_lsspawns[hdm_randvar][1], hdm_lsspawns[hdm_randvar][2]);
  599. SetPlayerFacingAngle(playerid, hdm_lsspawns[hdm_randvar][3]);
  600. SetCameraBehindPlayer(playerid);
  601. SetPlayerVirtualWorld(playerid, HYDRA_WORLD);
  602. SetPlayerInterior(playerid, 0);
  603. SetPlayerHealth(playerid, 100.0);
  604. SetPlayerArmour(playerid, 100.0);
  605. ResetPlayerMoney(playerid);
  606. SetPVarInt(playerid, "hdm_inzone", 1);
  607. }
  608. case 2://lv
  609. {
  610. hdm_randvar = random(sizeof(hdm_lvspawns));
  611.  
  612. SetPlayerPos(playerid, hdm_lvspawns[hdm_randvar][0], hdm_lvspawns[hdm_randvar][1], hdm_lvspawns[hdm_randvar][2]);
  613. SetPlayerFacingAngle(playerid, hdm_lvspawns[hdm_randvar][3]);
  614. SetCameraBehindPlayer(playerid);
  615. SetPlayerVirtualWorld(playerid, HYDRA_WORLD);
  616. SetPlayerInterior(playerid, 0);
  617. SetPlayerHealth(playerid, 100.0);
  618. SetPlayerArmour(playerid, 100.0);
  619. ResetPlayerMoney(playerid);
  620. SetPVarInt(playerid, "hdm_inzone", 1);
  621. }
  622. }
  623. return 1;
  624. }
  625.  
  626. ////////////////////////////////////////////////////////////////////////////////
  627. //player commands //////////////////////////////////////////////////////////////
  628. ////////////////////////////////////////////////////////////////////////////////
  629. COMMAND:hydradm(playerid,params[])
  630. {
  631. new
  632. fstr[100];
  633. format(fstr, sizeof(fstr), "/hdm/hydrabans/%s.txt", playername(playerid));
  634.  
  635. if(fexist(fstr))return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: You are banned from the hydra deathmatch");
  636. else
  637. {
  638. SetTimerEx("hdm_SpawnTimer", HDM_JOIN_TIME * 1000, false, "i", playerid);
  639. SendClientMessage(playerid, GREEN, "You will be teleported to the hydra area in 30 seconds");
  640. }
  641. return 1;
  642. }
  643.  
  644. COMMAND:hexit(playerid,params[])
  645. {
  646. if(GetPVarInt(playerid, "hdm_inzone")==1)
  647. {
  648. SetTimerEx("hdm_exittimer", HDM_JOIN_TIME * 1000, false, "i", playerid);
  649. SendClientMessage(playerid, 0xFF7A7AFF, "You will be exited from the hydra deathmatch in 30 seconds");
  650. }
  651. return 1;
  652. }
  653. ////////////////////////////////////////////////////////////////////////////////
  654. //admin commands ///////////////////////////////////////////////////////////////
  655. ////////////////////////////////////////////////////////////////////////////////
  656. COMMAND:hydraban(playerid, params[])
  657. {
  658. if(IsPlayerAdmin(playerid))
  659. {
  660. if(isnull(params))return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Usage /hydraban [name/id]. If player is not online enter name.");
  661. if(strlen(params) > MAX_PLAYER_NAME)return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Name is too long");
  662. if(isnumeric(params))
  663. {
  664. new id = strval(params);
  665.  
  666. if(!IsPlayerConnected(playerid))return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Player not found");
  667. else
  668. {
  669. new fstr[100];
  670. format(fstr, sizeof(fstr), "/hdm/hydrabans/%s.txt", playername(id));
  671. hdm_WriteLog(fstr, "Banned");
  672. return 1;
  673. }
  674. }
  675. else
  676. {
  677. new id = INVALID_PLAYER_ID;
  678.  
  679. for(new i; i < MAX_PLAYERS; i++)
  680. {
  681. if(!IsPlayerConnected(i))continue;
  682. if(!strcmp(params, playername(i))) {id = i; break;}
  683. }
  684. if(id != INVALID_PLAYER_ID)//player online
  685. {
  686. new fstr[100];
  687. format(fstr, sizeof(fstr), "Adminstrator %s has banned you from the hydra deathmatch", playername(playerid));
  688. SendClientMessage(id, 0xFF7A7AFF, fstr);
  689. format(fstr, sizeof(fstr), "|SERVER|: %s has been banned from the hydra deathmatch", playername(id));
  690. SendClientMessageToAll(0xFF7A7AFF, fstr);
  691. if(GetPVarInt(playerid, "hdm_inzone") == 1)
  692. hdm_LoadPlayerPosInfo(playerid) &&
  693. DeletePVar(playerid, "hdm_inzone");
  694.  
  695. format(fstr, sizeof(fstr), "/hdm/hydrabans/%s.txt", playername(id));
  696. hdm_WriteLog(fstr,"banned");
  697. return 1;
  698. }
  699. else//player not online
  700. {
  701. SendClientMessage(playerid, 0xFF7A7AFF, "That player wasn't online the name has been banned from the hydra deathmatch");
  702. new
  703. fstr[100];
  704. format(fstr, sizeof(fstr), "/hdm/hydrabans/%s.txt", params);
  705. hdm_WriteLog(fstr,"banned");
  706. }
  707. }
  708. }
  709. else SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: You dont have permission to use that command!");
  710. return 1;
  711. }
  712.  
  713. COMMAND:hydraunban(playerid, params[])
  714. {
  715. if(IsPlayerAdmin(playerid))
  716. {
  717. if(isnull(params))return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Usage /hydraunban [name/id]. If player is not online enter name.");
  718. if(strlen(params) > MAX_PLAYER_NAME)return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Name is too long");
  719. if(isnumeric(params))
  720. {
  721. new id = strval(params);
  722.  
  723. if(!IsPlayerConnected(playerid))return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Player not found");
  724. else
  725. {
  726. new fstr[100];
  727. format(fstr, sizeof(fstr), "/hdm/hydrabans/%s.txt", playername(id));
  728. if(!fexist(fstr))return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Player is not banned from the hydra deathmatch");
  729. else
  730. {
  731. fremove(fstr);
  732. return 1;
  733. }
  734. }
  735. }
  736. else
  737. {
  738. new
  739. id = INVALID_PLAYER_ID;
  740.  
  741. for(new i; i < MAX_PLAYERS; i++)
  742. {
  743. if(!IsPlayerConnected(i))continue;
  744. if(!strcmp(params, playername(i))) { id = i; break;}
  745. }
  746. if(id != INVALID_PLAYER_ID)
  747. {
  748. new fstr[100];
  749. format(fstr, sizeof(fstr), "/hdm/hydrabans/%s.txt", playername(id));
  750. if(!fexist(fstr))return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Player is not banned from the hydra deathmatch");
  751. else
  752. {
  753. new
  754. hdm_str[111];
  755. SendClientMessage(playerid, GREEN, "You have been unbanned from the hydra deathmatch");
  756. format(hdm_str, sizeof(hdm_str), "%s has been unbanned from the hydra deathmatch by %s", playername(id), playername(playerid));
  757. SendClientMessageToAll(GREEN, hdm_str);
  758. fremove(fstr);
  759. print(hdm_str);
  760. #if defined HYDRA_LOGS
  761. hdm_WriteLog(HYDRA_EVENTLOG, hdm_str);
  762. #endif
  763. return 1;
  764. }
  765. }
  766. else//player not online
  767. {
  768. new
  769. fstr[100];
  770. format(fstr, sizeof(fstr), "/hdm/hydrabans/%s.txt", params);
  771. if(!fexist(fstr))return SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: Player is not banned from the hydra deathmatch");
  772. else
  773. {
  774. fremove(fstr);
  775. return 1;
  776. }
  777. }
  778. }
  779. }
  780. else SendClientMessage(playerid, 0xFF7A7AFF, "ERROR: You dont have permission to use that command!");
  781. return 1;
  782. }
  783. ////////////////////////////////////////////////////////////////////////////////
  784. //functions ////////////////////////////////////////////////////////////////////
  785. ////////////////////////////////////////////////////////////////////////////////
  786. hdm_IsHydraDmVehicle(vehicleid)
  787. {
  788. for(new i; i < sizeof(hdm_Vehicles); i++)
  789. if(vehicleid == hdm_Vehicles[i])return true;
  790. return false;
  791. }
  792.  
  793. hdm_SavePlayerPosInfo(playerid)
  794. {
  795. if(IsPlayerConnected(playerid))
  796. {
  797. GetPlayerPos(playerid, hdm_PositionInfo[playerid][hdm_xpos], hdm_PositionInfo[playerid][hdm_ypos], hdm_PositionInfo[playerid][hdm_zpos]);
  798. GetPlayerFacingAngle(playerid, hdm_PositionInfo[playerid][hdm_angle]);
  799. GetPlayerHealth(playerid, hdm_PositionInfo[playerid][hdm_health]);
  800. GetPlayerArmour(playerid, hdm_PositionInfo[playerid][hdm_armour]);
  801. hdm_PositionInfo[playerid][hdm_world] = GetPlayerVirtualWorld(playerid);
  802. hdm_PositionInfo[playerid][hdm_interior] = GetPlayerInterior(playerid);
  803. hdm_PositionInfo[playerid][hdm_money] = GetPlayerMoney(playerid);
  804. for(new i; i < 13; i++)
  805. GetPlayerWeaponData(playerid, i, hdm_PositionInfo[playerid][hdm_weapons][i], hdm_PositionInfo[playerid][hdm_ammo][i]);
  806. }
  807. }
  808.  
  809. hdm_LoadPlayerPosInfo(playerid)
  810. {
  811. if(IsPlayerConnected(playerid))
  812. {
  813. SetPlayerPos(playerid, hdm_PositionInfo[playerid][hdm_xpos], hdm_PositionInfo[playerid][hdm_ypos], hdm_PositionInfo[playerid][hdm_zpos]);
  814. SetPlayerFacingAngle(playerid, hdm_PositionInfo[playerid][hdm_angle]);
  815. SetCameraBehindPlayer(playerid);
  816. SetPlayerHealth(playerid, hdm_PositionInfo[playerid][hdm_health]);
  817. SetPlayerArmour(playerid, hdm_PositionInfo[playerid][hdm_armour]);
  818. SetPlayerVirtualWorld(playerid, hdm_PositionInfo[playerid][hdm_world]);
  819. SetPlayerInterior(playerid, hdm_PositionInfo[playerid][hdm_interior]);
  820. GivePlayerMoney(playerid, hdm_PositionInfo[playerid][hdm_money]);
  821. for(new i; i < 13; i++)
  822. GivePlayerWeapon(playerid, hdm_PositionInfo[playerid][hdm_weapons][i], hdm_PositionInfo[playerid][hdm_ammo][i]);
  823. }
  824. }
  825.  
  826. hdm_WriteLog(filename[], log[] = "ERROR NO INPUT \"writelog function\"")
  827. {
  828. new
  829. day, month, year,
  830. hour, minute, second,
  831. File:ij_temp = fopen(filename, io_append);
  832. getdate(year, month, day);
  833. gettime(hour, minute, second);
  834. format(log, 164, "[%d/%d/%d] at [%d:%d:%d]: %s\r\n", day, month, year, hour, minute, second, log);
  835. fwrite(ij_temp, log);
  836. fclose(ij_temp);
  837. }
  838.  
  839. stock hdm_MessageToHydradm(text[], colour = GREEN)
  840. {
  841. for(new i; i < MAX_PLAYERS; i++)
  842. {
  843. if(!IsPlayerConnected(i))continue;
  844. if(GetPVarInt(i, "hdm_inzone") == 1)
  845. {
  846. SendClientMessage(i, colour, text);
  847. }
  848. }
  849. }
  850.  
  851. isnumeric(str[])//credit to Y_Less
  852. {
  853. new
  854. i,
  855. ch;
  856. while ((ch = str[i++])) if (ch < '0' || ch > '9') return 0;
  857. return 1;
  858. }
  859.  
  860. playername(playerid)
  861. {
  862. new pName[MAX_PLAYER_NAME];
  863. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  864. return pName;
  865. }
  866.  
  867. AntiDeAMX()
  868. {
  869. new a[][] =
  870. {
  871. "Unarmed (Fist)",
  872. "Brass K"
  873. };
  874. #pragma unused a
  875. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement