#include // main declarations new gTeam[MAX_PLAYERS]; new kingw; new kingb; new kingy; // places // blue team's spawn #define bluex 788.7884 #define bluey -1631.0863 #define bluez 13.3828 #define bluea 3.3077 // yellow team's spawn #define yellowx 1849.5923 #define yellowy -1863.8481 #define yellowz 13.5781 #define yellowa 83.0043 // checkpoint #define checkx 1479.0586 #define checky -1697.5735 #define checkz 14.0469 // weapons #define deagle 24 #define uzi 28 #define tec9 32 #define m4 31 #define ak47 30 #define ammo 900 // colors #define blue 0x00A0FFAA #define yellow 0xFFFF40AA #define white 0xFFFFFFAA #define red 0xFF4040AA // vehicles on team spawns #define alpha 602 #define banshee 429 #define blade 536 #define bullet 541 #define infernus 411 #define linerun 403 #define sabre 475 // vehicles round the city #define burrito 482 #define cabbie 438 #define hermes 474 #define manana 410 #define premier 426 #define stallion 439 #define savanna 567 #define taxi 420 main() { // print out the script-working message print("\n\n|----------------------------------|\n| King of the Hill up and running! |\n|----------------------------------|\n| |\n| |\n\n* If you'll find any bugs etc. mail me at sniper89@tlen.pl *\n"); } public OnGameModeInit() { SetGameModeText("King of the Hill 1.0b"); ShowNameTags(1); ShowPlayerMarkers(1); SetWorldTime(0); kingw = 2; kingb = 0; kingy = 0; SetTimer("kingtimer",1000,1); AddPlayerClass(2, bluex, bluey, bluez, bluea, deagle, ammo, uzi, ammo, m4, ammo); AddPlayerClass(109, yellowx, yellowy, yellowz, yellowa, deagle, ammo, tec9, ammo, ak47, ammo); // vehicle spawns at blue team's spawnpoint AddStaticVehicle(alpha,783.42811,-1637.4600,13.1099,269.7667,2,1); AddStaticVehicle(banshee,783.3790,-1630.4667,13.1099,270.7487,2,1); AddStaticVehicle(blade,783.3318,-1623.3395,13.1099,270.0367,2,1); AddStaticVehicle(bullet,783.3114,-1616.1191,13.1099,270.7319,2,1); AddStaticVehicle(infernus,783.4101,-1609.1530,13.1099,269.6566,2,1); AddStaticVehicle(sabre,783.2789,-1602.0063,13.1099,270.0360,2,1); AddStaticVehicle(linerun,819.8168,-1608.3051,13.2740,230.4075,2,1); // vehicle spawns at yellow team's spawnpoint AddStaticVehicle(alpha,1836.7169,-1854.0336,13.0148,179.2667,6,1); AddStaticVehicle(banshee,1840.0067,-1853.8927,13.0138,178.9389,6,1); AddStaticVehicle(blade,1834.5814,-1870.8862,13.0124,359.7042,6,1); AddStaticVehicle(bullet,1837.9702,-1871.0481,13.0145,358.9055,6,1); AddStaticVehicle(infernus,1841.2870,-1871.5901,13.0148,358.4752,6,1); AddStaticVehicle(sabre,1844.4841,-1870.8223,13.0129,359.6885,6,1); AddStaticVehicle(linerun,1837.0289,-1883.0282,14.0125,88.9477,6,1); // vehicle spawns round the city AddStaticVehicle(burrito,1779.4326,-1928.3236,13.0135,176.8824,-1,-1); AddStaticVehicle(cabbie,1808.4180,-1717.9922,13.1724,359.3620,-1,-1); AddStaticVehicle(hermes,1614.3586,-1894.1757,13.1727,279.7676,-1,-1); AddStaticVehicle(manana,1370.9845,-1898.2631,13.1286,177.5409,-1,-1); AddStaticVehicle(premier,1393.8766,-1898.1573,13.1254,269.3625,-1,-1); AddStaticVehicle(savanna,1406.0754,-1801.7788,13.1720,271.6718,-1,-1); AddStaticVehicle(stallion,1404.4965,-1784.0037,13.1719,271.0101,-1,-1); AddStaticVehicle(taxi,1421.8329,-1547.9740,13.1688,174.0597,-1,-1); AddStaticVehicle(burrito,1546.9733,-1613.2618,13.0080,93.2994,-1,-1); AddStaticVehicle(cabbie,1545.1322,-1606.3599,13.0077,90.4591,-1,-1); AddStaticVehicle(hermes,1459.9840,-1507.4556,13.1741,93.6946,-1,-1); AddStaticVehicle(manana,1225.8889,-1558.0336,13.1723,0.8731,-1,-1); AddStaticVehicle(premier,1124.5583,-1559.5559,13.3325,357.0052,-1,-1); AddStaticVehicle(savanna,976.9384,-1702.4734,13.1609,182.4889,-1,-1); AddStaticVehicle(stallion,883.6884,-1669.3914,13.1718,178.2730,-1,-1); AddStaticVehicle(taxi,869.9617,-1658.2997,13.1718,2.3847,-1,-1); AddStaticVehicle(burrito,788.9207,-1551.3091,13.1940,267.3347,-1,-1); AddStaticVehicle(cabbie,820.8651,-1473.1750,12.5559,351.1437,-1,-1); AddStaticVehicle(hermes,1248.2661,-1426.2916,13.1231,177.5361,-1,-1); AddStaticVehicle(manana,1521.1346,-1460.6790,9.1248,0.5091,-1,-1); AddStaticVehicle(premier,1743.2924,-1799.6869,13.1740,350.6450,-1,-1); return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerColor(playerid, white); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 270.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); SetPlayerColor(playerid, white); if (classid == 0) { gTeam[playerid] = 0; GameTextForPlayer(playerid, "~b~Blue team", 500, 3); } else if (classid == 1) { gTeam[playerid] = 1; GameTextForPlayer(playerid, "~y~Yellow team", 500, 3); } return 1; } public OnGameModeExit() { return 1; } public OnPlayerConnect(playerid) { // set player's color to white SetPlayerColor(playerid, white); // set the checkpoint for the player SetPlayerCheckpoint(playerid,checkx,checky,checkz,5); // show him the welcome message SendClientMessage(playerid,white,"Hello and welcome to King of the Hill!"); SendClientMessage(playerid,white,"For more info type /help in the chat window."); return 1; } public OnPlayerDisconnect(playerid) { return 1; } public OnPlayerSpawn(playerid) { if (gTeam[playerid] == 0) { SetPlayerColor(playerid, blue); } else if (gTeam[playerid] == 1) { SetPlayerColor(playerid, yellow); } SetPlayerInterior(playerid,0); return 1; } public OnPlayerDeath(playerid, killerid, reason) { if(IsPlayerConnected(killerid)) { if(gTeam[playerid] == gTeam[killerid]) { SetPlayerScore(killerid, GetPlayerScore(killerid) - 1); SendClientMessage(killerid, red, "You have killed a teammate - point lost."); } else { SetPlayerScore(killerid, GetPlayerScore(killerid) + 1); } } else { SetPlayerScore(playerid, GetPlayerScore(playerid) - 1); SendClientMessage(playerid, white, "You have died - point lost."); } SendDeathMessage(killerid, playerid, reason); return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(cmdtext, "/help", true)==0) { SendClientMessage(playerid,white,"The point of this game is to capture and hold the checkpoint for as long as possible."); SendClientMessage(playerid,white,"You have to hold the checkpoint for 5 minutes in order to win."); SendClientMessage(playerid,white,"Your team's timer doesn't reset after the enemy team captures it."); SendClientMessage(playerid,white,"Script by sniper89 (sniper89@tlen.pl). Vehicle spawns by storm87 (storm87@tlen.pl)."); return 1; } return 0; } public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { if(kingw != gTeam[playerid]) { if(gTeam[playerid] == 0) { kingw = 0; GameTextForAll("~b~Blue team controlling!",1000,3); } else if(gTeam[playerid] == 1) { kingw = 1; GameTextForAll("~y~Yellow team controlling!",1000,3); } } return; } public kingtimer() { if(kingw == 0) { kingb = kingb + 1; if(kingb == 60) { GameTextForAll("~b~The blue team's timer is at 1/5!",3000,3); } else if(kingb == 120) { GameTextForAll("~b~The blue team's timer is at 2/5!",3000,3); } else if(kingb == 180) { GameTextForAll("~b~The blue team's timer is at 3/5!",3000,3); } else if(kingb == 240) { GameTextForAll("~b~The blue team's timer is at 4/5!",3000,3); } else if(kingb == 360) { GameTextForAll("~b~The blue team wins!",3000,3); GameModeExit(); } } else if(kingw == 1) { kingy = kingy +1; if(kingy == 60) { GameTextForAll("~y~The yellow team's timer is at 1/5!",3000,3); } else if(kingy == 120) { GameTextForAll("~y~The yellow team's timer is at 2/5!",3000,3); } else if(kingy == 180) { GameTextForAll("~y~The yellow team's timer is at 3/5!",3000,3); } else if(kingy == 240) { GameTextForAll("~y~The yellow team's timer is at 4/5!",3000,3); } else if(kingy == 360) { GameTextForAll("~y~The yellow team wins!",3000,3); GameModeExit(); } } return; }