rendered paste body#include <a_samp>
#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;
}