krishhna

:((

Dec 23rd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.41 KB | None | 0 0
  1. #include <a_samp>
  2. #include "Defines/DM.inc"
  3. #define GMid 205
  4.  
  5. new flag, GotsTheFlag = 999;
  6. new Text:TextdrawWinner, Text:TextdrawDraw;
  7.  
  8. new Text:Textdraw1;
  9. new Text:Textdraw2;
  10. new Text:Textdraw3;
  11. new Text:Textdraw4;
  12. new Text:Textdraw5;
  13. new Text:Textdraw6;
  14. new Text:Textdraw7;
  15. new Text:Textdraw8;
  16.  
  17. new Flagtimer[MAX_PLAYERS];
  18. new ftimer;
  19.  
  20. stock LoadLeaderBoard()
  21. {
  22. Textdraw8 = TextDrawCreate(71.599807, 211.555847, "??");
  23. TextDrawLetterSize(Textdraw8, 0.451997, 10.933329);
  24. TextDrawTextSize(Textdraw8, 525.198913, 93.084457);
  25. TextDrawAlignment(Textdraw8, 2);
  26. TextDrawColor(Textdraw8, -226);
  27. TextDrawUseBox(Textdraw8, true);
  28. TextDrawBoxColor(Textdraw8, 30);
  29. TextDrawSetShadow(Textdraw8, 0);
  30. TextDrawSetOutline(Textdraw8, 1);
  31. TextDrawBackgroundColor(Textdraw8, -256);
  32. TextDrawFont(Textdraw8, 0);
  33. TextDrawSetProportional(Textdraw8, 1);
  34.  
  35. Textdraw1 = TextDrawCreate(23.599998, 226.986663, "LD_SPAC:white");
  36. TextDrawLetterSize(Textdraw1, 0.000000, 0.000000);
  37. TextDrawTextSize(Textdraw1, 96.000000, 0.497772);
  38. TextDrawAlignment(Textdraw1, 1);
  39. TextDrawColor(Textdraw1, -1);
  40. TextDrawSetShadow(Textdraw1, 0);
  41. TextDrawSetOutline(Textdraw1, 0);
  42. TextDrawFont(Textdraw1, 4);
  43.  
  44. Textdraw2 = TextDrawCreate(48.400035, 214.044387, "Leaderboard");
  45. TextDrawLetterSize(Textdraw2, 0.214798, 1.027554);
  46. TextDrawTextSize(Textdraw2, -1.999999, 8.960000);
  47. TextDrawAlignment(Textdraw2, 1);
  48. TextDrawColor(Textdraw2, -1);
  49. TextDrawSetShadow(Textdraw2, 0);
  50. TextDrawSetOutline(Textdraw2, 1);
  51. TextDrawBackgroundColor(Textdraw2, 255);
  52. TextDrawFont(Textdraw2, 3);
  53. TextDrawSetProportional(Textdraw2, 1);
  54.  
  55. Textdraw3 = TextDrawCreate(25.599998, 230.471069, "1.");
  56. TextDrawLetterSize(Textdraw3, 0.131990, 0.927994);
  57. TextDrawAlignment(Textdraw3, 1);
  58. TextDrawColor(Textdraw3, -1);
  59. TextDrawSetShadow(Textdraw3, 0);
  60. TextDrawSetOutline(Textdraw3, 1);
  61. TextDrawBackgroundColor(Textdraw3, 51);
  62. TextDrawFont(Textdraw3, 2);
  63. TextDrawSetProportional(Textdraw3, 1);
  64.  
  65. Textdraw4 = TextDrawCreate(25.200017, 246.897766, "2.");
  66. TextDrawLetterSize(Textdraw4, 0.131990, 0.927994);
  67. TextDrawAlignment(Textdraw4, 1);
  68. TextDrawColor(Textdraw4, -1);
  69. TextDrawUseBox(Textdraw4, true);
  70. TextDrawBoxColor(Textdraw4, 0);
  71. TextDrawSetShadow(Textdraw4, 0);
  72. TextDrawSetOutline(Textdraw4, 1);
  73. TextDrawBackgroundColor(Textdraw4, 51);
  74. TextDrawFont(Textdraw4, 2);
  75. TextDrawSetProportional(Textdraw4, 1);
  76.  
  77. Textdraw5 = TextDrawCreate(25.599988, 262.826660, "3.");
  78. TextDrawLetterSize(Textdraw5, 0.131990, 0.927994);
  79. TextDrawAlignment(Textdraw5, 1);
  80. TextDrawColor(Textdraw5, -1);
  81. TextDrawSetShadow(Textdraw5, 0);
  82. TextDrawSetOutline(Textdraw5, 1);
  83. TextDrawBackgroundColor(Textdraw5, 51);
  84. TextDrawFont(Textdraw5, 2);
  85. TextDrawSetProportional(Textdraw5, 1);
  86.  
  87. Textdraw6 = TextDrawCreate(25.600055, 279.751129, "4.");
  88. TextDrawLetterSize(Textdraw6, 0.131990, 0.927994);
  89. TextDrawAlignment(Textdraw6, 1);
  90. TextDrawColor(Textdraw6, -1);
  91. TextDrawSetShadow(Textdraw6, 0);
  92. TextDrawSetOutline(Textdraw6, 1);
  93. TextDrawBackgroundColor(Textdraw6, 51);
  94. TextDrawFont(Textdraw6, 2);
  95. TextDrawSetProportional(Textdraw6, 1);
  96.  
  97. Textdraw7 = TextDrawCreate(26.400037, 296.675628, "5.");
  98. TextDrawLetterSize(Textdraw7, 0.131990, 0.927994);
  99. TextDrawAlignment(Textdraw7, 1);
  100. TextDrawColor(Textdraw7, -1);
  101. TextDrawUseBox(Textdraw7, true);
  102. TextDrawBoxColor(Textdraw7, 0);
  103. TextDrawSetShadow(Textdraw7, 0);
  104. TextDrawSetOutline(Textdraw7, 1);
  105. TextDrawBackgroundColor(Textdraw7, 51);
  106. TextDrawFont(Textdraw7, 2);
  107. TextDrawSetProportional(Textdraw7, 1);
  108. return 1;
  109. }
  110.  
  111. stock ShowLeaderBoard(playerid)
  112. {
  113. TextDrawShowForPlayer(playerid,Textdraw1);
  114. TextDrawShowForPlayer(playerid,Textdraw2);
  115. TextDrawShowForPlayer(playerid,Textdraw3);
  116. TextDrawShowForPlayer(playerid,Textdraw4);
  117. TextDrawShowForPlayer(playerid,Textdraw5);
  118. TextDrawShowForPlayer(playerid,Textdraw6);
  119. TextDrawShowForPlayer(playerid,Textdraw7);
  120. TextDrawShowForPlayer(playerid,Textdraw8);
  121. return 1;
  122. }
  123.  
  124. stock DestroyLeaderBoard()
  125. {
  126. TextDrawDestroy(Textdraw1);
  127. TextDrawDestroy(Textdraw2);
  128. TextDrawDestroy(Textdraw3);
  129. TextDrawDestroy(Textdraw4);
  130. TextDrawDestroy(Textdraw5);
  131. TextDrawDestroy(Textdraw6);
  132. TextDrawDestroy(Textdraw7);
  133. TextDrawDestroy(Textdraw8);
  134. }
  135.  
  136. new Float:gRandomSpawns[][PlayerSpawnInfo] =
  137. {
  138. {498.0308, 863.0905, -31.4338},
  139. {499.7707, 878.1790, -32.4918},
  140. {500.6876, 898.3274, -33.0967},
  141. {504.3023, 913.4978, -31.0385},
  142. {618.4639, 947.4171, -34.8060},
  143. {634.3239, 947.3945, -35.3421},
  144. {652.1190, 945.9161, -35.3421},
  145. {683.5319, 931.1437, -30.1980},
  146. {638.0271, 808.8511, -43.1454},
  147. {651.6934, 809.1324, -43.1454},
  148. {663.6659, 814.4212, -43.1454}
  149. };
  150.  
  151. main()
  152. {
  153. print("\n----------------------------------");
  154. print(" Shovels and Flags");
  155. print("----------------------------------\n");
  156. }
  157.  
  158. public OnGameModeInit()
  159. {
  160. EnableStuntBonusForAll(0);
  161. AllowInteriorWeapons(0);
  162. DisableInteriorEnterExits();
  163. UsePlayerPedAnims();
  164. SetWeather(2);
  165. AddPlayerClass(13, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
  166. GotsTheFlag = 999;
  167. flag = CreatePickup(2993,1,606.4502, 867.9309, -40.2905);
  168. CallRemoteFunction("DisableBets","");
  169.  
  170. CreateObject(16076, 606.46570, 844.73438, -39.76563, 356.85840, 0.00000, 0.81280);
  171. CreateObject(8171, 770.38123, 732.48914, 2.03135, 0.00000, 0.00000, 0.00000);
  172. CreateObject(8171, 730.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  173. CreateObject(8171, 690.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  174. CreateObject(8171, 650.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  175. CreateObject(8171, 610.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  176. CreateObject(8171, 570.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  177. CreateObject(8171, 530.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  178. CreateObject(8171, 490.38120, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  179. CreateObject(8171, 770.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  180. CreateObject(8171, 730.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  181. CreateObject(8171, 690.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  182. CreateObject(8171, 650.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  183. CreateObject(8171, 610.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  184. CreateObject(8171, 570.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  185. CreateObject(8171, 530.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  186. CreateObject(8171, 490.38120, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  187. CreateObject(8171, 770.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  188. CreateObject(8171, 730.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  189. CreateObject(8171, 690.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  190. CreateObject(8171, 650.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  191. CreateObject(8171, 610.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  192. CreateObject(8171, 570.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  193. CreateObject(8171, 530.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  194. CreateObject(8171, 490.38120, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  195. CreateObject(8171, 450.38120, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  196. CreateObject(8171, 410.38120, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  197. CreateObject(8171, 450.38120, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  198. CreateObject(8171, 410.38120, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
  199.  
  200. TextdrawWinner = TextDrawCreate(325.916656, 203.250038, "~g~ ~w~wins!");
  201. TextDrawBackgroundColor(TextdrawWinner, 255);
  202. TextDrawFont(TextdrawWinner, 3);
  203. TextDrawAlignment(TextdrawWinner, 2);
  204. TextDrawLetterSize(TextdrawWinner, 0.94125, 3.760000);
  205. TextDrawColor(TextdrawWinner, -1);
  206. TextDrawSetOutline(TextdrawWinner, 0);
  207. TextDrawSetProportional(TextdrawWinner, 1);
  208. TextDrawSetShadow(TextdrawWinner, 1);
  209. TextDrawSetSelectable(TextdrawWinner, 0);
  210. TextDrawHideForAll(TextdrawWinner);
  211.  
  212. TextdrawDraw = TextDrawCreate(325.916656, 203.250038, "~y~draw~w~!");
  213. TextDrawBackgroundColor(TextdrawDraw, 255);
  214. TextDrawFont(TextdrawDraw, 3);
  215. TextDrawAlignment(TextdrawDraw, 2);
  216. TextDrawLetterSize(TextdrawDraw, 0.94125, 3.760000);
  217. TextDrawColor(TextdrawDraw, -1);
  218. TextDrawSetOutline(TextdrawDraw, 0);
  219. TextDrawSetProportional(TextdrawDraw, 1);
  220. TextDrawSetShadow(TextdrawDraw, 1);
  221. TextDrawSetSelectable(TextdrawDraw, 0);
  222.  
  223. SetTimer("UpdateLeaderBoard",500,true);
  224. LoadLeaderBoard();
  225. return 1;
  226. }
  227.  
  228. public OnGameModeExit()
  229. {
  230. firstblood = 0;
  231. return 1;
  232. }
  233.  
  234. public OnPlayerDisconnect(playerid)
  235. {
  236. if(GotsTheFlag == playerid)
  237. {
  238. new stealstr[128];
  239. RemovePlayerAttachedObject(playerid, 9);
  240. format(stealstr, sizeof(stealstr), "%s has lost the flag, take it!",PlayerName(playerid),playerid);
  241. SendClientMessageToAll(0xFF0000FF, stealstr);
  242. GotsTheFlag = 999;
  243. flag = CreatePickup(2993,8, 606.4502, 867.9309, -40.2905, 0);
  244. SetPlayerCheckpoint(playerid, 606.4502, 867.9309, -40.2905, 3.0);
  245. }
  246. }
  247.  
  248. public OnPlayerDeath(playerid, killerid, reason)
  249. {
  250. firstblood++;
  251. if(firstblood == 1)
  252. {
  253. new fbname[MAX_PLAYER_NAME], fbstring[128];
  254. GetPlayerName(killerid, fbname, sizeof(fbname));
  255. format(fbstring, sizeof(fbstring), "~r~FIRST BLOOD ~w~made by %s", fbname);
  256. GameTextForAll(fbstring, 5000, 3);
  257. CallRemoteFunction("GivePancake","ii",killerid,5);
  258. CallRemoteFunction("GivePlayerCash","dd",killerid,5000);
  259. SendClientMessage(killerid, 0xf76800FF, "[FIRST BLOOD] +5 pancakes +$5000");
  260. }
  261. new stealstr[128];
  262. if(GotsTheFlag == playerid)
  263. {
  264. KillTimer(ftimer);
  265. Flagtimer[playerid] = Flagtimer[playerid];
  266. CallRemoteFunction("GivePlayerScore","ii",killerid,4);
  267. GiveMoney(killerid,40);
  268. format(stealstr, sizeof(stealstr), "%s has lost the flag, take it!",PlayerName(playerid),playerid);
  269. SendClientMessageToAll(0xFF0000FF, stealstr);
  270. GotsTheFlag = 999;
  271. flag = CreatePickup(2993,8, 606.4502, 867.9309, -40.2905, 0);
  272. for(new i = 0; i < MAX_PLAYERS; i++)
  273. {
  274. SetPlayerCheckpoint(i, 606.4502, 867.9309, -40.2905, 3.0);
  275. }
  276. }
  277. if(killerid != INVALID_PLAYER_ID)
  278. {
  279. CallRemoteFunction("GivePlayerScore","ii",killerid,2);
  280. ResetSpawnInfo(playerid);
  281. GiveMoney(killerid,20);
  282. }
  283. return 1;
  284. }
  285.  
  286. public EndTheGame()
  287. {
  288. new newtext[128],name[24];
  289. if(GotsTheFlag == 999)
  290. {
  291. TextDrawShowForAll(TextdrawDraw);
  292. SetTimer("TimeUpDraw", 3000, false);
  293. SetTimer("ChangeGameNow", 5000, false);
  294. }
  295. else
  296. {
  297. GiveMoney(GotsTheFlag,10000);
  298. CallRemoteFunction("GivePancake","ii",GotsTheFlag,20);
  299.  
  300. GetPlayerName(GotsTheFlag, name, MAX_PLAYER_NAME);
  301. format(newtext, sizeof(newtext), "%s ~n~%s wins", name);
  302. TextDrawSetString(TextdrawWinner, newtext);
  303. format(newtext, sizeof(newtext), "%s was the last player with the flag - WINNER!", name);
  304. SendClientMessageToAll(0xFFFF00FF, newtext);
  305. TextDrawShowForAll(TextdrawWinner);
  306. RemovePlayerAttachedObject(GotsTheFlag, 9);
  307. CallRemoteFunction("GivePlayerScore","ii",GotsTheFlag,13);
  308. CallRemoteFunction("AddPlayerDMwon","d",GotsTheFlag);
  309. GiveMoney(GotsTheFlag,1000);
  310. SetTimer("ChangeGameNow", 3000, 0);
  311. GotsTheFlag = 999;
  312. }
  313. return ;
  314. }
  315.  
  316. public OnPlayerPickUpPickup(playerid, pickupid)
  317. {
  318. if(pickupid == flag && GotsTheFlag == 999)
  319. {
  320. ftimer = SetTimerEx("CheckEachPlayer", 1000, true, "i", playerid);
  321. RemovePlayerMapIcon(playerid, 0);
  322. SetPlayerAttachedObject(playerid,9,2993,6);
  323. SendClientMessage(playerid, 0xFFFF00FF, "You have picked up the flag, try to survive with it");
  324. new name[24], string[128];
  325. GetPlayerName(playerid, name, sizeof(name));
  326. format(string, sizeof(string), "%s has picked up the flag, kill him!", name);
  327. SendClientMessageToAll(0xFF0000FF, string);
  328. DestroyPickup(flag);
  329. SetPlayerColor(playerid, 0xFF0000FF);
  330. GotsTheFlag = playerid;
  331. for(new i = 0; i < MAX_PLAYERS; i++)
  332. {
  333. SetPlayerMarkerForPlayer(playerid, i, GetPlayerColor(i));
  334. DisablePlayerCheckpoint(i);
  335. }
  336. //UpdateLeaderBoard();
  337. /**format(string, sizeof(string), "1.%s (%d)", PlayerName(playerid),playerid,Flagtimer[playerid]);
  338. TextDrawSetString(Textdraw3, string);**/
  339. }
  340. return 1;
  341. }
  342.  
  343. forward CheckEachPlayer(playerid);
  344. public CheckEachPlayer(playerid)
  345. {
  346. Flagtimer[playerid]++;
  347. if(Flagtimer[playerid] == 15)
  348. {
  349. SendClientMessageToAll(-1," ASD TEST");
  350. }
  351. return 1;
  352. }
  353.  
  354. ResetSpawnInfo(playerid)
  355. {
  356. new rand = random(sizeof(gRandomSpawns));
  357. SetSpawnInfo(playerid, NO_TEAM, 27, gRandomSpawns[rand][PlayerX], gRandomSpawns[rand][PlayerY], gRandomSpawns[rand][PlayerZ], gRandomSpawns[rand][PlayerAngle],0,0, 0, 0, 0, 0);
  358. }
  359.  
  360. public OnPlayerConnect(playerid)
  361. {
  362. SetPlayerColor(playerid,0xCECECEFF);
  363. CallRemoteFunction("DisableBets","");
  364. SendClientMessage(playerid,0x0092ff9f,"Mission Objective: Kill the flag holder and be the last one wearing the flag to win.");
  365. ShowLeaderBoard(playerid);
  366. Flagtimer[playerid] = 0;
  367. return 1;
  368. }
  369.  
  370. public OnPlayerSpawn(playerid)
  371. {
  372. if(GotsTheFlag == 999)
  373. {
  374. SetPlayerCheckpoint(playerid, 606.4502, 867.9309, -40.2905, 3.0);
  375. }
  376. if(GotsTheFlag == playerid)
  377. {
  378. new stealstr[128];
  379. RemovePlayerAttachedObject(playerid, 9);
  380. format(stealstr, sizeof(stealstr), "%s has lost the flag, take it!",PlayerName(playerid),playerid);
  381. SendClientMessageToAll(0xFF0000FF, stealstr);
  382. GotsTheFlag = 999;
  383. flag = CreatePickup(2993,8, 606.4502, 867.9309, -40.2905, 0);
  384. SetPlayerCheckpoint(playerid, 606.4502, 867.9309, -40.2905, 3.0);
  385. }
  386. SetPlayerColor(playerid,0x008040FF);
  387. CallRemoteFunction("DisableBets","");
  388. TextDrawHideForAll(TextdrawWinner);
  389. return 1;
  390. }
  391.  
  392. public GetGMid()
  393. {
  394. return GMid;
  395. }
  396.  
  397. public TimeUpDraw()
  398. {
  399. TextDrawHideForAll(TextdrawDraw);
  400. }
  401.  
  402. GetFlagHoldTime(playerid)
  403. {
  404. new place = 0;
  405. //for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
  406. for(new i = 0; i < MAX_PLAYERS; i++)
  407. {
  408. if(!IsPlayerConnected(i) || i == playerid) continue;
  409. if(Flagtimer[i] < Flagtimer[playerid]) place++;
  410. }
  411. return GetPlayersOnServer() - place;
  412. }
  413.  
  414. public UpdateLeaderBoard()
  415. {
  416. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  417. {
  418. if(!IsPlayerConnected(playerid)) continue;
  419.  
  420. new string[64];
  421. if(GetFlagHoldTime(playerid) == 1)
  422. {
  423. format(string, sizeof(string), "1.%s (%d)", PlayerName(playerid),playerid);
  424. TextDrawSetString(Textdraw3, string);
  425. }
  426. if(GetFlagHoldTime(playerid) == 2)
  427. {
  428. format(string, sizeof(string), "2.%s (%d)", PlayerName(playerid),playerid);
  429. TextDrawSetString(Textdraw3, string);
  430. }
  431. if(GetFlagHoldTime(playerid) == 3)
  432. {
  433. format(string, sizeof(string), "3.%s (%d)", PlayerName(playerid),playerid);
  434. TextDrawSetString(Textdraw3, string);
  435. }
  436. if(GetFlagHoldTime(playerid) == 4)
  437. {
  438. format(string, sizeof(string), "4.%s (%d)", PlayerName(playerid),playerid);
  439. TextDrawSetString(Textdraw3, string);
  440. }
  441. if(GetFlagHoldTime(playerid) == 5)
  442. {
  443. format(string, sizeof(string), "5.%s (%d)", PlayerName(playerid),playerid);
  444. TextDrawSetString(Textdraw3, string);
  445. }
  446. }
  447. }
  448. forward UpdateLeaderBoard();
  449.  
  450. stock GetPlayersOnServer()
  451. {
  452. new count;
  453. for(new i=0; i< MAX_PLAYERS; i++)
  454. {
  455. if(IsPlayerConnected(i))
  456. {
  457. count++;
  458. }
  459. }
  460. return count;
  461. }
Add Comment
Please, Sign In to add comment