Bulletje

Untitled

Jan 23rd, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.27 KB | None | 0 0
  1. /*
  2. Script by: Bullet
  3. Map by: Bullet
  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 "Factory Wars"
  24. #define Health 99.0
  25. #define TEAM_DEFEND_NAME "Mechanic"
  26. #define TEAM_ATTACK_NAME "Worker"
  27. #define MAX_MAP_OBJECTS 211
  28. #define VEHICLE_HEALTH 0
  29. #define CLASS_POSTION -3638.1152,2664.3794,22.0978
  30. #define CLASS_CAMERA -3640.2676,2664.0652,22.0983
  31. #define CLASS_FACING_AGNLE 90.0959
  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, 50, -3582.5029,2689.2678,17.9661,0.0,0,0,WEAPON_DEAGLE,500,WEAPON_SHOTGUN,500,WEAPON_AK47,1000},
  61. {TEAM_DEFEND, 260, -3495.8230,2721.1704,16.7744,0.0,0,0,WEAPON_DEAGLE,500,WEAPON_SHOTGUN,500,WEAPON_AK47,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(18024,2993.3769500,2830.7993200,6.6848000,0.0000000,0.0000000,0.0000000); //
  74. Object[1] = CreateObject(18364,-2835.9296900,-1647.6796900,26.5000000,356.8584000,0.0000000,3.1416000); //
  75. Object[2] = CreateObject(14592,-3638.8408200,2674.9890100,28.0136800,0.0000000,0.0000000,0.0000000); //
  76. Object[3] = CreateObject(2806,-3652.5710400,2660.5449200,21.0783600,0.0000000,0.0000000,0.0000000); //
  77. Object[4] = CreateObject(2805,-3652.2668500,2660.5617700,23.0663100,0.0000000,0.0000000,0.0000000); //
  78. Object[5] = CreateObject(2804,-3651.5905800,2661.7363300,21.1092800,0.0000000,0.0000000,0.0000000); //
  79. Object[6] = CreateObject(2803,-3652.9138200,2662.7211900,21.5451900,0.0000000,0.0000000,0.0000000); //
  80. Object[7] = CreateObject(19560,-3637.1147500,2663.8588900,21.0857800,0.0000000,0.0000000,0.0000000); //
  81. Object[8] = CreateObject(19560,-3643.9311500,2661.9199200,21.0872100,0.0000000,0.0000000,0.0000000); //
  82. Object[9] = CreateObject(2805,-3637.2793000,2664.9519000,24.8618700,0.0000000,0.0000000,0.0000000); //
  83. Object[10] = CreateObject(2805,-3640.8881800,2664.4226100,24.8618700,0.0000000,0.0000000,0.0000000); //
  84. Object[11] = CreateObject(2804,-3640.3339800,2666.6269500,21.0828900,0.0000000,0.0000000,0.0000000); //
  85. Object[12] = CreateObject(2803,-3633.5878900,2665.3732900,21.4903000,0.0000000,0.0000000,0.0000000); //
  86. Object[13] = CreateObject(2806,-3640.1257300,2662.5798300,21.0890500,0.0000000,0.0000000,0.0000000); //
  87. Object[14] = CreateObject(920,-3635.0927700,2668.8359400,21.5306500,0.0000000,0.0000000,0.0000000); //
  88. Object[15] = CreateObject(929,-3643.7509800,2668.2009300,21.9363700,0.0000000,0.0000000,0.0000000); //
  89. Object[16] = CreateObject(2806,-3637.5383300,2661.1857900,21.0890500,-5.7600000,-13.9200000,0.0000000); //
  90. Object[17] = CreateObject(2806,-3637.9231000,2661.1857900,21.0890500,-5.7600000,-13.9200000,0.0000000); //
  91. Object[18] = CreateObject(2806,-3639.8081100,2662.4328600,21.0890500,0.0000000,0.0000000,0.0000000); //
  92. Object[19] = CreateObject(2803,-3638.7429200,2668.1367200,21.4903000,0.0000000,0.0000000,0.0000000); //
  93. Object[20] = CreateObject(1438,-3659.5256300,2654.8562000,21.0812000,0.0000000,0.0000000,180.0000000); //
  94. Object[21] = CreateObject(1299,-3643.7439000,2654.2819800,21.4964600,0.0000000,0.0000000,0.0000000); //
  95. Object[22] = CreateObject(1265,-3630.4523900,2658.2026400,21.5682000,0.0000000,0.0000000,0.0000000); //
  96. Object[23] = CreateObject(1264,-3644.0368700,2659.5459000,21.5296600,0.0000000,0.0000000,0.0000000); //
  97. Object[24] = CreateObject(1230,-3630.8828100,2659.5078100,21.4199200,0.0000000,0.0000000,0.0000000); //
  98. Object[25] = CreateObject(1221,-3630.8068800,2662.3833000,21.4978400,0.0000000,0.0000000,0.0000000); //
  99. Object[26] = CreateObject(2671,-3636.1660200,2666.7768600,21.0883900,0.0000000,0.0000000,0.0000000); //
  100. Object[27] = CreateObject(2671,-3637.9191900,2664.7912600,21.0884000,0.0000000,0.0000000,0.0000000); //
  101. Object[28] = CreateObject(2671,-3634.7995600,2662.5368700,21.0884000,0.0000000,0.0000000,0.0000000); //
  102. Object[29] = CreateObject(2675,-3635.1962900,2656.3842800,21.1712000,0.0000000,0.0000000,0.0000000); //
  103. Object[30] = CreateObject(2908,-3634.5410200,2660.3476600,21.1073000,0.0000000,0.0000000,0.0000000); //
  104. Object[31] = CreateObject(2907,-3635.0222200,2660.3522900,21.1073000,0.0000000,0.0000000,0.0000000); //
  105. Object[32] = CreateObject(2906,-3634.2224100,2659.5478500,21.1073000,0.0000000,0.0000000,0.0000000); //
  106. Object[33] = CreateObject(2905,-3634.7470700,2659.5903300,21.1073000,0.0000000,0.0000000,0.0000000); //
  107. Object[34] = CreateObject(3006,-3640.9567900,2660.6911600,21.0884000,-0.0600000,0.0000000,0.0000000); //
  108. Object[35] = CreateObject(1264,-3644.0878900,2664.7199700,21.5296600,0.0000000,0.0000000,0.0000000); //
  109. Object[36] = CreateObject(1264,-3643.7585400,2663.9707000,21.5296600,0.0000000,0.0000000,0.0000000); //
  110. Object[37] = CreateObject(1264,-3643.0583500,2664.5185500,21.5296600,0.0000000,0.0000000,0.0000000); //
  111. Object[38] = CreateObject(2805,-3633.7697800,2662.5903300,24.8618700,0.0000000,0.0000000,0.0000000); //
  112. Object[39] = CreateObject(2805,-3639.1428200,2661.6445300,24.8618700,0.0000000,0.0000000,0.0000000); //
  113. Object[40] = CreateObject(1523,-3659.0744600,2677.1689500,21.1015700,0.0000000,0.0000000,0.0000000); //
  114. Object[41] = CreateObject(1523,-3659.0744600,2677.1689500,23.5606100,0.0000000,0.0000000,0.0000000); //
  115. Object[42] = CreateObject(1523,-3630.2990700,2656.0136700,21.0480000,0.0000000,0.0000000,90.0000000); //
  116. Object[43] = CreateObject(1523,-3630.2189900,2656.0095200,23.5028000,0.0000000,0.0000000,90.0000000); //
  117. Object[44] = CreateObject(1338,-3667.1276900,2701.8869600,21.7781300,0.0000000,0.0000000,0.0000000); //
  118. Object[45] = CreateObject(1339,-3662.7863800,2702.1242700,21.7781000,0.0000000,0.0000000,0.0000000); //
  119. Object[46] = CreateObject(1344,-3650.2482900,2678.2063000,21.8562000,0.0000000,0.0000000,180.0000000); //
  120. Object[47] = CreateObject(1347,-3667.3142100,2693.8176300,21.6178100,0.0000000,0.0000000,0.0000000); //
  121. Object[48] = CreateObject(1349,-3666.4038100,2680.1286600,21.6333100,0.0000000,0.0000000,0.0000000); //
  122. Object[49] = CreateObject(1358,-3650.8598600,2686.2919900,22.2622800,0.0000000,0.0000000,0.0000000); //
  123. Object[50] = CreateObject(1365,-3651.6718800,2703.9328600,22.2374800,0.0000000,0.0000000,0.0000000); //
  124. Object[51] = CreateObject(1370,-3649.2841800,2693.9714400,21.6320000,0.0000000,0.0000000,0.0000000); //
  125. Object[52] = CreateObject(1372,-3649.5556600,2698.2043500,21.0861000,0.0000000,0.0000000,270.0000000); //
  126. Object[53] = CreateObject(1440,-3667.0974100,2687.5080600,21.5391800,0.0000000,0.0000000,90.0000000); //
  127. Object[54] = CreateObject(2908,-3662.1521000,2689.5927700,21.1288400,0.0000000,0.0000000,0.0000000); //
  128. Object[55] = CreateObject(3865,-3630.7338900,2655.8620600,19.3568400,0.0000000,0.0000000,180.0000000); //
  129. Object[56] = CreateObject(3865,-3569.7824700,2639.0966800,22.4716000,90.0000000,0.0000000,4.0000000); //
  130. Object[57] = CreateObject(16642,-3541.4589800,2640.6350100,26.1651700,0.0000000,-2.0000000,-7.0000000); //
  131. Object[58] = CreateObject(3865,-3625.7392600,2656.8064000,22.5603000,0.0000000,0.0000000,90.0000000); //
  132. Object[59] = CreateObject(3865,-3617.2338900,2655.3754900,22.5603000,0.0000000,0.0000000,254.0000000); //
  133. Object[60] = CreateObject(3865,-3608.3894000,2652.7624500,22.5603000,0.0000000,0.0000000,254.0000000); //
  134. Object[61] = CreateObject(3865,-3599.5336900,2650.2526900,22.5603000,0.0000000,0.0000000,254.0000000); //
  135. Object[62] = CreateObject(3865,-3590.9047900,2647.7624500,22.5603000,0.0000000,0.0000000,254.0000000); //
  136. Object[63] = CreateObject(3865,-3582.3732900,2645.2209500,22.5603000,0.0000000,0.0000000,254.0000000); //
  137. Object[64] = CreateObject(3865,-3573.7751500,2642.7043500,22.5003000,0.0000000,0.0000000,254.0000000); //
  138. Object[65] = CreateObject(3865,-3569.7956500,2640.8847700,25.0481000,0.0000000,0.0000000,167.0000000); //
  139. Object[66] = CreateObject(3865,-3571.4089400,2635.7946800,25.0481000,90.0000000,0.0000000,167.0000000); //
  140. Object[67] = CreateObject(3865,-3568.6711400,2644.4963400,27.6044000,0.0000000,0.0000000,2.0000000); //
  141. Object[68] = CreateObject(3865,-3569.0144000,2644.0827600,22.2775300,90.0000000,0.0000000,4.0000000); //
  142. Object[69] = CreateObject(16649,-3562.3154300,2641.3691400,22.4706900,0.0000000,0.0000000,0.0000000); //
  143. Object[70] = CreateObject(3865,-3556.9689900,2644.2268100,22.2775300,90.0000000,0.0000000,4.0000000); //
  144. Object[71] = CreateObject(3865,-3556.8444800,2638.5271000,22.2775300,90.0000000,0.0000000,4.0000000); //
  145. Object[72] = CreateObject(3865,-3557.0432100,2640.4685100,27.0449900,0.0000000,0.0000000,4.0000000); //
  146. Object[73] = CreateObject(8661,-3543.4480000,2613.1296400,25.5249000,90.0000000,0.0000000,174.0000000); //
  147. Object[74] = CreateObject(8661,-3530.9887700,2636.2338900,21.3088000,90.0000000,0.0000000,270.0000000); //
  148. Object[75] = CreateObject(8661,-3531.9929200,2624.1916500,21.3088000,90.0000000,0.0000000,264.0000000); //
  149. Object[76] = CreateObject(8661,-3530.4267600,2654.8195800,21.2941600,90.0000000,0.0000000,266.0000000); //
  150. Object[77] = CreateObject(16641,-3541.1081500,2634.0383300,22.7454500,0.0000000,0.0000000,0.0000000); //
  151. Object[78] = CreateObject(14577,-3534.9643600,2713.4257800,28.6012700,2.0000000,0.0000000,-90.0000000); //
  152. Object[79] = CreateObject(3865,-3536.6374500,2658.0393100,22.4212600,0.0000000,0.0000000,90.0000000); //
  153. Object[80] = CreateObject(3865,-3537.0490700,2656.7470700,22.4213000,0.0000000,0.0000000,84.0000000); //
  154. Object[81] = CreateObject(3865,-3539.6347700,2658.9492200,22.4213000,90.0000000,0.0000000,90.0000000); //
  155. Object[82] = CreateObject(3865,-3534.7314500,2658.4030800,22.4213000,90.0000000,0.0000000,90.0000000); //
  156. Object[83] = CreateObject(3865,-3536.2605000,2659.3952600,28.3086300,0.0000000,0.0000000,84.0000000); //
  157. Object[84] = CreateObject(3865,-3535.0798300,2657.4536100,23.7193500,90.0000000,0.0000000,90.0000000); //
  158. Object[85] = CreateObject(3865,-3535.0827600,2658.1884800,23.7193500,90.0000000,0.0000000,90.0000000); //
  159. Object[86] = CreateObject(3865,-3536.7788100,2659.2377900,27.8562800,0.0000000,0.0000000,90.0000000); //
  160. Object[87] = CreateObject(2803,-3540.2810100,2676.2910200,21.9487900,0.0000000,0.0000000,0.0000000); //
  161. Object[88] = CreateObject(2804,-3537.1679700,2673.6098600,21.6303600,0.0000000,0.0000000,0.0000000); //
  162. Object[89] = CreateObject(2805,-3536.7739300,2674.2392600,25.8433300,0.0000000,0.0000000,0.0000000); //
  163. Object[90] = CreateObject(2806,-3534.9987800,2674.1286600,21.6978200,0.0000000,0.0000000,0.0000000); //
  164. Object[91] = CreateObject(19560,-3538.5935100,2670.9765600,21.5486600,0.0000000,0.0000000,0.0000000); //
  165. Object[92] = CreateObject(910,-3542.0466300,2670.3244600,22.5964900,0.0000000,0.0000000,90.0000000); //
  166. Object[93] = CreateObject(929,-3530.5295400,2680.6494100,22.7719000,0.0000000,0.0000000,0.0000000); //
  167. Object[94] = CreateObject(934,-3530.7556200,2670.6777300,23.0361600,0.0000000,0.0000000,0.0000000); //
  168. Object[95] = CreateObject(943,-3542.1831100,2680.0310100,22.2036000,0.0000000,0.0000000,0.0000000); //
  169. Object[96] = CreateObject(952,-3537.3068800,2681.3061500,22.8043400,0.0000000,0.0000000,90.0000000); //
  170. Object[97] = CreateObject(920,-3537.8364300,2676.0175800,22.0360000,0.0000000,0.0000000,90.0000000); //
  171. Object[98] = CreateObject(2806,-3534.8371600,2671.2915000,21.6978200,0.0000000,0.0000000,0.0000000); //
  172. Object[99] = CreateObject(2804,-3536.5791000,2670.9470200,21.6303600,0.0000000,0.0000000,0.0000000); //
  173. Object[100] = CreateObject(2804,-3533.4477500,2674.3593800,21.7828200,0.0000000,0.0000000,0.0000000); //
  174. Object[101] = CreateObject(2806,-3540.0752000,2673.2778300,21.7050500,0.0000000,0.0000000,0.0000000); //
  175. Object[102] = CreateObject(2806,-3539.0898400,2669.7998000,21.7050500,0.0000000,0.0000000,0.0000000); //
  176. Object[103] = CreateObject(2803,-3537.7583000,2671.3894000,21.9487900,0.0000000,0.0000000,0.0000000); //
  177. Object[104] = CreateObject(2803,-3533.5461400,2678.3701200,21.9487900,0.0000000,0.0000000,0.0000000); //
  178. Object[105] = CreateObject(2805,-3536.1396500,2674.1547900,25.8433300,0.0000000,0.0000000,0.0000000); //
  179. Object[106] = CreateObject(2805,-3537.3981900,2674.2605000,25.8433300,0.0000000,0.0000000,0.0000000); //
  180. Object[107] = CreateObject(3006,-3511.4716800,2690.2092300,22.2165500,0.0000000,0.0000000,0.0000000); //
  181. Object[108] = CreateObject(2671,-3537.5605500,2678.5302700,21.6554000,0.0000000,0.0000000,0.0000000); //
  182. Object[109] = CreateObject(2671,-3538.7790500,2673.8676800,21.6554000,0.0000000,0.0000000,0.0000000); //
  183. Object[110] = CreateObject(2671,-3538.3164100,2676.2436500,21.6554000,0.0000000,0.0000000,0.0000000); //
  184. Object[111] = CreateObject(2671,-3519.1359900,2691.0017100,22.2805000,0.0000000,0.0000000,0.0000000); //
  185. Object[112] = CreateObject(2671,-3520.0549300,2692.8144500,22.2805000,0.0000000,0.0000000,0.0000000); //
  186. Object[113] = CreateObject(2670,-3517.9782700,2689.2280300,22.3741400,0.0000000,0.0000000,0.0000000); //
  187. Object[114] = CreateObject(926,-3510.5356400,2703.9668000,22.7523500,0.0000000,0.0000000,0.0000000); //
  188. Object[115] = CreateObject(928,-3520.3706100,2677.6235400,22.4323400,0.0000000,0.0000000,0.0000000); //
  189. Object[116] = CreateObject(1358,-3526.7260700,2688.0063500,23.1853100,0.0000000,0.0000000,0.0000000); //
  190. Object[117] = CreateObject(2670,-3523.7229000,2694.5236800,22.2379200,0.0000000,0.0000000,0.0000000); //
  191. Object[118] = CreateObject(2670,-3514.8801300,2689.9399400,22.4902000,0.0000000,0.0000000,0.0000000); //
  192. Object[119] = CreateObject(2672,-3515.8515600,2687.5080600,22.6554000,0.0000000,0.0000000,0.0000000); //
  193. Object[120] = CreateObject(2673,-3519.8039600,2686.1862800,22.3383000,0.0000000,0.0000000,0.0000000); //
  194. Object[121] = CreateObject(2674,-3518.0319800,2682.3676800,22.3164000,0.0000000,0.0000000,0.0000000); //
  195. Object[122] = CreateObject(2675,-3516.0715300,2692.2316900,22.4342300,0.0000000,0.0000000,0.0000000); //
  196. Object[123] = CreateObject(2676,-3517.0642100,2695.6545400,22.4785500,0.0000000,0.0000000,0.0000000); //
  197. Object[124] = CreateObject(2677,-3521.1474600,2696.0983900,22.4639500,0.0000000,0.0000000,0.0000000); //
  198. Object[125] = CreateObject(18099,-3520.1872600,2698.1511200,22.2218500,0.0000000,0.0000000,0.0000000); //
  199. Object[126] = CreateObject(1328,-3528.3564500,2694.3105500,22.4052300,0.0000000,0.0000000,0.0000000); //
  200. Object[127] = CreateObject(1329,-3510.5730000,2677.9257800,22.9041500,0.0000000,0.0000000,0.0000000); //
  201. Object[128] = CreateObject(1330,-3528.1403800,2704.2072800,22.3496600,0.0000000,0.0000000,0.0000000); //
  202. Object[129] = CreateObject(1331,-3524.9016100,2677.6677200,22.8434100,0.0000000,0.0000000,0.0000000); //
  203. Object[130] = CreateObject(1333,-3510.6159700,2682.4502000,23.3329400,0.0000000,0.0000000,0.0000000); //
  204. Object[131] = CreateObject(1335,-3522.0390600,2699.6191400,23.2403400,0.0000000,0.0000000,0.0000000); //
  205. Object[132] = CreateObject(1337,-3529.0773900,2687.2490200,22.5098200,0.0000000,0.0000000,0.0000000); //
  206. Object[133] = CreateObject(1338,-3528.5344200,2683.1472200,22.5350400,0.0000000,0.0000000,0.0000000); //
  207. Object[134] = CreateObject(1339,-3536.8825700,2682.9406700,22.2412100,0.0000000,0.0000000,0.0000000); //
  208. Object[135] = CreateObject(1347,-3533.4565400,2687.1770000,22.2784600,0.0000000,0.0000000,0.0000000); //
  209. Object[136] = CreateObject(1362,-3538.7106900,2687.1704100,22.0835600,0.0000000,0.0000000,0.0000000); //
  210. Object[137] = CreateObject(2673,-3530.1240200,2685.1850600,21.9585600,0.0000000,0.0000000,0.0000000); //
  211. Object[138] = CreateObject(2671,-3532.4826700,2685.0212400,21.9207600,0.0000000,0.0000000,0.0000000); //
  212. Object[139] = CreateObject(2672,-3536.8171400,2685.1284200,21.9359200,0.0000000,0.0000000,0.0000000); //
  213. Object[140] = CreateObject(920,-3547.7602500,2683.1901900,21.5956400,0.0000000,0.0000000,0.0000000); //
  214. Object[141] = CreateObject(929,-3544.2185100,2696.1711400,22.2619100,0.0000000,0.0000000,0.0000000); //
  215. Object[142] = CreateObject(934,-3557.9619100,2680.3979500,21.9637900,0.0000000,0.0000000,0.0000000); //
  216. Object[143] = CreateObject(943,-3550.3715800,2688.8864700,21.7956300,0.0000000,0.0000000,0.0000000); //
  217. Object[144] = CreateObject(952,-3560.0383300,2689.5395500,22.1395700,0.0000000,0.0000000,0.0000000); //
  218. Object[145] = CreateObject(2803,-3547.9199200,2683.2810100,22.4258700,0.0000000,0.0000000,0.0000000); //
  219. Object[146] = CreateObject(2804,-3553.2822300,2686.0427200,21.0473100,0.0000000,0.0000000,0.0000000); //
  220. Object[147] = CreateObject(2805,-3549.4531300,2685.8598600,25.4814700,0.0000000,0.0000000,0.0000000); //
  221. Object[148] = CreateObject(2806,-3548.4497100,2691.5222200,21.3026100,0.0000000,0.0000000,0.0000000); //
  222. Object[149] = CreateObject(19560,-3546.6215800,2685.3723100,21.2680900,0.0000000,0.0000000,0.0000000); //
  223. Object[150] = CreateObject(2803,-3545.8940400,2694.7334000,21.7841600,0.0000000,0.0000000,0.0000000); //
  224. Object[151] = CreateObject(2805,-3547.8681600,2690.6650400,24.6373000,0.0000000,0.0000000,0.0000000); //
  225. Object[152] = CreateObject(2805,-3558.1884800,2690.7710000,24.3180300,0.0000000,0.0000000,0.0000000); //
  226. Object[153] = CreateObject(2803,-3560.7390100,2703.6530800,21.2401500,0.0000000,0.0000000,0.0000000); //
  227. Object[154] = CreateObject(2806,-3554.4882800,2697.9365200,21.3026000,0.0000000,0.0000000,0.0000000); //
  228. Object[155] = CreateObject(2806,-3554.2497600,2698.5730000,21.3026000,0.0000000,0.0000000,0.0000000); //
  229. Object[156] = CreateObject(2806,-3554.2268100,2698.2141100,21.3026000,0.0000000,0.0000000,0.0000000); //
  230. Object[157] = CreateObject(2806,-3551.2805200,2700.0295400,21.3026000,0.0000000,0.0000000,0.0000000); //
  231. Object[158] = CreateObject(2803,-3552.8164100,2696.1137700,21.2401500,0.0000000,0.0000000,0.0000000); //
  232. Object[159] = CreateObject(2780,-3539.7890600,2656.6721200,25.1450500,0.0000000,0.0000000,0.0000000); //
  233. Object[160] = CreateObject(2780,-3629.1616200,2656.6286600,24.0144500,0.0000000,0.0000000,0.0000000); //
  234. Object[161] = CreateObject(2589,-3638.0105000,2663.0202600,25.9832000,0.0000000,-3.0000000,2.0000000); //
  235. Object[162] = CreateObject(2589,-3544.5234400,2634.9257800,25.0366000,-81.3600000,-6.2400000,1.0000000); //
  236. Object[163] = CreateObject(2589,-3539.1125500,2636.2595200,25.0366000,-81.3600000,-6.2400000,1.0000000); //
  237. Object[164] = CreateObject(2589,-3533.2556200,2636.1579600,25.3646600,-81.3600000,-6.2400000,1.0000000); //
  238. Object[165] = CreateObject(2589,-3530.2031300,2667.2895500,23.7244000,96.0000000,36.0000000,-28.0000000); //
  239. Object[166] = CreateObject(2589,-3533.7832000,2680.9060100,26.6765100,0.0000000,0.0000000,0.0000000); //
  240. Object[167] = CreateObject(2589,-3553.0913100,2681.6877400,27.1769200,0.0000000,0.0000000,0.0000000); //
  241. Object[168] = CreateObject(14585,-3537.6591800,2667.6193800,29.1195000,0.0000000,0.0000000,0.0000000); //
  242. Object[169] = CreateObject(14412,-3598.3632800,2697.0026900,26.3098100,0.0000000,0.0000000,0.0000000); //
  243. Object[170] = CreateObject(1499,-3621.2314500,2683.7094700,21.1227000,0.0000000,0.0000000,90.0000000); //
  244. Object[171] = CreateObject(1499,-3621.2353500,2686.7063000,21.1227000,0.0000000,0.0000000,270.0000000); //
  245. Object[172] = CreateObject(14416,-3619.0993700,2703.8823200,17.9279700,0.0000000,0.0000000,0.0000000); //
  246. Object[173] = CreateObject(14413,-3593.9460400,2698.9587400,22.9353000,0.0000000,0.0000000,0.0000000); //
  247. Object[174] = CreateObject(16641,-3538.9980500,2649.0864300,22.7454500,0.0000000,0.0000000,-188.2199700); //
  248. Object[175] = CreateObject(14408,-3508.7912600,2726.7312000,24.7843300,0.9000000,-1.3800000,-90.0000000); //
  249. Object[176] = CreateObject(1557,-3526.9914600,2732.4919400,12.8882000,0.0000000,0.0000000,90.0000000); //
  250. Object[177] = CreateObject(1557,-3526.9646000,2735.4917000,12.8882000,0.0000000,0.0000000,-90.0000000); //
  251. Object[178] = CreateObject(14466,-3485.6357400,2775.5183100,13.5729200,0.0000000,0.0000000,0.0000000); //
  252. Object[179] = CreateObject(14409,-3512.0278300,2706.7912600,19.0355000,0.0000000,0.0000000,270.0000000); //
  253. Object[180] = CreateObject(8661,-3499.3090800,2704.4355500,22.4691000,90.0000000,0.0000000,0.0000000); //
  254. Object[181] = CreateObject(8661,-3534.7685500,2704.7097200,34.4150200,90.0000000,0.0000000,0.0000000); //
  255. Object[182] = CreateObject(1499,-3522.2985800,2704.4802200,22.1191000,0.0000000,0.0000000,0.0000000); //
  256. Object[183] = CreateObject(1499,-3519.2785600,2704.4790000,22.1191000,0.0000000,0.0000000,180.0000000); //
  257. Object[184] = CreateObject(14438,-3507.4191900,2735.0385700,25.1642400,0.0000000,0.0000000,0.0000000); //
  258. Object[185] = CreateObject(14436,-3496.9135700,2745.2221700,26.4017100,0.0000000,0.0000000,0.0000000); //
  259. Object[186] = CreateObject(14466,-3471.6923800,2714.5197800,20.8908200,0.0000000,0.0000000,-89.2200300); //
  260. Object[187] = CreateObject(14464,-3496.9262700,2737.1208500,24.6484000,1.0000000,-1.0000000,-90.0000000); //
  261. Object[188] = CreateObject(1557,-3581.0918000,2690.4765600,16.9608000,0.0000000,0.0000000,-90.0000000); //
  262. Object[189] = CreateObject(1557,-3581.0786100,2687.4558100,16.9608000,0.0000000,0.0000000,-270.0000000); //
  263. Object[190] = CreateObject(3630,-3585.7509800,2685.9279800,18.3528100,0.0000000,0.0000000,0.0000000); //
  264. Object[191] = CreateObject(9589,-3597.2541500,2699.0705600,19.7102200,0.0000000,0.0000000,0.0000000); //
  265. Object[192] = CreateObject(934,-3604.4450700,2690.0705600,18.1933800,0.0000000,0.0000000,0.0000000); //
  266. Object[193] = CreateObject(2932,-3597.6792000,2689.7543900,18.3594900,0.0000000,0.0000000,0.0000000); //
  267. Object[194] = CreateObject(1557,-3510.3942900,2752.9050300,14.7992300,0.0000000,0.0000000,0.0000000); //
  268. Object[195] = CreateObject(1557,-3507.4277300,2752.8256800,14.8192000,0.0000000,0.0000000,-182.0407000); //
  269. Object[196] = CreateObject(14413,-3497.3347200,2728.7246100,21.3845200,0.0000000,0.0000000,-86.5799500); //
  270. Object[197] = CreateObject(9589,-3511.5039100,2741.2351100,18.0385200,0.0000000,0.0000000,-95.0399700); //
  271. Object[198] = CreateObject(952,-3499.8659700,2730.1484400,17.0615100,0.0000000,0.0000000,0.0000000); //
  272. Object[199] = CreateObject(2934,-3506.1972700,2729.9133300,16.7703800,0.0000000,0.0000000,0.0000000); //
  273. Object[200] = CreateObject(1230,-3497.4011200,2718.4306600,16.1842100,0.0000000,0.0000000,0.0000000); //
  274. Object[201] = CreateObject(1299,-3501.5739700,2719.5532200,16.1070600,0.0000000,0.0000000,0.0000000); //
  275. Object[202] = CreateObject(1431,-3495.8491200,2724.9130900,16.1482900,0.0000000,0.0000000,0.0000000); //
  276. Object[203] = CreateObject(2935,-3520.1657700,2720.3271500,16.7704000,0.0000000,0.0000000,0.0000000); //
  277. Object[204] = CreateObject(14467,-3509.5859400,2715.2507300,18.4275000,0.0000000,0.0000000,0.0000000); //
  278. Object[205] = CreateObject(971,-3616.7199700,2686.9792500,24.6390000,0.0000000,0.0000000,0.0000000); //
  279. Object[206] = CreateObject(971,-3607.9072300,2686.9228500,24.6390000,0.0000000,0.0000000,0.0000000); //
  280. Object[207] = CreateObject(1522,-3553.6726100,2704.8059100,21.0263000,0.5600000,-2.1600000,0.0000000); //
  281. Object[208] = CreateObject(1522,-3553.6726100,2704.8059100,22.1761400,0.5600000,-2.1600000,0.0000000); //
  282. Object[209] = CreateObject(8661,-3630.0935100,2710.5095200,25.5031000,90.0000000,0.0000000,270.0000000); //
  283. Object[210] = CreateObject(8661,-3630.1630900,2707.4838900,33.5976800,90.0000000,0.0000000,270.0000000); //
  284. }
  285. #endif
  286.  
  287. //==============================================================================
  288. // Basic vars
  289. //==============================================================================
  290.  
  291. new bool:MissionStarted;
  292. new bool:ObjectiveStarted;
  293. new bool:MissionCancelled;
  294.  
  295. native IsValidVehicle(vehicleid);
  296.  
  297. enum teamdata
  298. {
  299. Kills,
  300. Name[32],
  301. Members
  302. };
  303.  
  304. enum playerdata
  305. {
  306. UserName[MAX_PLAYER_NAME],
  307. bool:Counted,
  308. TeamSelection,
  309. PlayerClassID
  310. };
  311.  
  312. new Team[2][teamdata];
  313. new PlayerMissionInfo[MAX_PLAYERS][playerdata];
  314.  
  315. //==============================================================================
  316. // Basic script
  317. //==============================================================================
  318.  
  319. main()
  320. {
  321. print("----------------------------------");
  322. print(" Mission: "MISSION_NAME" started.");
  323. print("----------------------------------\n");
  324. }
  325.  
  326. public OnGameModeInit()
  327. {
  328. MissionStarted= true;
  329.  
  330. format(Team[TEAM_DEFEND][Name],32,"%s",TEAM_DEFEND_NAME);
  331. format(Team[TEAM_ATTACK][Name],32,"%s",TEAM_ATTACK_NAME);
  332.  
  333. if(CallRemoteFunction("GetCurrentMissionCJWalk","")) UsePlayerPedAnims();
  334.  
  335. #if MAX_MAP_OBJECTS != 0
  336. CreateMap();
  337. #endif
  338.  
  339. 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);
  340.  
  341. #if SINKING == true
  342. MapSkining[0] = SetTimer("SinkMap", 80*1000, false);
  343. #endif
  344.  
  345. for(new i=0; i<MAX_VEHICLES; i++) if(IsValidVehicle(i)) SetVehicleHealth(i,VEHICLE_HEALTH);
  346. for(new i=0; i<MAX_PLAYERS; i++) PlayerMissionInfo[i][TeamSelection]= NO_TEAM;
  347.  
  348. SetTimer("StartMissionFunc",3000,false);
  349. return 1;
  350. }
  351.  
  352. FUNCTION StartMissionFunc()
  353. {
  354. CallRemoteFunction("StartMission","");
  355. ObjectiveStarted= true;
  356. return 1;
  357. }
  358.  
  359. public OnGameModeExit()
  360. {
  361. #if MAX_MAP_OBJECTS != 0
  362. for(new i=0;i<MAX_MAP_OBJECTS;i++) DestroyObject(Object[i]);
  363. #endif
  364. return 1;
  365. }
  366.  
  367. public OnPlayerDisconnect(playerid)
  368. {
  369. if(PlayerMissionInfo[playerid][TeamSelection] != NO_TEAM && PlayerMissionInfo[playerid][Counted])
  370. {
  371. Team[PlayerMissionInfo[playerid][TeamSelection]][Members] --;
  372. PlayerMissionInfo[playerid][Counted] = false;
  373. }
  374. return 1;
  375. }
  376.  
  377. public OnPlayerRequestClass(playerid,classid)
  378. {
  379. SetPlayerPos(playerid,CLASS_POSTION);
  380. SetPlayerCameraPos(playerid,CLASS_CAMERA);
  381. SetPlayerCameraLookAt(playerid,CLASS_POSTION);
  382. SetPlayerFacingAngle(playerid,CLASS_FACING_AGNLE);
  383.  
  384. CallRemoteFunction("TdmHide","i",playerid);
  385. CallRemoteFunction("ShowClassSelection","ddsddd",playerid, PedInfo[classid][TeamID],Team[PedInfo[classid][TeamID]][Name], PedInfo[classid][Weapon1], PedInfo[classid][Weapon2], PedInfo[classid][Weapon3]);
  386. if(PlayerMissionInfo[playerid][Counted] && PlayerMissionInfo[playerid][TeamSelection] != NO_TEAM)
  387. {
  388. Team[PlayerMissionInfo[playerid][TeamSelection]][Members]--;
  389. PlayerMissionInfo[playerid][Counted] = false;
  390. }
  391. PlayerMissionInfo[playerid][TeamSelection] = PedInfo[classid][TeamID];
  392. PlayerMissionInfo[playerid][PlayerClassID]=classid;
  393. return 1;
  394. }
  395.  
  396. public OnPlayerRequestSpawn(playerid)
  397. {
  398. new opp_team = (PlayerMissionInfo[playerid][TeamSelection] == 1)? 0:1;
  399. if(Team[PlayerMissionInfo[playerid][TeamSelection]][Members] > Team[opp_team][Members])
  400. {
  401. CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,"This Team is full, choose another!",0);
  402. return 0;
  403. }
  404. return 1;
  405. }
  406. public OnPlayerSpawn(playerid)
  407. {
  408. new string[124];
  409. CallRemoteFunction("UpdateAliveState","ii",playerid,1);
  410. CallRemoteFunction("TdmShow","i",playerid);
  411. CallRemoteFunction("TdmUpdate","sssdd","Kills",Team[TEAM_DEFEND][Name],Team[TEAM_ATTACK][Name],Team[TEAM_DEFEND][Kills],Team[TEAM_ATTACK][Kills]);
  412. SetPlayerHealth(playerid,Health);
  413. if(CallRemoteFunction("GetSpectateStatus","d",playerid)) return CallRemoteFunction("SpecOffAdmin","d",playerid);
  414. if(CallRemoteFunction("GetJailedStatus","d",playerid)) CallRemoteFunction("SetJailed","d",playerid);
  415. else
  416. {
  417. SetPlayerPos(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnX],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnY],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnZ]);
  418. SetPlayerFacingAngle(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnAngle]);
  419. SetPlayerInterior(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][SpawnInterior]);
  420. SetPlayerVirtualWorld(playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][VirtualWorld]);
  421. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon1],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo1]);
  422. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon2],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo2]);
  423. CallRemoteFunction("GivePlayerWeaponEx","ddd",playerid,PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Weapon3],PedInfo[PlayerMissionInfo[playerid][PlayerClassID]][Ammo3]);
  424. if(!PlayerMissionInfo[playerid][Counted])
  425. {
  426. Team[PlayerMissionInfo[playerid][TeamSelection]][Members]++;
  427. PlayerMissionInfo[playerid][Counted] = true;
  428. new opp_team = (PlayerMissionInfo[playerid][TeamSelection] == 1)? 0:1;
  429. format(string,sizeof(string),"You have chosen team %s, your mission is to kill %s.",Team[PlayerMissionInfo[playerid][TeamSelection]][Name],Team[opp_team][Name]);
  430. CallRemoteFunction("ShowInfoBox", "iisi", playerid, -1,string,0);
  431. format(string,sizeof(string),"~r~~h~Eliminate ~w~%s.",Team[opp_team][Name]);
  432. CallRemoteFunction("ShowInfoText", "iisi", playerid, -1,string,0);
  433. }
  434. }
  435. SetPlayerTeam(playerid,PlayerMissionInfo[playerid][TeamSelection]);
  436. if(PlayerMissionInfo[playerid][TeamSelection] == TEAM_ATTACK) SetPlayerColor(playerid,COLOR_TEAM_ATTACK);
  437. else SetPlayerColor(playerid,COLOR_TEAM_DEFEND);
  438. #if SPAWN_PROTECTION == true
  439. CallRemoteFunction("SetSpawnProtection","df",playerid,Health);
  440. #endif
  441. return 1;
  442. }
  443.  
  444. public OnPlayerDeath(playerid, killerid, reason)
  445. {
  446. if(killerid != INVALID_PLAYER_ID && PlayerMissionInfo[playerid][TeamSelection] != NO_TEAM && MissionStarted)
  447. {
  448. Team[PlayerMissionInfo[killerid][TeamSelection]][Kills]++;
  449. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  450. CallRemoteFunction("TdmUpdate","sssdd","Kills",Team[TEAM_DEFEND][Name],Team[TEAM_ATTACK][Name],Team[TEAM_DEFEND][Kills],Team[TEAM_ATTACK][Kills]);
  451. }
  452. CallRemoteFunction("UpdateAliveState","ii",playerid,0);
  453. return 1;
  454. }
  455.  
  456. public OnVehicleSpawn(vehicleid)
  457. {
  458. SetVehicleHealth(vehicleid,VEHICLE_HEALTH);
  459. return 1;
  460. }
  461.  
  462. FUNCTION EndTheMission()
  463. {
  464. if(!MissionStarted) return 1;
  465. MissionStarted= false;
  466. if(!MissionCancelled)
  467. {
  468. new string[256];
  469. new amount= 10000;
  470. new winning_team;
  471. if(Team[TEAM_DEFEND][Kills] == Team[TEAM_ATTACK][Kills]) { winning_team = 2; }
  472. else if(Team[TEAM_DEFEND][Kills] > Team[TEAM_ATTACK][Kills]) { winning_team = 0; }
  473. else { winning_team = 1; }
  474.  
  475. if(winning_team != 2)
  476. {
  477. amount =amount+(Team[winning_team][Kills]*100);
  478. format(string,sizeof(string),""SERVER_KEY_MSG" %s has won the team deathmatch! Reward: $%d",Team[winning_team][Name],amount);
  479. CallRemoteFunction("IRC_SendMessage","ss",string,IRC_SERVER_COLOR);
  480. SendClientMessageToAll(COLOR_SERVER,string);
  481. format(string,sizeof(string),""SERVER_KEY_MSG" You have received $%i because your team has won the team deathmatch!",amount);
  482. for(new i=0,j=GetPlayerPoolSize(); i <= j; i++)
  483. {
  484. if(PlayerMissionInfo[i][TeamSelection] == winning_team && PlayerMissionInfo[i][Counted])
  485. {
  486. PlayerPlaySound(i,3200,0,0,0);
  487. SendClientMessage(i,COLOR_SERVER,string);
  488. CallRemoteFunction("GivePlayerCash","ii",i,amount);
  489. CallRemoteFunction("PlayerMissionStats","dd",i,0);
  490. CallRemoteFunction("PlayerMissionStats","dd",i,6);
  491. }
  492. if(PlayerMissionInfo[i][TeamSelection] != winning_team && PlayerMissionInfo[i][Counted])
  493. {
  494. PlayerPlaySound(i,17004,0,0,0);
  495. GameTextForPlayer(i,"~R~MISSION FAILED~w~!",3000,3);
  496. CallRemoteFunction("PlayerMissionStats","dd",i,1);
  497. }
  498. }
  499. }
  500. else
  501. {
  502. PlaySoundForAll(1058);
  503. format(string,sizeof(string),""SERVER_KEY_MSG" IT'S A DRAW! No team has won the team-deathmatch.");
  504. SendClientMessageToAll(COLOR_SERVER,string);
  505. CallRemoteFunction("IRC_SendMessage","ss",string,IRC_SERVER_COLOR);
  506. for(new i=0,j=GetPlayerPoolSize(); i <= j; i++) if(IsPlayerConnected(i) && PlayerMissionInfo[i][Counted]) CallRemoteFunction("PlayerMissionStats","dd",i,2);
  507. }
  508. }
  509. else
  510. {
  511. PlaySoundForAll(1058);
  512. SendClientMessageToAll(COLOR_SERVER,""SERVER_KEY_MSG" The mission has been cancelled.");
  513. CallRemoteFunction("IRC_SendMessage","ss",""SERVER_KEY_MSG" The mission has been cancelled.",IRC_SERVER_COLOR);
  514. CallRemoteFunction("ShowInfoBox", "iisi", -1, -1,"The mission has been cancelled.",0);
  515. GameTextForAll("~R~MISSION CANCELLED~w~!",3000,3);
  516. }
  517. return 1;
  518. }
  519.  
  520. //==============================================================================
  521. // Mission functions
  522. //==============================================================================
  523.  
  524. #if SINKING == true
  525. FUNCTION SinkMap()
  526. {
  527. GameTextForAll("~r~the island is sinking!",4000,3);
  528. new Float:X, Float:Y, Float:Z;
  529. new Float:oldRotX, Float:oldRotY, Float:oldRotZ;
  530.  
  531. 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); }
  532. MapSkining[0] = SetTimer("ResurfaceMap", 150*1000,false);
  533. return true;
  534. }
  535.  
  536.  
  537. FUNCTION ResurfaceMap()
  538. {
  539. GameTextForAll("~g~the island is resurfacing!",4000,3);
  540. new Float:X, Float:Y, Float:Z;
  541. new Float:oldRotX, Float:oldRotY, Float:oldRotZ;
  542.  
  543. 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); }
  544. //MapSkining[1] = SetTimer("SinkMap", 80000,false);
  545. return true;
  546. }
  547. #endif
  548.  
  549. PlaySoundForAll(sound)
  550. {
  551. for (new i=0,j=GetPlayerPoolSize(); i <=j ; i++)
  552. {
  553. if(IsPlayerConnected(i)) PlayerPlaySound(i,sound,0,0,0);
  554. }
  555. }
  556.  
  557. //==============================================================================
  558. // Important functions required
  559. //==============================================================================
  560.  
  561. FUNCTION OnPlayerNameRecieve(playerid,name[])
  562. {
  563. format(PlayerMissionInfo[playerid][UserName],MAX_PLAYER_NAME,"%s",name);
  564. return 1;
  565. }
  566.  
  567.  
  568. FUNCTION CancelTheMission()
  569. {
  570. MissionCancelled= true;
  571. return 1;
  572. }
  573.  
  574. FUNCTION MissionObjectiveStarted() return ObjectiveStarted;
Advertisement
Add Comment
Please, Sign In to add comment