Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- //CONFIGURATION
- #define RoundTime 10 //(number of minutes)
- new AllowPrimeMinisterToDriveCars = 1;
- #define StartMoney 10000
- //END OF CONFIGURATION
- #define TEAMLESS 0
- #define BODYGUARD 1
- #define TERRORIST 2
- #define PM 3
- #define POLICE 4
- #define PSYCHO 5
- //TEAMCOLORS:
- #define TEAMCOLOR_TEAMLESS 0xA9A9A9AA //grey
- #define TEAMCOLOR_BODYGUARD 0x87CEEBAA //Lightblue
- #define TEAMCOLOR_TERRORIST 0xFF0000AA //Red
- #define TEAMCOLOR_PM 0xFFFF00AA //Yellow
- #define TEAMCOLOR_POLICE 0x0000FFAA //DarkBlue
- #define TEAMCOLOR_PSYCHO 0x32CD32AA //Limegreen
- #define CARFILE "Protect The PM/Vehicles.txt"
- static gTeam[MAX_PLAYERS];
- new IsPMChosen;
- new RoundTimer;
- new PMscore, TerroristScore;
- new Muted[MAX_PLAYERS];
- new Text:Textdraw;
- new TimeLeft;
- new TextdrawString[128];
- new IsDeadPM = -1;
- new TeamNames[6][15] =
- {
- "No Team",
- "Bodyguard",
- "Terrorist",
- "Prime Minister",
- "PoliceOfficer",
- "Psycho"
- };
- main()
- {
- print(" -------------------------------------- ");
- print("| Protect The Prime Minister |");
- print("| by |");
- print("| =>Diti<= |");
- print(" -------------------------------------- ");
- if(dini_Exists("Protect The PM/Scores.txt"))
- {
- print("| Current Score: |");
- printf("| Prime Minister %02d - %02d Terrorists |", dini_Int("Protect The PM/Scores.txt", "PMSCORE"), dini_Int("Protect The PM/Scores.txt", "TERRORISTSCORE"));
- print(" -------------------------------------- ");
- }
- }
- public OnGameModeInit()
- {
- SetGameModeText("Protect The PM");
- SetWorldTime(3);
- //SKINS:
- //BodyGuards:
- AddPlayerClass(163, 0.0, 0.0, 0.0, 0.0, 23, 500, 28, 750, 30, 500);
- AddPlayerClass(164, 0.0, 0.0, 0.0, 0.0, 23, 500, 28, 750, 30, 500);
- AddPlayerClass(165, 0.0, 0.0, 0.0, 0.0, 23, 500, 28, 750, 30, 500);
- AddPlayerClass(166, 0.0, 0.0, 0.0, 0.0, 23, 500, 28, 750, 30, 500);
- //Terrorists:
- AddPlayerClass(121, 0.0, 0.0, 0.0, 0.0, 4, 1, 25, 100, 0, 0);
- AddPlayerClass(122, 0.0, 0.0, 0.0, 0.0, 4, 1, 25, 100, 0, 0);
- AddPlayerClass(181, 0.0, 0.0, 0.0, 0.0, 4, 1, 25, 100, 0, 0);
- //Prime Minister:
- AddPlayerClass(147, 0.0, 0.0, 0.0, 0.0, 15, 1, 0, 0, 0, 0);
- //Police:
- AddPlayerClass(280, 0.0, 0.0, 0.0, 0.0, 22, 500, 25, 100, 33, 50);
- AddPlayerClass(281, 0.0, 0.0, 0.0, 0.0, 22, 500, 25, 100, 33, 50);
- AddPlayerClass(282, 0.0, 0.0, 0.0, 0.0, 22, 500, 25, 100, 33, 50);
- AddPlayerClass(283, 0.0, 0.0, 0.0, 0.0, 22, 500, 25, 100, 33, 50);
- AddPlayerClass(284, 0.0, 0.0, 0.0, 0.0, 22, 500, 25, 100, 33, 50);
- AddPlayerClass(285, 0.0, 0.0, 0.0, 0.0, 22, 500, 25, 100, 33, 50);
- AddPlayerClass(288, 0.0, 0.0, 0.0, 0.0, 22, 500, 25, 100, 33, 50);
- //Psycho's:
- AddPlayerClass(79, 0.0, 0.0, 0.0, 0.0, 6, 1, 28, 500, 0, 0);
- AddPlayerClass(137, 0.0, 0.0, 0.0, 0.0, 6, 1, 28, 500, 0, 0);
- AddPlayerClass(213, 0.0, 0.0, 0.0, 0.0, 6, 1, 28, 500, 0, 0);
- AddPlayerClass(230, 0.0, 0.0, 0.0, 0.0, 6, 1, 28, 500, 0, 0);
- AddPlayerClass(239, 0.0, 0.0, 0.0, 0.0, 6, 1, 28, 500, 0, 0);
- //Vehicle and object for ClassSelection-Screen:
- AddStaticVehicle(484, 4498.3254,-2517.7302,-0.4128,138.2467, -1, -1);
- CreateObject(12990, 4495.664063, -2510.759155, 2.373306, 0.0000, 0.0000, 270.0000);
- //Pickups
- AddStaticPickup(1242, 2, -2723.0383,-320.7197,7.8438); //Armor @ PM-spawn
- AddStaticPickup(1242, 2, -2718.2517,-315.0976,7.8438); //Armor @ PM-spawn
- //Load other Vehicles:
- LoadVehicles();
- if(!dini_Exists("Protect The PM/Scores.txt"))
- {
- dini_Create("Protect The PM/Scores.txt");
- dini_IntSet("Protect The PM/Scores.txt", "PMSCORE", 0);
- dini_IntSet("Protect The PM/Scores.txt", "TERRORISTSCORE", 0);
- }
- PMscore = dini_Int("Protect The PM/Scores.txt", "PMSCORE");
- TerroristScore = dini_Int("Protect The PM/Scores.txt", "TERRORISTSCORE");
- format(TextdrawString, 128, " ");
- Textdraw = TextDrawCreate(480, 420, TextdrawString);
- TextDrawLetterSize(Textdraw,0.40,1.10);
- TextDrawSetShadow(Textdraw, 0);
- TextDrawSetOutline(Textdraw, 1);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerWeather(playerid, 9);
- SetPlayerPos(playerid, 4480.9756,-2510.5552,3.6747);
- SetPlayerCameraPos(playerid, 4475.0513,-2508.5028,4.1533);
- SetPlayerCameraLookAt(playerid, 4480.9756,-2510.5552,3.6747);
- SetPlayerFacingAngle(playerid, 91.9195);
- switch(classid)
- {
- case 0..3:
- {
- GameTextForPlayer(playerid, "~b~Bodyguard", 999999, 6);
- gTeam[playerid] = BODYGUARD;
- }
- case 4..6:
- {
- GameTextForPlayer(playerid, "~r~Terrorist", 999999, 6);
- gTeam[playerid] = TERRORIST;
- }
- case 7:
- {
- GameTextForPlayer(playerid, "~y~Prime Minister", 999999, 6);
- if(IsPMChosen == 1)
- {
- GameTextForPlayer(playerid, "~y~Prime Minister~n~~r~Not Available", 999999, 6);
- }
- gTeam[playerid] = PM;
- }
- case 8..14:
- {
- GameTextForPlayer(playerid, "~b~Police", 999999, 6);
- gTeam[playerid] = POLICE;
- }
- case 15..19:
- {
- GameTextForPlayer(playerid, "~r~Psycho", 999999, 6);
- gTeam[playerid] = PSYCHO;
- }
- }
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- new pName[MAX_PLAYER_NAME], str[128];
- GetPlayerName(playerid, pName, sizeof(pName));
- if(IsPMChosen == 1 && gTeam[playerid] == PM)
- {
- return 0;
- }
- else if(IsPMChosen == 0 && gTeam[playerid] == PM)
- {
- IsPMChosen = 1;
- }
- format(str, sizeof(str), "%s is now a %s", pName, TeamNames[gTeam[playerid]]);
- SendClientMessageToAll(0xFFFFFFAA, str);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new pName[MAX_PLAYER_NAME], str[128];
- GetPlayerName(playerid, pName, sizeof(pName));
- format(str, sizeof(str), "%s has joined the server!", pName);
- SendClientMessageToAll(0xA9A9A9AA, str);
- SendDeathMessage(playerid, playerid, 200);
- gTeam[playerid] = TEAMLESS;
- Muted[playerid] = 0;
- SetPlayerColor(playerid, TEAMCOLOR_TEAMLESS);
- PlayerPlaySound(playerid, 1188, 0.0, 0.0, 0.0);
- GivePlayerMoney(playerid, StartMoney);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new pName[MAX_PLAYER_NAME], str[128];
- GetPlayerName(playerid, pName, sizeof(pName));
- format(str, sizeof(str), "%s has left the server.", pName);
- SendClientMessageToAll(0xA9A9A9AA, str);
- SendDeathMessage(playerid, playerid, 201);
- if(gTeam[playerid] == PM)
- {
- format(str, sizeof(str), "%s is no longer the Prime Minister", pName);
- SendClientMessageToAll(0xFFA500AA, str);
- TextDrawHideForAll(Textdraw);
- IsPMChosen = 0;
- KillTimer(RoundTimer);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- GameTextForPlayer(playerid, " ", 10, 3);
- SetPlayerWeather(playerid, 1);
- if(playerid == IsDeadPM)
- {
- TogglePlayerControllable(playerid, 0);
- }
- switch(gTeam[playerid])
- {
- case BODYGUARD:
- {
- SetPlayerPos(playerid, (-2787.6155+random(66)), (-294.2365+random(8)), 7.04);
- SetPlayerFacingAngle(playerid, random(360));
- SetPlayerColor(playerid, TEAMCOLOR_BODYGUARD);
- }
- case TERRORIST:
- {
- SetPlayerPos(playerid, (1672.6182+random(23)), (1440.2610+random(15)), 10.7791);
- SetPlayerFacingAngle(playerid, random(360));
- SetPlayerColor(playerid, TEAMCOLOR_TERRORIST);
- }
- case PM:
- {
- SetPlayerPos(playerid, -2721.3049,-317.2299,7.8438);
- SetPlayerFacingAngle(playerid, 45.857);
- SetPlayerColor(playerid, TEAMCOLOR_PM);
- if(playerid != IsDeadPM)
- {
- RoundTimer = SetTimer("EndRound", 1000, 1);
- TimeLeft = RoundTime*60;
- }
- }
- case POLICE:
- {
- SetPlayerPos(playerid, (-1639.0775+random(66)), (655.8917+random(14)), 7.1901);
- SetPlayerFacingAngle(playerid, random(360));
- SetPlayerColor(playerid, TEAMCOLOR_POLICE);
- }
- case PSYCHO:
- {
- SetPlayerPos(playerid, (2471.2419+random(36)), (-1684.1920+random(30)), 13.546);
- SetPlayerFacingAngle(playerid, random(360));
- SetPlayerColor(playerid, TEAMCOLOR_PSYCHO);
- }
- }
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- SendDeathMessage(killerid, playerid, reason);
- SetPlayerScore(playerid, GetPlayerScore(playerid)-1);
- if(killerid != INVALID_PLAYER_ID)
- {
- SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
- }
- if(gTeam[playerid] == PM)
- {
- //The Prime Minister Died!
- IsDeadPM = playerid;
- IsPMChosen = 0;
- KillTimer(RoundTimer);
- TerroristScore++;
- new str[128];
- format(str, 128, "The Prime Minister is killed!", RoundTime);
- SendClientMessageToAll(0xFFFF00AA, " ");
- SendClientMessageToAll(0xFFFF00AA, " ");
- SendClientMessageToAll(0xFFFF00AA, str);
- SendClientMessageToAll(0xFFFF00AA, " ");
- SendClientMessageToAll(0xFFFF00AA, "A new round will start soon! Please Wait!");
- SendClientMessageToAll(0xFFFF00AA, " ");
- SendClientMessageToAll(0xFFFF00AA, "Scores:");
- format(str, 128, "-- Prime Minister/Bodyguards & Police: %d", PMscore);
- SendClientMessageToAll(0xFFFF00AA, str);
- format(str, 128, "-- Terrorists & Psycho's: %d", TerroristScore);
- SendClientMessageToAll(0xFFFF00AA, str);
- SendClientMessageToAll(0xFFFF00AA, " ");
- TextDrawHideForAll(Textdraw);
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- PlayerPlaySound(i, 1187, 0.0, 0.0, 0.0);
- if(gTeam[i] == TERRORIST || gTeam[i] == PSYCHO)
- {
- GameTextForPlayer(i, "~y~Congratulations!", 8000, 3);
- }
- if(gTeam[i] == PM || gTeam[i] == BODYGUARD || gTeam[i] == POLICE)
- {
- GameTextForPlayer(i, "~r~Game Over", 8000, 3);
- }
- }
- }
- SetTimer("StartNewGame", 8000, 0);
- TogglePlayerControllable(playerid, 0);
- }
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(Muted[playerid] == 1)
- {
- SendClientMessage(playerid, 0xFF0000AA, "You're muted!");
- return 0;
- }
- if(text[0] == '#')
- {
- //TeamChat
- new str[128], pn[24];
- GetPlayerName(playerid, pn, 24);
- format(str, 128, "[TEAM]%s: %s", pn, text[1]);
- if(gTeam[playerid] == PM || gTeam[playerid] == BODYGUARD || gTeam[playerid] == POLICE)
- {
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(gTeam[i] == PM || gTeam[i] == BODYGUARD || gTeam[i] == POLICE)
- {
- SendClientMessage(i, 0xFFFF00AA, str);
- }
- }
- }
- }
- if(gTeam[playerid] == TERRORIST)
- {
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(gTeam[i] == TERRORIST)
- {
- SendClientMessage(i, 0xFFFF00AA, str);
- }
- }
- }
- }
- if(gTeam[playerid] == PSYCHO)
- {
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(gTeam[i] == PSYCHO)
- {
- SendClientMessage(i, 0xFFFF00AA, str);
- }
- }
- }
- }
- return 0;
- }
- return 1;
- }
- public OnPlayerPrivmsg(playerid, recieverid, text[])
- {
- if(Muted[playerid] == 1)
- {
- SendClientMessage(playerid, 0xFF0000AA, "You're muted!");
- return 0;
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp("/help", cmdtext, true) == 0)
- {
- SendClientMessage(playerid, 0x90EE90AA, "Commands: /kill ** /score ** /duty");
- if(IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, 0x90EE90AA, "AdminCommands: /kick ** /ban ** /(un)mute ** /(un)freeze ** /resetscores");
- }
- SendClientMessage(playerid, 0x90EE90AA, "Teamchat: #[text] **Example: #Hello Team");
- return 1;
- }
- if(strcmp("/kill", cmdtext, true) == 0)
- {
- SetPlayerHealth(playerid, 0.0);
- return 1;
- }
- if(strcmp("/score", cmdtext, true) == 0)
- {
- new str[45];
- SendClientMessage(playerid, 0xFFFFFFAA, "Scores:");
- format(str, 128, "Prime Minister/Bodyguards & Police: %d", PMscore);
- SendClientMessage(playerid, 0xFFFFFFAA, str);
- format(str, 128, "Terrorists & Psycho's: %d", TerroristScore);
- SendClientMessage(playerid, 0xFFFFFFAA, str);
- return 1;
- }
- if(strcmp("/duty", cmdtext, true) == 0)
- {
- new str[128];
- switch(gTeam[playerid])
- {
- case TEAMLESS:
- {
- SendClientMessage(playerid, 0x6495EDAA, "Please choose a character first!");
- }
- case BODYGUARD:
- {
- SendClientMessage(playerid, 0x6495EDAA, "You are a Bodyguard, your duty is to protect the Prime Minister (Yellow)");
- SendClientMessage(playerid, 0x6495EDAA, "You work together with the Police (Dark-Blue)");
- SendClientMessage(playerid, 0x6495EDAA, "Your enemies are the Terrorists (Red) and Psycho's (Green)");
- }
- case TERRORIST:
- {
- SendClientMessage(playerid, 0x6495EDAA, "You are a Terrorist, your duty is to kill the Prime Minister (Yellow)");
- SendClientMessage(playerid, 0x6495EDAA, "Your enemies are the Psycho's (Green), Bodyguards and the Police (Blue)");
- }
- case PM:
- {
- format(str, 128, "You are the Prime Minister, your duty is to survive for %d minutes", RoundTime);
- SendClientMessage(playerid, 0x6495EDAA, str);
- SendClientMessage(playerid, 0x6495EDAA, "You will be protected by your bodyguards and the Police (Blue)");
- SendClientMessage(playerid, 0x6495EDAA, "Your enemies are the Terrorists (Red) and Psycho's (Green)");
- }
- case POLICE:
- {
- SendClientMessage(playerid, 0x6495EDAA, "You are a Policeofficer, your duty is to kill the Psycho's and Terrorists (Red and Green)");
- SendClientMessage(playerid, 0x6495EDAA, "You work together with the Bodyguards (Dark-Blue) protecting the Prime Minister");
- }
- case PSYCHO:
- {
- SendClientMessage(playerid, 0x6495EDAA, "You are a Psycho, your duty is to kill everybody. Everybody is your enemy.");
- }
- }
- return 1;
- }
- //AdminCommands
- if(strcmp("/resetscores", cmdtext, true) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- PMscore = 0;
- TerroristScore = 0;
- dini_IntSet("Protect The PM/Scores.txt", "PMSCORE", 0);
- dini_IntSet("Protect The PM/Scores.txt", "TERRORISTSCORE", 0);
- SendClientMessageToAll(0xA9A9A9AA, "An admin has set the scores to 0");
- return 1;
- }
- }
- if(strcmp("/kick", cmdtext, true, 5) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(!strlen(cmdtext[6])) return SendClientMessage(playerid, 0xFF0000AA, "Use: /kick [playerid]");
- new gp = strval(cmdtext[6]);
- if(!IsPlayerConnected(gp)) return SendClientMessage(playerid, 0xFF0000AA, "Invalid Playerid");
- new pn[24], an[24], str[70];
- GetPlayerName(playerid, an, 24); GetPlayerName(gp, pn, 24);
- format(str, sizeof(str), "%s is kicked by admin %s", pn, an);
- SendClientMessageToAll(0xA9A9A9AA, str);
- GameTextForPlayer(gp, "~r~Kicked", 999999, 6);
- Kick(gp);
- return 1;
- }
- }
- if(strcmp("/ban", cmdtext, true, 4) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(!strlen(cmdtext[5])) return SendClientMessage(playerid, 0xFF0000AA, "Use: /ban [playerid]");
- new gp = strval(cmdtext[5]);
- if(!IsPlayerConnected(gp)) return SendClientMessage(playerid, 0xFF0000AA, "Invalid Playerid");
- new pn[24], an[24], str[70];
- GetPlayerName(playerid, an, 24); GetPlayerName(gp, pn, 24);
- format(str, sizeof(str), "%s is banned by admin %s", pn, an);
- SendClientMessageToAll(0xA9A9A9AA, str);
- GameTextForPlayer(gp, "~r~Banned", 999999, 6);
- Kick(gp);
- return 1;
- }
- }
- if(strcmp("/mute", cmdtext, true, 5) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(!strlen(cmdtext[6])) return SendClientMessage(playerid, 0xFF0000AA, "Use: /mute [playerid]");
- new gp = strval(cmdtext[6]);
- if(!IsPlayerConnected(gp)) return SendClientMessage(playerid, 0xFF0000AA, "Invalid Playerid");
- new pn[24], an[24], str[70];
- GetPlayerName(playerid, an, 24); GetPlayerName(gp, pn, 24);
- format(str, sizeof(str), "%s is muted by admin %s", pn, an);
- SendClientMessageToAll(0xA9A9A9AA, str);
- Muted[gp] = 1;
- return 1;
- }
- }
- if(strcmp("/unmute", cmdtext, true, 7) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(!strlen(cmdtext[8])) return SendClientMessage(playerid, 0xFF0000AA, "Use: /unmute [playerid]");
- new gp = strval(cmdtext[8]);
- if(!IsPlayerConnected(gp)) return SendClientMessage(playerid, 0xFF0000AA, "Invalid Playerid");
- new pn[24], an[24], str[70];
- GetPlayerName(playerid, an, 24); GetPlayerName(gp, pn, 24);
- format(str, sizeof(str), "%s is unmuted by admin %s", pn, an);
- SendClientMessageToAll(0xA9A9A9AA, str);
- Muted[gp] = 0;
- return 1;
- }
- }
- if(strcmp("/freeze", cmdtext, true, 7) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(!strlen(cmdtext[8])) return SendClientMessage(playerid, 0xFF0000AA, "Use: /freeze [playerid]");
- new gp = strval(cmdtext[8]);
- if(!IsPlayerConnected(gp)) return SendClientMessage(playerid, 0xFF0000AA, "Invalid Playerid");
- new pn[24], an[24], str[70];
- GetPlayerName(playerid, an, 24); GetPlayerName(gp, pn, 24);
- format(str, sizeof(str), "%s is frozen by admin %s", pn, an);
- SendClientMessageToAll(0xA9A9A9AA, str);
- TogglePlayerControllable(gp, 0);
- return 1;
- }
- }
- if(strcmp("/unfreeze", cmdtext, true, 9) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(!strlen(cmdtext[10])) return SendClientMessage(playerid, 0xFF0000AA, "Use: /unfreeze [playerid]");
- new gp = strval(cmdtext[10]);
- if(!IsPlayerConnected(gp)) return SendClientMessage(playerid, 0xFF0000AA, "Invalid Playerid");
- new pn[24], an[24], str[70];
- GetPlayerName(playerid, an, 24); GetPlayerName(gp, pn, 24);
- format(str, sizeof(str), "%s is unfrozen by admin %s", pn, an);
- SendClientMessageToAll(0xA9A9A9AA, str);
- TogglePlayerControllable(gp, 1);
- return 1;
- }
- }
- return 0;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(AllowPrimeMinisterToDriveCars == 0)
- {
- if(newstate == 2)
- {
- if(gTeam[playerid] == PM)
- {
- SendClientMessage(playerid, 0xFF0000AA, "You're not allowed to drive!");
- RemovePlayerFromVehicle(playerid);
- }
- }
- }
- return 1;
- }
- stock LoadVehicles()
- {
- if(fexist(CARFILE))
- {
- new TotalVehicles = CountVehicles();
- new Argument[7][70];
- new entry[256];
- new File:carfile = fopen(CARFILE, io_read);
- if (carfile)
- {
- for(new id; id<TotalVehicles; id++)
- {
- fread(carfile, entry);
- strdel(entry, 0, 17);
- new end = strfind(entry, ")", true);
- strdel(entry, end, strlen(entry));
- split(entry, Argument, ',');
- AddStaticVehicle(strval(Argument[0]), floatstr(Argument[1]), floatstr(Argument[2]), floatstr(Argument[3]), floatstr(Argument[4]), strval(Argument[5]), strval(Argument[6]));
- }
- fclose(carfile);
- printf("Loaded %d vehicles!", TotalVehicles);
- }
- }
- else
- {
- print("===============================");
- print("Warning:");
- print("There is no vehicle-file found!");
- print("No vehicles added to game!");
- print("===============================");
- }
- }
- stock CountVehicles()
- {
- new entry[256], count;
- new File: carfile = fopen(CARFILE, io_read);
- while(fread(carfile, entry, 256))
- {
- count++;
- }
- fclose(carfile);
- return count;
- }
- forward EndRound();
- public EndRound()
- {
- if(TimeLeft != 0)
- {
- TimeLeft--;
- format(TextdrawString, 128, "~y~Seconds Left: %d", TimeLeft);
- TextDrawHideForAll(Textdraw);
- TextDrawSetString(Textdraw, TextdrawString);
- TextDrawShowForAll(Textdraw);
- }
- else
- {
- PMscore++;
- KillTimer(RoundTimer);
- new str[128];
- format(str, 128, "The Prime Minister survived for %d minutes!", RoundTime);
- SendClientMessageToAll(0xFFFF00AA, " ");
- SendClientMessageToAll(0xFFFF00AA, " ");
- SendClientMessageToAll(0xFFFF00AA, str);
- SendClientMessageToAll(0xFFFF00AA, " ");
- SendClientMessageToAll(0xFFFF00AA, "A new round will start soon! Please Wait!");
- SendClientMessageToAll(0xFFFF00AA, " ");
- SendClientMessageToAll(0xFFFF00AA, "Scores:");
- format(str, 128, "-- Prime Minister/Bodyguards & Police: %d", PMscore);
- SendClientMessageToAll(0xFFFF00AA, str);
- format(str, 128, "-- Terrorists & Psycho's: %d", TerroristScore);
- SendClientMessageToAll(0xFFFF00AA, str);
- SendClientMessageToAll(0xFFFF00AA, " ");
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- PlayerPlaySound(i, 1187, 0.0, 0.0, 0.0);
- if(gTeam[i] == TERRORIST || gTeam[i] == PSYCHO)
- {
- GameTextForPlayer(i, "~r~Game Over", 8000, 3);
- }
- if(gTeam[i] == PM || gTeam[i] == BODYGUARD || gTeam[i] == POLICE)
- {
- GameTextForPlayer(i, "~y~Congratulations!", 8000, 3);
- }
- }
- }
- SetTimer("StartNewGame", 8000, 0);
- }
- }
- forward StartNewGame();
- public StartNewGame()
- {
- dini_IntSet("Protect The PM/Scores.txt", "PMSCORE", PMscore);
- dini_IntSet("Protect The PM/Scores.txt", "TERRORISTSCORE", TerroristScore);
- TextDrawHideForAll(Textdraw);
- TextDrawDestroy(Textdraw);
- GameModeExit();
- }
- //Credits to the one who made this split-function!
- forward split(const strsrc[], strdest[][], delimiter);
- public split(const strsrc[], strdest[][], delimiter)
- {
- new i, li;
- new aNum;
- new len;
- while(i <= strlen(strsrc)){
- if(strsrc[i]==delimiter || i==strlen(strsrc)){
- len = strmid(strdest[aNum], strsrc, li, i, 128);
- strdest[aNum][len] = 0;
- li = i+1;
- aNum++;
- }
- i++;
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement