Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Includes
- #include <a_samp>
- //Defines
- //Defines (Mission)
- #define MISSION_TIME 480
- #define TEAM_A 1
- #define TEAM_B 2
- #define MAX_CLASSES 4
- //Defines (Colors)
- #define GREY 0x666666FF
- #define GREEN 0x00FF00FF
- #define LGREEN 0x66FF66FF
- #define RED 0xFF0000FF
- #define YELLOW 0xFFFF00FF
- #define BLANK 0xFFFFFFFF
- //Defines (Misc)
- #define UseBrackets if(negative != positive)
- #define CreateVarTimer(%0,%1) %0 = SetTimer(%1)
- #define SafeKillTimer(%0); if(%0 != 0)\
- {\
- KillTimer(%0);\
- %0 = 0;\
- }
- //Defines (Formats)
- #define TextDrawSetStringF(%0,%1,%2); UseBrackets\
- {\
- new formatstring[512];\
- format(formatstring,sizeof(formatstring),%1,%2);\
- TextDrawSetString(%0,formatstring);\
- }
- //Enums
- enum Spawns
- {
- Float:SPAWN_AX,
- Float:SPAWN_AY,
- Float:SPAWN_AZ,
- Float:SPAWN_AROTZ,
- Float:SPAWN_BX,
- Float:SPAWN_BY,
- Float:SPAWN_BZ,
- Float:SPAWN_BROTZ,
- }
- //News
- //News (Mission)
- new bool:negative = false, bool:positive = true, Objective, TeamClass[MAX_CLASSES], tickedtime, ClassWep[MAX_CLASSES][3], ClassAmmo[MAX_CLASSES][3], Text:CountdownTD, Text:Wpn[MAX_PLAYERS], Text:Wpn1[MAX_PLAYERS], Text:Wpn2[MAX_PLAYERS];
- //News (Public Timers)
- new countdowntimer;
- //News (Misc Arrays)
- new WeapName[][32] = {
- {"N/A"}, // 0
- {"Brass Knuckles"}, // 1
- {"Golf Club"}, // 2
- {"Night Stick"}, // 3
- {"Knife"}, // 4
- {"Baseball Bat"}, // 5
- {"Shovel"}, // 6
- {"Pool Cue"}, // 7
- {"Katana"}, // 8
- {"Chainsaw"}, // 9
- {"Dildo"}, // 10
- {"B-White Vibrator"}, // 11
- {"M-White Vibrator"}, // 12
- {"S-White Vibrator"}, // 13
- {"Flowers"}, // 14
- {"Cane"}, // 15
- {"Grenade"}, // 16
- {"Teargas"}, // 17
- {"Molotov"}, // 18
- {" "}, // 19
- {" "}, // 20
- {" "}, // 21
- {"Pistol"}, // 22
- {"S-Pistol"}, // 23
- {"Deagle"}, // 24
- {"Shotgun"}, // 25
- {"Sawnoff"}, // 26
- {"SPAZ"}, // 27
- {"UZI"}, // 28
- {"MP5"}, // 29
- {"AK47"}, // 30
- {"M4"}, // 31
- {"Tec9"}, // 32
- {"Country Rifle"}, // 33
- {"Sniper"}, // 34
- {"RPG"}, // 35
- {"HS RPG"}, // 36
- {"Flamethrower"}, // 37
- {"Minigun"}, // 38
- {"Satchel Bombs"}, // 39
- {"Detonator"}, // 40
- {"Spray Can"}, // 41
- {"Fire Extinguisher"}, // 42
- {"Camera"}, // 43
- {"NV Goggles"}, // 44
- {"IRV Goggles"}, // 45
- {"Parachute"}, // 46
- {"Fake Pistol"} // 47
- };
- new Spawn[][Spawns] = {
- {-1105.9673, -1637.2704, 76.3672, 275.6392, -1183.3479, -1139.1335, 129.2188, 21.7289,},
- {-1112.3003, -1673.1960, 76.3672, 7.4233, -1059.5410, -1067.6877, 129.2259, 357.7773,}
- };
- //Forwards
- forward ExitTheGameMode();
- forward Countdown();
- //Stocks
- stock PlaySoundForAll(soundid, Float:x, Float:y, Float:z) for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayerPlaySound(i, soundid, x, y, z);
- stock AddPlayerClass2(playerid, Float:x, Float:y, Float:z, Float:rotz, wep1, ammo1, wep2, ammo2, wep3, ammo3)
- {
- new classid = AddPlayerClass(playerid, Float:x, Float:y, Float:z, Float:rotz, wep1, ammo1, wep2, ammo2, wep3, ammo3);
- ClassWep[classid][0] = wep1;
- ClassAmmo[classid][0] = ammo1;
- ClassWep[classid][1] = wep2;
- ClassAmmo[classid][1] = ammo2;
- ClassWep[classid][2] = wep3;
- ClassAmmo[classid][2] = ammo3;
- return classid;
- }
- //Misc
- main()
- {
- print("\n--------------------------------------------------------------------");
- print("- Harvestor is made by [TW]RoXoR. ----------------------------------");
- print("- This script has been modified by BigETIĀ©. ------------------------");
- print("- Do not missuse this script or else you'll get troubles with them -");
- print("--------------------------------------------------------------------\n");
- }
- //Publics
- public Countdown()
- {
- tickedtime++;
- new ticktime = MISSION_TIME-tickedtime, tempticktime = ticktime, minutes = 0, seconds = 0;
- while(tempticktime > 59)
- {
- tempticktime = tempticktime-60;
- minutes++;
- }
- seconds = tempticktime;
- TextDrawSetStringF(CountdownTD, "%02d:%02d", minutes, seconds);
- if(ticktime == 0)
- {
- SafeKillTimer(countdowntimer);
- for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
- {
- switch(GetPVarInt(playerid, "IsInTeam"))
- {
- case TEAM_A: GameTextForAll("Mission ~y~ Failed", 3000,5);
- case TEAM_B:
- {
- GameTextForAll("~g~Farmers ~w~have successfully saved the ~y~ Harvestor ~w~ from ~b~The Truth Guys", 5000, 5);
- GivePlayerMoney(playerid, 20000);
- PlaySoundForAll(1185, 0.0, 0.0, 0.0);
- }
- }
- }
- SetTimer("ExitTheGameMode", 6000, 0);
- }
- return 1;
- }
- public ExitTheGameMode()
- {
- PlaySoundForAll(1186, 0.0, 0.0, 0.0);
- GameModeExit();
- }
- public OnGameModeInit()
- {
- //Main
- SetGameModeText("Gang Wars");
- SendRconCommand("mapname Country");
- UsePlayerPedAnims();
- DisableInteriorEnterExits();
- AllowInteriorWeapons(true);
- //Classes
- TeamClass[0] = AddPlayerClass2(33,-1105.9673,-1637.2704,76.3672,275.6392,31,500,29,9000,22,100); // TeamTruth spawn1
- TeamClass[1] = AddPlayerClass2(33,-1112.3003,-1673.1960,76.3672,7.4233,30,350,28,5000,25,250); // TeamTruth spawn2
- TeamClass[2] = AddPlayerClass2(200,-1183.3479,-1139.1335,129.2188,21.7289,31,5000,34,100,16,5); // TFspawn
- TeamClass[3] = AddPlayerClass2(200,-1059.5410,-1067.6877,129.2259,357.7773,30,9000,9,1,24,700); // TFspawn2
- //Objective
- Objective = AddStaticVehicle(532,-1104.2476,-977.7117,130.1947,183.8765,0,0); // harvestor
- //Vehicles
- AddStaticVehicle(424,-1083.4618,-1655.4064,76.1537,273.8077,3,6); // TTcar
- AddStaticVehicle(424,-1088.6721,-1655.7129,76.1545,276.0867,3,6); // TTcar
- AddStaticVehicle(424,-1086.7767,-1651.2168,76.1552,281.6748,3,6); // TTcar
- AddStaticVehicle(424,-1092.2102,-1652.3386,76.1551,281.6733,3,6); // TTcar
- AddStaticVehicle(424,-1084.9082,-1646.1666,76.1474,268.7104,3,6); // TTcar
- AddStaticVehicle(424,-1090.9301,-1646.0222,76.1539,268.6959,3,6); // TTcar
- AddStaticVehicle(424,-1085.4938,-1640.7003,76.1476,270.1216,3,6); // TTcar
- AddStaticVehicle(424,-1092.4248,-1640.7130,76.1538,270.1037,3,6); // TTcar
- AddStaticVehicle(424,-1085.3746,-1635.7444,76.1484,265.1099,3,6); // TTcar
- AddStaticVehicle(424,-1091.7144,-1635.2021,76.1485,265.1093,3,6); // TTcar
- AddStaticVehicle(424,-1003.3716,-1609.4242,76.1481,266.4464,3,6); // TTcar
- AddStaticVehicle(424,-1014.6768,-1608.7222,76.1491,266.4441,3,6); // TTcar
- AddStaticVehicle(424,-1009.4240,-1609.0487,76.1489,266.4432,3,6); // TTcar
- AddStaticVehicle(424,-1003.5905,-1622.0863,76.1481,224.8812,3,6); // TTcar
- AddStaticVehicle(424,-1013.1752,-1620.4647,76.1488,300.7984,3,6); // TTcar
- AddStaticVehicle(424,-990.1639,-1623.6859,76.1462,253.0718,3,6); // TTcar
- AddStaticVehicle(478,-1082.9519,-1182.5693,129.2154,271.2996,39,1); // car1
- AddStaticVehicle(478,-1071.1584,-1181.9585,129.2075,266.8807,39,1); // car2
- AddStaticVehicle(478,-1063.0864,-1181.9574,129.2119,269.8730,39,1); // car3
- AddStaticVehicle(531,-1068.6891,-1154.3542,129.1832,272.5280,51,53); // tractor
- AddStaticVehicle(531,-1028.8585,-1183.8082,129.1866,93.6113,51,53); // tractor
- //Textdraw
- CountdownTD = TextDrawCreate(550.000000, 21.000000, "00:00");
- TextDrawBackgroundColor(CountdownTD, 255);
- TextDrawFont(CountdownTD, 1);
- TextDrawLetterSize(CountdownTD, 0.500000, 1.000000);
- TextDrawColor(CountdownTD, -1);
- TextDrawSetOutline(CountdownTD, 0);
- TextDrawSetProportional(CountdownTD, 1);
- TextDrawSetShadow(CountdownTD, 1);
- TextDrawUseBox(CountdownTD, 1);
- TextDrawBoxColor(CountdownTD, 167772240);
- TextDrawTextSize(CountdownTD, 616.000000, 0.000000);
- //Timers
- CreateVarTimer(countdowntimer, "Countdown", 1000, true);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid,1984.4445,157.9501,55.9384);
- SetPlayerCameraPos(playerid,1984.4445,160.9501,55.9384);
- SetPlayerCameraLookAt(playerid,1984.4445,157.9501,55.9384);
- SetPlayerFacingAngle(playerid,0.0);
- if(classid == TeamClass[0])
- {
- SetPVarInt(playerid, "IsInTeam", TEAM_A);
- GameTextForPlayer(playerid,"~r~Team Truth ~w~Member", 1000, 5);
- }
- else if(classid == TeamClass[1])
- {
- SetPVarInt(playerid, "IsInTeam", TEAM_A);
- GameTextForPlayer(playerid, "~r~Team Truth ~w~Member", 1000, 5);
- }
- if(classid == TeamClass[2])
- {
- SetPVarInt(playerid, "IsInTeam", TEAM_B);
- GameTextForPlayer(playerid,"~g~Farmer ~w~Team", 1000, 5);
- }
- if(classid == TeamClass[3])
- {
- SetPVarInt(playerid, "IsInTeam", TEAM_B);
- GameTextForPlayer(playerid,"~g~Farmer ~w~Team", 1000, 5);
- }
- TextDrawSetStringF(Wpn[playerid], "~r~%s : %d", WeapName[ClassWep[classid][0]], ClassAmmo[classid][0]);
- TextDrawSetStringF(Wpn1[playerid], "~r~%s : %d", WeapName[ClassWep[classid][1]], ClassAmmo[classid][1]);
- TextDrawSetStringF(Wpn2[playerid], "~r~%s : %d", WeapName[ClassWep[classid][2]], ClassAmmo[classid][2]);
- TextDrawShowForPlayer(playerid, Wpn[playerid]);
- TextDrawShowForPlayer(playerid, Wpn1[playerid]);
- TextDrawShowForPlayer(playerid, Wpn2[playerid]);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid, LGREEN, "Mission 'Harvestor' made by [TW]RoXoR");
- SendClientMessage(playerid, LGREEN, "This mission has been completly re-scripted by BigETI");
- SetPlayerColor(playerid, GREY);
- TextDrawShowForPlayer(playerid, CountdownTD);
- Wpn[playerid] = TextDrawCreate(400,250," ");
- TextDrawSetShadow(Wpn[playerid], 0);
- TextDrawSetOutline(Wpn[playerid], 2);
- Wpn1[playerid] = TextDrawCreate(400,270," ");
- TextDrawSetShadow(Wpn1[playerid], 0);
- TextDrawSetOutline(Wpn1[playerid], 2);
- Wpn2[playerid] = TextDrawCreate(400,290," ");
- TextDrawSetShadow(Wpn2[playerid], 0);
- TextDrawSetOutline(Wpn2[playerid], 2);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- TextDrawDestroy(Wpn[playerid]);
- TextDrawDestroy(Wpn1[playerid]);
- TextDrawDestroy(Wpn2[playerid]);
- }
- public OnPlayerSpawn(playerid)
- {
- new spawnid = random(2);
- switch(GetPVarInt(playerid, "IsInTeam"))
- {
- case TEAM_A:
- {
- SetPlayerPos(playerid, Spawn[spawnid][SPAWN_AX], Spawn[spawnid][SPAWN_AY], Spawn[spawnid][SPAWN_AZ]);
- SetPlayerFacingAngle(playerid, Spawn[spawnid][SPAWN_AROTZ]);
- SetPlayerColor(playerid, RED);
- GameTextForPlayer(playerid, "Capture the ~y~Harvestor ~w~from ~g~ the 'Farmers'", 6000, 5);
- }
- case TEAM_B:
- {
- SetPlayerPos(playerid, Spawn[spawnid][SPAWN_BX], Spawn[spawnid][SPAWN_BY], Spawn[spawnid][SPAWN_BZ]);
- SetPlayerFacingAngle(playerid, Spawn[spawnid][SPAWN_BROTZ]);
- SetPlayerColor(playerid, GREEN);
- GameTextForPlayer(playerid, "Defend the ~y~Harvestor ~w~ from ~r~'The Truth' Members.", 6000, 5);
- }
- }
- TextDrawHideForPlayer(playerid,Wpn[playerid]);
- TextDrawHideForPlayer(playerid,Wpn1[playerid]);
- TextDrawHideForPlayer(playerid,Wpn2[playerid]);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- SendDeathMessage(killerid, playerid, reason);
- if(killerid != INVALID_PLAYER_ID)
- {
- if(GetPVarInt(killerid, "IsInTeam") != GetPVarInt(playerid, "IsInTeam"))
- {
- SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
- GivePlayerMoney(playerid, -3000);
- GivePlayerMoney(killerid, 5000);
- }
- }
- return 1;
- }
- public OnVehicleSpawn(vehicleid) return 1;
- public OnVehicleDeath(vehicleid, killerid) return 1;
- public OnPlayerText(playerid, text[]) return 1;
- public OnPlayerCommandText(playerid, cmdtext[]) return 0;
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) return 1;
- public OnPlayerExitVehicle(playerid, vehicleid) return 1;
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- if(GetPVarInt(playerid, "IsInTeam") == TEAM_A && GetPlayerVehicleID(playerid) == Objective)
- {
- GameTextForPlayer(playerid,"~w~Take the ~y~car ~w~back to the ~r~spawn!",3000,5);
- SetPlayerCheckpoint(playerid,-1107.3228,-1620.3885,76.3672,7.0);
- }
- }
- else if(newstate == PLAYER_STATE_ONFOOT) DisablePlayerCheckpoint(playerid);
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(GetPlayerVehicleID(playerid) == Objective && GetPVarInt(playerid, "IsInTeam") == TEAM_A)
- {
- SafeKillTimer(countdowntimer);
- for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) DisablePlayerCheckpoint(i);
- GameTextForAll("~g~ATTACKERS ~w~have won!",3000,5);
- SetPlayerScore(playerid, GetPlayerScore(playerid)+5);
- GivePlayerMoney(playerid, 20000);
- PlaySoundForAll(1185, 0.0, 0.0, 0.0);
- SetVehicleVelocity(Objective, 0.0, 0.0, 0.0);
- RemovePlayerFromVehicle(playerid);
- SetTimer("ExitTheGameMode", 6000, 0);
- }
- }
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid) return 1;
- public OnPlayerEnterRaceCheckpoint(playerid) return 1;
- public OnPlayerLeaveRaceCheckpoint(playerid) return 1;
- public OnRconCommand(cmd[]) return 1;
- public OnPlayerRequestSpawn(playerid) return 1;
- public OnObjectMoved(objectid) return 1;
- public OnPlayerObjectMoved(playerid, objectid) return 1;
- public OnPlayerPickUpPickup(playerid, pickupid) return 1;
- public OnVehicleMod(playerid, vehicleid, componentid) return 1;
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid) return 1;
- public OnVehicleRespray(playerid, vehicleid, color1, color2) return 1;
- public OnPlayerSelectedMenuRow(playerid, row) return 1;
- public OnPlayerExitedMenu(playerid) return 1;
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) return 1;
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) return 1;
- public OnRconLoginAttempt(ip[], password[], success) return 1;
- public OnPlayerUpdate(playerid) return 1;
- public OnPlayerStreamIn(playerid, forplayerid) return 1;
- public OnPlayerStreamOut(playerid, forplayerid) return 1;
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- if(vehicleid == Objective)
- {
- switch(GetPVarInt(forplayerid, "IsInTeam"))
- {
- case TEAM_A: SetVehicleParamsForPlayer(Objective, forplayerid, 1, 0);
- case TEAM_B: SetVehicleParamsForPlayer(Objective, forplayerid, 1, 1);
- }
- }
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid) return 1;
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) return 1;
- public OnPlayerClickPlayer(playerid, clickedplayerid, source) return 1;
Advertisement
Add Comment
Please, Sign In to add comment