rendered paste body#include <a_samp>
#include <core>
#include <float>
#include <XFuncs>
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_WHITE 0xFFFFFFAA
//Team Defines
#define TEAM_SINATTACK 0
#define TEAM_GUESTATTACK 1
#define TEAM_SINDEFEND 2
#define TEAM_GUESTDEFEND 3
#define TEAM_SINTDM 4
#define TEAM_GUESTTDM 5
#define TEAM_REF 6
static gTeam[MAX_PLAYERS];
new Name[256];
new gPlayerClass[MAX_PLAYERS];
new sendername[MAX_PLAYER_NAME];
new tkscore[MAX_PLAYERS];
new MAXKILLS;
new wpn1, wpn2, wpn3;
new ammo1, ammo2, ammo3;
new DeathCount[MAX_PLAYERS];
new sCount1, sCount2;
new winner[256];
// Round duration
new gRoundTime = 3600000; // 60 mins
//new gRoundTime = 900000; //15 mins
//new gRoundTime = 300000; // 5 mins
#define DEFEND_POINT1 1
new Float:area51checkpoint[DEFEND_POINT1][4] = {
{-22.2549,-55.6575,1003.5469,10}
};
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
main()
{
print("\n----------------------------------");
print(" SFTDM by Cam (2006)\n");
print("----------------------------------\n");
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public OnGameModeInit()
{
SetGameModeText("San Fierro TDM");
SetTeamCount(7);
ShowNameTags(1);
ShowPlayerMarkers(1);
SetWorldTime(19);
rConfig();
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //SINATTACK
AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //SINATTACK
AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //SINATTACK
AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //SINATTACK
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //GUESTATTACK
AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //GUESTATTACK
AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //GUESTATTACK
AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //GUESTATTACK
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //SINDEFEND
AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //SINDEFEND
AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //SINDEFEND
AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //SINDEFEND
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //GUESTDEFEND
AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //GUESTDEFEND
AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //GUESTDEFEND
AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //GUESTDEFEND
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //SINTDM
AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //SINTDM
AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //SINTDM
AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //SINTDM
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //GUESTTDM
AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //GUESTTDM
AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //GUESTTDM
AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //GUESTTDM
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AddPlayerClass(274,-2665.4282,635.6348,14.4531,179.8403,33,40,23,272,4,1); //REF
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AddStaticVehicle(401,-2118.9319,194.8274,35.7567,2.7513,-1,-1);
AddStaticVehicle(401,-2036.5212,305.6321,35.9090,359.8144,-1,-1);
AddStaticVehicle(413,-2087.8369,255.6416,37.0341,357.9168,-1,-1);
AddStaticVehicle(457,-2652.9031,-297.2605,8.0617,315.6009,-1,-1);
AddStaticVehicle(457,-2659.7441,-289.6562,8.0920,313.6239,-1,-1);
//Trains
// AddStaticVehicle(537,-1943.3127,158.0254,27.0006,357.3614,121,1);
// AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1);
// AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1);
// AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1);
SetTimer("GameModeExitFunc", gRoundTime, 0);
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public OnPlayerText(playerid, text[])
{
new strName[MAX_PLAYER_NAME];
new strOut[MAX_STRING];
new i;
i++;
GetPlayerName(playerid, strName, sizeof(strName));
if(text[0] == '!')
{
new string[MAX_STRING];
strmid(string, text, 1, strlen(text), MAX_STRING);
format(strOut, MAX_STRING, "[TC] [%s]: %s", strName, string);
for(i = 0; i<MAX_PLAYERS; i++)
{
if(gTeam[i] == gTeam[playerid])
SendClientMessage(i, COLOR_LIGHTBLUE, strOut);
}
return 0;
}
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid," ~w~Attack ~r~And ~w~Defend ~g~Mode ",7000,1);
SendClientMessage(playerid, COLOR_GREY, "This Is The SiN Attack & Defend Mode.");
SetPlayerColor(playerid, COLOR_GREY);
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public OnPlayerDisconnect(playerid)
{
tkscore[playerid] = 0;
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,0);
for(new i=0; i<MAX_PLAYERS; i++){
GetPlayerName(i,Name,sizeof(Name));
if(gTeam[playerid] == TEAM_SINATTACK) {
if(strfind(Name,"[SiN]",true)==0 || strfind(Name,"[SiN]",true)==0){
SetPlayerColor(playerid,COLOR_GREEN); // Green
//SetTeamPos(TEAM_SINATTACK,Float:x,Float:y,Float:z);
//SetTeamCheckpoint(TEAM_SINATTACK,Float:x,Float:y,Float:z,Float:size);
//SetTeamWorldBounds(TEAM_SINATTACK,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
}else{
GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
SetPlayerInterior(i,6);
SetPlayerSkin(i,252);
SetPlayerColor(i,COLOR_PINK);
ResetPlayerWeapons(i);
GivePlayerWeapon(i,10,1);
SetPlayerPos(i,264.3591,77.5832,1001.0391);
}
}
else if(gTeam[playerid] == TEAM_GUESTATTACK) {
if(strfind(Name,"[Guest]",true)==0 || strfind(Name,"[Guest]",true)==0){
SetPlayerColor(playerid,COLOR_RED); // Red
//SetTeamPos(TEAM_GUESTATTACK,Float:x,Float:y,Float:z);
//SetTeamCheckpoint(TEAM_GUESTATTACK,Float:x,Float:y,Float:z,Float:size);
//SetTeamWorldBounds(TEAM_GUESTATTACK,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
}else{
GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
SetPlayerInterior(i,6);
SetPlayerSkin(i,252);
SetPlayerColor(i,COLOR_PINK);
ResetPlayerWeapons(i);
GivePlayerWeapon(i,10,1);
SetPlayerPos(i,264.3591,77.5832,1001.0391);
}
}
else if(gTeam[playerid] == TEAM_SINDEFEND) {
if(strfind(Name,"[SiN]",true)==0 || strfind(Name,"[SiN]",true)==0){
SetPlayerColor(playerid,COLOR_YELLOW); // Yellow
//SetTeamPos(TEAM_SINDEFEND,Float:x,Float:y,Float:z);
//SetTeamCheckpoint(TEAM_SINDEFEND,Float:x,Float:y,Float:z,Float:size);
//SetTeamWorldBounds(TEAM_SINDEFEND,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
}else{
GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
SetPlayerInterior(i,6);
SetPlayerSkin(i,252);
SetPlayerColor(i,COLOR_PINK);
ResetPlayerWeapons(i);
GivePlayerWeapon(i,10,1);
SetPlayerPos(i,264.3591,77.5832,1001.0391);
}
}
else if(gTeam[playerid] == TEAM_GUESTDEFEND) {
if(strfind(Name,"[Guest]",true)==0 || strfind(Name,"[Guest]",true)==0){
SetPlayerColor(playerid,COLOR_PINK); // Pink
//SetTeamPos(TEAM_GUESTDEFEND,Float:x,Float:y,Float:z);
//SetTeamCheckpoint(TEAM_GUESTDEFEND,Float:x,Float:y,Float:z,Float:size);
//SetTeamWorldBounds(TEAM_GUESTDEFEND,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
}else{
GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
SetPlayerInterior(i,6);
SetPlayerSkin(i,252);
SetPlayerColor(i,COLOR_PINK);
ResetPlayerWeapons(i);
GivePlayerWeapon(i,10,1);
SetPlayerPos(i,264.3591,77.5832,1001.0391);
}
}
else if(gTeam[playerid] == TEAM_SINTDM) {
if(strfind(Name,"[SiN]",true)==0 || strfind(Name,"[SiN]",true)==0){
SetPlayerColor(playerid,COLOR_BLUE); // Blue
//SetTeamPos(TEAM_SINTDM,Float:x,Float:y,Float:z);
//SetTeamCheckpoint(TEAM_SINTDM,Float:x,Float:y,Float:z,Float:size);
//SetTeamWorldBounds(TEAM_SINTDM,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
}else{
GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
SetPlayerInterior(i,6);
SetPlayerSkin(i,252);
SetPlayerColor(i,COLOR_PINK);
ResetPlayerWeapons(i);
GivePlayerWeapon(i,10,1);
SetPlayerPos(i,264.3591,77.5832,1001.0391);
}
}
else if(gTeam[playerid] == TEAM_GUESTTDM) {
if(strfind(Name,"[Guest]",true)==0 || strfind(Name,"[Guest]",true)==0){
SetPlayerColor(playerid,COLOR_LIGHTBLUE); // Light Blue
//SetTeamPos(TEAM_GUESTTDM,Float:x,Float:y,Float:z);
//SetTeamCheckpoint(TEAM_GUESTTDM,Float:x,Float:y,Float:z,Float:size);
//SetTeamWorldBounds(TEAM_GUESTTDM,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
}else{
GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
SetPlayerInterior(i,6);
SetPlayerSkin(i,252);
SetPlayerColor(i,COLOR_PINK);
ResetPlayerWeapons(i);
GivePlayerWeapon(i,10,1);
SetPlayerPos(i,264.3591,77.5832,1001.0391);
}
}
else if(gTeam[playerid] == TEAM_REF) {
SetPlayerColor(playerid,COLOR_DARKRED); // Dark Red
//SetTeamPos(TEAM_REF,Float:x,Float:y,Float:z);
}
}
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
if(TEAM_GUESTTDM[playerid]) {
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
//SetTeamScore(TEAM_SINTDM,-1);
sCount1--;
}
if(TEAM_SINTDM[playerid]) {
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
//SetTeamScore(TEAM_GUESTTDM,-1);
sCount2--;
}
} else {
// Valid kill
new murked[256];
format(murked, sizeof(murked), "You Murked Them!");
SendClientMessage(killerid, 0xFFFF00AA, warning);
SendDeathMessage(killerid,playerid,reason);
if(TEAM_SINTDM[killerid] != TEAM_GUESTTDM[playerid]) {
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
//SetTeamScore(TEAM_SINTDM,+1);
sCount1++;
}
if(TEAM_GUESTTDM[killerid] != TEAM_SINTDM[playerid]) {
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
//SetTeamScore(TEAM_GUESTTDM,+1);
sCount2++;
}
if(sCount1 == MAXKILLS)
{
format(string, sizeof(string), "%s has WON the CLAN WAR!", TEAM_SINTDM);
strins(winner,TEAM_SINTDM,0,sizeof(winner));
iStats();
sStats();
iFreeze();
TogglePlayerControllable(playerid,0);
SendClientMessageToAll(COLOR_YELLOW, string);
}
if(sCount2 == MAXKILLS)
{
format(string, sizeof(string), "%s has WON the CLAN WAR!", TEAM_GUESTTDM);
strins(winner,TEAM_GUESTTDM,0,sizeof(winner));
iStats();
sStats();
iFreeze();
TogglePlayerControllable(playerid,0);
SendClientMessageToAll(COLOR_YELLOW, string);
}
else {
//Team Killer!
new warning[256];
format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling.");
SendClientMessage(killerid, 0xFFFF00AA, warning);
SendDeathMessage(killerid,playerid,reason);
if(TEAM_SINTDM[killerid] != TEAM_SINTDM[playerid]) {
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
//SetTeamScore(TEAM_SINTDM,-1);
tkscore[playerid]++;
sCount1--;
}
if(TEAM_GUESTTDM[killerid] != GUESTTDMTDM[playerid]) {
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
//SetTeamScore(TEAM_GUESTTDM,-1);
tkscore[playerid]++;
sCount2--;
}
}
}
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public SetupPlayerForClassSelection(playerid)
{
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerClass(playerid, classid);
SetupPlayerForClassSelection(playerid);
gPlayerClass[playerid] = classid;
switch (classid) {
case 0,1,2,3://caligulas basement
{
GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~SiN:~n~ ~b~Attack", 5000, 6);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,2144.1433,1631.2375,993.5761);
SetPlayerFacingAngle(playerid,358.4052);
SetPlayerCameraPos(playerid,2144.1621,1634.4103,993.5761);
SetPlayerCameraLookAt(playerid,2144.1433,1631.2375,993.5761);
}
case 4,5,6,7://meat plant
{
GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~ Guest:~n~ ~r~Attack", 5000, 6);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,954.2079,2143.9053,1011.0263);
SetPlayerFacingAngle(playerid,270.8676);
SetPlayerCameraPos(playerid,956.3817,2143.9592,1011.0264);
SetPlayerCameraLookAt(playerid,954.2079,2143.9053,1011.0263);
}
case 8,9,10,11://caligulas basement
{
GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~SiN:~n~ ~r~Defend", 5000, 6);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,2144.1433,1631.2375,993.5761);
SetPlayerFacingAngle(playerid,358.4052);
SetPlayerCameraPos(playerid,2144.1621,1634.4103,993.5761);
SetPlayerCameraLookAt(playerid,2144.1433,1631.2375,993.5761);
}
case 12,13,14,15://meat plant
{
GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~Guest:~n~ ~b~Defend", 5000, 6);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,954.2079,2143.9053,1011.0263);
SetPlayerFacingAngle(playerid,270.8676);
SetPlayerCameraPos(playerid,956.3817,2143.9592,1011.0264);
SetPlayerCameraLookAt(playerid,954.2079,2143.9053,1011.0263);
}
case 16,17,18,19://caligulas basement
{
GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~SiN:~n~ ~y~TDM!", 5000, 6);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,2144.1433,1631.2375,993.5761);
SetPlayerFacingAngle(playerid,358.4052);
SetPlayerCameraPos(playerid,2144.1621,1634.4103,993.5761);
SetPlayerCameraLookAt(playerid,2144.1433,1631.2375,993.5761);
}
case 20,21,22,23://meat plant
{
GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~ Guest:~n~ ~y~TDM!", 5000, 6);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,954.2079,2143.9053,1011.0263);
SetPlayerFacingAngle(playerid,270.8676);
SetPlayerCameraPos(playerid,956.3817,2143.9592,1011.0264);
SetPlayerCameraLookAt(playerid,954.2079,2143.9053,1011.0263);
}
case 24://planning building
{
GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~w~ THE REF", 5000, 6);
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,363.1913,173.7416,1008.3828);
SetPlayerFacingAngle(playerid,269.8084);
SetPlayerCameraPos(playerid,367.1475,173.7715,1008.3828);
SetPlayerCameraLookAt(playerid,363.1913,173.7416,1008.3828);
}
}
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public GameModeExitFunc()
{
GameModeExit();
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public PlayerName(playerid)
{
new pName[256];
GetPlayerName(playerid, pName, sizeof(pName));
return pName;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public iFreeze()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
TogglePlayerControllable(i,0);
}
}
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SetPlayerClass(playerid, classid) {
if(classid == 0 || classid == 1 || classid == 2 || classid == 3) {
gTeam[playerid] = TEAM_SINATTACK;
}
else if(classid == 4 || classid == 5 || classid == 6 || classid == 7) {
gTeam[playerid] = TEAM_GUESTATTACK;
}
else if(classid == 8 || classid == 9 || classid == 10 || classid == 11) {
gTeam[playerid] = TEAM_SINDEFEND;
}
else if(classid == 12 || classid == 13 || classid == 14 || classid == 15) {
gTeam[playerid] = TEAM_GUESTDEFEND;
}
else if(classid == 16 || classid == 17 || classid == 18 || classid == 19) {
gTeam[playerid] = TEAM_SINTDM;
}
else if(classid == 20 || classid == 21 || classid == 22 || classid == 23) {
gTeam[playerid] = TEAM_GUESTTDM;
}
else if(classid == 24) {
gTeam[playerid] = TEAM_REF;
}
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256];
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
if (strcmp(cmdtext, "/help", true)==0){
SendClientMessage(playerid,COLOR_WHITE,"_________________________________________________________________________");
SendClientMessage(playerid,COLOR_WHITE,"ARENAS: /ffarena1-3 - /arena1-9");
SendClientMessage(playerid,COLOR_WHITE,"MISC: /buycar - /getmycar - /savepoint - /loadpoint - /weaponlist");
SendClientMessage(playerid,COLOR_WHITE,"MISC: /me - /flip - /colors - /credits");
SendClientMessage(playerid,COLOR_WHITE,"TELEPORTS: /chillad - /hydra - /boats - /pimps - /seafloor");
SendClientMessage(playerid,COLOR_WHITE,"_________________________________________________________________________");
return 1;
}
if (strcmp(cmdtext, "/baselist", true)==0){
SendClientMessage(playerid,COLOR_WHITE,"_________________________________________________________________________");
SendClientMessage(playerid,COLOR_WHITE,"BASES: LVarea51, LVcarpark1, LVcarpark2, LVbaseballstadium, LVpyramid");
SendClientMessage(playerid,COLOR_WHITE,"BASES: LV, LV, LV, LV, LV");
SendClientMessage(playerid,COLOR_WHITE,"BASES: LS, LS, LS, LS, LS");
SendClientMessage(playerid,COLOR_WHITE,"BASES: LS, LS, LS, LS, LS");
SendClientMessage(playerid,COLOR_WHITE,"BASES: LS, LS, LS, LS, LS");
SendClientMessage(playerid,COLOR_WHITE,"BASES: SF, SF, SF, SF, SF");
SendClientMessage(playerid,COLOR_WHITE,"BASES: SF, SF, SF, SF, SF");
SendClientMessage(playerid,COLOR_WHITE,"_________________________________________________________________________");
return 1;
}
//------------------- /defendarea51
if(strcmp(cmdtext, "/defendarea51", true)==0){
if(TEAM_SINDEFEND[playerid]){
for(new j=0; j < DEFEND_POINT1; j++) {
SetTeamCheckpoint(TEAM_SINDEFEND,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2],area51checkpoint[j][3]);
SetTeamCheckpoint(TEAM_GUESTATTCK,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2],area51checkpoint[j][3]);
SetTeamPos(TEAM_SINDEFEND,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2);
}
if(TEAM_GUESTDEFEND[playerid]){
for(new j=0; j < DEFEND_POINT1; j++) {
SetTeamCheckpoint(TEAM_GUESTDEFEND,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2],area51checkpoint[j][3]);
SetTeamCheckpoint(TEAM_SINATTCK,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2],area51checkpoint[j][3]);
SetTeamPos(TEAM_GUESTDEFEND,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2);
}
return 1;
}
//------------------- /me
if (strcmp(cmdtext, "/me", true, 3) == 0) {
if (strlen(cmdtext) == 3) {
SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /me <emote text>");
return 1;
}
if (strcmp(cmdtext[3], " ", true, 1) != 0) return 0;
GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
format(string, 255, "* %s %s", sendername, cmdtext[4]);
SendClientMessageToAll(COLOR_WHITE,string);
return 1;
}
//------------------- /scores
if(strcmp(cmdtext, "/scores", true)==0)
{
new sstring[256], sstring2[256];
format(sstring, sizeof(sstring), "%s: %d Kills", TEAM_SINTDM, sCount1);
format(sstring2, sizeof(sstring2), "%s: %d Kills", TEAM_GUESTTDM, sCount2);
SendClientMessageToAll(COLOR_YELLOW, sstring);
SendClientMessageToAll(COLOR_YELLOW, sstring2);
return 1;
}
//------------------- /reset
if(strcmp(cmdtext, "/reset", true)==0)
{
if(IsPlayerConnected(playerid) && IsPlayerAdmin(playerid))
{
SendClientMessageToAll(COLOR_YELLOW, "Clan War Reset!");
sCount1 = 0;
sCount2 = 0;
for(new i=0;i<MAX_PLAYERS;i++)
{
TogglePlayerControllable(i,1);
SpawnPlayer(i);
DeathCount[i] = 0;
SetPlayerScore(i, 0);
}
}
}
return 0;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
rConfig()
{
new File:fhandle;
new cname[256];
new temp[256];
new value[256];
fhandle = fopen("ClanConfig.txt",io_readwrite);
while(fread(fhandle,temp,sizeof(temp),false))
{
cname = strtok(temp,0);
value = strtok(temp,(strlen(cname)+1));
if(strcmp(cname,"Team-1",true) == 0) strins(TEAM_SINTDM,value,0,MAX_STRING);
else if(strcmp(cname,"Team-2",true) == 0) strins(TEAM_GUESTTDM,value,0,MAX_STRING);
else if(strcmp(cname,"Max-Clan-Kills",true) == 0) MAXKILLS = strval(value);
else if(strcmp(cname,"Weapon1",true) == 0) wpn1 = strval(value);
else if(strcmp(cname,"Weapon2",true) == 0) wpn2 = strval(value);
else if(strcmp(cname,"Weapon3",true) == 0) wpn3 = strval(value);
else if(strcmp(cname,"Ammo1",true) == 0) ammo1 = strval(value);
else if(strcmp(cname,"Ammo2",true) == 0) ammo2 = strval(value);
else if(strcmp(cname,"Ammo3",true) == 0) ammo3 = strval(value);
}
fclose(fhandle);
return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
iStats()
{
new File:fhandle;
new temp[256], temp2[256], temp3[256];
fhandle = fopen("ClanStats.txt",io_append);
format(temp,sizeof(temp),"ClanWar %s VS %s\r\n",TEAM_SINTDM,TEAM_GUESTTDM);
format(temp2, sizeof(temp2), "Winner: %s\r\n",winner);
format(temp3, sizeof(temp3), "%s: %d || %s: %d\r\n", TEAM_SINTDM, sCount1, TEAM_GUESTTDM, sCount2);
fwrite(fhandle,temp);
fwrite(fhandle,temp2);
fwrite(fhandle,temp3);
fclose(fhandle);
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
sStats()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
new File:fhandle;
new temp[256];
new Score;
Score = GetPlayerScore(i);
new Float:ratio = Float:Score / Float:DeathCount[i];
fhandle = fopen("ClanStats.txt",io_append);
format(temp,sizeof(temp),"%s Kills: %d Deaths: %d Ratio: %0.2f\r\n",PlayerName(i),Score,DeathCount[i],ratio);
fwrite(fhandle,temp);
fclose(fhandle);
}
}
}
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-