#include #define TEAM_COPS 1 #define TEAM_DUDES 2 #define COLOR_GREEN 0x00FF00AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_PINK 0xFF66FFAA #define COLOR_GREY 0xAFAFAFAA #define OBJECTIVE_COLOR 0xFFFF00AA new gTeam[MAX_PLAYERS]; forward SetPlayerToTeamColor(playerid); forward SetPlayerTeamFromClass(playerid,classid); forward ExitTheGameMode(); //------------------------------------- main() { print("\n----------------------------------"); print(" Team Cops vs Team Dudes by Jeroen\n"); print("----------------------------------\n"); } //-------------------------- public OnGameModeInit() { SetGameModeText("Cop vs Dudes"); SetWorldTime(12); ShowNameTags(1); ShowPlayerMarkers(1); AddStaticVehicle(420,2482.877,-1654.292,13.30307, 44.8214, 1, 2); AddStaticVehicle(420,2498.986,-1682.171,13.3638, 44.8214, 1, 2); AddPlayerClass(102,2512.473,-1671.403,13.49048,44.8214,9,500,25,500,32,500); AddPlayerClass(103,2512.473,-1671.403,13.49048,44.8214,9,500,25,500,32,500); AddPlayerClass(104,2512.473,-1671.403,13.49048,44.8214,9,500,25,500,32,500); AddPlayerClass(108, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddPlayerClass(110, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddPlayerClass(114, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } //------------------------------------- public OnPlayerConnect(playerid) { SetPlayerColor(playerid,COLOR_GREY); GameTextForPlayer(playerid,"~r~Cop ~w~ ~y~vs ~y~Dudes!",2000,5); return 1; } //------------------------------------- public OnPlayerRequestClass(playerid, classid) { SetPlayerInterior(playerid,11); SetPlayerPos(playerid,508.7362,-87.4335,998.9609); SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609); SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609); SetPlayerFacingAngle(playerid,0.0); return 1; } //------------------------------------- public SetPlayerTeamFromClass(playerid,classid) { SendClientMessage(playerid, COLOR_PINK, "SetPlayerTeamFromClass Called"); if(classid == 108 || classid == 110 || classid == 114) { gTeam[playerid] = TEAM_COPS; } else if(classid == 102 || classid == 103|| classid == 104) { gTeam[playerid] = TEAM_DUDES; } } //------------------------------------- public SetPlayerToTeamColor(playerid) { if(gTeam[playerid] == TEAM_COPS) { SetPlayerColor(playerid,COLOR_YELLOW); } else if(gTeam[playerid] == TEAM_DUDES) { SetPlayerColor(playerid,COLOR_PINK); } } //----------------------------------------- public OnPlayerSpawn(playerid) { SetPlayerTeamFromClass(playerid, GetPlayerSkin(playerid)); SetPlayerToTeamColor(playerid); SetPlayerInterior(playerid,0); if(gTeam[playerid] == TEAM_COPS) { GameTextForPlayer(playerid,"Kill the ~r~Dudes!", 6000,5); } else if(gTeam[playerid] == TEAM_DUDES) { GameTextForPlayer(playerid,"Kill the ~y~Cops!", 6000,5); } return 1; } //--------------------------------------------- public ExitTheGameMode() { GameModeExit(); } //------------------------------------------ public OnPlayerDeath(playerid, killerid, reason) { new deathstr[256]; new whodiedname[MAX_PLAYER_NAME+1]; new whokilledname[MAX_PLAYER_NAME+1]; new deathreasonstr[256]; GetPlayerName(playerid,whodiedname,MAX_PLAYER_NAME); GetWeaponName(reason,deathreasonstr,255); if(killerid == INVALID_PLAYER_ID) { if(strlen(deathreasonstr)) { format(deathstr,256,"%s died (%s)",whodiedname,deathreasonstr); } else { format(deathstr,256,"%s died",whodiedname); } SendClientMessageToAll(OBJECTIVE_COLOR, deathstr); } else { GetPlayerName(killerid,whokilledname,MAX_PLAYER_NAME); if(gTeam[killerid] != gTeam[playerid]) { // Valid kill if(strlen(deathreasonstr)) { format(deathstr,256,"%s was killed by %s (%s)",whodiedname,whokilledname,deathreasonstr); GivePlayerMoney(playerid, 20000); } else { format(deathstr,256,"%s was killed by %s",whodiedname,whokilledname); } SendClientMessageToAll(OBJECTIVE_COLOR, deathstr); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); } else { // Team kill format(deathstr,256,"%s killed team-mate %s (%s)",whokilledname,whodiedname,deathreasonstr); SendClientMessageToAll(OBJECTIVE_COLOR, deathstr); } } return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerPrivmsg(playerid, recieverid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/mycommand", cmdtext, true, 10) == 0) { // Do something here return 1; } if(strcmp("/kill", cmdtext, true) == 0) { SetPlayerPos(playerid, 1922.5964, -1399.8970, 40.000); SendClientMessage(playerid, COLOR_GREEN, "Your dead meat"); SendClientMessageToAll(COLOR_GREY, "***Somebody died!"); return 1; } if(strcmp("/minigun", cmdtext, true) == 0) { GivePlayerWeapon(playerid, 38, 900); GivePlayerMoney(playerid, -1000); return 1; } if(strcmp("/flame", cmdtext, true) == 0) { GivePlayerWeapon(playerid, 37, 900); GivePlayerMoney(playerid, -1000); return 1; } return 0; } public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { SendClientMessage(playerid, COLOR_GREEN, "You entered an Vehicle!"); return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; }