Bulletje

Untitled

Feb 7th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.42 KB | None | 0 0
  1. /*
  2. Script by: Bullet
  3. Map by: Ryses
  4. Mission Base: Team Deathmatch
  5. Mission Type: Team Deathmatch
  6. Mission Type ID: 6
  7. */
  8. //==============================================================================
  9. // Includes
  10. //==============================================================================
  11. #include <a_samp>
  12. #include <crashdetect>
  13. #include <float>
  14. #include <fixes2>
  15.  
  16. #include "..\filterscripts\MM\stuff\defines"
  17. #include "..\filterscripts\MM\stuff\serverkeymsg"
  18.  
  19. //==============================================================================
  20. // Defines
  21. //==============================================================================
  22.  
  23. #define MISSION_NAME "Back Alleys"
  24. #define Health 99.0
  25. #define TEAM_DEFEND_NAME "Hobos"
  26. #define TEAM_ATTACK_NAME "Triads"
  27. #define MAX_MAP_OBJECTS 175
  28. #define VEHICLE_HEALTH 0
  29. #define CLASS_POSTION -2140.6633,-111.3996,41.9880
  30. #define CLASS_CAMERA -2142.6311,-114.9839,41.7725
  31. #define CLASS_FACING_AGNLE 151.2473
  32. #define SINKING false
  33. #define SPAWN_PROTECTION true
  34.  
  35. //==============================================================================
  36. // Per mission functions
  37. //==============================================================================
  38.  
  39. enum ped_enum
  40. {
  41. TeamID,
  42. Skin,
  43. Float:SpawnX,
  44. Float:SpawnY,
  45. Float:SpawnZ,
  46. Float:SpawnAngle,
  47. SpawnInterior,
  48. VirtualWorld,
  49. Weapon1,
  50. Ammo1,
  51. Weapon2,
  52. Ammo2,
  53. Weapon3,
  54. Ammo3,
  55. };
  56.  
  57.  
  58. new PedInfo[][ped_enum] = {
  59.  
  60. {TEAM_ATTACK, 118, -2140.3127,-78.5257,35.3203,350.7866,0,0,WEAPON_DEAGLE,500,WEAPON_SHOTGSPA,500,WEAPON_M4,1000},
  61. {TEAM_DEFEND, 137, -2113.9365,-258.8185,35.3203,81.6819,0,0,WEAPON_DEAGLE,500,WEAPON_SHOTGSPA,500,WEAPON_M4,1000}
  62. };
  63.  
  64. #if SINKING == true
  65. new MapSkining[2];
  66. #endif
  67.  
  68. #if MAX_MAP_OBJECTS != 0
  69. new Object[MAX_MAP_OBJECTS];
  70.  
  71. CreateMap()
  72. {
  73. Object[0] = CreateObject(10948,-2206.8000500,-146.0000000,73.4000000,0.0000000,0.0000000,116.0000000); //
  74. Object[1] = CreateObject(10948,-2207.5000000,-154.8000000,73.4000000,0.0000000,0.0000000,115.9990000); //
  75. Object[2] = CreateObject(10948,-2210.1001000,-160.2000000,73.4000000,0.0000000,0.0000000,115.9990000); //
  76. Object[3] = CreateObject(10948,-2211.1992200,-161.6992200,73.4000000,0.0000000,0.0000000,103.9970000); //
  77. Object[4] = CreateObject(10948,-2214.1001000,-161.7000000,73.4000000,0.0000000,0.0000000,87.9970000); //
  78. Object[5] = CreateObject(10027,-2238.1999500,-239.2000000,62.1000000,0.0000000,0.0000000,268.0000000); //
  79. Object[6] = CreateObject(4564,-2173.6999500,-299.6000100,143.8000000,0.0000000,0.0000000,90.0000000); //
  80. Object[7] = CreateObject(4564,-2130.5000000,-285.8999900,143.8000000,0.0000000,7.9980000,87.9950000); //
  81. Object[8] = CreateObject(4571,-2065.1001000,-148.5000000,37.4000000,0.0000000,0.0000000,0.0000000); //
  82. Object[9] = CreateObject(6391,-2082.6999500,-261.7999900,37.6000000,0.0000000,0.0000000,278.0000000); //
  83. Object[10] = CreateObject(10143,-2074.3000500,-228.8999900,67.1000000,0.0000000,0.0000000,86.0000000); //
  84. Object[11] = CreateObject(10143,-2073.3999000,-188.5000000,67.1000000,0.0000000,0.0000000,359.9950000); //
  85. Object[12] = CreateObject(3873,-2086.0000000,-117.5000000,51.7000000,0.0000000,0.0000000,349.9970100); //
  86. Object[13] = CreateObject(3873,-2090.6992200,-87.5996100,51.7000000,0.0000000,0.0000000,349.9970100); //
  87. Object[14] = CreateObject(10948,-2198.6999500,-123.7000000,73.4000000,0.0000000,0.0000000,89.9990000); //
  88. Object[15] = CreateObject(10948,-2198.6999500,-91.9000000,73.4000000,0.0000000,0.0000000,89.9950000); //
  89. Object[16] = CreateObject(10945,-2111.5000000,-5.8000000,105.6000000,0.0000000,0.0000000,265.9960000); //
  90. Object[17] = CreateObject(10945,-2169.1001000,-17.0000000,105.6000000,0.0000000,0.0000000,297.9960000); //
  91. Object[18] = CreateObject(10945,-2056.5996100,-39.2998000,105.6000000,0.0000000,0.0000000,217.9910000); //
  92. Object[19] = CreateObject(1337,-2127.3230000,-194.0958400,35.2744400,0.0000000,0.0000000,0.0000000); //
  93. Object[20] = CreateObject(17335,-2106.5996100,-220.2998000,42.3000000,0.0000000,0.0000000,90.0000000); //
  94. Object[21] = CreateObject(16071,-2134.6999500,-222.5000000,47.7000000,346.0000000,0.0000000,68.0000000); //
  95. Object[22] = CreateObject(942,-2179.1999500,-208.3000000,43.5000000,0.0000000,0.0000000,0.0000000); //
  96. Object[23] = CreateObject(942,-2179.1001000,-210.3000000,43.5000000,0.0000000,0.0000000,0.0000000); //
  97. Object[24] = CreateObject(942,-2179.3000500,-205.8999900,43.5000000,0.0000000,0.0000000,0.0000000); //
  98. Object[25] = CreateObject(3585,-2121.8999000,-167.8999900,36.0000000,0.0000000,0.0000000,0.0000000); //
  99. Object[26] = CreateObject(18257,-2123.2998000,-143.0996100,34.3000000,0.0000000,0.0000000,0.0000000); //
  100. Object[27] = CreateObject(3073,-2145.0000000,-188.5000000,36.0000000,76.0000000,0.0000000,0.0000000); //
  101. Object[28] = CreateObject(3073,-2140.3999000,-187.3000000,36.0000000,51.9980000,0.0000000,0.0000000); //
  102. Object[29] = CreateObject(3256,-2115.5000000,-113.4000000,34.3000000,0.0000000,0.0000000,340.0000000); //
  103. Object[30] = CreateObject(3256,-2133.8999000,-111.9000000,34.3000000,0.0000000,0.0000000,45.9990000); //
  104. Object[31] = CreateObject(3502,-2121.8999000,-185.1000100,47.2000000,0.0000000,0.0000000,318.0000000); //
  105. Object[32] = CreateObject(3502,-2154.6001000,-181.6000100,41.8000000,0.0000000,0.0000000,9.9990000); //
  106. Object[33] = CreateObject(3502,-2134.6001000,-156.3000000,36.0000000,0.0000000,0.0000000,355.9979900); //
  107. Object[34] = CreateObject(3502,-2133.8000500,-148.0000000,36.0000000,0.0000000,0.0000000,355.9950000); //
  108. Object[35] = CreateObject(3502,-2133.3000500,-141.8999900,36.0000000,0.0000000,0.0000000,355.9950000); //
  109. Object[36] = CreateObject(3502,-2131.1001000,-132.2000000,36.0000000,0.0000000,0.0000000,343.9950000); //
  110. Object[37] = CreateObject(3502,-2128.5000000,-123.5000000,36.0000000,0.0000000,0.0000000,343.9930100); //
  111. Object[38] = CreateObject(3673,-2111.8999000,-244.6000100,44.3000000,0.0000000,0.0000000,0.0000000); //
  112. Object[39] = CreateObject(3722,-2167.6999500,-211.3999900,38.2000000,0.0000000,0.0000000,0.0000000); //
  113. Object[40] = CreateObject(5822,-2103.5000000,-175.0000000,40.8000000,0.0000000,0.0000000,273.9989900); //
  114. Object[41] = CreateObject(3585,-2122.0000000,-170.3000000,36.0000000,0.0000000,0.0000000,2.0000000); //
  115. Object[42] = CreateObject(8613,-2159.3000500,-213.2000000,37.2000000,0.0000000,0.0000000,184.0000000); //
  116. Object[43] = CreateObject(8613,-2106.5000000,-238.0000000,49.0000000,0.0000000,0.0000000,183.9940000); //
  117. Object[44] = CreateObject(1329,-2121.1999500,-147.5000000,34.8000000,0.0000000,0.0000000,0.0000000); //
  118. Object[45] = CreateObject(13591,-2145.5000000,-133.1000100,36.0000000,0.0000000,0.0000000,0.0000000); //
  119. Object[46] = CreateObject(18248,-2113.6001000,-268.8999900,42.4000000,0.0000000,0.0000000,342.0000000); //
  120. Object[47] = CreateObject(3749,-2127.3000500,-79.8000000,40.4000000,0.0000000,0.0000000,0.0000000); //
  121. Object[48] = CreateObject(1681,-2125.1999500,-95.5000000,37.3000000,294.0000000,0.0000000,358.0000000); //
  122. Object[49] = CreateObject(1362,-2134.8000500,-197.6000100,34.9000000,0.0000000,0.0000000,0.0000000); //
  123. Object[50] = CreateObject(1362,-2133.3000500,-204.3999900,34.9000000,0.0000000,0.0000000,0.0000000); //
  124. Object[51] = CreateObject(1362,-2145.0000000,-225.8999900,34.9000000,0.0000000,0.0000000,0.0000000); //
  125. Object[52] = CreateObject(1362,-2145.0000000,-225.8994100,34.9000000,0.0000000,0.0000000,0.0000000); //
  126. Object[53] = CreateObject(3095,-2134.1001000,-267.8999900,46.0000000,0.0000000,0.0000000,0.0000000); //
  127. Object[54] = CreateObject(3095,-2104.0000000,-250.6000100,52.3000000,0.0000000,0.0000000,0.0000000); //
  128. Object[55] = CreateObject(3095,-2098.8000500,-261.0000000,54.1000000,0.0000000,0.0000000,0.0000000); //
  129. Object[56] = CreateObject(3095,-2098.8000500,-271.7000100,56.1000000,0.0000000,0.0000000,0.0000000); //
  130. Object[57] = CreateObject(10757,-2156.0000000,-224.0000000,127.5000000,0.0000000,298.0000000,24.0000000); //
  131. Object[58] = CreateObject(2780,-2157.6999500,-218.7000000,126.3000000,0.0000000,0.0000000,0.0000000); //
  132. Object[59] = CreateObject(2780,-2156.0000000,-223.5000000,127.2000000,0.0000000,0.0000000,0.0000000); //
  133. Object[60] = CreateObject(2780,-2156.0000000,-223.5000000,-0.2000000,0.0000000,0.0000000,0.0000000); //
  134. Object[61] = CreateObject(5822,-2110.1999500,-208.5000000,40.3000000,0.0000000,0.0000000,271.9989900); //
  135. Object[62] = CreateObject(6965,-2099.4882800,-244.3701200,88.8378100,0.0000000,0.0000000,0.0000000); //
  136. Object[63] = CreateObject(3095,-2093.6999500,-354.2000100,34.3000000,0.0000000,0.0000000,0.0000000); //
  137. Object[64] = CreateObject(3095,-2111.3000500,-81.2000000,42.8000000,274.0000000,0.0000000,0.0000000); //
  138. Object[65] = CreateObject(3095,-2140.5000000,-280.8999900,63.1000000,273.9989900,0.0000000,88.0000000); //
  139. Object[66] = CreateObject(8664,3475.1992200,-148.2998000,0.3000000,0.0000000,0.0000000,0.0000000); //
  140. Object[67] = CreateObject(17953,3450.1001000,-78.2000000,4.6000000,0.0000000,0.0000000,0.0000000); //
  141. Object[68] = CreateObject(17953,3476.8999000,-78.6000000,4.9000000,0.0000000,0.0000000,0.0000000); //
  142. Object[69] = CreateObject(17953,3496.6999500,-79.1000000,4.9000000,0.0000000,0.0000000,0.0000000); //
  143. Object[70] = CreateObject(17953,3546.1001000,-125.7000000,4.9000000,0.0000000,0.0000000,270.0000000); //
  144. Object[71] = CreateObject(17953,3545.3999000,-154.8000000,4.9000000,0.0000000,0.0000000,269.9950000); //
  145. Object[72] = CreateObject(17953,3545.1999500,-168.3000000,4.9000000,0.0000000,0.0000000,269.9950000); //
  146. Object[73] = CreateObject(17953,3493.3000500,-214.8999900,4.9000000,0.0000000,0.0000000,179.9950000); //
  147. Object[74] = CreateObject(17953,3449.8000500,-215.2000000,4.9000000,0.0000000,0.0000000,179.9950000); //
  148. Object[75] = CreateObject(17953,3466.8999000,-216.0000000,4.9000000,0.0000000,0.0000000,179.9950000); //
  149. Object[76] = CreateObject(17033,3403.3000500,-87.2000000,-0.6000000,0.0000000,0.0000000,56.0000000); //
  150. Object[77] = CreateObject(17033,3403.8000500,-101.3000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  151. Object[78] = CreateObject(17033,3404.8000500,-113.7000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  152. Object[79] = CreateObject(17033,3404.7998000,-113.6992200,-0.6000000,0.0000000,0.0000000,55.9970000); //
  153. Object[80] = CreateObject(17033,3405.1999500,-123.8000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  154. Object[81] = CreateObject(17033,3406.3999000,-163.5000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  155. Object[82] = CreateObject(17033,3405.3000500,-167.0000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  156. Object[83] = CreateObject(17033,3405.1001000,-176.5000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  157. Object[84] = CreateObject(17033,3405.0000000,-186.5000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  158. Object[85] = CreateObject(17033,3405.6001000,-197.8000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  159. Object[86] = CreateObject(17033,3405.1999500,-206.5000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  160. Object[87] = CreateObject(17033,3405.6001000,-211.5000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  161. Object[88] = CreateObject(17033,3405.5996100,-211.5000000,-0.6000000,0.0000000,0.0000000,55.9970000); //
  162. Object[89] = CreateObject(1660,3395.6999500,-131.6000100,-2.8000000,0.0000000,0.0000000,266.0000000); //
  163. Object[90] = CreateObject(1660,3395.5000000,-136.7000000,-2.8000000,0.0000000,0.0000000,267.9950000); //
  164. Object[91] = CreateObject(1660,3395.1999500,-141.3999900,-2.8000000,0.0000000,0.0000000,265.9950000); //
  165. Object[92] = CreateObject(1660,3394.6999500,-146.3999900,-2.8000000,0.0000000,0.0000000,265.9950000); //
  166. Object[93] = CreateObject(1660,3394.3000500,-151.1000100,-2.8000000,0.0000000,0.0000000,265.9950000); //
  167. Object[94] = CreateObject(1660,3393.8999000,-155.8000000,-2.8000000,0.0000000,0.0000000,265.9950000); //
  168. Object[95] = CreateObject(10814,3437.3999000,-83.3000000,4.5000000,0.0000000,0.0000000,0.0000000); //
  169. Object[96] = CreateObject(2062,3415.3999000,-130.2000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  170. Object[97] = CreateObject(17001,3447.0000000,-190.6000100,-0.1000000,0.0000000,0.0000000,180.0000000); //
  171. Object[98] = CreateObject(16076,3448.1001000,-180.6000100,5.1000000,0.0000000,0.0000000,0.0000000); //
  172. Object[99] = CreateObject(16076,3428.3999000,-179.8999900,5.1000000,0.0000000,0.0000000,0.0000000); //
  173. Object[100] = CreateObject(11486,3511.3190900,-98.3957600,22.2000000,0.0000000,0.0000000,0.0000000); //
  174. Object[101] = CreateObject(11486,3510.1001000,-177.3999900,20.9000000,0.0000000,0.0000000,178.0000000); //
  175. Object[102] = CreateObject(7291,3422.8000500,-122.9000000,53.0967900,0.0000000,0.0000000,6.0000000); //
  176. Object[103] = CreateObject(7291,3436.0000000,-121.3000000,53.1000000,0.0000000,0.0000000,5.9990000); //
  177. Object[104] = CreateObject(7291,3455.1001000,-120.0000000,53.1000000,0.0000000,0.0000000,5.9990000); //
  178. Object[105] = CreateObject(7291,3470.6001000,-119.4000000,53.1000000,0.0000000,0.0000000,5.9990000); //
  179. Object[106] = CreateObject(7236,3512.1999500,-135.3000000,22.7000000,0.0000000,0.0000000,0.0000000); //
  180. Object[107] = CreateObject(16365,3512.3000500,-159.2000000,3.7000000,0.0000000,0.0000000,0.0000000); //
  181. Object[108] = CreateObject(3255,3468.6999500,-97.5000000,-0.1000000,0.0000000,0.0000000,0.0000000); //
  182. Object[109] = CreateObject(3257,3491.5000000,-204.8999900,0.4000000,0.0000000,0.0000000,0.0000000); //
  183. Object[110] = CreateObject(3257,3491.5000000,-189.0000000,0.4000000,0.0000000,0.0000000,0.0000000); //
  184. Object[111] = CreateObject(3257,3489.0000000,-173.3999900,0.4000000,0.0000000,0.0000000,20.0000000); //
  185. Object[112] = CreateObject(3257,3484.1001000,-158.8999900,0.4000000,0.0000000,0.0000000,19.9950000); //
  186. Object[113] = CreateObject(3257,3482.3999000,-127.3000000,0.4000000,0.0000000,0.0000000,329.9950000); //
  187. Object[114] = CreateObject(3257,3487.6999500,-111.0000000,0.4000000,0.0000000,0.0000000,355.9910000); //
  188. Object[115] = CreateObject(3257,3488.5000000,-96.9000000,0.4000000,0.0000000,0.0000000,355.9899900); //
  189. Object[116] = CreateObject(3257,3489.3000500,-87.6000000,0.4000000,0.0000000,0.0000000,355.9899900); //
  190. Object[117] = CreateObject(3258,3476.3999000,-133.8999900,0.4000000,0.0000000,0.0000000,0.0000000); //
  191. Object[118] = CreateObject(3258,3477.8000500,-151.6000100,0.4000000,0.0000000,0.0000000,0.0000000); //
  192. Object[119] = CreateObject(3259,3527.5000000,-204.1000100,0.4000000,0.0000000,0.0000000,0.0000000); //
  193. Object[120] = CreateObject(3259,3510.6999500,-203.7000000,0.4000000,0.0000000,0.0000000,0.0000000); //
  194. Object[121] = CreateObject(3259,3532.6001000,-87.3000000,0.4000000,0.0000000,0.0000000,0.0000000); //
  195. Object[122] = CreateObject(3259,3503.3000500,-85.5000000,0.4000000,0.0000000,0.0000000,0.0000000); //
  196. Object[123] = CreateObject(3279,3490.6001000,-152.6000100,0.4000000,0.0000000,0.0000000,118.0000000); //
  197. Object[124] = CreateObject(8674,3482.1999500,-146.6000100,14.8000000,278.2450000,14.0860000,299.9460100); //
  198. Object[125] = CreateObject(8674,3481.6999500,-137.2000000,15.3000000,278.2399900,14.0840000,271.9429900); //
  199. Object[126] = CreateObject(3566,3444.6001000,-163.0000000,3.0000000,0.0000000,0.0000000,0.0000000); //
  200. Object[127] = CreateObject(3566,3450.8000500,-162.8000000,3.0000000,0.0000000,0.0000000,0.0000000); //
  201. Object[128] = CreateObject(3566,3458.3000500,-163.3000000,3.0000000,0.0000000,0.0000000,0.0000000); //
  202. Object[129] = CreateObject(3566,3465.0996100,-163.7998000,3.0000000,0.0000000,0.0000000,0.0000000); //
  203. Object[130] = CreateObject(3566,3471.8999000,-164.5000000,3.0000000,0.0000000,0.0000000,0.0000000); //
  204. Object[131] = CreateObject(3575,3442.2998000,-146.0996100,3.1000000,0.0000000,0.0000000,0.0000000); //
  205. Object[132] = CreateObject(3575,3429.6999500,-167.7000000,3.1000000,0.0000000,0.0000000,0.0000000); //
  206. Object[133] = CreateObject(3633,3472.6001000,-127.5000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  207. Object[134] = CreateObject(3633,3470.8000500,-127.4000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  208. Object[135] = CreateObject(3633,3467.3000500,-126.8000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  209. Object[136] = CreateObject(3633,3469.1001000,-128.8999900,0.9000000,0.0000000,0.0000000,0.0000000); //
  210. Object[137] = CreateObject(3633,3471.6999500,-130.0000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  211. Object[138] = CreateObject(3633,3464.5000000,-127.3000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  212. Object[139] = CreateObject(3633,3463.5000000,-124.2000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  213. Object[140] = CreateObject(3633,3465.8999000,-125.4000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  214. Object[141] = CreateObject(3633,3468.1999500,-125.0000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  215. Object[142] = CreateObject(3633,3470.8000500,-125.4000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  216. Object[143] = CreateObject(3633,3467.3999000,-130.0000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  217. Object[144] = CreateObject(3633,3465.5000000,-129.8994100,0.9000000,0.0000000,0.0000000,0.0000000); //
  218. Object[145] = CreateObject(3633,3461.5000000,-130.7000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  219. Object[146] = CreateObject(3633,3458.3999000,-131.3999900,0.9000000,0.0000000,0.0000000,0.0000000); //
  220. Object[147] = CreateObject(3633,3460.6999500,-129.3999900,0.9000000,0.0000000,0.0000000,0.0000000); //
  221. Object[148] = CreateObject(3633,3462.3999000,-125.6000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  222. Object[149] = CreateObject(3633,3459.5000000,-124.1000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  223. Object[150] = CreateObject(3633,3458.6999500,-127.4000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  224. Object[151] = CreateObject(3633,3455.3999000,-128.8999900,0.9000000,0.0000000,0.0000000,0.0000000); //
  225. Object[152] = CreateObject(3633,3455.1001000,-125.5000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  226. Object[153] = CreateObject(3633,3452.1001000,-125.1000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  227. Object[154] = CreateObject(3633,3450.5000000,-129.3999900,0.9000000,0.0000000,0.0000000,0.0000000); //
  228. Object[155] = CreateObject(3633,3439.8000500,-122.8000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  229. Object[156] = CreateObject(3633,3435.3000500,-126.4000000,0.9000000,0.0000000,0.0000000,0.0000000); //
  230. Object[157] = CreateObject(7025,3412.8000500,-98.9000000,3.8000000,0.0000000,0.0000000,270.0000000); //
  231. Object[158] = CreateObject(4874,2913.4150400,-238.9868300,2.0000000,0.0000000,0.0000000,178.0000000); //
  232. Object[159] = CreateObject(3575,3424.6001000,-151.2000000,3.1000000,0.0000000,0.0000000,0.0000000); //
  233. Object[160] = CreateObject(2991,3475.1001000,-137.7000000,1.0000000,0.0000000,0.0000000,268.0000000); //
  234. Object[161] = CreateObject(2991,3474.6999500,-141.7000000,1.0000000,0.0000000,0.0000000,267.9950000); //
  235. Object[162] = CreateObject(2991,3475.3000500,-145.5000000,1.0000000,0.0000000,0.0000000,267.9950000); //
  236. Object[163] = CreateObject(2991,3474.0000000,-149.5000000,1.0000000,0.0000000,0.0000000,295.9950000); //
  237. Object[164] = CreateObject(3046,3472.8999000,-145.8000000,0.8000000,0.0000000,0.0000000,0.0000000); //
  238. Object[165] = CreateObject(3046,3472.0000000,-142.6000100,0.8000000,0.0000000,0.0000000,0.0000000); //
  239. Object[166] = CreateObject(3046,3473.5000000,-138.3000000,0.8000000,0.0000000,0.0000000,0.0000000); //
  240. Object[167] = CreateObject(3046,3472.8000500,-138.2000000,0.8000000,0.0000000,0.0000000,0.0000000); //
  241. Object[168] = CreateObject(18715,3509.7600100,-137.8338600,47.5775700,0.0000000,0.0000000,0.0000000); //
  242. Object[169] = CreateObject(18715,3509.7258300,-138.1547700,47.8202700,0.0000000,0.0000000,0.0000000); //
  243. Object[170] = CreateObject(18715,3519.8835400,-137.4808300,42.9599800,0.0000000,0.0000000,0.0000000); //
  244. Object[171] = CreateObject(18727,3519.8835400,-137.4808300,42.9599800,0.0000000,0.0000000,0.0000000); //
  245. Object[172] = CreateObject(18727,3519.8835400,-137.4808300,42.9599800,0.0000000,0.0000000,0.0000000); //
  246. Object[173] = CreateObject(19909,3527.3012700,-135.8917400,0.2909100,0.0000000,0.0000000,0.0000000); //
  247. Object[174] = CreateObject(16365,3514.4536100,-116.7773100,3.7000000,0.0000000,0.0000000,0.0000000); //
  248. }
  249. #endif
  250.  
  251. //==============================================================================
  252. // Basic vars
  253. //==============================================================================
  254.  
  255. new bool:MissionStarted;
  256. new bool:ObjectiveStarted;
  257. new bool:MissionCancelled;
  258.  
  259. native IsValidVehicle(vehicleid);
  260.  
  261. enum teamdata
  262. {
  263. Kills,
  264. Name[32],
  265. Members
  266. };
  267.  
  268. enum playerdata
  269. {
  270. UserName[MAX_PLAYER_NAME],
  271. bool:Counted,
  272. TeamSelection,
  273. PlayerClassID
  274. };
  275.  
  276. new Team[2][teamdata];
  277. new PlayerMissionInfo[MAX_PLAYERS][playerdata];
  278.  
  279. //==============================================================================
  280. // Basic script
  281. //==============================================================================
  282.  
  283. main()
  284. {
  285. print("----------------------------------");
  286. print(" Mission: "MISSION_NAME" started.");
  287. print("----------------------------------\n");
  288. }
  289.  
  290. public OnGameModeInit()
  291. {
  292. MissionStarted= true;
  293.  
  294. format(Team[TEAM_DEFEND][Name],32,"%s",TEAM_DEFEND_NAME);
  295. format(Team[TEAM_ATTACK][Name],32,"%s",TEAM_ATTACK_NAME);
  296.  
  297. if(CallRemoteFunction("GetCurrentMissionCJWalk","")) UsePlayerPedAnims();
  298.  
  299. #if MAX_MAP_OBJECTS != 0
  300. CreateMap();
  301. #endif
  302.  
  303. for(new i=0; i<sizeof(PedInfo); i++)AddPlayerClassEx(PedInfo[i][TeamID],PedInfo[i][Skin],PedInfo[i][SpawnX],PedInfo[i][SpawnY],PedInfo[i][SpawnZ],PedInfo[i][SpawnAngle],0,0,0,0,0,0);
  304.  
  305. #if SINKING == true
  306. MapSkining[0] = SetTimer("SinkMap", 80*1000, false);
  307. #endif
  308.  
  309. for(new i=0; i<MAX_VEHICLES; i++) if(IsValidVehicle(i)) SetVehicleHealth(i,VEHICLE_HEALTH);
  310. for(new i=0; i<MAX_PLAYERS; i++) PlayerMissionInfo[i][TeamSelection]= NO_TEAM;
  311.  
  312. SetTimer("StartMissionFunc",3000,false);
  313. return 1;
  314. }
  315.  
  316. FUNCTION StartMissionFunc()
  317. {
  318. CallRemoteFunction("StartMission","");
  319. ObjectiveStarted= true;
  320. return 1;
  321. }
  322.  
  323. public OnGameModeExit()
  324. {
  325. #if MAX_MAP_OBJECTS != 0
  326. for(new i=0;i<MAX_MAP_OBJECTS;i++) DestroyObject(Object[i]);
  327. #endif
  328. return 1;
  329. }
  330.  
  331. public OnPlayerDisconnect(playerid)
  332. {
  333. if(PlayerMissionInfo[playerid][TeamSelection] != NO_TEAM && PlayerMissionInfo[playerid][Counted])
  334. {
  335. Team[PlayerMissionInfo[playerid][TeamSelection]][Members] --;
  336. PlayerMissionInfo[playerid][Counted] = false;
  337. }
  338. return 1;
  339. }
  340.  
  341. public OnPlayerRequestClass(playerid,classid)
  342. {
  343. SetPlayerPos(playerid,CLASS_POSTION);
  344. SetPlayerCameraPos(playerid,CLASS_CAMERA);
  345. SetPlayerCameraLookAt(playerid,CLASS_POSTION);
  346. SetPlayerFacingAngle(playerid,CLASS_FACING_AGNLE);
  347.  
  348. CallRemoteFunction("TdmHide","i",playerid);
  349. CallRemoteFunction("ShowClassSelection","ddsddd",playerid, PedInfo[classid][TeamID],Team[PedInfo[classid][TeamID]][Name], PedInfo[classid][Weapon1], PedInfo[classid][Weapon2], PedInfo[classid][Weapon3]);
  350. if(PlayerMissionInfo[playerid][Counted] && PlayerMissionInfo[playerid][TeamSelection] != NO_TEAM)
  351. {
  352. Team[PlayerMissionInfo[playerid][TeamSelection]][Members]--;
  353. PlayerMissionInfo[playerid][Counted] = false;
  354. }
  355. PlayerMissionInfo[playerid][TeamSelection] = PedInfo[classid][TeamID];
  356. PlayerMissionInfo[playerid][PlayerClassID]=classid;
  357. return 1;
  358. }
  359.  
  360. public OnPlayerRequestSpawn(playerid)
  361. {
  362. new opp_team = (PlayerMissionInfo[playerid][TeamSelection] == 1)? 0:1;
  363. if(Team[PlayerMissionInfo[playerid][TeamSelection]][Members] > Team[opp_team][Members])
  364. {
  365. CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,"This Team is full, choose another!",0);
  366. return 0;
  367. }
  368. return 1;
  369. }
  370. public OnPlayerSpawn(playerid)
  371. {
  372. new string[124];
  373. CallRemoteFunction("UpdateAliveState","ii",playerid,1);
  374. CallRemoteFunction("TdmShow","i",playerid);
  375. CallRemoteFunction("TdmUpdate","sssdd","Kills",Team[TEAM_DEFEND][Name],Team[TEAM_ATTACK][Name],Team[TEAM_DEFEND][Kills],Team[TEAM_ATTACK][Kills]);
  376. SetPlayerHealth(playerid,Health);
  377. if(CallRemoteFunction("GetSpectateStatus","d",playerid)) return CallRemoteFunction("SpecOffAdmin","d",playerid);
  378. if(CallRemoteFunction("GetJailedStatus","d",playerid)) CallRemoteFunction("SetJailed","d",playerid);
  379. else
  380. {
  381. SetPlayerPos(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnX],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnY],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnZ]);
  382. SetPlayerFacingAngle(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnAngle]);
  383. SetPlayerInterior(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnInterior]);
  384. SetPlayerVirtualWorld(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][VirtualWorld]);
  385. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon1],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo1]);
  386. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon2],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo2]);
  387. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon3],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo3]);
  388. if(!PlayerMissionInfo[playerid][Counted])
  389. {
  390. Team[PlayerMissionInfo[playerid][TeamSelection]][Members]++;
  391. PlayerMissionInfo[playerid][Counted] = true;
  392. new opp_team = (PlayerMissionInfo[playerid][TeamSelection] == 1)? 0:1;
  393. format(string,sizeof(string),"You have chosen team %s, your mission is to kill %s.",Team[PlayerMissionInfo[playerid][TeamSelection]][Name],Team[opp_team][Name]);
  394. CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,string,0);
  395. format(string,sizeof(string),"~r~~h~Eliminate ~w~%s.",Team[opp_team][Name]);
  396. CallRemoteFunction("ShowInfoText", "iisi", playerid, -1,string,0);
  397. }
  398. }
  399. SetPlayerTeam(playerid,PlayerMissionInfo[playerid][TeamSelection]);
  400. if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_ATTACK) SetPlayerColor(playerid,COLOR_TEAM_ATTACK);
  401. else SetPlayerColor(playerid,COLOR_TEAM_DEFEND);
  402. #if SPAWN_PROTECTION == true
  403. CallRemoteFunction("SetSpawnProtection","df",playerid,Health);
  404. #endif
  405. return 1;
  406. }
  407.  
  408. public OnPlayerDeath(playerid, killerid, reason)
  409. {
  410. if(killerid != INVALID_PLAYER_ID && PlayerMissionInfo[playerid][TeamSelection] != NO_TEAM && MissionStarted)
  411. {
  412. Team[PlayerMissionInfo[killerid][TeamSelection]][Kills]++;
  413. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  414. CallRemoteFunction("TdmUpdate","sssdd","Kills",Team[TEAM_DEFEND][Name],Team[TEAM_ATTACK][Name],Team[TEAM_DEFEND][Kills],Team[TEAM_ATTACK][Kills]);
  415. }
  416. CallRemoteFunction("UpdateAliveState","ii",playerid,0);
  417. return 1;
  418. }
  419.  
  420. public OnVehicleSpawn(vehicleid)
  421. {
  422. SetVehicleHealth(vehicleid,VEHICLE_HEALTH);
  423. return 1;
  424. }
  425.  
  426. FUNCTION EndTheMission()
  427. {
  428. if(!MissionStarted) return 1;
  429. MissionStarted= false;
  430. if(!MissionCancelled)
  431. {
  432. new string[256];
  433. new amount= 10000;
  434. new winning_team;
  435. if(Team[TEAM_DEFEND][Kills] == Team[TEAM_ATTACK][Kills]) { winning_team = 2; }
  436. else if(Team[TEAM_DEFEND][Kills] > Team[TEAM_ATTACK][Kills]) { winning_team = 0; }
  437. else { winning_team = 1; }
  438.  
  439. if(winning_team != 2)
  440. {
  441. amount =amount+(Team[winning_team][Kills]*100);
  442. format(string,sizeof(string),""SERVER_KEY_MSG" %s has won the team deathmatch! Reward: $%d",Team[winning_team][Name],amount);
  443. CallRemoteFunction("IRC_SendMessage","ss",string,IRC_SERVER_COLOR);
  444. SendClientMessageToAll(COLOR_SERVER,string);
  445. format(string,sizeof(string),""SERVER_KEY_MSG" You have received $%i because your team has won the team deathmatch!",amount);
  446. for(new i=0,j=GetPlayerPoolSize(); i <= j; i++)
  447. {
  448. if(PlayerMissionInfo[i][TeamSelection] == winning_team && PlayerMissionInfo[i][Counted])
  449. {
  450. PlayerPlaySound(i,3200,0,0,0);
  451. SendClientMessage(i,COLOR_SERVER,string);
  452. CallRemoteFunction("GivePlayerCash","ii",i,amount);
  453. CallRemoteFunction("PlayerMissionStats","dd",i,0);
  454. CallRemoteFunction("PlayerMissionStats","dd",i,6);
  455. }
  456. if(PlayerMissionInfo[i][TeamSelection] != winning_team && PlayerMissionInfo[i][Counted])
  457. {
  458. PlayerPlaySound(i,17004,0,0,0);
  459. GameTextForPlayer(i,"~R~MISSION FAILED~w~!",3000,3);
  460. CallRemoteFunction("PlayerMissionStats","dd",i,1);
  461. }
  462. }
  463. }
  464. else
  465. {
  466. PlaySoundForAll(1058);
  467. format(string,sizeof(string),""SERVER_KEY_MSG" IT'S A DRAW! No team has won the team-deathmatch.");
  468. SendClientMessageToAll(COLOR_SERVER,string);
  469. CallRemoteFunction("IRC_SendMessage","ss",string,IRC_SERVER_COLOR);
  470. for(new i=0,j=GetPlayerPoolSize(); i <= j; i++) if(IsPlayerConnected(i) && PlayerMissionInfo[i][Counted]) CallRemoteFunction("PlayerMissionStats","dd",i,2);
  471. }
  472. }
  473. else
  474. {
  475. PlaySoundForAll(1058);
  476. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" The mission has been cancelled.");
  477. CallRemoteFunction("IRC_SendMessage","ss",""SERVER_KEY_MSG" The mission has been cancelled.",IRC_SERVER_COLOR);
  478. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1,"The mission has been cancelled.",0);
  479. GameTextForAll("~R~MISSION CANCELLED~w~!",3000,3);
  480. }
  481. return 1;
  482. }
  483.  
  484. //==============================================================================
  485. // Mission functions
  486. //==============================================================================
  487.  
  488. #if SINKING == true
  489. FUNCTION SinkMap()
  490. {
  491. GameTextForAll("~r~the island is sinking!",4000,3);
  492. new Float:X, Float:Y, Float:Z;
  493. new Float:oldRotX, Float:oldRotY, Float:oldRotZ;
  494.  
  495. for(new i = 0; i < MAX_MAP_OBJECTS; i++) { GetObjectPos(Object[i], X, Y, Z), GetObjectRot(Object[i], oldRotX, oldRotY, oldRotZ); MoveObject(Object[i], X, Y, Z-40, 0.6, oldRotX, oldRotY, oldRotZ+0.05); }
  496. MapSkining[0] = SetTimer("ResurfaceMap", 150*1000,false);
  497. return true;
  498. }
  499.  
  500.  
  501. FUNCTION ResurfaceMap()
  502. {
  503. GameTextForAll("~g~the island is resurfacing!",4000,3);
  504. new Float:X, Float:Y, Float:Z;
  505. new Float:oldRotX, Float:oldRotY, Float:oldRotZ;
  506.  
  507. for(new i = 0; i < MAX_MAP_OBJECTS; i++) { GetObjectPos(Object[i], X, Y, Z), GetObjectRot(Object[i], oldRotX, oldRotY, oldRotZ); MoveObject(Object[i], X, Y, Z+40, 0.6, oldRotX, oldRotY, oldRotZ-0.05); }
  508. //MapSkining[1] = SetTimer("SinkMap", 80000,false);
  509. return true;
  510. }
  511. #endif
  512.  
  513. PlaySoundForAll(sound)
  514. {
  515. for (new i=0,j=GetPlayerPoolSize(); i <=j ; i++)
  516. {
  517. if(IsPlayerConnected(i)) PlayerPlaySound(i,sound,0,0,0);
  518. }
  519. }
  520.  
  521. //==============================================================================
  522. // Important functions required
  523. //==============================================================================
  524.  
  525. FUNCTION OnPlayerNameRecieve(playerid,name[])
  526. {
  527. format(PlayerMissionInfo[playerid][UserName],MAX_PLAYER_NAME,"%s",name);
  528. return 1;
  529. }
  530.  
  531.  
  532. FUNCTION CancelTheMission()
  533. {
  534. MissionCancelled= true;
  535. return 1;
  536. }
  537.  
  538. FUNCTION MissionObjectiveStarted() return ObjectiveStarted;
Advertisement
Add Comment
Please, Sign In to add comment