Bulletje

Untitled

Feb 20th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.28 KB | None | 0 0
  1. /*
  2. Script by: Sasuke_Uchiha
  3. Map by: Bullet
  4. Mission Base: Deathmatch
  5. Mission Type: Deathmatch
  6. Mission Type ID: 2
  7. */
  8. //==============================================================================
  9. // Includes
  10. //==============================================================================
  11. #include <a_samp>
  12. #include <crashdetect>
  13. #include <float>
  14.  
  15. #include "..\filterscripts\MM\stuff\defines"
  16. #include "..\filterscripts\MM\stuff\serverkeymsg"
  17.  
  18. //==============================================================================
  19. // Defines
  20. //==============================================================================
  21.  
  22. #define MISSION_NAME "Zig Zag"
  23. #define Health 99.0
  24. #define VEHICLE_HEALTH 999.0
  25. #define CLASS_POSTION 1611.9178,-1597.3431,28.5859
  26. #define CLASS_CAMERA 1611.9001,-1602.5643,28.5859
  27. #define CLASS_FACING_AGNLE 180.31
  28. #define MAX_MAP_OBJECTS 176
  29. #define START_TIME 20
  30. #define SPAWN_PROTECTION true
  31.  
  32. //==============================================================================
  33. // Per mission functions
  34. //==============================================================================
  35.  
  36. enum ped_enum
  37. {
  38. TeamID,
  39. Skin,
  40. Float:SpawnX,
  41. Float:SpawnY,
  42. Float:SpawnZ,
  43. Float:SpawnAngle,
  44. SpawnInterior,
  45. VirtualWorld,
  46. Weapon1,
  47. Ammo1,
  48. Weapon2,
  49. Ammo2,
  50. Weapon3,
  51. Ammo3,
  52. };
  53.  
  54. new PedInfo[][ped_enum] = {
  55. {NO_TEAM, 0, 2140.8623,-2902.2107,12.3868,87.8858,0,0, WEAPON_M4, 400, WEAPON_SHOTGSPA, 200, WEAPON_DEAGLE, 150}
  56. };
  57.  
  58. new Float:gSpawns[][] =
  59. {
  60. {4050.6445,412.9446,28.7500},
  61. {4108.1392,412.2122,28.7500},
  62. {4088.0798,369.9112,28.7500},
  63. {4021.2480,435.6659,28.7500},
  64. {4083.5935,465.6271,28.8281},
  65. {4077.2361,438.1177,28.7500},
  66. {4078.1218,384.9648,28.7424},
  67. {4085.0928,403.6186,28.7500},
  68. {4099.5103,426.0667,28.7500},
  69. {4070.7612,426.6039,28.7500}
  70. };
  71.  
  72. #if MAX_MAP_OBJECTS != 0
  73. new Object[MAX_MAP_OBJECTS];
  74.  
  75. CreateMap()
  76. {
  77. Object[0] = CreateObject(7983,4058.2002000,422.7998000,50.0000000,0.0000000,0.0000000,270.0000000); //object(vegascollege_lvs)(1)
  78. Object[1] = CreateObject(7983,4093.9004000,391.5996100,50.0000000,0.0000000,0.0000000,99.9980000); //object(vegascollege_lvs)(2)
  79. Object[2] = CreateObject(7983,4056.2002000,389.0000000,50.0000000,0.0000000,0.0000000,0.0000000); //object(vegascollege_lvs)(3)
  80. Object[3] = CreateObject(7983,4092.7002000,418.4003900,50.0000000,0.0000000,0.0000000,169.9970000); //object(vegascollege_lvs)(4)
  81. Object[4] = CreateObject(7536,4034.5000000,391.5000000,27.0000000,0.0000000,0.0000000,0.0000000); //object(newaprtmntsvgn14)(2)
  82. Object[5] = CreateObject(991,4102.6006000,441.2998000,29.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(1)
  83. Object[6] = CreateObject(991,4096.0000000,438.0996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(2)
  84. Object[7] = CreateObject(991,4099.2998000,441.4003900,29.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(3)
  85. Object[8] = CreateObject(991,4095.9004000,429.2998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(4)
  86. Object[9] = CreateObject(991,4095.9004000,422.7002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(5)
  87. Object[10] = CreateObject(991,4099.1006000,419.4003900,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(6)
  88. Object[11] = CreateObject(991,4100.7002000,429.7002000,28.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(7)
  89. Object[12] = CreateObject(991,4105.7002000,419.4003900,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(8)
  90. Object[13] = CreateObject(991,4100.5000000,423.5000000,28.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(9)
  91. Object[14] = CreateObject(991,4100.7998000,435.9003900,28.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(10)
  92. Object[15] = CreateObject(991,4105.9004000,424.7998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(12)
  93. Object[16] = CreateObject(991,4105.9004000,438.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(13)
  94. Object[17] = CreateObject(991,4105.9004000,431.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(14)
  95. Object[18] = CreateObject(991,4090.7998000,438.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(15)
  96. Object[19] = CreateObject(991,4092.5000000,421.5996100,29.0000000,0.0000000,0.0000000,119.9980000); //object(bar_barriergate1)(16)
  97. Object[20] = CreateObject(991,4090.7002000,431.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(17)
  98. Object[21] = CreateObject(991,4089.7998000,417.7002000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(18)
  99. Object[22] = CreateObject(991,4065.5000000,417.7002000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(19)
  100. Object[23] = CreateObject(991,4090.7002000,424.7998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(20)
  101. Object[24] = CreateObject(991,4087.4004000,441.0000000,29.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(21)
  102. Object[25] = CreateObject(991,4080.7998000,441.0000000,29.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(22)
  103. Object[26] = CreateObject(991,4075.2998000,437.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(23)
  104. Object[27] = CreateObject(991,4079.9004000,436.2002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(24)
  105. Object[28] = CreateObject(991,4079.9004000,429.5996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(25)
  106. Object[29] = CreateObject(991,4054.7998000,435.9003900,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(26)
  107. Object[30] = CreateObject(991,4085.4004000,429.5000000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(27)
  108. Object[31] = CreateObject(991,4069.9004000,423.2002000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(28)
  109. Object[32] = CreateObject(991,4101.9004000,407.9003900,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(29)
  110. Object[33] = CreateObject(991,4072.1006000,417.7002000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(30)
  111. Object[34] = CreateObject(991,4079.9004000,423.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(31)
  112. Object[35] = CreateObject(991,4064.9004000,387.7002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  113. Object[36] = CreateObject(991,4075.4004000,427.5996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(33)
  114. Object[37] = CreateObject(991,4075.4004000,434.2002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(34)
  115. Object[38] = CreateObject(991,4085.1006000,423.0996100,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(35)
  116. Object[39] = CreateObject(991,4085.1006000,423.0996100,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(36)
  117. Object[40] = CreateObject(991,4069.9404000,429.5000000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(37)
  118. Object[41] = CreateObject(991,4085.0000000,435.7998000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(38)
  119. Object[42] = CreateObject(991,4069.9404000,435.7998000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(39)
  120. Object[43] = CreateObject(991,4054.7998000,429.5000000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(40)
  121. Object[44] = CreateObject(991,4054.7998000,423.2002000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  122. Object[45] = CreateObject(991,4069.5000000,407.7002000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(42)
  123. Object[46] = CreateObject(991,4056.1006000,407.7002000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(43)
  124. Object[47] = CreateObject(991,4075.4004000,421.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(44)
  125. Object[48] = CreateObject(991,4060.2998000,427.7002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(45)
  126. Object[49] = CreateObject(991,4060.2998000,434.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(46)
  127. Object[50] = CreateObject(991,4060.2998000,437.7002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(47)
  128. Object[51] = CreateObject(991,4072.0000000,440.5000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(48)
  129. Object[52] = CreateObject(991,4068.7002000,440.5000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(49)
  130. Object[53] = CreateObject(991,4064.7002000,422.5996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(50)
  131. Object[54] = CreateObject(991,4064.7002000,435.9003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(51)
  132. Object[55] = CreateObject(991,4064.7002000,429.2998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(52)
  133. Object[56] = CreateObject(991,4064.7002000,426.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(53)
  134. Object[57] = CreateObject(991,4050.4004000,441.0000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(54)
  135. Object[58] = CreateObject(991,4057.0000000,441.0000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(55)
  136. Object[59] = CreateObject(991,4047.1006000,424.5000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(56)
  137. Object[60] = CreateObject(991,4047.1006000,437.7002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(57)
  138. Object[61] = CreateObject(991,4047.1006000,431.0996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(58)
  139. Object[62] = CreateObject(991,4047.1006000,421.2002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(59)
  140. Object[63] = CreateObject(991,4071.2002000,384.4003900,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(42)
  141. Object[64] = CreateObject(991,4052.7002000,384.5000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(42)
  142. Object[65] = CreateObject(991,4049.5000000,387.9003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(59)
  143. Object[66] = CreateObject(991,4049.5000000,394.5000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(59)
  144. Object[67] = CreateObject(991,4049.5000000,401.0996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(59)
  145. Object[68] = CreateObject(991,4049.5000000,404.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(59)
  146. Object[69] = CreateObject(991,4053.7002000,417.9003900,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(42)
  147. Object[70] = CreateObject(991,4057.0000000,417.7998000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(43)
  148. Object[71] = CreateObject(991,4060.2998000,421.0996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  149. Object[72] = CreateObject(991,4060.7998000,403.2998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  150. Object[73] = CreateObject(991,4060.7998000,396.7002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  151. Object[74] = CreateObject(991,4054.9004000,402.5996100,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  152. Object[75] = CreateObject(991,4055.0000000,396.2998000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  153. Object[76] = CreateObject(991,4054.9004000,389.7998000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  154. Object[77] = CreateObject(991,4056.0000000,384.5000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(42)
  155. Object[78] = CreateObject(991,4067.9004000,384.4003900,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(42)
  156. Object[79] = CreateObject(991,4060.7998000,390.0996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  157. Object[80] = CreateObject(991,4064.9004000,394.2998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  158. Object[81] = CreateObject(991,4064.9004000,400.9003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  159. Object[82] = CreateObject(991,4064.9004000,404.2002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  160. Object[83] = CreateObject(991,4074.4004000,404.2998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  161. Object[84] = CreateObject(991,4074.4004000,387.7998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  162. Object[85] = CreateObject(991,4074.4004000,394.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  163. Object[86] = CreateObject(991,4074.4004000,401.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  164. Object[87] = CreateObject(991,4052.7998000,407.7002000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(42)
  165. Object[88] = CreateObject(991,4069.7998000,402.2998000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  166. Object[89] = CreateObject(991,4085.1006000,389.7998000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  167. Object[90] = CreateObject(991,4069.9004000,396.2002000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  168. Object[91] = CreateObject(991,4069.7998000,389.9003900,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  169. Object[92] = CreateObject(991,4085.1006000,396.0996100,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  170. Object[93] = CreateObject(991,4100.7002000,396.0996100,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  171. Object[94] = CreateObject(991,4085.2998000,402.4003900,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  172. Object[95] = CreateObject(991,4100.6006000,402.4003900,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  173. Object[96] = CreateObject(991,4100.5000000,389.7998000,28.0000000,0.0000000,0.0000000,0.0000000); //object(bar_barriergate1)(41)
  174. Object[97] = CreateObject(991,4083.2002000,417.7002000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(29)
  175. Object[98] = CreateObject(991,4086.5000000,408.0000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(18)
  176. Object[99] = CreateObject(991,4080.0000000,404.5996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  177. Object[100] = CreateObject(991,4080.0000000,398.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  178. Object[101] = CreateObject(991,4080.0000000,391.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  179. Object[102] = CreateObject(991,4082.7002000,382.5000000,29.0000000,0.0000000,0.0000000,139.9990000); //object(bar_barriergate1)(32)
  180. Object[103] = CreateObject(991,4089.0000000,387.7998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  181. Object[104] = CreateObject(991,4089.0000000,394.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  182. Object[105] = CreateObject(991,4105.2998000,387.9003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  183. Object[106] = CreateObject(991,4080.0000000,388.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  184. Object[107] = CreateObject(991,4085.7002000,384.5000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(29)
  185. Object[108] = CreateObject(991,4095.2002000,404.7002000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  186. Object[109] = CreateObject(991,4095.2002000,398.0996100,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  187. Object[110] = CreateObject(991,4095.2002000,391.4003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  188. Object[111] = CreateObject(991,4095.1006000,388.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  189. Object[112] = CreateObject(991,4098.6006000,407.9003900,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(18)
  190. Object[113] = CreateObject(991,4083.2002000,408.0000000,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(29)
  191. Object[114] = CreateObject(991,4089.0000000,401.0000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  192. Object[115] = CreateObject(991,4105.2002000,404.5000000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  193. Object[116] = CreateObject(991,4105.2002000,397.9003900,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  194. Object[117] = CreateObject(991,4105.2002000,391.2998000,29.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barriergate1)(32)
  195. Object[118] = CreateObject(991,4098.5000000,384.9003900,29.0000000,0.0000000,0.0000000,179.9950000); //object(bar_barriergate1)(29)
  196. Object[119] = CreateObject(8661,4096.0000000,466.6000100,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(1)
  197. Object[120] = CreateObject(8661,4087.7000000,479.3999900,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(2)
  198. Object[121] = CreateObject(8661,4058.2000000,480.2000100,27.3000000,0.0000000,0.0000000,10.0000000); //object(gnhtelgrnd_lvs)(3)
  199. Object[122] = CreateObject(8661,4056.3000000,462.5000000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(4)
  200. Object[123] = CreateObject(8661,4079.5000000,452.1000100,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(5)
  201. Object[124] = CreateObject(8661,4040.0000000,452.0996100,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(6)
  202. Object[125] = CreateObject(8661,4036.6001000,466.5000000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(7)
  203. Object[126] = CreateObject(8661,4115.0000000,452.0996100,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(8)
  204. Object[127] = CreateObject(8661,4122.8999000,465.6000100,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(9)
  205. Object[128] = CreateObject(8661,4126.3999000,442.7999900,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(10)
  206. Object[129] = CreateObject(8661,4115.0000000,452.0996100,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(11)
  207. Object[130] = CreateObject(8661,4039.7000000,434.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(12)
  208. Object[131] = CreateObject(8661,4039.7002000,420.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(13)
  209. Object[132] = CreateObject(8661,4039.7002000,410.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(14)
  210. Object[133] = CreateObject(8661,4039.7002000,400.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(15)
  211. Object[134] = CreateObject(8661,4039.7002000,380.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(16)
  212. Object[135] = CreateObject(8661,4039.7002000,360.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(17)
  213. Object[136] = CreateObject(8661,4039.7002000,340.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(18)
  214. Object[137] = CreateObject(8661,4079.0000000,434.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(19)
  215. Object[138] = CreateObject(8661,4119.0000000,434.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(20)
  216. Object[139] = CreateObject(8661,4145.7998000,423.7000100,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(21)
  217. Object[140] = CreateObject(8661,4022.1001000,446.3999900,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(22)
  218. Object[141] = CreateObject(8661,4020.2000000,432.2999900,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(23)
  219. Object[142] = CreateObject(8661,4008.6001000,418.1000100,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(24)
  220. Object[143] = CreateObject(8661,4011.5000000,398.8999900,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(25)
  221. Object[144] = CreateObject(8661,4002.8000000,379.3999900,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(26)
  222. Object[145] = CreateObject(8661,4017.5000000,360.5000000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(27)
  223. Object[146] = CreateObject(8661,4138.8999000,403.8999900,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(28)
  224. Object[147] = CreateObject(8661,4139.5000000,384.7000100,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(29)
  225. Object[148] = CreateObject(8661,4131.0000000,365.5000000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(30)
  226. Object[149] = CreateObject(8661,4117.8999000,349.1000100,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(31)
  227. Object[150] = CreateObject(8661,4094.1001000,336.8999900,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(32)
  228. Object[151] = CreateObject(8661,4070.0000000,336.2999900,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(33)
  229. Object[152] = CreateObject(8661,4078.0000000,415.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(34)
  230. Object[153] = CreateObject(8661,4078.0000000,395.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(35)
  231. Object[154] = CreateObject(8661,4078.0000000,375.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(36)
  232. Object[155] = CreateObject(8661,4078.0000000,355.0000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(37)
  233. Object[156] = CreateObject(8661,4110.0000000,423.7002000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(38)
  234. Object[157] = CreateObject(8661,4110.0000000,410.0000000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(39)
  235. Object[158] = CreateObject(8661,4110.0000000,390.0000000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(40)
  236. Object[159] = CreateObject(8661,4110.0000000,370.0000000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(41)
  237. Object[160] = CreateObject(8661,4118.0000000,350.0000000,27.3000000,0.0000000,0.0000000,0.0000000); //object(gnhtelgrnd_lvs)(42)
  238. Object[161] = CreateObject(3501,4071.5000000,472.0000000,30.5000000,0.0000000,0.0000000,270.0000000); //object(vgsxrefpartm1)(1)
  239. Object[162] = CreateObject(7421,4032.2000000,349.8999900,27.6500000,0.0000000,0.0000000,0.0000000); //object(vegasgolfcrs01)(1)
  240. Object[163] = CreateObject(7420,4008.7998000,398.4003900,27.0000000,0.0000000,0.0000000,0.0000000); //object(vegasgolfcrs01)(1)
  241. Object[164] = CreateObject(7421,4091.2000000,365.5000000,27.6000000,0.0000000,0.0000000,0.0000000); //object(vegasgolfcrs01)(1)
  242. Object[165] = CreateObject(7601,4072.1006000,359.7998000,27.6000000,0.0000000,0.0000000,0.0000000); //object(vegasgolfcrs01)(1)
  243. Object[166] = CreateObject(5711,4058.0000000,368.8999900,31.2000000,0.0000000,0.0000000,0.0000000); //object(cem02_law)(1)
  244. Object[167] = CreateObject(5711,4069.6001000,369.1000100,31.2000000,0.0000000,0.0000000,0.0000000); //object(cem02_law)(2)
  245. Object[168] = CreateObject(5716,4137.3999000,404.6000100,40.6000000,0.0000000,0.0000000,270.0000000); //object(manns01_lawn)(1)
  246. Object[169] = CreateObject(4574,4103.6001000,460.5000000,53.3000000,0.0000000,0.0000000,0.0000000); //object(stolenbuilds13)(1)
  247. Object[170] = CreateObject(17026,4097.7998000,351.3999900,27.0000000,0.0000000,0.0000000,90.0000000); //object(cunt_rockgp2_)(2)
  248. Object[171] = CreateObject(5711,4069.7000000,346.2999900,31.2000000,0.0000000,0.0000000,0.0000000); //object(cem02_law)(3)
  249. Object[172] = CreateObject(5711,4058.1001000,345.7000100,31.2000000,0.0000000,0.0000000,0.0000000); //object(cem02_law)(4)
  250. Object[173] = CreateObject(5426,4006.2998000,397.0996100,30.0000000,0.0000000,0.0000000,0.0000000); //object(laejeffers06)(2)
  251. Object[174] = CreateObject(5426,3985.0000000,397.0000000,30.0000000,0.0000000,0.0000000,0.0000000); //object(laejeffers06)(3)
  252. Object[175] = CreateObject(8661,3969.0000000,400.7999900,43.2000000,0.0000000,260.0000000,15.0000000); //object(gnhtelgrnd_lvs)(11)
  253. }
  254. #endif
  255.  
  256. //==============================================================================
  257. // Basic vars
  258. //==============================================================================
  259.  
  260. new bool:MissionStarted;
  261. new bool:ObjectiveStarted;
  262. new bool:MissionCancelled;
  263.  
  264. native IsValidVehicle(vehicleid);
  265.  
  266. enum playersdata {
  267. UserName[MAX_PLAYER_NAME],
  268. Kills,
  269. bool:Counted,
  270. PlayerClassID
  271. };
  272. new PlayerMissionInfo[MAX_PLAYERS][playersdata];
  273.  
  274. new TopKiller= INVALID_PLAYER_ID;
  275. new TopKills;
  276. new bool:Draw;
  277. new TotalPlayers;
  278. new GMTimer;
  279. new GMSec;
  280. new RandColor;
  281. new MaxSpawns;
  282.  
  283. //==============================================================================
  284. // Basic script
  285. //==============================================================================
  286.  
  287. main()
  288. {
  289. print("----------------------------------");
  290. print(" Mission: "MISSION_NAME" started.");
  291. print("----------------------------------\n");
  292. }
  293.  
  294. public OnGameModeInit()
  295. {
  296. MissionStarted= true;
  297. MaxSpawns=sizeof(gSpawns);
  298. GMTimer = SetTimer("GMClock",1000,true);
  299. RandColor=random(2);
  300.  
  301. #if MAX_MAP_OBJECTS != 0
  302. CreateMap();
  303. #endif
  304.  
  305. for(new i=0; i<sizeof(PedInfo); i++)
  306. {
  307. 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);
  308. }
  309.  
  310. for(new i=0; i<MAX_VEHICLES; i++) if(IsValidVehicle(i)) SetVehicleHealth(i,VEHICLE_HEALTH);
  311. if(CallRemoteFunction("GetCurrentMissionCJWalk","")) UsePlayerPedAnims();
  312. return 1;
  313. }
  314.  
  315. public OnGameModeExit()
  316. {
  317. #if MAX_MAP_OBJECTS != 0
  318. for(new i=0;i<MAX_MAP_OBJECTS;i++) DestroyObject(Object[i]);
  319. #endif
  320. for(new i=0; i<MAX_VEHICLES; i++)
  321. {
  322. DestroyVehicle(i);
  323. }
  324. return 1;
  325. }
  326.  
  327. FUNCTION GMClock()
  328. {
  329. GMSec++;
  330. switch(ObjectiveStarted)
  331. {
  332. case false:
  333. {
  334. switch(GMSec)
  335. {
  336. case 1:
  337. {
  338. new string[40];
  339. format(string,sizeof(string),"The deathmatch will start in %d seconds.",START_TIME);
  340. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1, string,0);
  341. }
  342. case START_TIME-3:
  343. {
  344. PlaySoundForAll(1056);
  345. GameTextForAll("~r~~h~3",1000,3);
  346. }
  347. case START_TIME-2:
  348. {
  349. PlaySoundForAll(1056);
  350. GameTextForAll("~r~~h~~h~2",1000,3);
  351. }
  352. case START_TIME-1:
  353. {
  354. PlaySoundForAll(1056);
  355. GameTextForAll("~y~1",1000,3);
  356. }
  357. case START_TIME:
  358. {
  359. PlaySoundForAll(1057);
  360. CallRemoteFunction("StartMission","");
  361. GameTextForAll("~r~Fight!",1000,3);
  362. ObjectiveStarted= true;
  363. ToggleControllable(true);
  364. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" The Deathmatch has started. Happy Killing!");
  365. KillTimer(GMTimer);
  366. }
  367. }
  368. }
  369. }
  370. }
  371.  
  372. public OnPlayerDisconnect(playerid)
  373. {
  374. if(PlayerMissionInfo[playerid][Counted])
  375. {
  376. TotalPlayers --;
  377. PlayerMissionInfo[playerid][Counted]= false;
  378. if(TopKiller == playerid)
  379. {
  380. TopKiller= INVALID_PLAYER_ID;
  381. TopKills= 0;
  382. new bool:TopKill;
  383. for(new killerid=0,j=GetPlayerPoolSize(); killerid<=j; killerid++)
  384. {
  385. if(!IsPlayerConnected(killerid)) continue;
  386. if(PlayerMissionInfo[killerid][Kills] > TopKills)
  387. {
  388. TopKill= true;
  389. Draw= false;
  390. }
  391. else
  392. {
  393. TopKill= false;
  394. }
  395. if(TopKills == PlayerMissionInfo[killerid][Kills]) Draw= true;
  396. if(TopKill)
  397. {
  398. TopKills=PlayerMissionInfo[killerid][Kills];
  399. TopKiller=killerid;
  400. }
  401. }
  402. if(TopKiller != INVALID_PLAYER_ID)
  403. {
  404. if(!Draw) CallRemoteFunction("DmUpdate","ds",TopKills,PlayerMissionInfo[TopKiller][UserName]);
  405. else CallRemoteFunction("DmUpdate","ds",TopKills,"Draw");
  406. }
  407. }
  408. }
  409. return 1;
  410. }
  411.  
  412. public OnPlayerRequestClass(playerid,classid)
  413. {
  414. SetPlayerPos(playerid,CLASS_POSTION);
  415. SetPlayerCameraPos(playerid,CLASS_CAMERA);
  416. SetPlayerCameraLookAt(playerid,CLASS_POSTION);
  417. SetPlayerFacingAngle(playerid,CLASS_FACING_AGNLE);
  418.  
  419. if(PlayerMissionInfo[playerid][Counted])
  420. {
  421. TotalPlayers--;
  422. PlayerMissionInfo[playerid][Counted] = false;
  423. }
  424.  
  425. CallRemoteFunction("TdmHide","i",playerid);
  426. CallRemoteFunction("ShowClassSelection","iisiii",playerid, 2,"Deathmatcher", PedInfo[classid][Weapon1], PedInfo[classid][Weapon2], PedInfo[classid][Weapon3]);
  427. PlayerMissionInfo[playerid][PlayerClassID]=classid;
  428. return 1;
  429. }
  430.  
  431. public OnPlayerSpawn(playerid)
  432. {
  433. new string[124];
  434. CallRemoteFunction("UpdateAliveState","ii",playerid,1);
  435. CallRemoteFunction("DmShow","i",playerid);
  436. SetPlayerHealth(playerid,Health);
  437.  
  438. if(PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Skin] == 0)
  439. {
  440. back:
  441. new skin=random(312);
  442. if(skin == 74 || skin < 1) goto back;
  443. SetPlayerSkin(playerid,skin);
  444. }
  445.  
  446. if(TopKiller != INVALID_PLAYER_ID)
  447. {
  448. if(!Draw) CallRemoteFunction("DmUpdate","ds",TopKills,PlayerMissionInfo[TopKiller][UserName]);
  449. else CallRemoteFunction("DmUpdate","ds",TopKills,"Draw");
  450. }
  451. else CallRemoteFunction("DmUpdate","ds",0,"-");
  452.  
  453. if(CallRemoteFunction("GetSpectateStatus","d",playerid)) return CallRemoteFunction("SpecOffAdmin","d",playerid);
  454. if(CallRemoteFunction("GetJailedStatus","d",playerid)) CallRemoteFunction("SetJailed","d",playerid);
  455. else
  456. {
  457. new rand=random(MaxSpawns);
  458. SetPlayerPos(playerid,gSpawns[rand][0],gSpawns[rand][1],gSpawns[rand][2]);
  459. //SetPlayerFacingAngle(playerid,gSpawns[rand][3]);
  460. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon1],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo1]);
  461. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon2],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo2]);
  462. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon3],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo3]);
  463. if(!PlayerMissionInfo[playerid][Counted])
  464. {
  465. TotalPlayers++;
  466. PlayerMissionInfo[playerid][Counted]= true;
  467. CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,"You are Deathmatcher, your mission is to kill other players",2000);
  468. PlayerMissionInfo[playerid][Counted]= true;
  469. if(ObjectiveStarted)
  470. {
  471. CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,"You are late, The blood war has already started.",4000);
  472. }
  473. else
  474. {
  475. format(string,sizeof(string),""SERVER_KEY_MSG" The Deathmatch will start in %d seconds.",(GMSec-START_TIME)*-1);
  476. SendClientMessage(playerid,COLOR_SERVER,string);
  477. }
  478. CallRemoteFunction("ShowInfoText", "iisi", playerid, -1,"~r~~h~Eliminate ~w~Everyone!",2000);
  479. }
  480. if(ObjectiveStarted)TogglePlayerControllable(playerid,true);
  481. else TogglePlayerControllable(playerid,false);
  482. #if SPAWN_PROTECTION == true
  483. CallRemoteFunction("SetSpawnProtection","df",playerid,Health);
  484. #endif
  485. }
  486. SetPlayerTeam(playerid,NO_TEAM);
  487. SetPlayerColor(playerid,(RandColor == TEAM_ATTACK) ? COLOR_TEAM_ATTACK : COLOR_TEAM_DEFEND);
  488.  
  489.  
  490. return 1;
  491. }
  492.  
  493. public OnPlayerDeath(playerid, killerid, reason)
  494. {
  495. if(!MissionStarted || !ObjectiveStarted) return 1;
  496. if(killerid != INVALID_PLAYER_ID)
  497. {
  498. PlayerMissionInfo[killerid][Kills]++;
  499. new bool:TopKill;
  500. if(PlayerMissionInfo[killerid][Kills] > TopKills)
  501. {
  502. TopKill= true;
  503. Draw= false;
  504. }
  505. else
  506. {
  507. TopKill= false;
  508. }
  509. if(TopKills == PlayerMissionInfo[killerid][Kills]) Draw= true;
  510. if(TopKill)
  511. {
  512. TopKills=PlayerMissionInfo[killerid][Kills];
  513. TopKiller=killerid;
  514. }
  515. if(!Draw) CallRemoteFunction("DmUpdate","ds",TopKills,PlayerMissionInfo[TopKiller][UserName]);
  516. else CallRemoteFunction("DmUpdate","ds",TopKills,"Draw");
  517. SetPlayerScore(killerid,PlayerMissionInfo[killerid][Kills]);
  518. }
  519. CallRemoteFunction("UpdateAliveState","ii",playerid,0);
  520. return 1;
  521. }
  522.  
  523. /* -- CROSS SCRIPTING -- */
  524.  
  525. FUNCTION EndTheMission()
  526. {
  527. if(!MissionStarted) return 1;
  528. MissionStarted= false;
  529. KillTimer(GMTimer);
  530. if(!MissionCancelled && ObjectiveStarted)
  531. {
  532. new string[128];
  533. if(TopKiller == INVALID_PLAYER_ID || !IsPlayerConnected(TopKiller) || Draw)
  534. {
  535. PlaySoundForAll(1058);
  536. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" The Deathmatch has ended as a draw.");
  537. CallRemoteFunction("IRC_SendMessage","ss",""SERVER_KEY_MSG" The Deathmatch has ended as a draw.",IRC_SERVER_COLOR);
  538. for(new i=0,j=GetPlayerPoolSize(); i<=j; i++)
  539. {
  540. if(IsPlayerConnected(i) && PlayerMissionInfo[i][Counted]) CallRemoteFunction("PlayerMissionStats","dd",i,2);
  541. }
  542. return 1;
  543. }
  544. else
  545. {
  546. PlaySoundForAll(31205);
  547. new amount= (TopKills*100)+(350*TotalPlayers);
  548. format(string,sizeof(string),""SERVER_KEY_MSG" %s (%d) has won the deathmatch, with %d kills. Reward: $%d + Token.",PlayerMissionInfo[TopKiller][UserName],TopKiller,TopKills,amount);
  549. CallRemoteFunction("GivePlayerToken","dd",TopKiller,1);
  550. SendClientMessageToAll(COLOR_SERVER,string);
  551. CallRemoteFunction("IRC_SendMessage","ss",string,IRC_SERVER_COLOR);
  552. CallRemoteFunction("GivePlayerCash","ii",TopKiller,amount);
  553. CallRemoteFunction("PlayerMissionStats","dd",TopKiller,0);
  554. CallRemoteFunction("PlayerMissionStats","dd",TopKiller,12);
  555. CallRemoteFunction("CheckForBetWinners","d",TopKills);
  556. for(new i=0,j=GetPlayerPoolSize(); i<=j; i++)
  557. {
  558. if(IsPlayerConnected(i) && i != TopKiller)
  559. {
  560. GameTextForPlayer(i,"~R~MISSION FAILED~w~!",3000,3);
  561. CallRemoteFunction("PlayerMissionStats","dd",i,1);
  562. }
  563. }
  564. }
  565. }
  566. else
  567. {
  568. PlaySoundForAll(1058);
  569. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" The mission has been cancelled.");
  570. CallRemoteFunction("IRC_SendMessage","ss",""SERVER_KEY_MSG" The mission has been cancelled.",IRC_SERVER_COLOR);
  571. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1,"The mission has been cancelled.",0);
  572. GameTextForAll("~R~MISSION CANCELLED~w~!",3000,3);
  573. }
  574. return 1;
  575. }
  576.  
  577. //==============================================================================
  578. // Mission functions
  579. //==============================================================================
  580.  
  581. PlaySoundForAll(sound)
  582. {
  583. for (new i=0,j=GetPlayerPoolSize(); i <=j ; i++)
  584. {
  585. if(IsPlayerConnected(i)) PlayerPlaySound(i,sound,0,0,0);
  586. }
  587. }
  588.  
  589.  
  590. ToggleControllable(control)
  591. {
  592. for(new i=0,j=GetPlayerPoolSize(); i<=j; i++)
  593. {
  594. if(IsPlayerConnected(i))
  595. {
  596. if(CallRemoteFunction("GetAliveState","i",i)) TogglePlayerControllable(i,control);
  597. }
  598. }
  599. return 1;
  600. }
  601.  
  602. //==============================================================================
  603. // Important functions required
  604. //==============================================================================
  605.  
  606. FUNCTION CancelTheMission()
  607. {
  608. MissionCancelled= true;
  609. return 1;
  610. }
  611.  
  612. FUNCTION OnPlayerNameRecieve(playerid,name[])
  613. {
  614. format(PlayerMissionInfo[playerid][UserName],MAX_PLAYER_NAME,"%s",name);
  615. return 1;
  616. }
  617.  
  618. FUNCTION MissionObjectiveStarted() return ObjectiveStarted;
Advertisement
Add Comment
Please, Sign In to add comment