Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ________________________
- | Doherty |
- | Break-In |
- | By |
- | Jordan |
- ________________________
- Copyright (c) Jordan / Butters
- */
- #include <a_samp>
- #include <a_vehicles>
- #define TEAM_ATTACK 1
- #define TEAM_DEFENCE 2
- #define CHECKPOINT_NONE 0
- #define CHECKPOINT_PLANE 1
- #define CHECKPOINT_DOHERTY 2
- #define DEFENCE_WIN 0
- #define ATTACK_WIN 1
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define blue 0x375FFFFF
- forward DefenceWin();
- forward GameModeExitFunc();
- forward SettingPlayerTeam();
- new gTeam[MAX_PLAYERS];
- new gPlayerClass[MAX_PLAYERS];
- new gPlayerCheckpointStatus[MAX_PLAYERS];
- new gRoundTimer;
- // If the army defend the lab for this amount of time, they win.
- //new gRoundTime = 1200000; // Round time - 20 mins
- //new gRoundTime = 900000; // Round time - 15 mins
- new gRoundTime = 600000; // Round time - 10 mins
- //new gRoundTime = 300000; // Round time - 5 mins
- //new gRoundTime = 120000; // Round time - 2 mins
- //new gRoundTime = 60000; // Round time - 1 min
- //---------------------------------------------------------
- main()
- {
- print("\n----------------------------------");
- print(" Doherty break-in\n Made By Jordan (2008 / 2009)");
- print("----------------------------------\n");
- }
- //---------------------------------------------------------
- public OnGameModeInit()
- {
- SetGameModeText("[Xs] Doherty Break-In");
- ShowNameTags(1);
- ShowPlayerMarkers(0);
- SetWorldTime(13);
- UsePlayerPedAnims();
- // Attack team
- AddPlayerClass(111,315.4792,984.1290,1959.1129,353.5, 27, 9999, 34, 9999, 24, 9999); // Mafia dude, andromeda
- AddPlayerClass(113,-1992.2727,141.6075,27.5391,94.8659, 27, 9999, 24, 9999, 31, 9999);
- // Defence team
- AddPlayerClass(287,-2164.8022,-241.1310,46.3121,101.4790, 24, 9999, 27, 9999, 31, 5000); // Army
- AddPlayerClass(70,-2140.2090,-233.1173,36.5156,86.7549, 27, 9999, 24, 9999, 34, 9999); // Lab
- /// Parachutes in plane
- AddStaticPickup(371, 15, 319.3416, 1020.7169,1950.6696);
- AddStaticPickup(371, 15, 312.6138, 1020.7346,1950.6655);
- AddStaticVehicle(487,-1991.5511,101.1975,27.7094,85.5666,56,76); // heli1
- AddStaticVehicle(419,-2029.4258,157.3501,28.6333,178.6565,47,76); // esperanto1
- AddStaticVehicle(461,-1968.4341,111.1161,27.2721,0.0488,37,1); // pcj1
- AddStaticVehicle(581,-1977.4008,115.1169,27.2904,353.0768,66,1); // bf-1
- AddStaticVehicle(549,-1986.7366,137.6883,27.3076,0.8248,72,39); // tampa1
- AddStaticVehicle(566,-1988.5802,195.2709,27.3205,177.7690,30,8); // tahoma1
- AddStaticVehicle(587,-2011.0776,163.8762,27.3320,181.2359,40,1); // euros1
- AddStaticVehicle(492,-1995.1697,163.1170,27.3919,180.4255,77,26); // greenwood1
- AddStaticVehicle(529,-1995.0192,153.4520,27.2445,179.7857,42,42); // willard1
- gRoundTimer = SetTimer("DefenceWin", gRoundTime, 0);
- return 1;
- }
- //---------------------------------------------------------
- public DefenceWin() {
- EndTheRound(DEFENCE_WIN);
- }
- //---------------------------------------------------------
- public OnPlayerConnect(playerid)
- {
- GameTextForPlayer(playerid,"~b~Jordan's Doherty Break-In",6000,9);
- SetPlayerColor(playerid, COLOR_YELLOW);
- SetTimerEx("SettingPlayerTeam",10,1,"d",playerid);
- return 1;
- }
- //---------------------------------------------------------
- SetupPlayerForClassSelection(playerid)
- {
- SetPlayerInterior(playerid,9);
- SetPlayerFacingAngle(playerid,0.0);
- SetPlayerPos(playerid,315.7802,972.0253,1961.8705);
- SetPlayerCameraPos(playerid,315.7802,975.0253,1961.8705);
- SetPlayerCameraLookAt(playerid,315.7802,972.0253,1961.8705);
- return;
- }
- //---------------------------------------------------------
- SetPlayerTeamFromClass(playerid, classid) {
- if(classid == 0 || classid == 1) {
- gTeam[playerid] = TEAM_ATTACK;
- } else if(classid == 2 || classid == 3) {
- gTeam[playerid] = TEAM_DEFENCE;
- }
- }
- //---------------------------------------------------------
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerTeamFromClass(playerid, classid);
- SetupPlayerForClassSelection(playerid);
- gPlayerClass[playerid] = classid;
- switch (classid) {
- case 0, 1:
- {
- GameTextForPlayer(playerid, "~r~Attack", 1000, 3);
- }
- case 2, 3:
- {
- GameTextForPlayer(playerid, "~g~Defence", 1000, 3);
- }
- }
- return 1;
- }
- //---------------------------------------------------------
- public OnPlayerSpawn(playerid)
- {
- SetPlayerArmour(playerid, 100);
- SetPlayerToTeamColour(playerid);
- switch (gPlayerClass[playerid]) {
- case 0:
- {
- gPlayerCheckpointStatus[playerid] = CHECKPOINT_PLANE;
- SetPlayerCheckpoint(playerid,315.7353,1035.6589,1945.1191,5.0);
- SetPlayerInterior(playerid,9);
- GameTextForPlayer(playerid, "There's an ~y~ parachute at the end of the ramp", 2000, 3);
- }
- case 1:
- {
- gPlayerCheckpointStatus[playerid] = CHECKPOINT_DOHERTY;
- GameTextForPlayer(playerid, "Drive to the building and capture the checkpoint!", 11000, 1);
- SetPlayerInterior(playerid,0);
- }
- case 2, 3:
- {
- gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
- GameTextForPlayer(playerid, "Defend the building. Dont let the Attackers past you!", 11000, 1);
- SetPlayerInterior(playerid,0);
- }
- }
- return 1;
- }
- //---------------------------------------------------------
- SetPlayerToTeamColour(playerid) {
- if(gTeam[playerid] == TEAM_ATTACK) {
- SetPlayerColor(playerid,COLOR_RED); // Red
- } else if(gTeam[playerid] == TEAM_DEFENCE) {
- SetPlayerColor(playerid,COLOR_GREEN); // Green
- }
- }
- //---------------------------------------------------------
- public OnPlayerEnterCheckpoint(playerid) {
- switch (gPlayerCheckpointStatus[playerid]) {
- case CHECKPOINT_PLANE:
- {
- GameTextForPlayer(playerid, "Now parachute to ~g~the Building.", 2000, 5);
- SetPlayerInterior(playerid,0);
- SetPlayerPos(playerid, -2048.0378, -48.1043, 712.5142);
- SetPlayerCheckpoint(playerid, -2145.8447, -254.4387, 40.7195, 5.0);
- gPlayerCheckpointStatus[playerid] = CHECKPOINT_DOHERTY;
- }
- case CHECKPOINT_DOHERTY:
- {
- DisablePlayerCheckpoint(playerid);
- gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
- EndTheRound(ATTACK_WIN);
- }
- default:
- {
- DisablePlayerCheckpoint(playerid);
- }
- }
- return 1;
- }
- //---------------------------------------------------------
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if (killerid != INVALID_PLAYER_ID) {
- if (gTeam[playerid] == gTeam[killerid]) {
- SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
- }
- else {
- SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
- }
- }
- SendDeathMessage(killerid, playerid, reason);
- DisablePlayerCheckpoint(playerid);
- gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
- SetPlayerColor(playerid,COLOR_GREY);
- return 1;
- }
- //---------------------------------------------------------
- EndTheRound(winner) {
- switch (winner) {
- case ATTACK_WIN:
- {
- GameTextForAll("Attackers Win!", 7000, 3);
- KillTimer(gRoundTimer);
- }
- case DEFENCE_WIN:
- {
- GameTextForAll("Defenders Win!", 7000, 3);
- SendClientMessageToAll(COLOR_GREEN, "10 minutes have passed");
- }
- }
- SetTimer("GameModeExitFunc", 5000, 0);
- }
- //---------------------------------------------------------
- public GameModeExitFunc()
- {
- GameModeExit();
- }
- public SettingPlayerTeam()
- {
- for(new playerid; playerid < 200; playerid++)
- SetPlayerTeam(playerid, gTeam[playerid]);
- return 1;
- }
- //------------------------------------------------------------
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp("/help", cmdtext, true, 10) == 0)
- {
- SendClientMessage(playerid, blue, "Welcome to Doherty Break-In coded by [Xs]Jordan (on December 2008)");
- SendClientMessage(playerid, blue, "type /objective to see what to do");
- SendClientMessage(playerid, blue, "Or type /attack | /defend to switch from team");
- return 1;
- }
- if(strcmp("/objective", cmdtext, true, 10) == 0)
- {
- SendClientMessage(playerid, COLOR_RED, "---------------Attackers--------------");
- SendClientMessage(playerid, COLOR_RED, "As Attacker you gotta parachute to the building.");
- SendClientMessage(playerid, COLOR_RED, "There's an parachute at the end of the range.");
- SendClientMessage(playerid, COLOR_RED, "While you got the parachute, goto the building.");
- SendClientMessage(playerid, COLOR_RED, "When your landed, run to the Checkpoint to win!");
- SendClientMessage(playerid, COLOR_GREEN, "---------------Defenders---------------");
- SendClientMessage(playerid, COLOR_GREEN, "Make sure the attackers DONT passed you.");
- SendClientMessage(playerid, COLOR_GREEN, "You have to defend the Checkpoint (red maker)");
- SendClientMessage(playerid, COLOR_GREEN, "You can kill the attackers with your guns ");
- return 1;
- }
- if(strcmp("/attack", cmdtext, true, 10) == 0)
- {
- SetPlayerTeam(playerid, 2);
- SetPlayerSkin(playerid, 113);
- SendClientMessage(playerid, blue, "You have changed your team to 'Attackers'");
- return 1;
- }
- if(strcmp("/defend", cmdtext, true, 10) == 0)
- {
- SetPlayerTeam(playerid, 3);
- SetPlayerSkin(playerid, 287);
- SendClientMessage(playerid, blue, "You have changed your team to 'Defenders'");
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment