Guest User

TraNe15

a guest
Aug 12th, 2009
442
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.09 KB | None | 0 0
  1. //---------------------------------------------------------
  2. //
  3. // Drug Factory Mission By TraNe15 - 2009 - Turkiye
  4. //
  5. //---------------------------------------------------------
  6. /*
  7. =_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=
  8. ____________ ______ _ _ __ ______
  9. |_____ _____| | _ | | | | | | | | ___|
  10. | | | |_| | | _ | | | | | | | |
  11. | | | __| | |_| | | | | || | | |____
  12. | | | | | | _____ | | || | | | | ___| #15
  13. | | | || | | | | | | | | | | | |____
  14. |_| |_| |_| |_| |_| |__| |_| |_____|
  15. =_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=
  16. */
  17. #include <a_samp>
  18. #include <core>
  19. #include <float>
  20.  
  21.  
  22. static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player
  23.  
  24. #define TEAM_ATTACK 1 //Green
  25. #define TEAM_DEFANCE 2 //blue
  26. #define OBJECTIVE_COLOR 0xAA0000FF
  27. #define TEAM_RED_COLOR 0xFF0000AA
  28. #define TEAM_BLUE_COLOR 0x3333AAAA
  29.  
  30. //COLORS
  31. #define COLOR_AQUA 0x00FFFFAA
  32. #define COLOR_GREY 0xAFAFAFAA
  33. #define COLOR_BEIGE 0xFFF8DCAA
  34. #define COLOR_BLACK 0x000000AA
  35. #define COLOR_BLUE 0x0000FFAA
  36. #define COLOR_BLUELIGHTER 0x00BFFFAA
  37. #define COLOR_BLUELIGHT 0x1E90FFAA
  38. #define COLOR_BLUEMEDIUM 0x0000CDAA
  39. #define COLOR_BLUEDARK 0x00008BAA
  40. #define COLOR_PINKLIGHT 0xFF1493AA
  41. #define COLOR_PINKDARK 0xFF00FFAA
  42. #define COLOR_GREEN 0x008000AA
  43. #define COLOR_GREENLIGHT 0x00FF00AA
  44. #define COLOR_GREENDARK 0x006400AA
  45. #define COLOR_MAROON 0x800000AA
  46. #define COLOR_OKER 0x808000AA
  47. #define COLOR_ORANGEDARK 0xFF4500AA
  48. #define COLOR_ORANGELIGHT 0xFF8C00AA
  49. #define COLOR_PURPLE 0x800080AA
  50. #define COLOR_VIOLETDARK 0x9400D3AA
  51. #define COLOR_INDIGO 0xAB0082AA
  52. #define COLOR_RED 0xFF0000AA
  53. #define COLOR_SAND 0xFFDEADAA
  54. #define COLOR_SILVER 0xC0C0C0AA
  55. #define COLOR_TEAL 0x008080AA
  56. #define COLOR_WHITE 0xFFFFFFAA
  57. #define COLOR_YELLOW 0xFFFF00AA
  58. #define COLOR_GOLD 0xFFD700AA
  59. #define COLOR_BROWN 0x8B4513AA
  60. #define COLOR_BROWNLIGHT 0xA0522DAA
  61. #define COLOR_GRAY 0xA9A9A9AA
  62. #define COLOR_GRAYDARK 0x696969AA
  63. #define COLOR_INVISIBLE 0xFFFFFF00
  64.  
  65. new gObjectiveGreenPlayer=(-1);
  66. new gObjectiveBluePlayer=(-1);
  67. new gObjectiveReached=0;
  68.  
  69. forward SetPlayerToTeamColor(playerid);
  70. forward SetupPlayerForClassSelection(playerid);
  71. forward SetPlayerTeamFromClass(playerid,classid);
  72. forward ExitTheGameMode();
  73. forward Finish();
  74.  
  75. //---------------------------------------------------------
  76.  
  77. main()
  78. {
  79. print("\n------------------------------------");
  80. print("== Drug Factory Mission by TraNe ==");
  81. print("--------------------------------------\n");
  82. }
  83.  
  84. //---------------------------------------------------------
  85.  
  86. public OnPlayerStateChange(playerid, newstate, oldstate)
  87. {
  88.  
  89. if(newstate == PLAYER_STATE_DRIVER)
  90. {
  91.  
  92. if(gTeam[playerid] == TEAM_ATTACK)
  93. { // It's the objective vehicle
  94. SetPlayerColor(playerid,OBJECTIVE_COLOR);
  95. GameTextForPlayer(playerid," ",3000,5);
  96. gObjectiveGreenPlayer = playerid;
  97. }
  98.  
  99. if(gTeam[playerid] == TEAM_DEFANCE)
  100. { // It's the objective vehicle
  101. SetPlayerColor(playerid,OBJECTIVE_COLOR);
  102. GameTextForPlayer(playerid," ",3000,5);
  103. gObjectiveBluePlayer = playerid;
  104. }
  105. }
  106. else if(newstate == PLAYER_STATE_ONFOOT)
  107. {
  108. if(playerid == gObjectiveGreenPlayer) {
  109. gObjectiveGreenPlayer = (-1);
  110. SetPlayerToTeamColor(playerid);
  111. }
  112.  
  113. if(playerid == gObjectiveBluePlayer) {
  114. gObjectiveBluePlayer = (-1);
  115. SetPlayerToTeamColor(playerid);
  116. }
  117. }
  118.  
  119. return 1;
  120. }
  121.  
  122. //---------------------------------------------------------
  123.  
  124. public OnGameModeInit()
  125. {
  126. SetGameModeText("Drug Dealers");
  127. SetTimer("Finish", 300000);
  128. ShowPlayerMarkers(1);
  129. ShowNameTags(1);
  130. SetWorldTime(19);
  131.  
  132. // POL&#304;CE CLASSES
  133. AddPlayerClass(163,2500.2688,-1685.4584,13.4607,44.8214,9,0,25,25,32,200);
  134. AddPlayerClass(285,2512.8611,-1673.2799,13.5104,87.7485,42,400,30,100,32,200);
  135. AddPlayerClass(265,2508.1372,-1656.6781,13.5938,129.4222,5,0,30,100,29,200);
  136.  
  137. // DRUGGER CLASSES
  138. AddPlayerClass(122,1559.3831,-1609.0282,13.3828,177.0690,42,400,31,100,29,200);
  139. AddPlayerClass(124,1578.1378,-1608.7106,13.3828,125.6820,3,0,31,100,29,200);
  140. AddPlayerClass(125,1569.6345,-1635.0394,13.5540,42.6713,3,0,25,25,32,200);
  141.  
  142. return 1;
  143. }
  144.  
  145. //---------------------------------------------------------
  146.  
  147. public OnPlayerConnect(playerid)
  148. {
  149. SendClientMessageToAll(COLOR_RED, "Drug Factory Mission - By TraNe15");
  150. SetPlayerColor(playerid,0x888888FF);
  151. return 1;
  152. }
  153.  
  154. //---------------------------------------------------------
  155.  
  156. public SetupPlayerForClassSelection(playerid)
  157. {
  158. SetPlayerInterior(playerid,11);
  159. SetPlayerPos(playerid,508.7362,-87.4335,998.9609);
  160. SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609);
  161. SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609);
  162. SetPlayerFacingAngle(playerid,0.0);
  163. }
  164.  
  165. //---------------------------------------------------------
  166.  
  167. public SetPlayerTeamFromClass(playerid,classid)
  168. {
  169. // Set their team number based on the class they selected.
  170. if(classid == 0 || classid == 1 || classid == 2) {
  171. gTeam[playerid] = TEAM_ATTACK;
  172. } else if(classid == 3 || classid == 4 || classid == 5) {
  173. gTeam[playerid] = TEAM_DEFANCE;
  174. }
  175. }
  176.  
  177. //---------------------------------------------------------
  178.  
  179. public SetPlayerToTeamColor(playerid)
  180. {
  181. if(gTeam[playerid] == TEAM_ATTACK) {
  182. SetPlayerColor(playerid,TEAM_BLUE_COLOR); // POL&#304;CE
  183. } else if(gTeam[playerid] == TEAM_DEFANCE) {
  184. SetPlayerColor(playerid,TEAM_RED_COLOR); // DRUGGERS
  185. }
  186. }
  187.  
  188. //---------------------------------------------------------
  189.  
  190. public OnPlayerRequestClass(playerid, classid)
  191. {
  192. SetupPlayerForClassSelection(playerid);
  193. SetPlayerTeamFromClass(playerid,classid);
  194.  
  195. if(classid == 0 || classid == 1 || classid == 2) {
  196. GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~b~POLICES",1000,5);
  197. } else if(classid == 3 || classid == 4 || classid == 5) {
  198. GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~r~DRUGGERS",1000,5);
  199. }
  200.  
  201. return 1;
  202. }
  203.  
  204. //---------------------------------------------------------
  205.  
  206. public OnPlayerSpawn(playerid)
  207. {
  208. SetPlayerToTeamColor(playerid);
  209. SetPlayerInterior(playerid,0);
  210.  
  211. if(gTeam[playerid] == TEAM_ATTACK) { //POL&#304;CE
  212. SetPlayerPos(playerid, -2030.8815, 156.9669, 28.8359);
  213. SetPlayerCheckpoint(playerid,-2145.4482, -266.6292, 40.7195, 3.0);
  214. GivePlayerWeapon(playerid, 32, 500);
  215. GivePlayerWeapon(playerid, 22, 500);
  216. SendClientMessageToAll(COLOR_RED, "Attack to Drug Dealers Factory. Go To Red Marker on Map.");
  217. SendClientMessageToAll(COLOR_RED, "When You Enter Checkpoint, Drug Factory will destroy.");
  218. SendClientMessageToAll(COLOR_GOLD, "You Have 5 Minutes To Finish The Mission!");
  219. //SetPlayerWorldBounds(playerid,2535.4392,1434.0455,-1581.9657,-1715.8713); //WRONG
  220. GameTextForPlayer(playerid,
  221. "~n~~n~~n~~n~~n~~n~~w~Attack to ~r~Drug Factory~n~~w~Explode ~r~Drug Factory",
  222. 8000,5);
  223. }
  224. else if(gTeam[playerid] == TEAM_DEFANCE) { //DRUGGERS
  225. //SetPlayerWorldBounds(playerid,2535.4392,1434.0455,-1581.9657,-1715.8713); //WRONG
  226. SetPlayerPos(playerid, -2147.1965,-221.9693,35.3203);
  227. SetPlayerCheckpoint(playerid,-2145.4482, -266.6292, 40.7195, 3.0);
  228. GivePlayerWeapon(playerid, 32, 500);
  229. GivePlayerWeapon(playerid, 22, 500);
  230. SendClientMessageToAll(COLOR_RED, "Defand Drug Factory For 5 Minutes. Polices Will Destroy Factory.");
  231. SendClientMessageToAll(COLOR_RED, "Stop Polices's Attack!");
  232. GameTextForPlayer(playerid,
  233. "~n~~n~~n~~n~~n~~n~~w~Defend ~g~Drug Factory ~w~from ~b~Polices",
  234. 8000,5);
  235. }
  236.  
  237. return 1;
  238. }
  239.  
  240. //---------------------------------------------------------
  241.  
  242. public OnPlayerEnterCheckpoint(playerid)
  243. {
  244.  
  245. if(gObjectiveReached) return;
  246.  
  247. if(gTeam[playerid] == TEAM_ATTACK) //POL&#304;CE
  248. { // Green OBJECTIVE REACHED.
  249.  
  250. gObjectiveReached = 1;
  251. GameTextForAll("~g~Mission Passed",4000,0);
  252. SendClientMessageToAll(COLOR_BLUELIGHT, "Game Mode Restarting...");
  253. SetPlayerScore(playerid,GetPlayerScore(playerid)+10);
  254. CreateExplosion(-2150.2405, -265.2655, 40.7195, 6, 10.0);
  255. CreateExplosion(-2155.4417, -263.6390, 40.7195, 6, 10.0);
  256. CreateExplosion(-2147.1228, -259.1975, 40.7195, 6, 10.0);
  257. CreateExplosion(-2149.4575, -259.9797, 36.6908, 6, 10.0);
  258. CreateExplosion(-2156.6072, -253.9409, 36.6908, 6, 10.0);
  259. CreateExplosion(-2152.6941, -239.5359, 36.6908, 6, 10.0);
  260. CreateExplosion(-2160.7043, -233.2645, 36.6908, 6, 10.0);
  261. CreateExplosion(-2176.6167, -229.2598, 36.6908, 6, 10.0);
  262. CreateExplosion(-2186.1062, -221.0882, 36.6908, 6, 10.0);
  263. CreateExplosion( -2183.6853, -212.3814, 36.6908, 6, 10.0);
  264. CreateExplosion(-2177.2632, -207.1954, 36.6908, 6, 10.0);
  265. CreateExplosion(-2177.5925, -212.2606, 36.6908, 6, 10.0);
  266. CreateExplosion(-2173.3933, -211.4334, 34.7575, 6, 10.0);
  267. SetTimer("ExitTheGameMode", 4000, 0); // Set up a timer to exit this mode.
  268. return;
  269. }
  270. else if(gTeam[playerid] == TEAM_DEFANCE) //
  271. { // Blue OBJECTIVE REACHED.
  272. GameTextForAll("~n~~n~~n~~n~~n~~w~Defand This Area for 5 minutes",3000,5);
  273. return;
  274. }
  275. }
  276.  
  277. //---------------------------------------------------------
  278.  
  279. public ExitTheGameMode()
  280. {
  281. GameModeExit();
  282. }
  283.  
  284. //---------------------------------------------------------
  285.  
  286. public Finish()
  287. {
  288. SetTimer("ExitTheGameMode", 4000, 0);
  289. GameTextForAll("~g~Area 51 ~w~has been ~g~defended", 4000, 5);
  290. SendClientMessageToAll(COLOR_BLUELIGHT, "Game Mode Restarting...");
  291. return 1;
  292. }
  293.  
  294. //---------------------------------------------------------
  295.  
  296. public OnPlayerDeath(playerid, killerid, reason)
  297. {
  298. if(killerid == INVALID_PLAYER_ID) {
  299. SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
  300. } else {
  301. if(gTeam[killerid] != gTeam[playerid]) {
  302. // Valid kill
  303. SendDeathMessage(killerid,playerid,reason);
  304. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  305. }
  306. else {
  307. // Team kill
  308. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  309. }
  310. }
  311. return 1;
  312. }
  313.  
  314. //---------------------------------
Advertisement
Add Comment
Please, Sign In to add comment