Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include "Defines/DM.inc"
- #define GMid 205
- new flag, GotsTheFlag = 999;
- new Text:TextdrawWinner, Text:TextdrawDraw;
- new Text:Textdraw1;
- new Text:Textdraw2;
- new Text:Textdraw3;
- new Text:Textdraw4;
- new Text:Textdraw5;
- new Text:Textdraw6;
- new Text:Textdraw7;
- new Text:Textdraw8;
- new Flagtimer[MAX_PLAYERS];
- new ftimer;
- stock LoadLeaderBoard()
- {
- Textdraw8 = TextDrawCreate(71.599807, 211.555847, "??");
- TextDrawLetterSize(Textdraw8, 0.451997, 10.933329);
- TextDrawTextSize(Textdraw8, 525.198913, 93.084457);
- TextDrawAlignment(Textdraw8, 2);
- TextDrawColor(Textdraw8, -226);
- TextDrawUseBox(Textdraw8, true);
- TextDrawBoxColor(Textdraw8, 30);
- TextDrawSetShadow(Textdraw8, 0);
- TextDrawSetOutline(Textdraw8, 1);
- TextDrawBackgroundColor(Textdraw8, -256);
- TextDrawFont(Textdraw8, 0);
- TextDrawSetProportional(Textdraw8, 1);
- Textdraw1 = TextDrawCreate(23.599998, 226.986663, "LD_SPAC:white");
- TextDrawLetterSize(Textdraw1, 0.000000, 0.000000);
- TextDrawTextSize(Textdraw1, 96.000000, 0.497772);
- TextDrawAlignment(Textdraw1, 1);
- TextDrawColor(Textdraw1, -1);
- TextDrawSetShadow(Textdraw1, 0);
- TextDrawSetOutline(Textdraw1, 0);
- TextDrawFont(Textdraw1, 4);
- Textdraw2 = TextDrawCreate(48.400035, 214.044387, "Leaderboard");
- TextDrawLetterSize(Textdraw2, 0.214798, 1.027554);
- TextDrawTextSize(Textdraw2, -1.999999, 8.960000);
- TextDrawAlignment(Textdraw2, 1);
- TextDrawColor(Textdraw2, -1);
- TextDrawSetShadow(Textdraw2, 0);
- TextDrawSetOutline(Textdraw2, 1);
- TextDrawBackgroundColor(Textdraw2, 255);
- TextDrawFont(Textdraw2, 3);
- TextDrawSetProportional(Textdraw2, 1);
- Textdraw3 = TextDrawCreate(25.599998, 230.471069, "1.");
- TextDrawLetterSize(Textdraw3, 0.131990, 0.927994);
- TextDrawAlignment(Textdraw3, 1);
- TextDrawColor(Textdraw3, -1);
- TextDrawSetShadow(Textdraw3, 0);
- TextDrawSetOutline(Textdraw3, 1);
- TextDrawBackgroundColor(Textdraw3, 51);
- TextDrawFont(Textdraw3, 2);
- TextDrawSetProportional(Textdraw3, 1);
- Textdraw4 = TextDrawCreate(25.200017, 246.897766, "2.");
- TextDrawLetterSize(Textdraw4, 0.131990, 0.927994);
- TextDrawAlignment(Textdraw4, 1);
- TextDrawColor(Textdraw4, -1);
- TextDrawUseBox(Textdraw4, true);
- TextDrawBoxColor(Textdraw4, 0);
- TextDrawSetShadow(Textdraw4, 0);
- TextDrawSetOutline(Textdraw4, 1);
- TextDrawBackgroundColor(Textdraw4, 51);
- TextDrawFont(Textdraw4, 2);
- TextDrawSetProportional(Textdraw4, 1);
- Textdraw5 = TextDrawCreate(25.599988, 262.826660, "3.");
- TextDrawLetterSize(Textdraw5, 0.131990, 0.927994);
- TextDrawAlignment(Textdraw5, 1);
- TextDrawColor(Textdraw5, -1);
- TextDrawSetShadow(Textdraw5, 0);
- TextDrawSetOutline(Textdraw5, 1);
- TextDrawBackgroundColor(Textdraw5, 51);
- TextDrawFont(Textdraw5, 2);
- TextDrawSetProportional(Textdraw5, 1);
- Textdraw6 = TextDrawCreate(25.600055, 279.751129, "4.");
- TextDrawLetterSize(Textdraw6, 0.131990, 0.927994);
- TextDrawAlignment(Textdraw6, 1);
- TextDrawColor(Textdraw6, -1);
- TextDrawSetShadow(Textdraw6, 0);
- TextDrawSetOutline(Textdraw6, 1);
- TextDrawBackgroundColor(Textdraw6, 51);
- TextDrawFont(Textdraw6, 2);
- TextDrawSetProportional(Textdraw6, 1);
- Textdraw7 = TextDrawCreate(26.400037, 296.675628, "5.");
- TextDrawLetterSize(Textdraw7, 0.131990, 0.927994);
- TextDrawAlignment(Textdraw7, 1);
- TextDrawColor(Textdraw7, -1);
- TextDrawUseBox(Textdraw7, true);
- TextDrawBoxColor(Textdraw7, 0);
- TextDrawSetShadow(Textdraw7, 0);
- TextDrawSetOutline(Textdraw7, 1);
- TextDrawBackgroundColor(Textdraw7, 51);
- TextDrawFont(Textdraw7, 2);
- TextDrawSetProportional(Textdraw7, 1);
- return 1;
- }
- stock ShowLeaderBoard(playerid)
- {
- TextDrawShowForPlayer(playerid,Textdraw1);
- TextDrawShowForPlayer(playerid,Textdraw2);
- TextDrawShowForPlayer(playerid,Textdraw3);
- TextDrawShowForPlayer(playerid,Textdraw4);
- TextDrawShowForPlayer(playerid,Textdraw5);
- TextDrawShowForPlayer(playerid,Textdraw6);
- TextDrawShowForPlayer(playerid,Textdraw7);
- TextDrawShowForPlayer(playerid,Textdraw8);
- return 1;
- }
- stock DestroyLeaderBoard()
- {
- TextDrawDestroy(Textdraw1);
- TextDrawDestroy(Textdraw2);
- TextDrawDestroy(Textdraw3);
- TextDrawDestroy(Textdraw4);
- TextDrawDestroy(Textdraw5);
- TextDrawDestroy(Textdraw6);
- TextDrawDestroy(Textdraw7);
- TextDrawDestroy(Textdraw8);
- }
- new Float:gRandomSpawns[][PlayerSpawnInfo] =
- {
- {498.0308, 863.0905, -31.4338},
- {499.7707, 878.1790, -32.4918},
- {500.6876, 898.3274, -33.0967},
- {504.3023, 913.4978, -31.0385},
- {618.4639, 947.4171, -34.8060},
- {634.3239, 947.3945, -35.3421},
- {652.1190, 945.9161, -35.3421},
- {683.5319, 931.1437, -30.1980},
- {638.0271, 808.8511, -43.1454},
- {651.6934, 809.1324, -43.1454},
- {663.6659, 814.4212, -43.1454}
- };
- main()
- {
- print("\n----------------------------------");
- print(" Shovels and Flags");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- EnableStuntBonusForAll(0);
- AllowInteriorWeapons(0);
- DisableInteriorEnterExits();
- UsePlayerPedAnims();
- SetWeather(2);
- AddPlayerClass(13, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
- GotsTheFlag = 999;
- flag = CreatePickup(2993,1,606.4502, 867.9309, -40.2905);
- CallRemoteFunction("DisableBets","");
- CreateObject(16076, 606.46570, 844.73438, -39.76563, 356.85840, 0.00000, 0.81280);
- CreateObject(8171, 770.38123, 732.48914, 2.03135, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 730.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 690.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 650.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 610.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 570.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 530.38123, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 490.38120, 732.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 770.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 730.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 690.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 650.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 610.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 570.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 530.38123, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 490.38120, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 770.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 730.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 690.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 650.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 610.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 570.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 530.38123, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 490.38120, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 450.38120, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 410.38120, 870.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 450.38120, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- CreateObject(8171, 410.38120, 1008.48907, 2.03130, 0.00000, 0.00000, 0.00000);
- TextdrawWinner = TextDrawCreate(325.916656, 203.250038, "~g~ ~w~wins!");
- TextDrawBackgroundColor(TextdrawWinner, 255);
- TextDrawFont(TextdrawWinner, 3);
- TextDrawAlignment(TextdrawWinner, 2);
- TextDrawLetterSize(TextdrawWinner, 0.94125, 3.760000);
- TextDrawColor(TextdrawWinner, -1);
- TextDrawSetOutline(TextdrawWinner, 0);
- TextDrawSetProportional(TextdrawWinner, 1);
- TextDrawSetShadow(TextdrawWinner, 1);
- TextDrawSetSelectable(TextdrawWinner, 0);
- TextDrawHideForAll(TextdrawWinner);
- TextdrawDraw = TextDrawCreate(325.916656, 203.250038, "~y~draw~w~!");
- TextDrawBackgroundColor(TextdrawDraw, 255);
- TextDrawFont(TextdrawDraw, 3);
- TextDrawAlignment(TextdrawDraw, 2);
- TextDrawLetterSize(TextdrawDraw, 0.94125, 3.760000);
- TextDrawColor(TextdrawDraw, -1);
- TextDrawSetOutline(TextdrawDraw, 0);
- TextDrawSetProportional(TextdrawDraw, 1);
- TextDrawSetShadow(TextdrawDraw, 1);
- TextDrawSetSelectable(TextdrawDraw, 0);
- SetTimer("UpdateLeaderBoard",500,true);
- LoadLeaderBoard();
- return 1;
- }
- public OnGameModeExit()
- {
- firstblood = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- if(GotsTheFlag == playerid)
- {
- new stealstr[128];
- RemovePlayerAttachedObject(playerid, 9);
- format(stealstr, sizeof(stealstr), "%s has lost the flag, take it!",PlayerName(playerid),playerid);
- SendClientMessageToAll(0xFF0000FF, stealstr);
- GotsTheFlag = 999;
- flag = CreatePickup(2993,8, 606.4502, 867.9309, -40.2905, 0);
- SetPlayerCheckpoint(playerid, 606.4502, 867.9309, -40.2905, 3.0);
- }
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- firstblood++;
- if(firstblood == 1)
- {
- new fbname[MAX_PLAYER_NAME], fbstring[128];
- GetPlayerName(killerid, fbname, sizeof(fbname));
- format(fbstring, sizeof(fbstring), "~r~FIRST BLOOD ~w~made by %s", fbname);
- GameTextForAll(fbstring, 5000, 3);
- CallRemoteFunction("GivePancake","ii",killerid,5);
- CallRemoteFunction("GivePlayerCash","dd",killerid,5000);
- SendClientMessage(killerid, 0xf76800FF, "[FIRST BLOOD] +5 pancakes +$5000");
- }
- new stealstr[128];
- if(GotsTheFlag == playerid)
- {
- KillTimer(ftimer);
- Flagtimer[playerid] = Flagtimer[playerid];
- CallRemoteFunction("GivePlayerScore","ii",killerid,4);
- GiveMoney(killerid,40);
- format(stealstr, sizeof(stealstr), "%s has lost the flag, take it!",PlayerName(playerid),playerid);
- SendClientMessageToAll(0xFF0000FF, stealstr);
- GotsTheFlag = 999;
- flag = CreatePickup(2993,8, 606.4502, 867.9309, -40.2905, 0);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- SetPlayerCheckpoint(i, 606.4502, 867.9309, -40.2905, 3.0);
- }
- }
- if(killerid != INVALID_PLAYER_ID)
- {
- CallRemoteFunction("GivePlayerScore","ii",killerid,2);
- ResetSpawnInfo(playerid);
- GiveMoney(killerid,20);
- }
- return 1;
- }
- public EndTheGame()
- {
- new newtext[128],name[24];
- if(GotsTheFlag == 999)
- {
- TextDrawShowForAll(TextdrawDraw);
- SetTimer("TimeUpDraw", 3000, false);
- SetTimer("ChangeGameNow", 5000, false);
- }
- else
- {
- GiveMoney(GotsTheFlag,10000);
- CallRemoteFunction("GivePancake","ii",GotsTheFlag,20);
- GetPlayerName(GotsTheFlag, name, MAX_PLAYER_NAME);
- format(newtext, sizeof(newtext), "%s ~n~%s wins", name);
- TextDrawSetString(TextdrawWinner, newtext);
- format(newtext, sizeof(newtext), "%s was the last player with the flag - WINNER!", name);
- SendClientMessageToAll(0xFFFF00FF, newtext);
- TextDrawShowForAll(TextdrawWinner);
- RemovePlayerAttachedObject(GotsTheFlag, 9);
- CallRemoteFunction("GivePlayerScore","ii",GotsTheFlag,13);
- CallRemoteFunction("AddPlayerDMwon","d",GotsTheFlag);
- GiveMoney(GotsTheFlag,1000);
- SetTimer("ChangeGameNow", 3000, 0);
- GotsTheFlag = 999;
- }
- return ;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- if(pickupid == flag && GotsTheFlag == 999)
- {
- ftimer = SetTimerEx("CheckEachPlayer", 1000, true, "i", playerid);
- RemovePlayerMapIcon(playerid, 0);
- SetPlayerAttachedObject(playerid,9,2993,6);
- SendClientMessage(playerid, 0xFFFF00FF, "You have picked up the flag, try to survive with it");
- new name[24], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "%s has picked up the flag, kill him!", name);
- SendClientMessageToAll(0xFF0000FF, string);
- DestroyPickup(flag);
- SetPlayerColor(playerid, 0xFF0000FF);
- GotsTheFlag = playerid;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- SetPlayerMarkerForPlayer(playerid, i, GetPlayerColor(i));
- DisablePlayerCheckpoint(i);
- }
- //UpdateLeaderBoard();
- /**format(string, sizeof(string), "1.%s (%d)", PlayerName(playerid),playerid,Flagtimer[playerid]);
- TextDrawSetString(Textdraw3, string);**/
- }
- return 1;
- }
- forward CheckEachPlayer(playerid);
- public CheckEachPlayer(playerid)
- {
- Flagtimer[playerid]++;
- if(Flagtimer[playerid] == 15)
- {
- SendClientMessageToAll(-1," ASD TEST");
- }
- return 1;
- }
- ResetSpawnInfo(playerid)
- {
- new rand = random(sizeof(gRandomSpawns));
- SetSpawnInfo(playerid, NO_TEAM, 27, gRandomSpawns[rand][PlayerX], gRandomSpawns[rand][PlayerY], gRandomSpawns[rand][PlayerZ], gRandomSpawns[rand][PlayerAngle],0,0, 0, 0, 0, 0);
- }
- public OnPlayerConnect(playerid)
- {
- SetPlayerColor(playerid,0xCECECEFF);
- CallRemoteFunction("DisableBets","");
- SendClientMessage(playerid,0x0092ff9f,"Mission Objective: Kill the flag holder and be the last one wearing the flag to win.");
- ShowLeaderBoard(playerid);
- Flagtimer[playerid] = 0;
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(GotsTheFlag == 999)
- {
- SetPlayerCheckpoint(playerid, 606.4502, 867.9309, -40.2905, 3.0);
- }
- if(GotsTheFlag == playerid)
- {
- new stealstr[128];
- RemovePlayerAttachedObject(playerid, 9);
- format(stealstr, sizeof(stealstr), "%s has lost the flag, take it!",PlayerName(playerid),playerid);
- SendClientMessageToAll(0xFF0000FF, stealstr);
- GotsTheFlag = 999;
- flag = CreatePickup(2993,8, 606.4502, 867.9309, -40.2905, 0);
- SetPlayerCheckpoint(playerid, 606.4502, 867.9309, -40.2905, 3.0);
- }
- SetPlayerColor(playerid,0x008040FF);
- CallRemoteFunction("DisableBets","");
- TextDrawHideForAll(TextdrawWinner);
- return 1;
- }
- public GetGMid()
- {
- return GMid;
- }
- public TimeUpDraw()
- {
- TextDrawHideForAll(TextdrawDraw);
- }
- GetFlagHoldTime(playerid)
- {
- new place = 0;
- //for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i) || i == playerid) continue;
- if(Flagtimer[i] < Flagtimer[playerid]) place++;
- }
- return GetPlayersOnServer() - place;
- }
- public UpdateLeaderBoard()
- {
- for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
- {
- if(!IsPlayerConnected(playerid)) continue;
- new string[64];
- if(GetFlagHoldTime(playerid) == 1)
- {
- format(string, sizeof(string), "1.%s (%d)", PlayerName(playerid),playerid);
- TextDrawSetString(Textdraw3, string);
- }
- if(GetFlagHoldTime(playerid) == 2)
- {
- format(string, sizeof(string), "2.%s (%d)", PlayerName(playerid),playerid);
- TextDrawSetString(Textdraw3, string);
- }
- if(GetFlagHoldTime(playerid) == 3)
- {
- format(string, sizeof(string), "3.%s (%d)", PlayerName(playerid),playerid);
- TextDrawSetString(Textdraw3, string);
- }
- if(GetFlagHoldTime(playerid) == 4)
- {
- format(string, sizeof(string), "4.%s (%d)", PlayerName(playerid),playerid);
- TextDrawSetString(Textdraw3, string);
- }
- if(GetFlagHoldTime(playerid) == 5)
- {
- format(string, sizeof(string), "5.%s (%d)", PlayerName(playerid),playerid);
- TextDrawSetString(Textdraw3, string);
- }
- }
- }
- forward UpdateLeaderBoard();
- stock GetPlayersOnServer()
- {
- new count;
- for(new i=0; i< MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- count++;
- }
- }
- return count;
- }
Add Comment
Please, Sign In to add comment