Guest User

Army Vs Terrorist V2

a guest
Feb 6th, 2017
404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 77.65 KB | None | 0 0
  1. /*This Is My Fist Game Mode Team Death Match
  2. Army Vs Terrorist
  3. */
  4. //Includes
  5. #include <a_samp> //Samp Team
  6. #include <YSI\y_ini> //Y_Less
  7. #include <Zcmd> //Zeex
  8. #include <gangzonesc> //Gammix
  9. #include <progress2> //Southclaw
  10. #include <streamer> //Incognito
  11. /*
  12. =============================Credits=================================
  13. -Adrien-Luis For Making ThiS GameMode Army Vs Terrorist
  14. -Zeex For ZCMD
  15. -Y_Less For YSI/y_ini
  16. -Samp Team For this samp version
  17. -Gammix For His Capture Zone System
  18. -Incognito For streamer
  19. -[HLF]Southclaw For Progress2
  20. */
  21. //Login & Register Define
  22. #define DIALOG_REGISTER 1
  23. #define DIALOG_LOGIN 2
  24. //-----------------------
  25. #define PATH "/Users/%s.ini"
  26. //Color Define
  27. #define COL_WHITE "{FFFFFF}"
  28. #define COL_RED "{F81414}"
  29. #define COL_GREEN "{00FF22}"
  30. #define COL_LIGHTBLUE "{00CED1}"
  31. #define COLOR_ROYAL 0x00C1F6AA
  32. #define COLOR_GREEN 0x80FF8096
  33. #define COLOR_BROWN 0xA52A2AAA
  34. #define COLOR_PURPLE 0xC2A2DAAA
  35. #define COLOR_ORANGE 0xFF9900AA
  36. #define SCM SendClientMessage
  37. //Team Define
  38. #define TEAM_ARMY 0
  39. #define TEAM_TERRORIST 1
  40. //Team Zone Color
  41. #define TEAM_ZONE_ARMY_COLOR 0x00800096
  42. #define TEAM_ZONE_TERRORIST_COLOR 0xFF000096
  43. //Team Color Define
  44. #define TEAM_ARMY_COLOUR 0x00800096
  45. #define TEAM_TERRORIST_COLOUR 0xFF000096
  46. //Ping Kicker
  47. #define MAX_PING 800
  48. //Classes
  49. #define ARMY_CLASSES_DIALOG 1248
  50. #define TERRORIST_CLASSES_DIALOG 1249
  51. //======================================================================
  52. //======================================================================
  53. new Text:Army;
  54. new Text:Vs;
  55. new Text:Terrorist;
  56. new Text:Textdraw1;
  57. new Text:Textdraw3;
  58. new Text:NiceKill;
  59. new Text:Dead;
  60. new Text:TDAssault;
  61. new Text:TDSniper;
  62. new Text:TDPyroman;
  63. new Text:TDRifleman;
  64. new Text:TDBomber;
  65. new PlayerText:ptxtCapture[MAX_PLAYERS] = {PlayerText:INVALID_TEXT_DRAW, ...};
  66. new PlayerBar:pbarCapture[MAX_PLAYERS] = {INVALID_PLAYER_BAR_ID, ...};
  67. new AP;
  68. new TP;
  69. new FP;
  70. new KP;
  71. new ZP;
  72. new SP;
  73. //======================================================================
  74. new RandomMSG[][] =
  75. {
  76. ""COL_GREEN"[AvT]"COL_RED"Use /rules And Read Our Rules !",
  77. ""COL_GREEN"[AvT]"COL_LIGHTBLUE"Donate To Keep Our Community Alive",
  78. ""COL_GREEN"[AvT]"COL_WHITE"Invite Your Friends To Join Advert Us !",
  79. ""COL_GREEN"[AvT]"COL_LIGHTBLUE"If You Are New Here Check /cmds To Check Server Commands",
  80. ""COL_GREEN"[AvT]"COL_WHITE"Wanna Change Your Team? F4 + /kill Or Use /st",
  81. ""COL_GREEN"[AvT]"COL_RED"This Server is Owned By Adrien[4]Life /credits For more information"
  82. };
  83. //=====================================================================
  84. new Float:ArmySpawn[][] =
  85. {
  86. {615.1069,-587.4838,17.2266},
  87. {659.0253,-573.6774,16.3359},
  88. {654.5018,-524.3607,16.3359}
  89.  
  90. };
  91. new Float:TerroristSpawn[][] =
  92. {
  93. {1101.2395,-320.7582,73.9922},
  94. {1076.9631,-287.9576,73.9922},
  95. {1033.4568,-288.4031,73.9922}
  96. };
  97. //====================================================================
  98. //===================================================================
  99. enum pInfo
  100. {
  101. pScore,
  102. pPass,
  103. pCash,
  104. pAdmin,
  105. pKills,
  106. pDeaths
  107. }
  108. new PlayerInfo[MAX_PLAYERS][pInfo];
  109. //----------------------------------------------------------------------
  110. forward LoadUser_data(playerid,name[],value[]);
  111. public LoadUser_data(playerid,name[],value[])
  112. {
  113. INI_Int("Password",PlayerInfo[playerid][pPass]);
  114. INI_Int("Cash",PlayerInfo[playerid][pCash]);
  115. INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  116. INI_Int("Kills",PlayerInfo[playerid][pKills]);
  117. INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
  118. INI_Int("Score",PlayerInfo[playerid][pScore]);
  119. return 1;
  120. }
  121. //----------------------------------------------------------------------
  122. stock UserPath(playerid)
  123. {
  124. new string[128],playername[MAX_PLAYER_NAME];
  125. GetPlayerName(playerid,playername,sizeof(playername));
  126. format(string,sizeof(string),PATH,playername);
  127. return string;
  128. }
  129. //==============================================================================
  130. //--------------------------------------------------------------------
  131. new gTeam[MAX_PLAYERS];
  132. new GZ_ZONE1; //army
  133. new GZ_ZONE2; //Terrorist
  134. //--------------------------------------------------------------------
  135. enum e_TEAM_DATA
  136. {
  137. team_Name[35], // the team's name
  138. team_Color // team's color
  139. };
  140.  
  141. new const gTeamData[][e_TEAM_DATA] =
  142. {
  143. // Here you shall add all your teams data just like in the below example code
  144. {"Army", 0x00800096},
  145. {"Terrorist", 0xFF000096},
  146. {"None", -1}
  147. };
  148. //-------------------------------------------------------------------
  149. enum e_CAPTURE_ZONE
  150. {
  151. zone_Name[35], // the capture zone's name
  152. Float:zone_Pos[4], // position of the gangzone (minx, miny, maxx, maxy)
  153. Float:zone_CP[3], // position of the checkpoint
  154. zone_Owner, // the initial owner of the zone (must be a valid team id which is entered in the "gTeamData" array
  155. zone_Attacker, // the attacker's if will be stored in this
  156. zone_Tick[2], // zone's progress will be stored in this (this is split in two parts, the first will go positive and the second will go negative)
  157. zone_Id, // the gangzone id will be stored in this
  158. zone_CPId, // the checkpoint id will be stored in this
  159. zone_Timer, // The timer id will be stored in this
  160. zone_Players // The number of players in the checkpoint will be stored in this
  161. };
  162. new const gCaptureZone[][e_CAPTURE_ZONE] =
  163. {
  164. {"Bridge", {572.2159, -198.5239, 1202.821, -116.7788}, {1170.0826,-141.8863,40.9278}, 2},
  165. {"Farm", {1483.09, -23.35575, 1599.869, 81.74512}, {1543.9758,16.1570,24.1406}, 2},
  166. {"Colonel House", {1249.533, -81.74512, 1307.922, -11.67788}, {1318.8074,-42.3950,34.5141}, 2},
  167. {"Market", {151.8124, -93.423, 233.575, -23.35575}, {246.2737,-53.9354,1.5776}, 2},
  168. {"Big Farm", {-163.4902, -58.38938, 23.35575, 93.423}, {-40.9435,50.8875,3.1172}, 2},
  169. {"Madog's House", {1214.499, -852.4849, 1319.6, -747.384}, {1299.1782,-788.9468,88.3125}, 2}
  170. };
  171.  
  172. //------------------------------------------------------------------
  173. CMD:credits(playerid, params[])
  174. {
  175. ShowPlayerDialog(playerid, 5421,DIALOG_STYLE_MSGBOX, ""COL_GREEN"Army Vs Terrorist Credits", ""COL_GREEN"Server Owner:"COL_WHITE"Adrian\n"COL_GREEN"Server Scripter:"COL_WHITE"Adrian\n"COL_GREEN"Server Mapper:"COL_WHITE"Adrian", ""COL_GREEN"Close", "");
  176. return 1;
  177. }
  178. CMD:night(playerid,params[])
  179. {
  180. SetPlayerTime(playerid, 1, 0);
  181. SendClientMessage(playerid, COLOR_GREEN,"Night !");
  182. return 1;
  183. }
  184. CMD:day(playerid,params[])
  185. {
  186. SetPlayerTime(playerid, 12, 0);
  187. SendClientMessage(playerid, COLOR_GREEN,"Day");
  188. return 1;
  189. }
  190. CMD:forum(playerid,params[])
  191. {
  192. SendClientMessage(playerid, COLOR_GREEN,"Register In Our Forum And Be a Part Of The Community");
  193. SendClientMessage(playerid, COLOR_GREEN,"www.samp.com");
  194. GameTextForPlayer(playerid, "~b~www.samp.com", 2000, 3);
  195. return 1;
  196. }
  197. //Rules (Command)
  198. CMD:rules(playerid, params[])
  199. {
  200. ShowPlayerDialog(playerid, 1241, DIALOG_STYLE_MSGBOX,""COL_RED"Army Vs Terrorist", ""COL_WHITE"Never Use Any Kind Of Hack Or Cheat\nRespect Everyone Players & Admins\nNever Abuse Server Bugs\nDon't Use C-Bug Slide Bug Or 2 Shot bug OutSide Of DeathMatch\nDo Not Talk About Religions", ""COL_GREEN"Close", "");
  201. return 1;
  202. }
  203. CMD:updates(playerid, params[])
  204. {
  205. SendClientMessage(playerid, 0xC2A2DAAA, "Added Some Dialogs");
  206. SendClientMessage(playerid, 0xC2A2DAAA, "Added Capture Zones");
  207. SendClientMessage(playerid, 0xC2A2DAAA, "Added Map Icons");
  208. SendClientMessage(playerid, 0xC2A2DAAA, "Added New Weapon Shop (Briefcase)");
  209. SendClientMessage(playerid, 0xC2A2DAAA, "Fixed All Bugs");
  210. SendClientMessage(playerid, 0xC2A2DAAA, "New Maps");
  211. return 1;
  212. }
  213. CMD:objective(playerid,params[])
  214. {
  215. SendClientMessage(playerid, COLOR_GREEN, "Your Objective Is:");
  216. SendClientMessage(playerid, COLOR_GREEN, "-To Kill Your Enemy");
  217. SendClientMessage(playerid, COLOR_GREEN, "-To Save Your Team");
  218. SendClientMessage(playerid, COLOR_GREEN, "-To Capture Zones");
  219. return 1;
  220. }
  221. /*Credits to Dracoblue*/
  222. stock udb_hash(buf[]) {
  223. new length=strlen(buf);
  224. new s1 = 1;
  225. new s2 = 0;
  226. new n;
  227. for (n=0; n<length; n++)
  228. {
  229. s1 = (s1 + buf[n]) % 65521;
  230. s2 = (s2 + s1) % 65521;
  231. }
  232. return (s2 << 16) + s1;
  233. }
  234. //--------------------------------------------------------------------
  235. #define CAPTURE_TIME 30 // time in which a capture zone is captured by a single player
  236. //--------------------------------------------------------------------
  237. #define SET_ALPHA(%1,%2) \
  238. ((%1 & ~0xFF) | (clamp(%2, 0x00, 0xFF)))
  239. //--------------------------------------------------------------------
  240. main()
  241. {
  242. print("\n==================================");
  243. print(" ");
  244. print(" Army Vs Terrorist By Adrien luis");
  245. print(" Version 2.1 ");
  246. print(" ");
  247. print("==================================\n");
  248. }
  249. forward SendMSG();
  250. public SendMSG()
  251. {
  252. new randMSG = random(sizeof(RandomMSG));
  253. SendClientMessageToAll(COLOR_ORANGE, RandomMSG[randMSG]);
  254. }
  255.  
  256. public OnGameModeInit()
  257. {
  258. //GangZone Create !!
  259. GZ_ZONE1 = GangZoneCreate(572.2159, -630.6053, 852.4849, -455.4371); //ARMY
  260. GZ_ZONE2 = GangZoneCreate(922.5522, -408.7256, 1097.72, -280.269); //TERRORIST
  261. DisableInteriorEnterExits();
  262. //=============================================================================
  263. SetTimer("SendMSG", 60000, true);
  264. //=======================================================================
  265. {
  266. for (new i, j = sizeof(gCaptureZone); i < j; i++) // loop through all capture zones
  267. {
  268. // Create the ganzone
  269. gCaptureZone[i][zone_Id] = GangZoneCreate(gCaptureZone[i][zone_Pos][0], gCaptureZone[i][zone_Pos][1], gCaptureZone[i][zone_Pos][2], gCaptureZone[i][zone_Pos][3], SET_ALPHA(gTeamData[gCaptureZone[i][zone_Owner]][team_Color], 100), 2.0);
  270.  
  271. // Create the checkpoint
  272. gCaptureZone[i][zone_CPId] = CreateDynamicCP(gCaptureZone[i][zone_CP][0], gCaptureZone[i][zone_CP][1], gCaptureZone[i][zone_CP][2], 5.0, 0, .streamdistance = 250.0);
  273.  
  274. // Create the mapicon, we don't need to store it because we aren't going to do anything with it later
  275. CreateDynamicMapIcon(gCaptureZone[i][zone_CP][0], gCaptureZone[i][zone_CP][1], gCaptureZone[i][zone_CP][2], 19, 0, 0, .streamdistance = 700.0);
  276.  
  277. // Create the 3DTextlabel, we don't need to store it because we aren't going to do anything with it later
  278. // we will set the label string in this syntax <"zone's id"\n"zone's name">
  279. new label[65];
  280. format(label, sizeof(label), "ZONE %i\n%s", i, gCaptureZone[i][zone_Name]);
  281. CreateDynamic3DTextLabel(label, 0xFFFFFFFF, gCaptureZone[i][zone_CP][0], gCaptureZone[i][zone_CP][1], gCaptureZone[i][zone_CP][2], 50.0);
  282.  
  283. // Set the attacker id to INVALID_PLAYER_ID since no one is connected when server starts
  284. gCaptureZone[i][zone_Attacker] = INVALID_PLAYER_ID;
  285. }
  286. }
  287.  
  288. //============================================================================
  289. UsePlayerPedAnims();
  290.  
  291. //GameMode Text
  292. SetGameModeText("[AVT] TDM|DM|WAR");
  293. //Team Classes
  294. AddPlayerClass(287,-233.4256,40.7722,2.6908,247.1557,0,0,0,0,0,0); // Army Class
  295. AddPlayerClass(200,63.5787,18.5436,5.3161,65.4711,0,0,0,0,0,0); // Terrorist class
  296. //TextDraws
  297. Army = TextDrawCreate(476.000000, 426.000000, "Army");
  298. TextDrawBackgroundColor(Army, 255);
  299. TextDrawFont(Army, 0);
  300. TextDrawLetterSize(Army, 0.500000, 1.000000);
  301. TextDrawColor(Army, 16711935);
  302. TextDrawSetOutline(Army, 0);
  303. TextDrawSetProportional(Army, 1);
  304. TextDrawSetShadow(Army, 1);
  305. TextDrawSetSelectable(Army, 0);
  306.  
  307. Vs = TextDrawCreate(519.000000, 427.000000, "Vs");
  308. TextDrawBackgroundColor(Vs, 255);
  309. TextDrawFont(Vs, 0);
  310. TextDrawLetterSize(Vs, 0.500000, 1.000000);
  311. TextDrawColor(Vs, 65535);
  312. TextDrawSetOutline(Vs, 0);
  313. TextDrawSetProportional(Vs, 1);
  314. TextDrawSetShadow(Vs, 1);
  315. TextDrawSetSelectable(Vs, 0);
  316.  
  317. Terrorist = TextDrawCreate(541.000000, 427.000000, "Terrorist");
  318. TextDrawBackgroundColor(Terrorist, 255);
  319. TextDrawFont(Terrorist, 0);
  320. TextDrawLetterSize(Terrorist, 0.500000, 1.000000);
  321. TextDrawColor(Terrorist, -16776961);
  322. TextDrawSetOutline(Terrorist, 0);
  323. TextDrawSetProportional(Terrorist, 1);
  324. TextDrawSetShadow(Terrorist, 1);
  325. TextDrawSetSelectable(Terrorist, 0);
  326.  
  327. Textdraw1 = TextDrawCreate(552.000000, 1.000000, "www.sa-mp.com");
  328. TextDrawBackgroundColor(Textdraw1, 255);
  329. TextDrawFont(Textdraw1, 1);
  330. TextDrawLetterSize(Textdraw1, 0.300000, 1.000000);
  331. TextDrawColor(Textdraw1, 0x00800096);
  332. TextDrawSetOutline(Textdraw1, 0);
  333. TextDrawSetProportional(Textdraw1, 1);
  334. TextDrawSetShadow(Textdraw1, 1);
  335. TextDrawSetSelectable(Textdraw1, 0);
  336.  
  337.  
  338. Textdraw3 = TextDrawCreate(573.000000, 13.000000, "Server IP");
  339. TextDrawBackgroundColor(Textdraw3, 255);
  340. TextDrawFont(Textdraw3, 1);
  341. TextDrawLetterSize(Textdraw3, 0.300000, 1.000000);
  342. TextDrawColor(Textdraw3, 0x00800096);
  343. TextDrawSetOutline(Textdraw3, 0);
  344. TextDrawSetProportional(Textdraw3, 1);
  345. TextDrawSetShadow(Textdraw3, 1);
  346. TextDrawSetSelectable(Textdraw3, 0);
  347.  
  348. NiceKill = TextDrawCreate(288.000000, 117.000000, "Nice Kill");
  349. TextDrawBackgroundColor(NiceKill, 255);
  350. TextDrawFont(NiceKill, 0);
  351. TextDrawLetterSize(NiceKill, 0.500000, 1.000000);
  352. TextDrawColor(NiceKill, 0x00800096);
  353. TextDrawSetOutline(NiceKill, 1);
  354. TextDrawSetProportional(NiceKill, 1);
  355.  
  356. Dead = TextDrawCreate(288.000000, 117.000000, "Dead");
  357. TextDrawBackgroundColor(Dead, 255);
  358. TextDrawFont(Dead, 0);
  359. TextDrawLetterSize(Dead, 0.500000, 1.000000);
  360. TextDrawColor(Dead, 0xFF000096);
  361. TextDrawSetOutline(Dead, 1);
  362. TextDrawSetProportional(Dead, 1);
  363.  
  364. TDAssault = TextDrawCreate(559.529296, 112.583213, "~y~Assault");
  365. TextDrawLetterSize(TDAssault, 0.449999, 1.600000);
  366. TextDrawAlignment(TDAssault, 1);
  367. TextDrawColor(TDAssault, -2147483393);
  368. TextDrawSetShadow(TDAssault, 0);
  369. TextDrawSetOutline(TDAssault, 1);
  370. TextDrawBackgroundColor(TDAssault, 51);
  371. TextDrawFont(TDAssault, 1);
  372. TextDrawSetProportional(TDAssault, 1);
  373.  
  374. TDSniper = TextDrawCreate(559.529296, 112.583213, "~y~Sniper");
  375. TextDrawLetterSize(TDSniper, 0.449999, 1.600000);
  376. TextDrawAlignment(TDSniper, 1);
  377. TextDrawColor(TDSniper, -2147483393);
  378. TextDrawSetShadow(TDSniper, 0);
  379. TextDrawSetOutline(TDSniper, 1);
  380. TextDrawBackgroundColor(TDSniper, 51);
  381. TextDrawFont(TDSniper, 1);
  382. TextDrawSetProportional(TDSniper, 1);
  383.  
  384. TDPyroman = TextDrawCreate(559.529296, 112.583213, "~y~PyroMan");
  385. TextDrawLetterSize(TDPyroman, 0.449999, 1.600000);
  386. TextDrawAlignment(TDPyroman, 1);
  387. TextDrawColor(TDPyroman, -2147483393);
  388. TextDrawSetShadow(TDPyroman, 0);
  389. TextDrawSetOutline(TDPyroman, 1);
  390. TextDrawBackgroundColor(TDPyroman, 51);
  391. TextDrawFont(TDPyroman, 1);
  392. TextDrawSetProportional(TDPyroman, 1);
  393.  
  394. TDRifleman = TextDrawCreate(559.529296, 112.583213, "~y~RifleMan");
  395. TextDrawLetterSize(TDRifleman, 0.449999, 1.600000);
  396. TextDrawAlignment(TDRifleman, 1);
  397. TextDrawColor(TDRifleman, -2147483393);
  398. TextDrawSetShadow(TDRifleman, 0);
  399. TextDrawSetOutline(TDRifleman, 1);
  400. TextDrawBackgroundColor(TDRifleman, 51);
  401. TextDrawFont(TDRifleman, 1);
  402. TextDrawSetProportional(TDRifleman, 1);
  403.  
  404. TDBomber = TextDrawCreate(559.529296, 112.583213, "~y~Bomber");
  405. TextDrawLetterSize(TDBomber, 0.449999, 1.600000);
  406. TextDrawAlignment(TDBomber, 1);
  407. TextDrawColor(TDBomber, -2147483393);
  408. TextDrawSetShadow(TDBomber, 0);
  409. TextDrawSetOutline(TDBomber, 1);
  410. TextDrawBackgroundColor(TDBomber, 51);
  411. TextDrawFont(TDBomber, 1);
  412. TextDrawSetProportional(TDBomber, 1);
  413. //Maps
  414. CreateObject(3286, 1099.18628, -352.68298, 77.61719, 356.85840, 0.00000, 3.14159);
  415. CreateObject(3928, 1073.85681, -299.72842, 73.00353, 0.00000, 0.00000, -2.00000);
  416. CreateObject(3928, 1060.33704, -299.17487, 73.01820, 0.00000, 0.00000, -2.00000);
  417. CreateObject(19911, 1018.71497, -303.51273, 72.84552, 0.00000, 91.00000, 0.00000);
  418. CreateObject(19911, 1014.75348, -311.43475, 72.84552, 0.00000, 91.00000, 0.00000);
  419. CreateObject(19911, 1020.21960, -311.48309, 72.84552, 0.00000, 91.00000, 0.00000);
  420. CreateObject(19911, 1024.40137, -311.33914, 72.84552, 0.00000, 91.00000, 0.00000);
  421. CreateObject(19911, 1024.36304, -303.15939, 72.84550, 0.00000, -91.00000, 0.00000);
  422. CreateObject(19911, 1024.16699, -287.75858, 72.82245, 0.00000, 92.00000, 0.00000);
  423. CreateObject(19911, 1014.87225, -302.36624, 72.82245, 0.00000, 92.00000, 0.00000);
  424. CreateObject(19911, 1015.02539, -296.75400, 72.82245, 0.00000, 92.00000, 0.00000);
  425. CreateObject(19911, 1014.70667, -289.69977, 72.82245, 0.00000, 92.00000, 0.00000);
  426. CreateObject(19911, 1022.05933, -288.93811, 72.82245, 0.00000, 92.00000, 0.00000);
  427. CreateObject(19911, 1021.36414, -294.01358, 72.82245, 0.00000, 92.00000, 0.00000);
  428. CreateObject(19911, 1024.44287, -293.87454, 72.82245, 0.00000, 92.00000, 0.00000);
  429. CreateObject(3095, 1014.19153, -302.17334, 72.41022, 0.00000, 0.00000, 0.00000);
  430. CreateObject(3095, 1016.14832, -310.96649, 72.41022, 0.00000, 0.00000, 0.00000);
  431. CreateObject(3095, 1025.12524, -310.82706, 72.41022, 0.00000, 0.00000, 0.00000);
  432. CreateObject(3095, 1025.16833, -301.97818, 72.41022, 0.00000, 0.00000, 0.00000);
  433. CreateObject(3095, 1016.14667, -302.10275, 72.41022, 0.00000, 0.00000, 0.00000);
  434. CreateObject(3095, 1012.80798, -302.98526, 72.42213, 0.00000, 0.00000, 0.00000);
  435. CreateObject(3095, 1016.38495, -303.08127, 72.43849, 0.00000, 0.00000, 0.00000);
  436. CreateObject(3095, 1019.21930, -296.91699, 72.43849, 0.00000, 0.00000, 0.00000);
  437. CreateObject(3095, 1022.70276, -296.84232, 72.43849, 0.00000, 0.00000, 0.00000);
  438. CreateObject(3095, 1016.35840, -289.83966, 72.43849, 0.00000, 0.00000, 0.00000);
  439. CreateObject(3095, 1016.37683, -297.73770, 72.43849, 0.00000, 0.00000, 0.00000);
  440. CreateObject(3095, 1025.31433, -290.12933, 72.43162, 0.00000, 0.00000, 0.00000);
  441. CreateObject(3095, 1024.35535, -289.74420, 72.43162, 0.00000, 0.00000, 0.00000);
  442. CreateObject(3095, 1019.27673, -289.68228, 72.45631, 0.00000, 0.00000, 0.00000);
  443. CreateObject(3095, 1050.87952, -296.65485, 72.41444, 0.00000, 0.00000, 0.00000);
  444. CreateObject(3095, 1048.61731, -288.69711, 72.41444, 0.00000, 0.00000, 0.00000);
  445. CreateObject(3095, 1042.04138, -288.59189, 72.41444, 0.00000, 0.00000, 0.00000);
  446. CreateObject(3095, 1042.41150, -295.52658, 72.41444, 0.00000, 0.00000, 0.00000);
  447. CreateObject(3095, 1042.43835, -303.61160, 72.41444, 0.00000, 0.00000, 0.00000);
  448. CreateObject(3095, 1042.44653, -311.47272, 72.41444, 0.00000, 0.00000, 0.00000);
  449. CreateObject(3095, 1050.77136, -312.75552, 72.41444, 0.00000, 0.00000, 0.00000);
  450. CreateObject(3095, 1050.82874, -304.22351, 72.41444, 0.00000, 0.00000, 0.00000);
  451. CreateObject(3268, 1031.65515, -295.00464, 72.80363, 0.00000, 0.00000, 90.00000);
  452. CreateObject(10244, 1048.48706, -291.62317, 75.09330, 0.00000, 0.00000, 90.00000);
  453. CreateObject(8253, 1071.95056, -354.25009, 76.50608, 0.00000, 0.00000, 89.00000);
  454. CreateObject(16375, -155.44121, 143.28122, 3.19726, 0.00000, 0.00000, 0.00000);
  455. CreateObject(11701, -69.10435, 56.65765, 2.67566, 0.00000, 0.00000, 0.00000);
  456. CreateObject(4517, 107.25222, -211.28162, 2.20090, 0.00000, 0.00000, 87.00000);
  457. CreateObject(1308, 0.71346, 7.37879, -5.71094, 356.85840, 0.00000, -3.14159);
  458. CreateObject(1308, -5741.74268, 7731.75586, -2812.42407, 0.00000, 0.00000, 0.00000);
  459. CreateObject(4517, 224.54132, -71.48665, 3.18970, 0.00000, 0.00000, 89.00000);
  460. CreateObject(11701, -68.29740, 54.65344, 2.67566, 0.00000, 0.00000, 0.00000);
  461. CreateObject(19420, -165.81358, -7.47062, 2.03384, 0.00000, 0.00000, 0.00000);
  462. CreateObject(19420, -176.38896, -21.78841, 2.03384, 0.00000, 0.00000, 0.00000);
  463. CreateObject(19420, -175.96866, -13.46815, 2.03384, 0.00000, 0.00000, 0.00000);
  464. CreateObject(19420, -165.68629, -14.77469, 2.03384, 0.00000, 0.00000, 0.00000);
  465. CreateObject(19420, -166.09659, -22.59727, 2.03384, 0.00000, 0.00000, 0.00000);
  466. CreateObject(19420, -172.16875, -17.35063, 2.03384, 0.00000, 0.00000, 0.00000);
  467. CreateObject(19420, -184.82472, -13.03951, 2.03384, 0.00000, 0.00000, 0.00000);
  468. CreateObject(19420, -184.81770, -21.47007, 2.03384, 0.00000, 0.00000, 0.00000);
  469. CreateObject(19420, -188.30579, -18.00269, 2.03384, 0.00000, 0.00000, 0.00000);
  470. CreateObject(19420, -194.38997, -21.18836, 2.03384, 0.00000, 0.00000, 0.00000);
  471. CreateObject(19420, -193.92490, -12.93788, 2.03384, 0.00000, 0.00000, 0.00000);
  472. CreateObject(19420, -192.39655, -6.46823, 2.03384, 0.00000, 0.00000, 0.00000);
  473. CreateObject(19420, -184.52174, -7.34516, 2.03384, 0.00000, 0.00000, 0.00000);
  474. CreateObject(19420, -174.74651, -8.07949, 2.03384, 0.00000, 0.00000, 0.00000);
  475. CreateObject(19420, 111.54247, -3.92291, -0.06826, 0.00000, 0.00000, 0.00000);
  476. CreateObject(19420, 112.34622, 1.35126, -0.06826, 0.00000, 0.00000, 0.00000);
  477. CreateObject(19420, 111.78904, -2.15687, -0.06826, 0.00000, 0.00000, 0.00000);
  478. CreateObject(19420, 111.28790, -6.20247, -0.06826, 0.00000, 0.00000, 0.00000);
  479. CreateObject(19420, 111.16300, -7.16073, -0.06826, 0.00000, 0.00000, 0.00000);
  480. CreateObject(19420, 111.27264, -5.00180, -0.06826, 0.00000, 0.00000, 0.00000);
  481. CreateObject(19420, 111.44015, -2.97599, -0.06826, 0.00000, 0.00000, 0.00000);
  482. CreateObject(19420, 112.18533, -0.34838, -0.06826, 0.00000, 0.00000, 0.00000);
  483. CreateObject(19420, 111.90121, -1.12671, -0.06826, 0.00000, 0.00000, 0.00000);
  484. CreateObject(19420, 112.09303, 0.46782, -0.06826, 0.00000, 0.00000, 0.00000);
  485. CreateObject(3276, 27.04425, -25.48187, 2.72400, 0.00000, 0.00000, -51.00000);
  486. CreateObject(3276, -1.52463, 9.01791, 2.72400, 0.00000, 0.00000, -51.00000);
  487. CreateObject(3276, 5.83287, -0.14425, 2.72400, 0.00000, 0.00000, -51.00000);
  488. CreateObject(3276, 13.50103, -9.27779, 2.72400, 0.00000, 0.00000, -51.00000);
  489. CreateObject(3276, 21.08574, -18.24876, 2.72400, 0.00000, 0.00000, -51.00000);
  490. CreateObject(3276, 91.61282, -109.41101, 0.82470, 0.00000, 0.00000, 68.00000);
  491. CreateObject(3276, 103.97825, -22.87585, 0.82469, 0.00000, 0.00000, 84.00000);
  492. CreateObject(3276, 101.64711, -46.89343, 0.82469, 0.00000, 0.00000, 84.00000);
  493. CreateObject(3276, 100.33216, -58.65725, 0.82469, 0.00000, 0.00000, 84.00000);
  494. CreateObject(3276, 99.19132, -69.93195, 0.82469, 0.00000, 0.00000, 84.00000);
  495. CreateObject(3276, 97.93525, -81.12670, 0.82469, 0.00000, 0.00000, 84.00000);
  496. CreateObject(3276, 96.64040, -92.24730, 0.82470, 0.00000, 0.00000, 84.00000);
  497. CreateObject(3276, 93.79042, -103.34016, 0.82470, 0.00000, 0.00000, 68.00000);
  498. CreateObject(3276, -68.73738, -123.98145, 2.31140, 0.00000, 0.00000, 75.00000);
  499. CreateObject(3276, 77.28020, -127.42520, 0.55570, 0.00000, 0.00000, 46.00000);
  500. CreateObject(3276, 70.66497, -133.98799, 0.55570, 0.00000, 0.00000, 46.00000);
  501. CreateObject(3276, 61.57759, -140.32080, 0.55570, 0.00000, 0.00000, 24.00000);
  502. CreateObject(3276, 51.68510, -144.74240, 0.55570, 0.00000, 0.00000, 24.00000);
  503. CreateObject(3276, 40.57776, -148.11110, 0.55570, 0.00000, 0.00000, 9.00000);
  504. CreateObject(3276, 29.56488, -149.32071, 0.55570, 0.00000, 0.00000, 3.00000);
  505. CreateObject(3276, 18.69400, -148.14810, 0.34223, 0.00000, 0.00000, -12.00000);
  506. CreateObject(3276, 8.14501, -145.81792, 0.34223, 0.00000, 0.00000, -12.00000);
  507. CreateObject(3276, -1.99462, -143.55057, 0.34223, 0.00000, 0.00000, -12.00000);
  508. CreateObject(3276, -8.85205, -142.07805, 1.05414, 0.00000, 0.00000, -12.00000);
  509. CreateObject(12922, 85.26769, -118.72221, 3.05280, 0.00000, 0.00000, 47.00000);
  510. CreateObject(3276, 41.58756, 2.79704, 2.71650, 0.00000, 0.00000, 70.00000);
  511. CreateObject(3276, 23.48457, 23.20078, 2.71655, 0.00000, 0.00000, -21.00000);
  512. CreateObject(3276, 33.50760, 19.42537, 2.71655, 0.00000, 0.00000, -21.00000);
  513. CreateObject(3276, 40.40745, 16.71961, 2.71655, 0.00000, 0.00000, -21.00000);
  514. CreateObject(3276, 43.93929, 9.27663, 2.71650, 0.00000, 0.00000, 70.00000);
  515. CreateObject(3276, 102.87297, -34.82164, 0.82469, 0.00000, 0.00000, 84.00000);
  516. CreateObject(3276, 110.93517, 19.06957, 0.82469, 0.00000, 0.00000, 84.00000);
  517. CreateObject(3276, 111.59922, 27.52496, 0.82469, 0.00000, 0.00000, 84.00000);
  518. CreateObject(3276, -19.29681, -139.88977, 1.68070, 0.00000, 0.00000, -12.00000);
  519. CreateObject(3276, -26.21968, -138.33038, 2.31145, 0.00000, 0.00000, -12.00000);
  520. CreateObject(3276, -36.61254, -136.17886, 2.31145, 0.00000, 0.00000, -12.00000);
  521. CreateObject(3276, -47.17146, -133.69203, 2.31145, 0.00000, 0.00000, -12.00000);
  522. CreateObject(3276, -56.96334, -131.64532, 2.31145, 0.00000, 0.00000, -12.00000);
  523. CreateObject(3276, -61.69199, -130.87430, 2.31145, 0.00000, 0.00000, -12.00000);
  524. CreateObject(3276, -65.25665, -129.92700, 2.31145, 0.00000, 0.00000, -12.00000);
  525. CreateObject(3286, 1099.11719, -358.47656, 77.61719, 356.85840, 0.00000, 3.14159);
  526. CreateObject(3286, 1099.11719, -358.47656, 77.61719, 356.85840, 0.00000, 3.14159);
  527. CreateObject(10244, 613.68250, -592.31970, 18.07840, 0.00000, 0.00000, 180.00000);
  528. CreateObject(981, 874.98822, -560.56458, 18.52535, 0.00000, 0.00000, 111.00000);
  529. CreateObject(10244, 697.61572, -591.39240, 16.69084, 0.00000, 0.00000, 0.00000);
  530. CreateObject(18451, 638.68683, -537.93762, 15.70700, 0.00000, 0.00000, -14.00000);
  531. CreateObject(967, 649.22449, -537.77942, 15.30573, 0.00000, 0.00000, 178.00000);
  532. CreateObject(18783, 985.17133, -296.35202, 67.58772, 0.00000, 0.00000, 0.00000);
  533. CreateObject(18783, 985.14307, -316.34061, 67.58772, 0.00000, 0.00000, 0.00000);
  534. CreateObject(18783, 985.11346, -336.28540, 67.58772, 0.00000, 0.00000, 0.00000);
  535. CreateObject(18783, 985.04498, -375.75366, 67.58772, 0.00000, 0.00000, 0.00000);
  536. CreateObject(18783, 985.08185, -355.92148, 67.58772, 0.00000, 0.00000, 0.00000);
  537. CreateObject(3279, 979.77448, -378.87778, 69.85338, 0.00000, 0.00000, 0.00000);
  538. CreateObject(3279, 980.29688, -292.87479, 69.85338, 0.00000, 0.00000, 0.00000);
  539. CreateObject(3092, 1097.48389, -315.05774, 74.47026, 0.00000, 0.00000, 171.00000);
  540. CreateObject(735, 1010.72278, -454.62094, 48.48750, 0.00000, 0.00000, 0.00000);
  541. CreateObject(735, 1039.62476, -443.66150, 48.39125, 0.00000, 0.00000, 0.00000);
  542. CreateObject(3092, 1010.72034, -455.47467, 54.87877, 0.00000, 0.00000, 146.00000);
  543. CreateObject(1431, 1114.58020, -346.28046, 73.43682, 0.00000, 0.00000, 0.00000);
  544. CreateObject(3630, 1099.84888, -331.78833, 74.43178, 0.00000, 0.00000, 0.00000);
  545. CreateObject(968, 1007.41785, -407.38101, 66.50338, 0.00000, 0.00000, 0.00000);
  546. CreateObject(967, 1008.23767, -408.62714, 65.00004, 0.00000, 0.00000, -85.00000);
  547. CreateObject(966, 1007.42181, -407.34070, 65.51560, 0.00000, 0.00000, -74.00000);
  548. CreateObject(987, 987.84283, -286.45316, 69.94580, 0.00000, 0.00000, 181.00000);
  549. CreateObject(987, 986.86267, -385.52582, 70.01973, 0.00000, 0.00000, 180.00000);
  550. CreateObject(987, 974.95398, -385.42520, 70.09924, 0.00000, 0.00000, 90.00000);
  551. CreateObject(987, 974.87122, -373.52451, 70.04545, 0.00000, 0.00000, 90.00000);
  552. CreateObject(987, 975.71631, -298.35309, 69.94585, 0.00000, 0.00000, 90.00000);
  553. CreateObject(987, 975.70752, -310.35263, 69.94585, 0.00000, 0.00000, 90.00000);
  554. CreateObject(16375, 996.52661, -345.98871, 70.18510, 0.00000, 0.00000, 90.00000);
  555. CreateObject(3866, 700.22302, -508.31641, 20.03807, 0.00000, 0.00000, 180.00000);
  556. CreateObject(3887, 704.97223, -555.94092, 18.63930, 0.00000, 0.00000, -180.00000);
  557. CreateObject(840, 729.91821, -532.31842, 16.82320, 0.00000, 0.00000, 200.00000);
  558. CreateObject(840, 729.19049, -526.49310, 16.82323, 0.00000, 0.00000, 0.00000);
  559. CreateObject(1308, 782.70038, -540.58398, 15.59380, 357.00000, 91.00000, -3.00000);
  560. CreateObject(16326, 1180.90393, -146.58272, 39.71403, 0.00000, 0.00000, -150.00000);
  561. CreateObject(26, 1180.84607, -142.49210, 40.80143, 86.00000, 11.00000, -163.00000);
  562. CreateObject(19307, 1168.43652, -154.53290, 52.93190, 0.00000, 0.00000, -40.00000);
  563. CreateObject(18259, 1326.39978, -33.71413, 34.17086, 0.00000, 0.00000, 128.00000);
  564. CreateObject(16327, 767.76343, -224.90218, 10.82007, 0.00000, 0.00000, -2.00000);
  565. CreateObject(356, 1167.32935, -151.32970, 54.64710, 182.00000, 115.00000, -56.00000);
  566. CreateObject(356, 1167.09180, -150.85545, 54.64709, 182.00000, 115.00000, -244.00000);
  567. CreateObject(2056, 1166.45190, -152.22771, 53.52420, 0.00000, 0.00000, 5.00000);
  568. CreateObject(2032, 1158.46350, -136.73369, 48.38917, 0.00000, 0.00000, 0.00000);
  569. CreateObject(2036, 1166.63831, -152.83264, 53.37585, 0.00000, 0.00000, 0.00000);
  570. CreateObject(2041, 1167.12256, -153.14107, 53.58143, 0.00000, 0.00000, 0.00000);
  571. CreateObject(2045, 1175.92383, -142.95636, 38.08439, 0.00000, 0.00000, 0.00000);
  572. CreateObject(2064, 1157.93298, -140.55540, 49.13952, 0.00000, 0.00000, -24.00000);
  573. CreateObject(2034, 1166.19128, -153.25490, 53.40018, 0.00000, 0.00000, 0.00000);
  574. CreateObject(2060, 1169.73425, -152.32448, 52.98964, 0.00000, 0.00000, 114.00000);
  575. CreateObject(2060, 1168.45703, -154.52960, 52.71069, 0.00000, 0.00000, 24.00000);
  576. CreateObject(2060, 1168.46045, -154.50952, 52.80207, 0.00000, 0.00000, 24.00000);
  577. CreateObject(2060, 1168.50183, -154.49336, 52.93498, 0.00000, 0.00000, 24.00000);
  578. CreateObject(2060, 1169.73267, -152.30466, 52.66199, 0.00000, 0.00000, 114.00000);
  579. CreateObject(2060, 1169.73560, -152.30338, 52.80761, 0.00000, 0.00000, 114.00000);
  580. CreateObject(2057, 1168.22461, -150.09441, 52.79130, 0.00000, 0.00000, -24.00000);
  581. CreateObject(2046, 1183.07202, -149.18315, 43.75954, 0.00000, 0.00000, 117.00000);
  582. CreateObject(3014, 1184.27307, -150.14568, 42.46350, 0.00000, 0.00000, 30.00000);
  583. CreateObject(3014, 1184.77258, -151.05414, 42.50584, 0.00000, 0.00000, 30.00000);
  584. CreateObject(1583, 1183.99744, -150.76746, 42.77583, 0.00000, 0.00000, -60.00000);
  585. CreateObject(2985, 1186.82227, -149.76984, 42.23020, 0.00000, 0.00000, 0.00000);
  586. CreateObject(18885, 1185.40857, -147.93118, 43.31024, 0.00000, 0.00000, 27.00000);
  587. CreateObject(19908, 1158.66968, -138.66658, 48.42010, 0.00000, 91.00000, 25.00000);
  588. CreateObject(837, 1166.92102, -152.29843, 50.17804, 21.00000, 98.00000, -4.00000);
  589. CreateObject(19307, 1185.20032, -152.14412, 45.15881, 0.00000, 0.00000, 0.00000);
  590. CreateObject(19307, 1169.58130, -152.26598, 52.98447, 0.00000, 0.00000, 0.00000);
  591. CreateObject(16327, 853.33154, -223.68581, 18.08170, 0.00000, 0.00000, -2.00000);
  592. CreateObject(19908, 1167.52368, -152.49182, 52.59680, 0.00000, 91.00000, 25.00000);
  593. CreateObject(13360, 1164.07727, -148.26274, 52.16297, 62.00000, 360.00000, 25.00000);
  594. CreateObject(13360, 1163.52722, -147.09779, 51.48104, 62.38000, 360.12000, 25.10000);
  595. CreateObject(13360, 1522.41650, 68.41660, 38.70580, 62.00000, 360.00000, -91.00000);
  596. CreateObject(13360, 1164.92615, -149.98260, 52.66591, 91.00000, 86.00000, 121.00000);
  597. CreateObject(13360, 1162.12195, -144.13168, 50.30433, 91.00000, 86.00000, 121.00000);
  598. CreateObject(13360, 1162.98230, -145.87625, 50.77744, 62.38000, 360.12000, 25.10000);
  599. CreateObject(13360, 1161.27820, -142.38974, 49.79652, 62.38000, 360.12000, 25.10000);
  600. CreateObject(2032, 1166.04309, -153.04012, 52.58311, 0.00000, 0.00000, 0.00000);
  601. CreateObject(2985, 1160.60144, -138.10320, 48.41415, 0.00000, 0.00000, 0.00000);
  602. CreateObject(2064, 1169.59216, -153.69920, 53.31760, 0.00000, 0.00000, 84.00000);
  603. CreateObject(2036, 1158.83557, -136.70822, 49.20747, 0.00000, 0.00000, 0.00000);
  604. CreateObject(2060, 1156.65344, -139.87917, 48.87409, 0.00000, 0.00000, -64.00000);
  605. CreateObject(2060, 1156.71362, -139.76704, 48.56996, 0.00000, 0.00000, -64.00000);
  606. CreateObject(2060, 1156.71265, -139.83766, 48.64521, 0.00000, 0.00000, -64.00000);
  607. CreateObject(2060, 1156.64355, -139.85081, 48.75084, 0.00000, 0.00000, -64.00000);
  608. CreateObject(19911, 1525.64868, 70.54393, 38.45046, 0.00000, 91.00000, 0.00000);
  609. CreateObject(19911, 1513.41077, 69.37113, 41.82444, 0.00000, 91.00000, 0.00000);
  610. CreateObject(13360, 1160.60242, -140.94148, 48.93551, 62.38000, 360.12000, 25.10000);
  611. CreateObject(13360, 1517.46838, 68.48963, 41.32018, 62.00000, 360.00000, -91.00000);
  612. CreateObject(13360, 1519.29077, 68.46955, 40.34725, 62.00000, 360.00000, -91.00000);
  613. CreateObject(13360, 1520.74658, 68.45561, 39.59657, 62.00000, 360.00000, -91.00000);
  614. CreateObject(2064, 1511.28467, 65.53610, 42.47270, 0.00000, 0.00000, -49.00000);
  615. CreateObject(2060, 1516.30347, 72.07493, 42.33598, 0.00000, 0.00000, 267.00000);
  616. CreateObject(2060, 1512.57825, 65.11209, 42.00326, 0.00000, 0.00000, 0.00000);
  617. CreateObject(2060, 1512.57922, 65.13290, 42.19353, 0.00000, 0.00000, 0.00000);
  618. CreateObject(2060, 1512.57971, 65.14538, 42.36227, 0.00000, 0.00000, 0.00000);
  619. CreateObject(2060, 1510.71533, 67.09770, 42.08570, 0.00000, 0.00000, 90.00000);
  620. CreateObject(2060, 1510.73816, 67.09908, 42.18552, 0.00000, 0.00000, 90.00000);
  621. CreateObject(2060, 1510.71936, 67.09794, 42.28535, 0.00000, 0.00000, 90.00000);
  622. CreateObject(1737, 1513.51428, 70.56636, 41.80348, 0.00000, 0.00000, 0.00000);
  623. CreateObject(2044, 1513.38196, 70.54842, 42.66653, 0.00000, 0.00000, 0.00000);
  624. CreateObject(2034, 1513.86987, 70.83798, 42.59658, 0.00000, 0.00000, 0.00000);
  625. CreateObject(2985, 1515.79590, 73.22820, 42.11676, 0.00000, 0.00000, 47.00000);
  626. CreateObject(2059, 1527.79675, 74.36832, 38.52065, 0.00000, 0.00000, 0.00000);
  627. CreateObject(3014, 1525.41650, 71.34200, 38.66559, 0.00000, 0.00000, 0.00000);
  628. CreateObject(3014, 1527.41675, 67.94656, 38.66559, 0.00000, 0.00000, 0.00000);
  629. CreateObject(3014, 1522.92957, 67.49147, 38.66559, 0.00000, 0.00000, 0.00000);
  630. CreateObject(2058, 1527.33496, 68.00034, 38.93707, 0.00000, 0.00000, 0.00000);
  631. CreateObject(2985, 1523.47607, 66.53910, 38.48270, 0.00000, 0.00000, -120.00000);
  632. CreateObject(2059, 1526.32422, 66.97126, 38.52065, 0.00000, 0.00000, 0.00000);
  633. CreateObject(2064, 1528.10706, 70.31532, 39.07410, 0.00000, 0.00000, 76.00000);
  634. CreateObject(3124, 1527.19727, 68.04924, 38.73101, 120.00000, -287.00000, 11.00000);
  635. CreateObject(3014, 1524.26465, 66.35284, 38.66559, 0.00000, 0.00000, 0.00000);
  636. CreateObject(2060, 1510.71973, 67.13904, 42.46502, 0.00000, 0.00000, 90.00000);
  637. CreateObject(2060, 1514.46741, 73.66690, 41.95270, 0.00000, 0.00000, 178.00000);
  638. CreateObject(2060, 1514.46558, 73.69641, 42.14382, 0.00000, 0.00000, 177.00000);
  639. CreateObject(2060, 1514.46106, 73.79041, 42.33155, 0.00000, 0.00000, 177.00000);
  640. CreateObject(2060, 1514.44666, 73.90124, 42.41751, 0.00000, 0.00000, 177.00000);
  641. CreateObject(2060, 1516.28625, 72.07472, 41.87238, 0.00000, 0.00000, 267.00000);
  642. CreateObject(2060, 1516.30042, 72.07487, 41.97466, 0.00000, 0.00000, 267.00000);
  643. CreateObject(2060, 1516.30542, 72.07526, 42.09826, 0.00000, 0.00000, 267.00000);
  644. CreateObject(2060, 1516.30542, 72.07526, 42.20898, 0.00000, 0.00000, 267.00000);
  645. CreateObject(1299, 1523.38367, 73.62442, 38.93078, 0.00000, 0.00000, 0.00000);
  646. CreateObject(1636, 1524.31250, 66.40268, 38.98055, 0.00000, 0.00000, 0.00000);
  647. CreateObject(3057, 1526.38159, 74.95715, 38.91940, 86.00000, 25.00000, 4.00000);
  648. CreateObject(3057, 1528.10681, 73.04310, 38.91940, 90.00000, 25.00000, 4.00000);
  649. CreateObject(1252, 1523.00085, 67.42889, 39.18557, 0.00000, 0.00000, 0.00000);
  650. CreateObject(1252, 1513.55115, 70.83194, 42.79862, 0.00000, 0.00000, 0.00000);
  651. CreateObject(1252, 1513.93811, 70.31034, 42.79862, 0.00000, 0.00000, 0.00000);
  652. CreateObject(364, 1514.24561, 70.15208, 42.57863, 0.00000, 0.00000, 0.00000);
  653. CreateObject(1636, 1514.70386, 70.75934, 42.62284, 0.00000, 0.00000, 0.00000);
  654. CreateVehicle(525, 1087.1550, -357.8138, 74.2946, 0.0000, -1, -1, 100);
  655. CreateVehicle(525, 1113.2980, -358.2016, 74.2946, 0.0000, -1, -1, 100);
  656. CreateVehicle(528, 1114.7788, -323.3179, 74.9642, 89.0000, -1, -1, 100);
  657. CreateVehicle(528, 1115.1165, -312.9074, 75.2008, 89.0000, -1, -1, 100);
  658. CreateVehicle(528, 1114.9542, -317.9066, 74.9642, 89.0000, -1, -1, 100);
  659. CreateVehicle(468, 1096.5948, -298.8706, 73.8383, 0.0000, -1, -1, 100);
  660. CreateVehicle(468, 1095.0153, -298.8154, 73.8383, 0.0000, -1, -1, 100);
  661. CreateVehicle(468, 1098.0763, -298.8451, 73.8383, 0.0000, -1, -1, 100);
  662. CreateVehicle(468, 1101.0291, -298.8737, 73.8383, 0.0000, -1, -1, 100);
  663. CreateVehicle(468, 1099.5533, -298.9402, 73.8383, 0.0000, -1, -1, 100);
  664. CreateVehicle(488, 1060.4711, -299.2728, 74.3353, 0.0000, -1, -1, 100);
  665. CreateVehicle(488, 1073.9871, -299.2267, 74.2692, 0.0000, -1, -1, 100);
  666. CreateVehicle(400, 1050.4293, -358.8013, 75.1115, 0.0000, -1, -1, 100);
  667. CreateVehicle(400, 1055.5978, -358.8767, 75.1115, 0.0000, -1, -1, 100);
  668. CreateVehicle(466, 1042.0157, -297.5663, 74.2246, 0.0000, -1, -1, 100);
  669. CreateVehicle(466, 1025.4570, -297.0564, 74.2246, 0.0000, -1, -1, 100);
  670. CreateVehicle(466, 1035.9821, -297.7848, 74.2246, 0.0000, -1, -1, 100);
  671. CreateVehicle(466, 1020.7440, -297.1349, 74.2246, 0.0000, -1, -1, 100);
  672. CreateVehicle(466, 1031.0426, -297.5095, 74.2246, 0.0000, -1, -1, 100);
  673. CreateVehicle(415, 1114.2745, -339.4200, 74.9349, 89.0000, -1, -1, 100);
  674. CreateVehicle(415, 1114.5636, -334.1885, 74.9349, 89.0000, -1, -1, 100);
  675. CreateVehicle(468, -97.0966, -49.0106, 6.1903, -18.0000, -1, -1, 100);
  676. CreateVehicle(468, -93.7446, -38.0131, 6.1903, -18.0000, -1, -1, 100);
  677. CreateVehicle(468, -89.5272, -39.7384, 6.1903, -18.0000, -1, -1, 100);
  678. CreateVehicle(468, -91.7430, -39.0377, 6.1903, -18.0000, -1, -1, 100);
  679. CreateVehicle(468, -93.3300, -50.2016, 6.1903, -18.0000, -1, -1, 100);
  680. CreateVehicle(422, -91.8990, -41.7467, 3.1812, -17.0000, -1, -1, 100);
  681. CreateVehicle(422, -94.8049, -48.9359, 3.1812, -17.0000, -1, -1, 100);
  682. CreateVehicle(400, 1045.5728, -358.8702, 75.1115, 0.0000, -1, -1, 100);
  683. CreateVehicle(525, 1106.6869, -358.2000, 74.2946, 0.0000, -1, -1, 100);
  684. CreateVehicle(525, 1093.8485, -357.9486, 74.2946, 0.0000, -1, -1, 100);
  685. CreateVehicle(432, 1063.6691, -351.4601, 73.9310, 0.0000, -1, -1, 100);
  686. CreateVehicle(432, 1080.3024, -352.3675, 73.9350, 0.0000, -1, -1, 100);
  687. CreateVehicle(470, 1068.9645, -351.6649, 73.7523, 0.0000, -1, -1, 100);
  688. CreateVehicle(470, 1075.3798, -351.2832, 73.7523, 0.0000, -1, -1, 100);
  689. CreateVehicle(411, 1112.5443, -306.5612, 74.5937, 91.0000, -1, -1, 100);
  690. CreateVehicle(470, 614.2853, -609.6663, 16.9163, -89.0000, -1, -1, 100);
  691. CreateVehicle(470, 614.3416, -597.3021, 16.9163, -89.0000, -1, -1, 100);
  692. CreateVehicle(470, 614.3976, -601.4678, 16.9163, -89.0000, -1, -1, 100);
  693. CreateVehicle(470, 614.3918, -606.1796, 16.9163, -89.0000, -1, -1, 100);
  694. CreateVehicle(601, 666.3529, -549.5300, 16.1111, 90.0000, -1, -1, 100);
  695. CreateVehicle(601, 666.6446, -542.9348, 15.8545, 90.0000, -1, -1, 100);
  696. CreateVehicle(427, 657.4159, -582.9055, 16.8182, 0.0000, -1, -1, 100);
  697. CreateVehicle(427, 668.2549, -582.9464, 16.8182, 0.0000, -1, -1, 100);
  698. CreateVehicle(427, 663.1214, -582.9044, 16.8182, 0.0000, -1, -1, 100);
  699. CreateVehicle(447, 615.7437, -547.9619, 23.0276, -89.0000, -1, -1, 100);
  700. CreateVehicle(497, 613.9861, -566.5570, 28.2926, -89.0000, -1, -1, 100);
  701. CreateVehicle(497, 622.0005, -577.7729, 28.2926, -89.0000, -1, -1, 100);
  702. CreateVehicle(455, 639.7440, -513.4670, 16.8256, 0.0000, -1, -1, 100);
  703. CreateVehicle(455, 633.9758, -513.4856, 16.8256, 0.0000, -1, -1, 100);
  704. CreateVehicle(490, 702.9266, -442.2450, 16.7649, 0.0000, -1, -1, 100);
  705. CreateVehicle(490, 692.9175, -442.2678, 16.7649, 0.0000, -1, -1, 100);
  706. CreateVehicle(490, 708.2130, -442.3239, 16.7649, 0.0000, -1, -1, 100);
  707. CreateVehicle(535, 751.7145, -499.0955, 17.9846, 0.0000, -1, -1, 100);
  708. CreateVehicle(535, 762.0278, -510.6992, 17.9846, 0.0000, -1, -1, 100);
  709. CreateVehicle(596, 708.4964, -464.6777, 16.3831, -90.0000, -1, -1, 100);
  710. CreateVehicle(596, 695.0436, -460.7774, 16.3831, 90.0000, -1, -1, 100);
  711. CreateVehicle(596, 695.2007, -470.3507, 16.3831, 90.0000, -1, -1, 100);
  712. CreateVehicle(596, 708.5197, -470.9723, 16.3831, -90.0000, -1, -1, 100);
  713. CreateVehicle(573, 662.3024, -618.5103, 17.4560, 0.0000, -1, -1, 100);
  714. CreateVehicle(573, 667.6757, -618.7308, 17.4560, 0.0000, -1, -1, 100);
  715. CreateVehicle(581, 645.5807, -497.2755, 16.1053, 0.0000, -1, -1, 100);
  716. CreateVehicle(581, 648.3999, -497.1700, 16.1053, 0.0000, -1, -1, 100);
  717. CreateVehicle(581, 650.0463, -497.2165, 16.1053, 0.0000, -1, -1, 100);
  718. CreateVehicle(581, 646.9429, -497.3126, 16.1053, 0.0000, -1, -1, 100);
  719. CreateVehicle(556, 665.9933, -470.9893, 16.4139, 90.0000, -1, -1, 100);
  720. CreateVehicle(556, 666.1354, -461.6251, 16.4139, 90.0000, -1, -1, 100);
  721. CreateVehicle(469, 613.3242, -604.7245, 23.1530, 0.0000, -1, -1, 100);
  722. CreateVehicle(468, 632.0919, -610.7502, 16.1881, 0.0000, -1, -1, 100);
  723. CreateVehicle(468, 637.1979, -610.7223, 16.1881, 0.0000, -1, -1, 100);
  724. CreateVehicle(468, 635.5715, -610.7792, 16.1881, 0.0000, -1, -1, 100);
  725. CreateVehicle(468, 633.8314, -610.8134, 16.1881, 0.0000, -1, -1, 100);
  726. CreateVehicle(490, 697.7187, -442.1473, 16.7649, 0.0000, -1, -1, 100);
  727. CreateVehicle(528, 649.1561, -505.7073, 17.1381, 0.0000, -1, -1, 100);
  728. CreateVehicle(528, 604.3616, -509.9914, 16.2524, 0.0000, -1, -1, 100);
  729. CreateVehicle(528, 598.8519, -509.9040, 16.2524, 0.0000, -1, -1, 100);
  730. CreateVehicle(528, 620.7722, -608.8966, 17.5715, 0.0000, -1, -1, 100);
  731. CreateVehicle(490, 97.3925, -164.8034, 3.1681, -90.0000, -1, -1, 100);
  732. CreateVehicle(590, 683.3737, -552.3087, 17.6078, 0.0000, -1, -1, 100);
  733. CreateVehicle(476, 984.8221, -320.6608, 72.5942, 89.0000, -1, -1, 100);
  734. CreateVehicle(488, 985.7529, -368.2279, 71.5881, 88.0000, -1, -1, 100);
  735. CreateVehicle(476, 984.3027, -352.9901, 72.5942, 89.0000, -1, -1, 100);
  736. CreateVehicle(476, 984.4059, -337.1962, 72.5942, 89.0000, -1, -1, 100);
  737. CreateVehicle(476, 664.8478, -513.0411, 25.2908, 90.0000, -1, -1, 100);
  738. CreateVehicle(490, 1175.0331, -150.8198, 41.7582, 25.0000, -1, -1, 100);
  739. AddStaticVehicle(490,1334.8173,-24.5290,33.3982,220.9740,0,0);
  740. //PickUps
  741. AP = CreatePickup(1210,2,611.0301,-586.0072,17.2266, -1);
  742. TP = CreatePickup(1210,2,1105.7391,-301.6544,74.5391, -1);
  743. FP = CreatePickup(1318,2, 1167.2137,-155.4908,40.7918);
  744. KP = CreatePickup(1318,2, 1156.4288,-137.7589,49.5035);
  745. ZP = CreatePickup(1318,2, 1512.2543,70.4323,28.4556);
  746. SP = CreatePickup(1318,2, 1527.5176,74.4280,39.4725);
  747. //3D Text Labels
  748. //Army
  749. Create3DTextLabel("Army Spawn", 0x00800096, 615.1069,-587.4838,17.2266, 50.0,0);
  750. Create3DTextLabel("Army Spawn", 0x00800096, 659.0253,-573.6774,16.3359, 50.0,0);
  751. Create3DTextLabel("Army Spawn", 0x00800096, 654.5018,-524.3607,16.3359, 50.0,0);
  752. //Terrorist
  753. Create3DTextLabel("Terrorist Spawn", 0xFF000096, 1101.2395,-320.7582,73.9922, 50.0,0);
  754. Create3DTextLabel("Terrorist Spawn", 0xFF000096, 1076.9631,-287.9576,73.9922, 50.0,0);
  755. Create3DTextLabel("Terrorist Spawn", 0xFF000096, 1033.4568,-288.4031,73.9922, 50.0,0);
  756. return 1;
  757.  
  758. }
  759. //--------
  760. public OnPlayerPickUpPickup(playerid, pickupid)
  761. {
  762. {
  763. if(pickupid == AP) ShowPlayerDialog(playerid, 5421, DIALOG_STYLE_LIST, "Briefcase", "Health - 5000$\nArmour - 5500$\nDesert Eagle - 6000$\nSatchel - 10000$\nTec-9 - 5000$\nSniper Rifle - 6000$\nCombat Shotgun - 7000$", "Select", "Cancel");
  764. }
  765. {
  766. if(pickupid == TP) ShowPlayerDialog(playerid, 5421, DIALOG_STYLE_LIST, "Briefcase", "Health - 5000$\nArmour - 5500$\nDesert Eagle - 6000$\nSatchel - 10000$\nTec-9 - 5000$\nSniper Rifle - 6000$\nCombat Shotgun - 7000$", "Select", "Cancel");
  767. }
  768. {
  769. if(pickupid == FP) SetPlayerPos(playerid, 1168.6492,-152.6277,53.6335);
  770. }
  771. {
  772. if(pickupid == KP) SetPlayerPos(playerid, 1165.7585,-149.7233,43.2448);
  773. }
  774. {
  775. if(pickupid == ZP) SetPlayerPos(playerid, 1513.8105,71.4633,42.8722);
  776. }
  777. {
  778. if(pickupid == SP) SetPlayerPos(playerid, 1522.5698,65.0223,27.2381);
  779. }
  780. return 1;
  781. }
  782. //-------
  783. public OnPlayerRequestClass(playerid, classid)
  784. {
  785. new Float:x, Float:y, Float:z;
  786. GetPlayerPos(playerid, x,y,z);
  787. switch(classid)
  788. {
  789. case 0:
  790. {
  791. // Army //
  792. SetPlayerFacingAngle(playerid, 91.9996);
  793. SetPlayerPos(playerid, 617.7850,-596.2908,22.7258);
  794. SetPlayerCameraPos(playerid, 610.3941,-597.0658,22.7258);
  795. SetPlayerCameraLookAt(playerid, 617.7850,-596.2908,22.7258);
  796. gTeam[playerid] = TEAM_ARMY;
  797. SetPlayerTeam(playerid, 0);
  798. SetPlayerSkin(playerid, 287);
  799. SetPlayerColor(playerid, TEAM_ARMY_COLOUR);
  800. GameTextForPlayer(playerid, "~g~Army", 2000, 3);
  801.  
  802. }
  803. case 1:
  804. {
  805. // TERRORIST //
  806. SetPlayerFacingAngle(playerid, 40.5925);
  807. SetPlayerPos(playerid, 1046.2046,-304.5462,80.2873);
  808. SetPlayerCameraPos(playerid, 1040.6462,-298.9291,81.1935);
  809. SetPlayerCameraLookAt(playerid, 1046.2046,-304.5462,80.2873);
  810. SetPlayerTeam(playerid, 1);
  811. SetPlayerSkin(playerid, 247);
  812. gTeam[playerid] = TEAM_TERRORIST;
  813. SetPlayerColor(playerid, TEAM_TERRORIST_COLOUR);
  814. GameTextForPlayer(playerid, "~r~Terrorist", 2000, 3);
  815.  
  816. }
  817. }
  818. return 1;
  819. }
  820.  
  821. public OnGameModeExit()
  822. {
  823. TextDrawHideForAll(NiceKill);
  824. TextDrawDestroy(NiceKill);
  825. TextDrawHideForAll(Dead);
  826. TextDrawDestroy(Dead);
  827. return 1;
  828. }
  829. public OnPlayerConnect(playerid)
  830. {
  831. {
  832. // Create capture HUDS
  833. pbarCapture[playerid] = CreatePlayerProgressBar(playerid, 44.000000, 318.000000, 89.500000, 3.700000, -1429936641, CAPTURE_TIME, 0);
  834.  
  835. ptxtCapture[playerid] = CreatePlayerTextDraw(playerid, 87.000000, 308.000000, "Capturing !...");
  836. PlayerTextDrawBackgroundColor(playerid, ptxtCapture[playerid], 255);
  837. PlayerTextDrawFont(playerid, ptxtCapture[playerid], 1);
  838. PlayerTextDrawLetterSize(playerid, ptxtCapture[playerid], 0.290000, 1.099999);
  839. PlayerTextDrawColor(playerid, ptxtCapture[playerid], -1);
  840. PlayerTextDrawAlignment(playerid, ptxtCapture[playerid], 2);
  841. PlayerTextDrawSetOutline(playerid, ptxtCapture[playerid], 1);
  842.  
  843. // show all capture zones
  844. for(new i, j = sizeof(gCaptureZone); i < j; i++) // loop through all capture zones and show their gangzones
  845. {
  846. GangZoneShowForPlayer(playerid, gCaptureZone[i][zone_Id]);
  847. }
  848. }
  849.  
  850. new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
  851. GetPlayerName(playerid, pname, sizeof(pname));
  852. format(string, sizeof(string), "%s has joined the server", pname);
  853. SendClientMessageToAll(0x80FF8096, string);
  854. //GangZone
  855. GangZoneShowForPlayer(playerid, GZ_ZONE2, 0xFF000096); //Terrorist Base
  856. GangZoneShowForPlayer(playerid, GZ_ZONE1, 0x00800096); //Army Base
  857. //Register & login system
  858. if(fexist(UserPath(playerid)))
  859. {
  860. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  861. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_LIGHTBLUE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
  862.  
  863. }
  864. else
  865. {
  866. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_GREEN"Type a password below to register a new account.","Register","Quit");
  867.  
  868. }
  869. RemoveBuildingForPlayer(playerid, 1308, 9.0234, 15.1563, -5.7109, 0.25);
  870. RemoveBuildingForPlayer(playerid, 3347, 1114.2969, -353.8203, 72.7969, 0.25);
  871. RemoveBuildingForPlayer(playerid, 3347, 1107.5938, -358.5156, 72.7969, 0.25);
  872. RemoveBuildingForPlayer(playerid, 3376, 1070.4766, -355.1641, 77.3359, 0.25);
  873. RemoveBuildingForPlayer(playerid, 3404, 1019.3828, -300.2422, 72.9844, 0.25);
  874. RemoveBuildingForPlayer(playerid, 3404, 1045.5625, -300.6016, 72.9844, 0.25);
  875. RemoveBuildingForPlayer(playerid, 1503, 1019.3203, -282.7891, 73.2031, 0.25);
  876. RemoveBuildingForPlayer(playerid, 13451, 1146.1406, -369.1328, 49.3281, 0.25);
  877. RemoveBuildingForPlayer(playerid, 3335, 1183.8203, -153.7188, 39.7266, 0.25);
  878. RemoveBuildingForPlayer(playerid, 1351, 221.5156, -77.5234, 0.4609, 0.25);
  879. RemoveBuildingForPlayer(playerid, 1440, 661.0781, -624.0078, 15.8125, 0.25);
  880. RemoveBuildingForPlayer(playerid, 782, 643.1484, -614.5625, 15.2813, 0.25);
  881. RemoveBuildingForPlayer(playerid, 1345, 665.2266, -624.3750, 16.0625, 0.25);
  882. RemoveBuildingForPlayer(playerid, 1345, 668.2109, -624.4453, 16.0625, 0.25);
  883. RemoveBuildingForPlayer(playerid, 1294, 690.4688, -591.0156, 19.8516, 0.25);
  884. RemoveBuildingForPlayer(playerid, 1346, 672.4297, -589.0938, 16.6797, 0.25);
  885. RemoveBuildingForPlayer(playerid, 1687, 625.0156, -579.7188, 25.9297, 0.25);
  886. RemoveBuildingForPlayer(playerid, 1691, 665.7500, -566.3047, 20.0313, 0.25);
  887. RemoveBuildingForPlayer(playerid, 1688, 705.3438, -576.1406, 21.3281, 0.25);
  888. RemoveBuildingForPlayer(playerid, 1690, 694.6406, -571.4922, 21.0078, 0.25);
  889. RemoveBuildingForPlayer(playerid, 1687, 611.0000, -562.9531, 25.9297, 0.25);
  890. RemoveBuildingForPlayer(playerid, 1687, 670.1016, -558.4063, 20.4297, 0.25);
  891. RemoveBuildingForPlayer(playerid, 956, 662.4297, -552.1641, 15.7109, 0.25);
  892. RemoveBuildingForPlayer(playerid, 1438, 670.1094, -550.6563, 15.2734, 0.25);
  893. RemoveBuildingForPlayer(playerid, 1690, 702.5313, -546.6094, 21.0078, 0.25);
  894. RemoveBuildingForPlayer(playerid, 1308, 671.7813, -539.9141, 15.6641, 0.25);
  895. RemoveBuildingForPlayer(playerid, 1308, 624.3359, -539.7188, 15.4922, 0.25);
  896. RemoveBuildingForPlayer(playerid, 1351, 647.6641, -540.8359, 15.1797, 0.25);
  897. RemoveBuildingForPlayer(playerid, 1438, 663.3750, -541.6250, 15.2891, 0.25);
  898. RemoveBuildingForPlayer(playerid, 13137, 646.1641, -527.8984, 28.0703, 0.25);
  899. RemoveBuildingForPlayer(playerid, 1308, 652.0078, -520.3203, 15.6641, 0.25);
  900. RemoveBuildingForPlayer(playerid, 1503, 638.8359, -517.4766, 15.5469, 0.25);
  901. RemoveBuildingForPlayer(playerid, 1688, 649.5547, -516.7422, 21.1797, 0.25);
  902. RemoveBuildingForPlayer(playerid, 1689, 660.4453, -515.4063, 23.0000, 0.25);
  903. RemoveBuildingForPlayer(playerid, 1691, 643.6484, -515.9609, 20.5859, 0.25);
  904. RemoveBuildingForPlayer(playerid, 1688, 667.4375, -506.7891, 22.8359, 0.25);
  905. RemoveBuildingForPlayer(playerid, 1440, 642.7188, -511.0547, 15.8203, 0.25);
  906. RemoveBuildingForPlayer(playerid, 1308, 711.8359, -539.4609, 15.6484, 0.25);
  907. RemoveBuildingForPlayer(playerid, 1294, 712.8359, -521.3359, 19.7031, 0.25);
  908. RemoveBuildingForPlayer(playerid, 1688, 706.2422, -507.7734, 21.2891, 0.25);
  909. RemoveBuildingForPlayer(playerid, 1690, 706.1328, -510.2891, 20.9766, 0.25);
  910. RemoveBuildingForPlayer(playerid, 1308, 711.8750, -516.2656, 15.6172, 0.25);
  911. RemoveBuildingForPlayer(playerid, 1308, 611.4766, -504.6875, 15.6484, 0.25);
  912. RemoveBuildingForPlayer(playerid, 1345, 652.7422, -496.5156, 16.0469, 0.25);
  913. RemoveBuildingForPlayer(playerid, 1345, 652.8125, -499.3203, 16.0469, 0.25);
  914. RemoveBuildingForPlayer(playerid, 1438, 660.5391, -496.8828, 15.3047, 0.25);
  915. RemoveBuildingForPlayer(playerid, 1308, 652.0781, -494.8828, 15.6484, 0.25);
  916. RemoveBuildingForPlayer(playerid, 1308, 691.6484, -500.2109, 15.6875, 0.25);
  917. RemoveBuildingForPlayer(playerid, 1294, 700.6172, -493.5469, 19.8516, 0.25);
  918. RemoveBuildingForPlayer(playerid, 1687, 696.0703, -502.2813, 20.1328, 0.25);
  919. RemoveBuildingForPlayer(playerid, 781, 692.6953, -498.2344, 15.5313, 0.25);
  920. RemoveBuildingForPlayer(playerid, 781, 697.8125, -498.3594, 15.5313, 0.25);
  921. RemoveBuildingForPlayer(playerid, 1308, 654.7266, -475.3047, 15.5000, 0.25);
  922. RemoveBuildingForPlayer(playerid, 1308, 711.6094, -475.2578, 15.6484, 0.25);
  923. RemoveBuildingForPlayer(playerid, 1440, 710.5625, -470.4844, 15.8359, 0.25);
  924. RemoveBuildingForPlayer(playerid, 1438, 725.6641, -473.3594, 15.2578, 0.25);
  925. RemoveBuildingForPlayer(playerid, 3172, 713.3125, -468.0703, 15.1328, 0.25);
  926. RemoveBuildingForPlayer(playerid, 1440, 710.5938, -468.1797, 15.8281, 0.25);
  927. RemoveBuildingForPlayer(playerid, 13028, 720.0156, -462.5234, 16.8594, 0.25);
  928. RemoveBuildingForPlayer(playerid, 1345, 725.8750, -465.7422, 15.9375, 0.25);
  929. RemoveBuildingForPlayer(playerid, 1689, 677.5234, -464.4766, 22.7500, 0.25);
  930. RemoveBuildingForPlayer(playerid, 12977, 679.1406, -455.7734, 16.3359, 0.25);
  931. RemoveBuildingForPlayer(playerid, 1332, 656.0000, -439.2734, 16.2813, 0.25);
  932. RemoveBuildingForPlayer(playerid, 1335, 659.2266, -439.3906, 16.3750, 0.25);
  933. RemoveBuildingForPlayer(playerid, 1688, 686.7578, -455.4141, 20.6406, 0.25);
  934. RemoveBuildingForPlayer(playerid, 1308, 651.6484, -437.7578, 15.5781, 0.25);
  935. RemoveBuildingForPlayer(playerid, 1345, 693.2891, -456.0156, 16.0078, 0.25);
  936. RemoveBuildingForPlayer(playerid, 1308, 781.9063, -539.9844, 15.5938, 0.25);
  937. RemoveBuildingForPlayer(playerid, 13452, 915.1641, -525.5781, 40.1797, 0.25);
  938. RemoveBuildingForPlayer(playerid, 1308, 1010.6563, -453.8125, 50.5703, 0.25);
  939. RemoveBuildingForPlayer(playerid, 3402, 1019.3828, -300.2422, 72.9844, 0.25);
  940. RemoveBuildingForPlayer(playerid, 3375, 1070.4766, -355.1641, 77.3359, 0.25);
  941. RemoveBuildingForPlayer(playerid, 3402, 1045.5625, -300.6016, 72.9844, 0.25);
  942. RemoveBuildingForPlayer(playerid, 3175, 1107.5938, -358.5156, 72.7969, 0.25);
  943. RemoveBuildingForPlayer(playerid, 3175, 1114.2969, -353.8203, 72.7969, 0.25);
  944. //Map Icons
  945. SetPlayerMapIcon(playerid,13, 611.0301,-586.0072,17.2266, 6,2,MAPICON_LOCAL); //ARMY Briefcase
  946. SetPlayerMapIcon(playerid,14, 1105.9891,-301.2435,74.5391, 6,2,MAPICON_LOCAL); //TERRORIST Briefcase
  947. return 1;
  948. }
  949. //-------------------------------------------------------------------------
  950. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  951. {
  952. switch( dialogid )
  953. {
  954. case DIALOG_REGISTER:
  955. {
  956. if (!response) return Kick(playerid);
  957. if(response)
  958. {
  959. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
  960. new INI:File = INI_Open(UserPath(playerid));
  961. INI_SetTag(File,"data");
  962. INI_WriteInt(File,"Password",udb_hash(inputtext));
  963. INI_WriteInt(File,"Cash",0);
  964. INI_WriteInt(File,"Admin",0);
  965. INI_WriteInt(File,"Kills",0);
  966. INI_WriteInt(File,"Score",0);
  967. INI_WriteInt(File,"Deaths",0);
  968. INI_Close(File);
  969.  
  970. SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  971. ForceClassSelection(playerid);
  972. }
  973. }
  974.  
  975. case DIALOG_LOGIN:
  976. {
  977. if ( !response ) return Kick ( playerid );
  978. if( response )
  979. {
  980. if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  981. {
  982. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  983. GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
  984. ForceClassSelection(playerid);
  985. }
  986. else
  987. {
  988. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
  989. }
  990. return 1;
  991. }
  992. }
  993. case 5421:
  994. {
  995. switch(listitem)
  996. {
  997. case 0:
  998. {
  999. if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, COLOR_BROWN, "ERROR: You don't have enough cash.");
  1000. GivePlayerMoney(playerid, -5000);
  1001. SetPlayerHealth(playerid, 100.0);
  1002. SendClientMessage(playerid, -1, "You bought Health for $5000");
  1003. }
  1004. case 1:
  1005. {
  1006. if(GetPlayerMoney(playerid) < 5500) return SendClientMessage(playerid, COLOR_BROWN, "ERROR: You don't have enough cash.");
  1007. GivePlayerMoney(playerid, -5500);
  1008. SetPlayerArmour(playerid, 100.0);
  1009. SendClientMessage(playerid, -1, "You bought Armour for $5500");
  1010. }
  1011. case 2:
  1012. {
  1013. if(GetPlayerMoney(playerid) < 6000) return SendClientMessage(playerid, COLOR_BROWN, "ERROR: You don't have enough cash.");
  1014. GivePlayerMoney(playerid, -5500);
  1015. GivePlayerWeapon(playerid, 24, 300);
  1016. SendClientMessage(playerid, COLOR_GREEN, "You Bought Desert Eagle for 6000");
  1017. }
  1018. case 3:
  1019. {
  1020. if (GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid, COLOR_BROWN, "ERROR:You Don't Have Enought Money To Buy Satchel");
  1021. GivePlayerWeapon(playerid, 39,3);
  1022. GivePlayerMoney(playerid, -10000);
  1023. SendClientMessage(playerid, COLOR_GREEN, "You Bought Stachel For 10000 Money");
  1024. }
  1025. case 4:
  1026. {
  1027. if (GetPlayerMoney(playerid) < 5000)
  1028. return SendClientMessage(playerid, COLOR_BROWN, "ERROR:You Don't Have Enought Money To Buy Tec-9");
  1029. GivePlayerMoney(playerid, -5000);
  1030. GivePlayerWeapon(playerid, 32,500);
  1031. SendClientMessage(playerid, COLOR_GREEN, "You Bought Tec-9 For 1000 Money");
  1032. }
  1033. case 5:
  1034. {
  1035. if (GetPlayerMoney(playerid) < 6000)
  1036. return SendClientMessage(playerid, COLOR_BROWN, "ERROR:You Don't Have Enought Money To Buy Sniper Rifle");
  1037. GivePlayerMoney(playerid, -6000);
  1038. GivePlayerWeapon(playerid, 34,100);
  1039. SendClientMessage(playerid, COLOR_GREEN, "You Bought Sniper Rifle For 3000 Money");
  1040. }
  1041. case 6:
  1042. {
  1043. if (GetPlayerMoney(playerid) < 7000)
  1044. return SendClientMessage(playerid, COLOR_BROWN, "ERROR:You Don't Have Enought Money To Buy Combat ShotGSPA");
  1045. GivePlayerWeapon(playerid, 27,50);
  1046. GivePlayerMoney(playerid, -7000);
  1047. SendClientMessage(playerid, COLOR_GREEN, "You Bought Combat ShotGSPA For 10000 Money");
  1048. }
  1049. }
  1050. }
  1051. case ARMY_CLASSES_DIALOG:
  1052. {
  1053. switch(listitem)
  1054. {
  1055. case 0:
  1056. {
  1057. SendClientMessage(playerid, COLOR_GREEN,""COL_GREEN"[CLASS]"COL_WHITE"You Have Choose Assault Class");
  1058. GivePlayerWeapon(playerid, 3, 1);
  1059. GivePlayerWeapon(playerid, 24, 300);
  1060. GivePlayerWeapon(playerid, 27, 90);
  1061. GivePlayerWeapon(playerid, 29, 500);
  1062. GivePlayerWeapon(playerid, 31, 200);
  1063. TextDrawShowForPlayer(playerid, TDAssault);
  1064. TextDrawHideForPlayer(playerid,TDSniper);
  1065. TextDrawHideForPlayer(playerid,TDBomber);
  1066. TextDrawHideForPlayer(playerid,TDRifleman);
  1067. TextDrawHideForPlayer(playerid,TDPyroman);
  1068. }
  1069. case 1:
  1070. {
  1071. SendClientMessage(playerid, COLOR_GREEN,""COL_GREEN"[CLASS]"COL_WHITE"You Have Choose Sniper Class");
  1072. GivePlayerWeapon(playerid, 4, 1);
  1073. GivePlayerWeapon(playerid, 23, 90);
  1074. GivePlayerWeapon(playerid, 29, 90);
  1075. GivePlayerWeapon(playerid, 34, 100);
  1076. GivePlayerWeapon(playerid, 25, 100);
  1077. TextDrawShowForPlayer(playerid, TDSniper);
  1078. TextDrawHideForPlayer(playerid,TDAssault);
  1079. TextDrawHideForPlayer(playerid,TDBomber);
  1080. TextDrawHideForPlayer(playerid,TDRifleman);
  1081. TextDrawHideForPlayer(playerid,TDPyroman);
  1082. }
  1083. case 2:
  1084. {
  1085. SendClientMessage(playerid, COLOR_GREEN,""COL_GREEN"[CLASS]"COL_WHITE"You Have Choose Bomber Class");
  1086. GivePlayerWeapon(playerid, 16, 5);
  1087. GivePlayerWeapon(playerid, 24, 100);
  1088. GivePlayerWeapon(playerid, 35, 5);
  1089. GivePlayerWeapon(playerid, 28, 500);
  1090. TextDrawHideForPlayer(playerid, TDAssault);
  1091. TextDrawHideForPlayer(playerid, TDSniper);
  1092. TextDrawShowForPlayer(playerid, TDBomber);
  1093. TextDrawHideForPlayer(playerid,TDRifleman);
  1094. TextDrawHideForPlayer(playerid,TDPyroman);
  1095. }
  1096. }
  1097. }
  1098. case TERRORIST_CLASSES_DIALOG:
  1099. {
  1100. switch(listitem)
  1101. {
  1102. case 0:
  1103. {
  1104. GivePlayerWeapon(playerid, 5, 1);
  1105. GivePlayerWeapon(playerid, 16, 3);
  1106. GivePlayerWeapon(playerid, 24, 90);
  1107. GivePlayerWeapon(playerid, 25, 100);
  1108. GivePlayerWeapon(playerid, 28, 200);
  1109. GivePlayerWeapon(playerid, 30, 200);
  1110. GivePlayerWeapon(playerid, 33, 100);
  1111. SendClientMessage(playerid, -1, ""COL_GREEN"[CLASS]"COL_WHITE"You Have Choose Rifleman Class");
  1112. TextDrawHideForPlayer(playerid, TDAssault);
  1113. TextDrawHideForPlayer(playerid,TDSniper);
  1114. TextDrawHideForPlayer(playerid,TDBomber);
  1115. TextDrawShowForPlayer(playerid,TDRifleman);
  1116. TextDrawHideForPlayer(playerid,TDPyroman);
  1117. }
  1118. case 1:
  1119. {
  1120. SendClientMessage(playerid, COLOR_GREEN,""COL_GREEN"[CLASS]"COL_WHITE"You Have Choose Sniper Class");
  1121. GivePlayerWeapon(playerid, 4, 1);
  1122. GivePlayerWeapon(playerid, 23, 90);
  1123. GivePlayerWeapon(playerid, 29, 90);
  1124. GivePlayerWeapon(playerid, 34, 100);
  1125. GivePlayerWeapon(playerid, 25, 100);
  1126. TextDrawShowForPlayer(playerid, TDSniper);
  1127. TextDrawHideForPlayer(playerid,TDAssault);
  1128. TextDrawHideForPlayer(playerid,TDBomber);
  1129. TextDrawHideForPlayer(playerid,TDRifleman);
  1130. TextDrawHideForPlayer(playerid,TDPyroman);
  1131. }
  1132. case 2:
  1133. {
  1134. SendClientMessage(playerid, COLOR_GREEN,""COL_GREEN"[CLASS]"COL_WHITE"You Have Choose Pyroman Class");
  1135. GivePlayerWeapon(playerid, 6, 1);
  1136. GivePlayerWeapon(playerid, 18, 6);
  1137. GivePlayerWeapon(playerid, 26, 200);
  1138. GivePlayerWeapon(playerid, 37, 200);
  1139. GivePlayerWeapon(playerid, 42, 100);
  1140. GivePlayerWeapon(playerid, 24, 100);
  1141. TextDrawHideForPlayer(playerid, TDSniper);
  1142. TextDrawHideForPlayer(playerid,TDAssault);
  1143. TextDrawHideForPlayer(playerid,TDBomber);
  1144. TextDrawHideForPlayer(playerid,TDRifleman);
  1145. TextDrawShowForPlayer(playerid,TDPyroman);
  1146. }
  1147. }
  1148. }
  1149. }
  1150. return 1;
  1151. }
  1152. //================================================================================
  1153. public OnPlayerDisconnect(playerid, reason)
  1154. {
  1155. new pname[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
  1156. GetPlayerName(playerid, pname, sizeof(pname));
  1157. switch(reason)
  1158. {
  1159. case 0: format(string, sizeof(string), "%s has left the server. (Lost Connection)", pname);
  1160. case 1: format(string, sizeof(string), "%s has left the server. (Leaving)", pname);
  1161. case 2: format(string, sizeof(string), "%s has left the server. (Kicked)", pname);
  1162. }
  1163. SendClientMessageToAll(0xA52A2AAA, string);
  1164. new INI:File = INI_Open(UserPath(playerid));
  1165. INI_SetTag(File,"data");
  1166. INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
  1167. INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  1168. INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
  1169. INI_WriteInt(File,"Score",PlayerInfo[playerid][pScore]);
  1170. INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
  1171. INI_Close(File);
  1172. return 1;
  1173. }
  1174. public OnPlayerSpawn(playerid) //credits forgottenkings For his anti spawn kill tutorial
  1175. {
  1176. ResetPlayerWeapons(playerid);
  1177. TextDrawShowForPlayer(playerid, Textdraw1);
  1178. TextDrawShowForPlayer(playerid, Textdraw3);
  1179. TextDrawShowForPlayer(playerid, Army);
  1180. TextDrawShowForPlayer(playerid, Vs);
  1181. TextDrawShowForPlayer(playerid, Terrorist);
  1182. SetPlayerTime(playerid, 1, 0);
  1183. SetPlayerArmour(playerid, 10000.0);
  1184. GangZoneShowForPlayer(playerid, GZ_ZONE2, 0xFF000096); //Terrorist Base
  1185. GangZoneShowForPlayer(playerid, GZ_ZONE1, 0x00800096); //Army Base
  1186. SetPlayerHealth(playerid, 10000.0);
  1187. SendClientMessage(playerid, 0xFF0000AA, "You have 8 seconds of Anti-Spawnkill protection");
  1188. SetPlayerChatBubble(playerid, "Anti-Spawnkill protected player", 0xFF0000AA, 100.0, 10000);
  1189. SetTimerEx("AntiSpawnkill",8000,0,"i",playerid);
  1190. //Random Spawn
  1191. if(gTeam[playerid] == TEAM_ARMY)
  1192. {
  1193. new rand = random(sizeof(ArmySpawn));
  1194. SetPlayerPos(playerid, ArmySpawn[rand][0], ArmySpawn[rand][1], ArmySpawn[rand][2]);
  1195. ShowPlayerDialog(playerid, ARMY_CLASSES_DIALOG, DIALOG_STYLE_LIST, ""COL_GREEN"Select a Class", ""COL_WHITE"Assault\nSniper\nBomber", ""COL_GREEN"Select", "");
  1196. }
  1197. if(gTeam[playerid] == TEAM_TERRORIST)
  1198. {
  1199. new rand = random(sizeof(TerroristSpawn));
  1200. SetPlayerPos(playerid, TerroristSpawn[rand][0], TerroristSpawn[rand][1], TerroristSpawn[rand][2]);
  1201. ShowPlayerDialog(playerid, TERRORIST_CLASSES_DIALOG, DIALOG_STYLE_LIST, ""COL_GREEN"Select a Class", ""COL_WHITE"Rifleman\nSniper\nPyroman", ""COL_GREEN"Select", "");
  1202. }
  1203. return 1;
  1204. }
  1205. forward AntiSpawnkill(playerid);
  1206. public AntiSpawnkill(playerid)
  1207. {
  1208. SetPlayerArmour(playerid, 100.0);
  1209. SetPlayerHealth(playerid, 100.0);
  1210. SendClientMessage(playerid, 0xFF0000AA, "Anti-Spawnkill protection over, you are on your own now");
  1211. return 1;
  1212. }
  1213. //-----------
  1214. public OnPlayerEnterDynamicCP(playerid, checkpointid)
  1215. {
  1216. for (new i, j = sizeof(gCaptureZone); i < j; i++) // loop through all capture zones
  1217. {
  1218. if (gCaptureZone[i][zone_CPId] == checkpointid) // if the checkpoint id matches with the zone's CP
  1219. {
  1220. new buf[150];
  1221. if (gCaptureZone[i][zone_Attacker] != INVALID_PLAYER_ID) // if the zone is already under attack
  1222. {
  1223. if (GetPlayerTeam(playerid) == GetPlayerTeam(gCaptureZone[i][zone_Attacker])) // if the player's team is same to that of player attacking the zone
  1224. {
  1225. if (IsPlayerInAnyVehicle(playerid)) // Prevent the player from capturing from inside a vehicle
  1226. {
  1227. return SendClientMessage(playerid, 0xFF0000FF, "ERROR: You cannot capture the zone in a vehicle.");
  1228. }
  1229.  
  1230. format(buf, sizeof(buf), "Capturing in %i...", gCaptureZone[i][zone_Tick][1]); // format the "buf" with giving timeleft for the capture
  1231. PlayerTextDrawSetString(playerid, ptxtCapture[playerid], buf);
  1232. PlayerTextDrawShow(playerid, ptxtCapture[playerid]);
  1233.  
  1234. SetPlayerProgressBarValue(playerid, pbarCapture[playerid], gCaptureZone[i][zone_Tick][0]); // set the progress bar value to the zone's progress done by the attacker initailly
  1235. ShowPlayerProgressBar(playerid, pbarCapture[playerid]);
  1236.  
  1237. gCaptureZone[i][zone_Players]++; // increase the count of player capturing so we can increase the rate of capture accordingly
  1238.  
  1239. SendClientMessage(playerid, 0x00FF00FF, "Stay in the checkpoint to assist your teammate in capturing the zone.");
  1240. }
  1241. }
  1242. else // if the zone is not attacked by anyone currently
  1243. {
  1244. if (GetPlayerTeam(playerid) != gCaptureZone[i][zone_Owner]) // the player is an enemy
  1245. {
  1246. if (IsPlayerInAnyVehicle(playerid)) // Prevent the player from capturing from inside a vehicle
  1247. {
  1248. return SendClientMessage(playerid, 0xFF0000FF, "ERROR: You cannot capture the zone in a vehicle.");
  1249. }
  1250.  
  1251. buf[0] = EOS;
  1252. strcat(buf, "The zone is controlled by team ");
  1253. strcat(buf, gTeamData[gCaptureZone[i][zone_Owner]][team_Name]);
  1254. strcat(buf, ".");
  1255. SendClientMessage(playerid, 0x00FF00FF, buf);
  1256. SendClientMessage(playerid, 0x00FF00FF, "Stay in the checkpoint for "#CAPTURE_TIME" seconds to capture the zone.");
  1257.  
  1258. GangZoneFlashForAll(gCaptureZone[i][zone_Id], SET_ALPHA(gTeamData[GetPlayerTeam(playerid)][team_Color], 100)); // flash the gangzone for all player with the enemy's team color
  1259.  
  1260. // store attacker id and set the tick rate to inital values
  1261. gCaptureZone[i][zone_Attacker] = playerid;
  1262. gCaptureZone[i][zone_Players] = 1;
  1263. gCaptureZone[i][zone_Tick][0] = 0;
  1264. gCaptureZone[i][zone_Tick][1]= CAPTURE_TIME;
  1265.  
  1266. // run a timer where we will update the progress of the zone
  1267. KillTimer(gCaptureZone[i][zone_Timer]);
  1268. gCaptureZone[i][zone_Timer] = SetTimerEx("OnZoneUpdate", 1000, true, "i", i);
  1269.  
  1270. // send message to all players that the zone is being attacked
  1271. buf[0] = EOS;
  1272. strcat(buf, "ZONE: Team ");
  1273. strcat(buf, gTeamData[GetPlayerTeam(playerid)][team_Name]);
  1274. strcat(buf, " is trying to capture zone ");
  1275. strcat(buf, gCaptureZone[i][zone_Name]);
  1276. strcat(buf, " against team ");
  1277. strcat(buf, gTeamData[gCaptureZone[i][zone_Owner]][team_Name]);
  1278. strcat(buf, ".");
  1279. SendClientMessageToAll(0xFFFFFFFF, buf);
  1280.  
  1281. PlayerTextDrawSetString(playerid, ptxtCapture[playerid], "Capturing in 30..."); // Show player capture zone textdraw
  1282. PlayerTextDrawShow(playerid, ptxtCapture[playerid]);
  1283.  
  1284. SetPlayerProgressBarValue(playerid, pbarCapture[playerid], gCaptureZone[i][zone_Tick][0]); // set the progress bar value to the zone's progress done by the attacker initailly
  1285. ShowPlayerProgressBar(playerid, pbarCapture[playerid]);
  1286. }
  1287. }
  1288.  
  1289. break; // break the loop because there is no other possible zone checkpoint at the same position
  1290. }
  1291. }
  1292. return 1;
  1293. }
  1294. //----------
  1295. forward OnZoneUpdate(zoneid);
  1296.  
  1297. public OnZoneUpdate(zoneid)
  1298. {
  1299. // Calculate the rate of capture from the number of players in the zone
  1300. switch(gCaptureZone[zoneid][zone_Players])
  1301. {
  1302. case 1: // if there is only one attacker
  1303. {
  1304. gCaptureZone[zoneid][zone_Tick][0] += 1;
  1305. gCaptureZone[zoneid][zone_Tick][1] -= 1;
  1306. }
  1307. case 2: // two attacker
  1308. {
  1309. gCaptureZone[zoneid][zone_Tick][0] += 2;
  1310. gCaptureZone[zoneid][zone_Tick][1] += 2;
  1311. }
  1312. default: //or if 3 or more than 3 attacker in the checkpoint
  1313. {
  1314. gCaptureZone[zoneid][zone_Tick][0] += 3;
  1315. gCaptureZone[zoneid][zone_Tick][1] += 2;
  1316. }
  1317. }
  1318.  
  1319. // updating the progress bar for all the attacker inside the checkpoint
  1320. for (new i, j = GetPlayerPoolSize(); i <= j; i++)
  1321. {
  1322. if (IsPlayerInDynamicCP(i, gCaptureZone[zoneid][zone_CPId]) && ! IsPlayerInAnyVehicle(i) && GetPlayerTeam(i) == GetPlayerTeam(gCaptureZone[zoneid][zone_Attacker])) // if the player is in CP, outside any vehicle and of same team that of attacker
  1323. {
  1324. SetPlayerProgressBarValue(i, pbarCapture[i], gCaptureZone[zoneid][zone_Tick][0]);
  1325. }
  1326. }
  1327.  
  1328. // If the zone capture time has reached max capture zone time (means zone is captured)
  1329. if (gCaptureZone[zoneid][zone_Tick][0] > CAPTURE_TIME)
  1330. {
  1331. /*
  1332. Here you shall give rewards to the player who captured from the beginning
  1333. */
  1334. SendClientMessage(gCaptureZone[zoneid][zone_Attacker], 0x00FF00FF, "You have successfully captured the zone, +3 score and +$3000.");
  1335. SetPlayerScore(gCaptureZone[zoneid][zone_Attacker], GetPlayerScore(gCaptureZone[zoneid][zone_Attacker]) + 3);
  1336. GivePlayerMoney(gCaptureZone[zoneid][zone_Attacker], 3000);
  1337.  
  1338. for (new p, l = GetPlayerPoolSize(); p <= l; p++)
  1339. {
  1340. if (IsPlayerInDynamicCP(p, gCaptureZone[zoneid][zone_CPId]))
  1341. {
  1342. // hide capture HUDS when the capture is complete
  1343. PlayerTextDrawHide(p, ptxtCapture[p]);
  1344. HidePlayerProgressBar(p, pbarCapture[p]);
  1345.  
  1346. // Check if the player assisted the attacker (give rewards to him/her as well
  1347. if (p != gCaptureZone[zoneid][zone_Attacker] && GetPlayerTeam(p) == GetPlayerTeam(gCaptureZone[zoneid][zone_Attacker]) && ! IsPlayerInAnyVehicle(p))
  1348. {
  1349. /*
  1350. Here you shall give rewards to the player who assisted in capturing
  1351. */
  1352. SendClientMessage(p, 0x00FF00FF, "You have assisted your teammate to capture the zone, +1 score and +$1500.");
  1353. SetPlayerScore(p, GetPlayerScore(p) + 1);
  1354. GivePlayerMoney(p, 1500);
  1355. }
  1356. }
  1357. }
  1358.  
  1359. // stop the gangzone from flashing
  1360. GangZoneStopFlashForAll(gCaptureZone[zoneid][zone_Id]);
  1361. // set the gangzone color to the new team's color
  1362. GangZoneShowForAll(gCaptureZone[zoneid][zone_Id], SET_ALPHA(gTeamData[GetPlayerTeam(gCaptureZone[zoneid][zone_Attacker])][team_Color], 100));
  1363.  
  1364. // Kill the timer since we no longer need it
  1365. KillTimer(gCaptureZone[zoneid][zone_Timer]);
  1366.  
  1367. new text[150];
  1368. strcat(text, "ZONE: Team ");
  1369. strcat(text, gTeamData[GetPlayerTeam(gCaptureZone[zoneid][zone_Attacker])][team_Name]);
  1370. strcat(text, " has successfully captured the zone ");
  1371. strcat(text, gCaptureZone[zoneid][zone_Name]);
  1372. strcat(text, " against team ");
  1373. strcat(text, gTeamData[gCaptureZone[zoneid][zone_Owner]][team_Name]);
  1374. strcat(text, ".");
  1375. SendClientMessageToAll(0xFFFFFFFF, text);
  1376.  
  1377. gCaptureZone[zoneid][zone_Owner] = GetPlayerTeam(gCaptureZone[zoneid][zone_Attacker]);
  1378. gCaptureZone[zoneid][zone_Attacker] = INVALID_PLAYER_ID;
  1379. }
  1380. }
  1381. //------------
  1382. public OnPlayerLeaveDynamicCP(playerid, checkpointid)
  1383. {
  1384. for (new i, j = sizeof(gCaptureZone); i < j; i++) // loop through all capture zones
  1385. {
  1386. if (gCaptureZone[i][zone_CPId] == checkpointid) // if the checkpoint id matches with the zone's CP
  1387. {
  1388. if (gCaptureZone[i][zone_Attacker] != INVALID_PLAYER_ID) // if the capture zone is being attacked
  1389. {
  1390. if (GetPlayerTeam(playerid) == GetPlayerTeam(gCaptureZone[i][zone_Attacker])) // if the teams are the same
  1391. {
  1392. gCaptureZone[i][zone_Players]--; // decrease the number of players count in the CP
  1393.  
  1394. if (! gCaptureZone[i][zone_Players]) // if the number of players is 0 now, that means no player in CP
  1395. {
  1396. SendClientMessage(playerid, 0xFF0000FF, "You failed to capture the zone, there were no teammates left in your checkpoint.");
  1397.  
  1398. GangZoneStopFlashForAll(gCaptureZone[i][zone_Id]); // stop the zone to flash for all players
  1399.  
  1400. new buf[150];
  1401. strcat(buf, "ZONE: Team ");
  1402. strcat(buf, gTeamData[GetPlayerTeam(playerid)][team_Name]);
  1403. strcat(buf, " failed to capture zone ");
  1404. strcat(buf, gCaptureZone[i][zone_Name]);
  1405. strcat(buf, " against team ");
  1406. strcat(buf, gTeamData[gCaptureZone[i][zone_Owner]][team_Name]);
  1407. strcat(buf, ".");
  1408. SendClientMessageToAll(0xFFFFFFFF, buf);
  1409.  
  1410. gCaptureZone[i][zone_Attacker] = INVALID_PLAYER_ID;
  1411. KillTimer(gCaptureZone[i][zone_Timer]);
  1412. }
  1413. else if (gCaptureZone[i][zone_Attacker] == playerid) // if the count wasn't 0 but the attacker left
  1414. {
  1415. for (new p, l = GetPlayerPoolSize(); p <= l; p++) // loop through all players
  1416. {
  1417. if (GetPlayerTeam(p) == GetPlayerTeam(playerid)) // if the player is of same team that of attacker
  1418. {
  1419. if (IsPlayerInDynamicCP(p, checkpointid)) // if the player is in the checkpoint assisting
  1420. {
  1421. gCaptureZone[i][zone_Attacker] = p; // set him/her as the beneficial attacker :) (the one who'll get +3 score on capture)
  1422. break;
  1423. }
  1424. }
  1425. }
  1426. }
  1427. }
  1428.  
  1429. // hide capture HUDS
  1430.  
  1431. PlayerTextDrawHide(playerid, ptxtCapture[playerid]);
  1432. HidePlayerProgressBar(playerid, pbarCapture[playerid]);
  1433.  
  1434. break;
  1435. }
  1436. }
  1437. }
  1438. }
  1439.  
  1440. CMD:ep(playerid, params[])
  1441. {
  1442. GivePlayerWeapon(playerid, 46,1);
  1443. SendClientMessage(playerid, COLOR_GREEN, "You Got Emergency Parachute For Free!");
  1444. return 1;
  1445. }
  1446. CMD:kill(playerid, params[])
  1447. {
  1448. SetPlayerArmour(playerid, 0.0);
  1449. SendClientMessage(playerid, 0xFF9900AA, "You Have Been Commited Suicide And You Loose 400 Money");
  1450. PlayerInfo[playerid][pDeaths]++;
  1451. SetPlayerHealth(playerid, -1.0);
  1452. return 1;
  1453. }
  1454. //Player Stats
  1455. CMD:stats(playerid,params[])
  1456. {
  1457. new money = PlayerInfo[playerid][pCash];
  1458. new deaths = PlayerInfo[playerid][pDeaths];
  1459. new kills = PlayerInfo[playerid][pKills];
  1460. new Score = PlayerInfo[playerid][pScore];
  1461. new string[500];
  1462. format(string,sizeof(string),"Money: %d | Deaths: %d | Kills: %d | Score: %d ",money,deaths,kills,Score);
  1463. SendClientMessage(playerid,0x80FF8096,string);
  1464. return 1;
  1465. }
  1466. //---------------------------------
  1467. CMD:afk(playerid,params[])
  1468. {
  1469. TogglePlayerControllable(playerid,0);
  1470. SendClientMessage(playerid, COLOR_ROYAL, "You are AFK Now !Use /afkback To Come Back ");
  1471. GameTextForPlayer(playerid, "~y~Afk", 2500, 3);
  1472. return 1;
  1473. }
  1474.  
  1475. CMD:afkback(playerid,params[])
  1476. {
  1477. TogglePlayerControllable(playerid,1);
  1478. SendClientMessage(playerid, COLOR_ROYAL, "You are now NO-AFK !");
  1479. GameTextForPlayer(playerid, "~y~No Afk", 2500, 3);
  1480. return 1;
  1481. }
  1482. //==========================================================
  1483. CMD:cmds(playerid, params[])
  1484. {
  1485. ShowPlayerDialog(playerid, 978, DIALOG_STYLE_MSGBOX,""COL_LIGHTBLUE"Army Vs Terrorist Commands", ""COL_WHITE"/kill |To Suicide\n/st |To Change Team\n/credits |To Know More About Server Founders\n/stats |To Check Your Stats\n/st |To Change Team\n/animlist |To Check Anim List\n{/afk |To Be Afk\n/afkback |To Come Back From Afk\n/day |To Change Your Time To Day\n/night |To Change Your Time To Night\n/forum |To Check Forum Link\n/rules |To Check Our Rules", "Close", "");
  1486. return 1;
  1487. }
  1488. CMD:st(playerid, params[])
  1489. {
  1490. ForceClassSelection(playerid);
  1491. SetPlayerHealth(playerid, -100.0);
  1492. SendClientMessage(playerid, COLOR_GREEN, "You Are In Team Selection Now !");
  1493. SendClientMessage(playerid, COLOR_GREEN, "You Can Also Use F4 + /kill");
  1494. return 1;
  1495. }
  1496. CMD:animlist(playerid,params[])
  1497. {
  1498. SendClientMessage(playerid, COLOR_GREEN, "/handsup/piss/stopanim/injured/crack");
  1499. SendClientMessage(playerid, COLOR_GREEN, "/dance/greet/drunk");
  1500. return 1;
  1501. }
  1502. CMD:handsup(playerid,params[])
  1503. {
  1504. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
  1505. return 1;
  1506. }
  1507. CMD:piss(playerid,params[])
  1508. {
  1509. SetPlayerSpecialAction(playerid, 68);
  1510. return 1;
  1511. }
  1512. CMD:injured(playerid,params[])
  1513. {
  1514. ApplyAnimation(playerid,"SWEET","Sweet_injuredloop", 4.0, 1, 0, 0, 0, 0);
  1515. return 1;
  1516. }
  1517. CMD:stopanim(playerid,params[])
  1518. {
  1519. ApplyAnimation(playerid, "CARRY", "crry_prtial", 2.0, 0, 0, 0, 0, 0);
  1520. return 1;
  1521. }
  1522. CMD:crack(playerid,params[])
  1523. {
  1524. ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); // Dieing of Crack
  1525. return 1;
  1526. }
  1527. CMD:dance(playerid,params[])
  1528. {
  1529. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
  1530. return 1;
  1531. }
  1532. CMD:greet(playerid,params[])
  1533. {
  1534. ApplyAnimation(playerid,"WUZI","Wuzi_Greet_Wuzi",4.0,0,0,0,0,0);
  1535. return;
  1536. }
  1537. CMD:drunk(playerid,params[])
  1538. {
  1539. ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,1,1,1,1,1);
  1540. return;
  1541. }
  1542. public OnPlayerDeath(playerid, killerid, reason)
  1543. {
  1544. TextDrawShowForPlayer(killerid, NiceKill);
  1545. TextDrawShowForPlayer(playerid, Dead);
  1546. SetTimerEx("HideMessage", 3000, 0, "i", killerid);
  1547. SetTimerEx("HideMessage", 3000, 0, "i", playerid);
  1548. SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
  1549. GivePlayerMoney(killerid, 1000);
  1550. GivePlayerMoney(playerid, -400);
  1551. SendDeathMessage(killerid, playerid, reason);
  1552. PlayerInfo[killerid][pKills]++;
  1553. PlayerInfo[playerid][pDeaths]++;
  1554. return 1;
  1555. }
  1556. //-----------------*
  1557. forward HideMessage(playerid);
  1558. public HideMessage(playerid)
  1559. {
  1560. TextDrawHideForPlayer(playerid, Dead);
  1561. TextDrawHideForPlayer(playerid, NiceKill);
  1562. }
  1563. public OnPlayerUpdate(playerid)
  1564. {
  1565. new string[128], string2[256];
  1566. new PlayerName[16];
  1567. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  1568. if(GetPlayerPing(playerid) >= MAX_PING)
  1569. {
  1570. format(string, sizeof(string), "%s has been kicked from the Server. Reason - High ping %d", PlayerName, MAX_PING);
  1571. SendClientMessageToAll(COLOR_GREEN, string);
  1572. format(string2, sizeof(string2), "You have been kicked from the server. Reason - High ping %d", MAX_PING);
  1573. SendClientMessage(playerid, COLOR_GREEN, string2);
  1574. Kick(playerid);
  1575. }
  1576. return 1;
  1577. }
Advertisement
Add Comment
Please, Sign In to add comment