rendered paste body// Sherman Dam Break-in GM 0.1
// Coded by Chiarboss
// ©2007
// Dont edit code or part of it without my permission
// To get permission contact: marco.chiarelli@hotmail.it
#include <a_samp>
#pragma tabsize 0
#define TEAM_ATTACK 1
#define TEAM_DEFENCE 2
#define CHECKPOINT_NONE 0
#define CHECKPOINT_CALIGULA 1
#define CHECKPOINT_AIRPORT 2
#define CHECKPOINT_SHERMAN1 3
#define CHECKPOINT_SHERMAN2 4
#define CHECKPOINT_RAY 5
#define CHECKPOINT_KACC 6
#define DEFENCE_WIN 0
#define ATTACK_WIN 1
//colori
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
//-------------------------------------------------------------------------
forward DefenceWin();
forward GameModeExitFunc();
forward Update0();
forward Update1();
forward ExitVehicle(playerid);
//-------------------------------------------------------------------------
new gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
new gPlayerCheckpointStatus[MAX_PLAYERS];
new consecutive[MAX_PLAYERS];
new st;
new inexplo;
new invehicle[MAX_PLAYERS];
new inshop[MAX_PLAYERS];
new tk[MAX_PLAYERS];
new inairport[MAX_PLAYERS];
new inray[MAX_PLAYERS];
new removev;
new gRoundTimer;
new gRoundTime = 1200000;
new gRoundUpdate0 = 300000;
new gRoundUpdate1 = 900000;
//-------------------------------------------------------------------------
main()
{
print("\nLoaded Sherman Dam Break-in GM 0.1\n");
}
//-------------------------------------------------------------------------
public OnGameModeInit()
{
UsePlayerPedAnims();
SetGameModeText("Sherman Dam Break-in GM 0.1");
ShowPlayerMarkers(1);
ShowNameTags(1);
SetWorldTime(7);
SetTeamCount(2);
gRoundTimer = SetTimer("DefenceWin", gRoundTime, 0);
SetTimer("Update0", gRoundUpdate0, 0);
SetTimer("Update1", gRoundUpdate1, 0);
inexplo = 0;
st = 0;
AddPlayerClass(287,2168.1194,1678.6793,10.8203,93.8138,0,0,0,0,0,0);
AddPlayerClass(294,-828.4722,1967.8661,7.0000,186.7677,0,0,0,0,0,0);
AddPlayerClass(294,-594.8962,1975.9142,7.0000,167.8006,0,0,0,0,0,0);
AddStaticVehicle(432,2108.6594,1683.2080,10.5273,90.6530,0,0);
AddStaticVehicle(432,-796.4164,2443.9121,157.0537,38.1263,0,0);
AddStaticVehicle(432,-774.9176,2438.1721,157.0856,304.6629,0,0);
AddStaticVehicle(432,-767.8898,2414.9910,157.0676,248.1868,0,0);
AddStaticVehicle(432,-786.1514,2399.2346,156.7656,199.6895,0,0);
AddStaticVehicle(447,-618.4994,1802.7914,0.8262,75.6742,13,124);
AddStaticVehicle(476,1287.9806,1403.6949,11.5293,243.5030,119,117);
AddStaticVehicle(476,1283.6156,1386.5103,11.5419,272.1057,89,91);
AddStaticVehicle(553,1459.0042,1751.6881,12.1480,182.0888,116,9);
AddStaticVehicle(553,1499.0662,1752.5410,12.1579,180.9566,116,9);
AddStaticVehicle(553,1461.4415,1628.6957,12.1415,179.2513,116,9);
AddStaticVehicle(553,1493.1433,1627.5371,12.1504,180.0271,116,9);
AddStaticVehicle(553,1434.5272,1505.9254,12.1468,179.5356,116,9);
AddStaticVehicle(588,-907.5217,1996.4999,60.8192,358.4760,13,124);
AddStaticVehicle(548,-795.9123,2414.3711,158.5281,83.2206,0,0);
AddStaticVehicle(598,2118.6438,1644.7252,10.4950,102.7650,0,1);
AddStaticVehicle(521,2124.9121,1684.5918,10.0832,34.9981,44,68);
AddStaticVehicle(523,2139.3687,1683.4556,10.0865,224.3105,1,0);
AddStaticVehicle(420,2136.0461,1712.9703,10.5294,61.9722,6,1);
AddStaticVehicle(420,2109.5334,1721.3896,10.5305,81.4388,6,1);
AddStaticVehicle(427,2172.5049,1670.7118,10.9522,90.9776,0,1);
AddStaticVehicle(427,2172.4875,1673.9496,10.9523,92.0971,0,1);
AddStaticVehicle(427,2172.3638,1677.1737,10.9520,92.2242,0,1);
AddStaticVehicle(427,2172.2437,1680.3688,10.9523,93.2887,0,1);
AddStaticVehicle(427,2172.0188,1683.5275,10.9520,94.4577,0,1);
AddStaticVehicle(427,2171.9478,1686.5872,10.9523,94.2898,0,1);
AddStaticVehicle(461,2162.6965,1649.4224,10.6628,67.1045,65,1);
AddStaticVehicle(461,2163.2717,1654.8124,10.6289,203.4182,65,1);
AddStaticVehicle(420,1714.0078,1467.8071,10.5098,343.4581,6,1);
AddStaticVehicle(402,1679.2280,1316.6279,10.6431,180.4150,90,90);
AddStaticVehicle(521,1670.1116,1297.7041,10.3811,359.4012,87,118);
AddStaticVehicle(567,1641.6333,1299.2090,10.6994,270.5966,97,96);
AddStaticVehicle(519,1283.4996,1361.3173,11.5412,271.1681,1,6);
AddStaticVehicle(519,1282.9691,1324.8823,11.5077,275.0476,7,6);
AddStaticVehicle(415,1319.1040,1279.1709,10.5972,0.9657,62,1);
AddStaticVehicle(468,-656.2997,2315.4631,138.1148,33.1422,6,6);
AddStaticVehicle(460,-816.4113,2222.7375,42.3036,268.1870,1,3);
AddStaticVehicle(460,-1029.2809,2237.2266,42.3354,260.8091,1,3);
AddStaticVehicle(446,-861.8010,2045.7997,40.0589,40.2494,3,1);
AddStaticVehicle(446,-800.5129,2076.6377,40.0745,21.2339,3,1);
AddStaticVehicle(472,-754.1030,2090.2605,40.0859,10.6473,1,1);
AddStaticVehicle(472,-714.9983,2094.2422,40.1306,2.2419,1,1);
AddStaticVehicle(472,-670.7050,2096.9866,40.0881,351.7869,1,1);
AddStaticVehicle(446,-630.9896,2085.7473,40.1147,341.2050,3,1);
AddStaticVehicle(446,-582.6732,2064.6392,40.1338,327.3508,3,1);
AddStaticVehicle(568,-441.3251,2215.7852,42.2279,189.4196,41,29);
AddStaticVehicle(568,-422.2955,2225.2556,42.2757,0.0619,41,29);
AddStaticVehicle(568,-371.7713,2234.5740,42.3614,285.9787,41,29);
AddStaticVehicle(568,-360.1161,2203.4263,42.3028,113.6460,41,29);
AddStaticVehicle(595,-819.6913,1974.3712,0.1565,212.9742,7,0);
AddStaticVehicle(595,-794.3525,1986.4963,0.1797,211.1877,7,0);
AddStaticVehicle(595,-774.6002,1995.8279,0.2046,208.6543,7,0);
AddStaticVehicle(595,-758.5159,2004.4506,0.2495,216.6229,7,0);
AddStaticVehicle(595,-740.9033,2010.8550,0.1804,188.1494,7,0);
AddStaticVehicle(595,-717.6025,2012.7607,0.2647,185.2788,7,0);
AddStaticVehicle(595,-693.1346,2013.7623,0.1525,179.1454,7,0);
AddStaticVehicle(595,-663.5667,2009.2891,0.1862,168.5919,7,0);
AddStaticVehicle(595,-639.4858,2002.0438,0.2461,151.0208,7,0);
AddStaticVehicle(595,-622.5505,1993.4152,0.2186,154.1874,7,0);
AddStaticVehicle(595,-605.4793,1986.6122,0.1611,154.7078,7,0);
AddStaticVehicle(473,-796.8062,1813.2437,-0.2561,178.0240,1,1);
AddStaticVehicle(539,-817.1433,1810.0961,6.3601,257.6780,16,3);
AddStaticVehicle(539,-817.7199,1815.0702,6.3602,258.5105,16,3);
AddStaticVehicle(539,-818.6281,1821.0846,6.3601,250.8575,16,3);
AddStaticVehicle(514,-922.1779,2008.5720,61.5029,308.2941,66,42);
AddStaticVehicle(470,2545.4875,2790.6111,10.8001,180.7214,0,0);
AddStaticVehicle(404,2545.4734,2759.2034,10.5788,180.3534,113,1);
AddStaticVehicle(404,2541.1711,2759.3005,10.5484,180.1443,113,1);
AddStaticVehicle(542,2570.4070,2747.3474,10.5502,359.3741,84,87);
AddStaticVehicle(487,2567.3267,2814.7434,27.9799,269.0231,6,116);
AddStaticVehicle(487,2560.3228,2844.2458,27.9787,270.0135,6,116);
return 1;
}
//-------------------------------------------------------------------------
public Update0()
{
GameTextForAll("~n~~y~Time Remaining: ~w~15 minutes!", 3000, 3);
return 1;
}
//-------------------------------------------------------------------------
public Update1()
{
GameTextForAll("~n~~y~Time Remaining: ~w~5 minutes!", 3000, 3);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid, 0xFF8A00AA, "Welcome to Sherman Dam Break-in GM 0.1 [coded by Chiarboss]");
SendClientMessage(playerid, 0xFFFFFFAA, "Type /about if you don't now how this mode work");
SendClientMessage(playerid,0xFFFF00AA,"Type /objectives for see the all objectives");
GameTextForPlayer(playerid, "~g~- ~r~Sherman Dam ~y~Break-in ~g~-", 6000, 1);
SendClientMessage(playerid,COLOR_RED,"Choice a character!");
GivePlayerMoney(playerid, 10000);
SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
inshop[playerid] = 0;
invehicle[playerid] = 0;
inairport[playerid] = 0;
inray[playerid] = 0;
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerText(playerid)
{
printf("OnPlayerText(%d)", playerid);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerInfoChange(playerid)
{
printf("OnPlayerInfoChange(%d)");
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new string[256];
new name[MAX_PLAYER_NAME];
if ( vehicleid == 1 || vehicleid == 2 || vehicleid == 3 || vehicleid == 4 || vehicleid == 5 || vehicleid == 6 || vehicleid == 7 || vehicleid == 8) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s entered into Offensive Vehicle ::..", name);
SendClientMessageToAll(0xAA3333AA,string);
}
if ( vehicleid == 15) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s entered into the secret CARGOBOB ::..", name);
SendClientMessageToAll(0xAA3333AA,string);
}
if ( vehicleid == 14) {
if(GetPlayerScore(playerid) >= 3) {
SetVehicleParamsForPlayer(82, playerid, 0, 0);
removev = SetTimer("ExitVehicle", 30000, 0);
invehicle[playerid] ++;
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- Welcome to Hot Dog Armory, %s; -", name);
SendClientMessage(playerid, 0xFF8A00AA, string);
SendClientMessage(playerid, 0xFF8A00AA, "Here you can buy");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "/ammunation [1000$]");
SendClientMessage(playerid, 0xFF8A00AA, "/pistol [1200$]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}
else
{
SetVehicleParamsForPlayer(31, playerid, 0, 1);
if(gTeam[playerid] == TEAM_ATTACK) {GameTextForPlayer(playerid,"~n~~r~You ~w~dont have ~r~enough points! ~w~Kill to earn and ~r~come back!",3000,3);}
else if(gTeam[playerid] == TEAM_DEFENCE) {GameTextForPlayer(playerid,"~n~~g~You ~w~dont have ~g~enough points! ~w~Kill to earn and ~g~come back!",3000,3);}
}
}
printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerExitVehicle(playerid, vehicleid)
{
new string[256];
new name[MAX_PLAYER_NAME];
if ( vehicleid == 1 || vehicleid == 2 || vehicleid == 3 || vehicleid == 4 || vehicleid == 5 || vehicleid == 6 || vehicleid == 7 || vehicleid == 8) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s exited from Offensive Vehicle ::..", name);
SendClientMessageToAll(0xAA3333AA,string);
}
if ( vehicleid == 15) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s exited from the secret CARGOBOB ::..", name);
SendClientMessageToAll(0xAA3333AA,string);
}
printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
return 1;
}
//-------------------------------------------------------------------------
public ExitVehicle(playerid)
{
invehicle[playerid] = 0;
SendClientMessage(playerid,0xFF8A00AA, "The invehicle variable has been disabled");
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerSpawn(playerid) {
SetPlayerInterior(playerid,0);
PlayerPlaySound(playerid, 1098, 0, 0, 0);
SendClientMessage(playerid, 0xFF8A00AA, "Type /shop to enter in your Personal Shop.");
consecutive[playerid] = 0;
if (gTeam[playerid] == TEAM_ATTACK) {
GivePlayerWeapon(playerid, 24, 2000);
GivePlayerWeapon(playerid, 27, 1500);
GivePlayerWeapon(playerid, 30, 1250);
SetPlayerColor(playerid,COLOR_RED); // Red
if(inairport[playerid] == 0) {
if(inray[playerid] == 0) {
SetPlayerCheckpoint(playerid,2168.1194,1678.6793,10.8203,23.0);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_CALIGULA;
}
}
if(inairport[playerid] == 1) {
SetPlayerPos(playerid,1477.3075,1717.1224,10.8125);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_SHERMAN1;
SetPlayerCheckpoint(playerid, -655.9024,2096.2085,60.3828, 1);
}
if(inray[playerid] == 1) {
SetPlayerPos(playerid,-605.3276,1934.8464,7.0000);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_KACC;
SetPlayerCheckpoint(playerid, 2613.9790,2721.8391,38.2143,10);
}
}
else if(gTeam[playerid] == TEAM_DEFENCE) {
SetPlayerColor(playerid,COLOR_GREEN); // Green
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
GameTextForPlayer(playerid,"~n~~g~Defend ~y~all objectives...", 5000, 3);
GivePlayerWeapon(playerid, 23, 2000);
GivePlayerWeapon(playerid, 25, 1500);
GivePlayerWeapon(playerid, 31, 1100);
}
return 1;
}
//-------------------------------------------------------------------------
public DefenceWin() {
EndTheRound(DEFENCE_WIN);
return 1;
}
//-------------------------------------------------------------------------
//+----------------------+--------------------------+
//| AntiTeamkill 0.3 | Coded by Franc[e]sco |
//| | noffaganzo@hotmail.it |
//| | and |
//| | Yom yomki@hotmail.fr |
//+----------------------+--------------------------+
//| Dont edit the code without my permission. |
//| To get permission contact noffaganzo@hotmail.it |
//+- - - - - - - - - - - Updates - - - - - - - - - -+
//| Yom - added console message when kick |
//+-------------------------------------------------+
public OnPlayerDeath(playerid, killerid, reason)
{
new string[256];
new name[MAX_PLAYER_NAME];
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
} else {
if(gTeam[killerid] != gTeam[playerid]) {
// Valid kill
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 1000);
GivePlayerMoney(playerid, -1000);
GameTextForPlayer(playerid, "~n~~y~Wasted!", 1000, 3);
GameTextForPlayer(killerid, "~n~~y~Good shot!", 1000, 3);
DisablePlayerCheckpoint(playerid);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
consecutive[killerid]++;
st++;
GetPlayerName(killerid,name, sizeof(name));
if(st == 1)
{
format(string, sizeof(string), "%s made the first kill! +3 kills to him!",name);
SetPlayerScore(killerid, GetPlayerScore(killerid) + 2);
SendClientMessageToAll(COLOR_YELLOW,string);
}
if(consecutive[killerid] == 5)
{
format(string, sizeof(string), "%s is rockin' out!",name);
SendClientMessageToAll(COLOR_YELLOW,string);
}
else if(consecutive[killerid] == 6)
{
format(string, sizeof(string), "OMG! %s is pwning you all!",name);
SendClientMessageToAll(COLOR_YELLOW,string);
}
else if(consecutive[killerid] == 7)
{
format(string, sizeof(string), "WOW! %s ~w~is an omicide fury!",name);
SendClientMessageToAll(COLOR_YELLOW,string);
}
else if(consecutive[killerid] >= 8)
{
format(string, sizeof(string), "%s: the king of the server... 0.0",name);
SendClientMessageToAll(COLOR_YELLOW,string);
}
}
//TEAM KILL
else
{
SendClientMessage(killerid, COLOR_RED, "No teamkilling! Be careful the next time!");
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
GivePlayerMoney(killerid, -2000);
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(playerid, x, y, z);
z = 1000;
SetPlayerPos(killerid, Float:x, Float:y, Float:z);
tk[killerid] ++;
if(tk[killerid] == 2)
{
SendClientMessage(killerid, COLOR_RED, "Once again and you will be kicked!");
}
if(tk[killerid] >= 3)
{
GetPlayerName(killerid,name, sizeof(name));
printf(" -A.T.K Script-: %s kicked for teamkilling",name);
Kick(killerid);
format(string, sizeof(string), "The AntiTeamkill system kicked %s for teamkilling!",name);
SendClientMessageToAll(COLOR_GREEN, string);
}
}
}
return 1;
}
//-------------------------------------------------------------------------
stock SetupPlayerForClassSelection(playerid)
{
SetPlayerInterior(playerid,9);
SetPlayerFacingAngle(playerid,0.0);
SetPlayerPos(playerid,315.7802,972.0253,1961.8705);
SetPlayerCameraPos(playerid,315.7802,975.0253,1961.8705);
SetPlayerCameraLookAt(playerid,315.7802,972.0253,1961.8705);
return;
}
//-------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
SetupPlayerForClassSelection(playerid);
SetPlayerClass(playerid, classid);
gPlayerClass[playerid] = classid;
switch (classid) {
case 0:
{
GameTextForPlayer(playerid, "~n~~r~Attack~n~~n~~w~Weapon: ~r~Desert Eagle, Combat Shotgun, AK47.", 5000, 3);
}
case 1,2:
{
GameTextForPlayer(playerid, "~n~~g~Defence~n~~n~~w~Weapon: ~g~Silenced Pistol, Shotgun, M4.", 5000, 3);
}
}
return 1;
}
//-------------------------------------------------------------------------
SetPlayerClass(playerid, classid) {
if(classid == 0) {
gTeam[playerid] = TEAM_ATTACK;
} else if(classid == 1 || classid == 2) {
gTeam[playerid] = TEAM_DEFENCE;
}
}
//-------------------------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid) {
new playervehicleid = GetPlayerVehicleID(playerid);
switch (gPlayerCheckpointStatus[playerid]) {
case CHECKPOINT_CALIGULA: {
gPlayerCheckpointStatus[playerid] = CHECKPOINT_AIRPORT;
SetPlayerCheckpoint(playerid, 1477.3075,1717.1224,10.8125,5.0);
GameTextForPlayer(playerid,"~n~~r~Go ~w~to ~y~LV Airport!",5000,3);
}
case CHECKPOINT_AIRPORT: {
inairport[playerid] = 1;
gPlayerCheckpointStatus[playerid] = CHECKPOINT_SHERMAN1;
SetPlayerCheckpoint(playerid, -655.9024,2096.2085,60.3828, 1);
GameTextForPlayer(playerid, "~n~~r~Take ~w~a ~y~airplane ~w~and ~n~~r~go ~w~to ~r~disable ~n~~w~the ~r~first electrical circuit!", 5000, 3);
}
case CHECKPOINT_SHERMAN1: {
gPlayerCheckpointStatus[playerid] = CHECKPOINT_SHERMAN2;
SetPlayerCheckpoint(playerid, -643.2387,2145.8738,60.3828, 1);
GameTextForPlayer(playerid, "~n~~r~Disable ~w~the ~r~second electrical circuit!", 5000, 3);
}
case CHECKPOINT_SHERMAN2: {
gPlayerCheckpointStatus[playerid] = CHECKPOINT_RAY;
SetPlayerCheckpoint(playerid, -605.3276,1934.8464,7.0000, 2.5);
GameTextForPlayer(playerid, "~n~~r~Put ~w~the bomb on the ~r~principal control panel!", 5000, 3);
}
case CHECKPOINT_RAY: {
inairport[playerid] = 0;
inray[playerid] = 1;
gPlayerCheckpointStatus[playerid] = CHECKPOINT_KACC;
SetVehicleParamsForPlayer(15,playerid,1,0);
SetPlayerCheckpoint(playerid, 2613.9790,2721.8391,38.2143, 10);
GameTextForPlayer(playerid, "~n~~r~Take ~w~the ~y~secret CARGOBOB ~w~and take it to the ~r~K.A.C.C. base!", 5000, 3);
}
case CHECKPOINT_KACC: {
if (playervehicleid == 15 && gTeam[playerid] == TEAM_ATTACK) {
DisablePlayerCheckpoint(playerid);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
EndTheRound(ATTACK_WIN);
} else {
GameTextForPlayer(playerid, "~n~~w~You ~r~are not ~w~in the ~y~secret CARGOBOB!", 5000, 3);
}
}
default: {
DisablePlayerCheckpoint(playerid);
}
}
return 1;
}
//-------------------------------------------------------------------------
public OnVehicleDeath(vehicleid) {
if (vehicleid == 15) {
inexplo ++;
if (inexplo >= 2) {
EndTheRound(DEFENCE_WIN);
}
}
return 1;
}
//-------------------------------------------------------------------------
EndTheRound(winner) {
switch (winner) {
case ATTACK_WIN: {
GameTextForAll("~n~~w~The attackers ~r~have carried ~w~to destination the ~y~secret CARGOBOB", 5000, 6);
KillTimer(gRoundTimer);
}
case DEFENCE_WIN: {
GameTextForAll("~n~~w~The ~y~secret CARGOBOB ~g~was successfully defended!", 5000, 6);
}
}
SetTimer("GameModeExitFunc", 5000, 0);
for (new i=0; i<MAX_PLAYERS; i++) {
if (IsPlayerConnected(i)) {
TogglePlayerControllable(i,0);
}
}
}
//-------------------------------------------------------------------------
public GameModeExitFunc()
{
for (new i=0; i<MAX_PLAYERS; i++) {
if (IsPlayerConnected(i)) {
SendClientMessage(i,0xFF8A00AA,"Thanks for have played at Sherman Dam Break-in GM 0.1");
}
}
GameModeExit();
}
//-------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256];
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/objectives", true)==0){
SendClientMessage(playerid,0xFFFF00AA,"- First and second electric circuit at the Sherman Dam;");
SendClientMessage(playerid,0xFFFF00AA,"- Control panel on the Waterway;");
SendClientMessage(playerid,0xFFFF00AA,"- secret CARGOBOB;");
return 1;
}
if(strcmp(cmd, "/about", true)==0){
SendClientMessage(playerid,0xFFFFFFAA,"Sherman Dam Break-in GM 0.1");
SendClientMessage(playerid,0xFFFFFFAA,"This gamemode was created by Chiarboss;");
SendClientMessage(playerid,0xFFFFFFAA,"Do NOT copy this gamemode code or part of it.");
return 1;
}
if(strcmp(cmd, "/cmdlist", true)==0){
SendClientMessage(playerid,0xFFFF00AA,"/cmdlist ;");
SendClientMessage(playerid,0xFFFF00AA,"/objectives ;");
SendClientMessage(playerid,0xFFFF00AA,"/about ;");
SendClientMessage(playerid,0xFFFF00AA,"/shophelp ;");
SendClientMessage(playerid,0xFFFF00AA,"/hotdoghelp ;");
SendClientMessage(playerid,0xFFFF00AA,"/tips ;");
return 1;
}
if (strcmp(cmd, "/shophelp", true)==0) {
SendClientMessage(playerid,0xFFFF00AA,"If you are spawned, press /shop for enter in your Personal Shop;");
SendClientMessage(playerid,0xFFFF00AA,"Type /shotgun if you want buy a Shotgun for 1000$;");
SendClientMessage(playerid,0xFFFF00AA,"type /sawnoff if you want buy a Sawn Off Shotgun for 1200$. Type /combat if you want");
SendClientMessage(playerid,0xFFFF00AA,"buy a Combat Shotgun for 2000$. Every time that you choose an option,");
SendClientMessage(playerid,0xFFFF00AA,"you will newly press /armory.");
return 1;
}
if(strcmp(cmd, "/hotdoghelp", true)==0){
SendClientMessage(playerid,0xFFFF00AA,"If you try to enter in the Hot Dog Van in Sherman Dam,");
SendClientMessage(playerid,0xFFFF00AA,"press /ammunation if you want teleport yourself at Fort Carson Ammunation for 1000$;");
SendClientMessage(playerid,0xFFFF00AA,"press /mac10 for buy a Mac10 for 1200$; press /rifle for buy a Rifle for 2000$;");
SendClientMessage(playerid,0xFFFF00AA,"If you have not bought nothing in 30 seconds, the relative invehicle1 variable");
SendClientMessage(playerid,0xFFFF00AA,"it will come automatically disabled.");
SendClientMessage(playerid,0xFFFF00AA,"W: If you dont have at least three points, you will not be able to use it.");
return 1;
}
if(strcmp(cmd, "/shop", true)==0)
{
inshop[playerid] ++;
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
format(string, sizeof(string), "- Welcome to your Personal Shop, %s; -", pname);
SendClientMessage(playerid, 0xFF8A00AA, string);
SendClientMessage(playerid, 0xFF8A00AA, "Here you can buy:");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "/shotgun [1000$]");
SendClientMessage(playerid, 0xFF8A00AA, "/sawnoff [1200$]");
SendClientMessage(playerid, 0xFF8A00AA, "/combat [2000$]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
return 1;
}
if (strcmp(cmd, "/shotgun", true)==0) {
if (inshop[playerid] == 1) {
if(GetPlayerMoney(playerid) >= 1000){
SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Shotgun for 1000$. -");
GivePlayerWeapon(playerid, 25, 99999);
GivePlayerMoney(playerid, -1000);
inshop[playerid] = 0;
} else {
SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}
if (strcmp(cmd, "/sawnoff", true)==0) {
if (inshop[playerid] == 1) {
if(GetPlayerMoney(playerid) >= 1200){
SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Sawn Off Shotgun for 1200$. -");
GivePlayerWeapon(playerid, 26, 99999);
GivePlayerMoney(playerid, -1200);
inshop[playerid] = 0;
} else {
SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}
if (strcmp(cmd, "/combat", true)==0) {
if (inshop[playerid] == 1) {
if(GetPlayerMoney(playerid) >= 2000){
SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Combat Shotgun for 2000$. -");
GivePlayerWeapon(playerid, 27, 99999);
GivePlayerMoney(playerid, -2000);
inshop[playerid] = 0;
} else {
SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}
if(strcmp(cmd, "/ammunation", true) == 0)
{
if(invehicle[playerid] == 1)
{
if(GetPlayerMoney(playerid) >= 1000)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- %s teleported to Fort Carson Ammunation for 1000$. -",name);
SetPlayerPos(playerid,-314.9772,828.3542,14.2422);
SendClientMessageToAll(0xFF8A00AA,string);
GivePlayerMoney(playerid, -1000);
invehicle[playerid] = 0;
KillTimer(removev);
}
else
{
SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}
if(strcmp(cmd, "/pistol", true) == 0)
{
if(invehicle[playerid] == 1)
{
if(GetPlayerMoney(playerid) >= 1200)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- %s bought a Pistol for 1200$. -",name);
SendClientMessageToAll(0xFF8A00AA,string);
GivePlayerMoney(playerid, -1200);
GivePlayerWeapon(playerid,22,99999);
invehicle[playerid] = 0;
KillTimer(removev);
}
else
{
SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}
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;
}