rendered paste body// Jewelry Van's Attack GM 0.1b
// 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
static gTeam[MAX_PLAYERS];
#define SLOTS 28
enum SavePlayerPosEnum {
Float:LastX,
Float:LastY,
Float:LastZ
}
new SavePlayerPos[SLOTS][SavePlayerPosEnum];
new UpdateSeconds = 1;
//colori
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_BLUE 0x1111AAFF
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
#define TEAM_ATTACK 1
#define TEAM_DEFENCE 2
//-------------------------------------------------------------------------
new scored = 0;
new scoredex = 32;
new st;
new incar[MAX_PLAYERS];
new inarmory[MAX_PLAYERS],armory;
new teleport;
new tk[MAX_PLAYERS];
new removev[MAX_PLAYERS];
new consecutive[MAX_PLAYERS];
new confirmspeedo[MAX_PLAYERS],speedo;
new briefing[MAX_PLAYERS],briefingex;
new gRoundTimer,Text:Time;
new DMTime;
//-------------------------------------------------------------------------
forward ExitTheGameMode();
forward ExitVehicle(playerid);
forward DMTimer();
forward UpdateSpeed();
forward GameModeExitFunc();
//-------------------------------------------------------------------------
main()
{
print("\nLoaded Jewelry Van's Attack GM 0.1b\n");
}
//-------------------------------------------------------------------------
public OnGameModeInit()
{
armory = 1;
teleport = 0;
speedo = 1;
briefingex = 1;
st = 0;
UsePlayerPedAnims();
SetGameModeText("Jewelry Van's Attack GM 0.1b");
ShowPlayerMarkers(1);
ShowNameTags(1);
DMTime = 1200;
gRoundTimer = SetTimer("DMTimer", 900, 1);
SetTimer("UpdateSpeed", UpdateSeconds*1000, 1);
AddPlayerClass(253,-1956.7261,103.4498,26.2734,270.4603,0,0,0,0,0,0);
AddPlayerClass(165,-2933.6536,802.4637,6.3347,242.0898,0,0,0,0,0,0);
AddPlayerClass(166,-2934.3787,799.3235,6.3566,242.0898,0,0,0,0,0,0);
AddPlayerClass(185,-2935.8926,795.8499,6.4460,242.0898,0,0,0,0,0,0);
AddPlayerClass(228,-2937.5754,793.3854,6.5653,242.0898,0,0,0,0,0,0);
AddPlayerClass(246,-2938.9949,789.9232,6.7318,242.0898,0,0,0,0,0,0);
AddPlayerClass(285,-2940.4260,786.4382,7.1702,242.0898,0,0,0,0,0,0);
AddStaticVehicle(498,-1957.1616,79.5611,26.3847,271.4603,4,44);
AddStaticVehicle(498,-1957.1730,84.2960,26.3671,270.6042,4,44);
AddStaticVehicle(498,-1957.2189,88.3628,26.3625,269.8167,4,44);
AddStaticVehicle(498,-1957.2915,92.1548,26.3506,270.2736,4,44);
AddStaticVehicle(498,-1957.0951,96.4834,26.3488,270.6797,4,44);
AddStaticVehicle(498,-1957.2277,100.4110,26.3770,270.4584,4,44);
AddStaticVehicle(498,-1939.0298,100.3340,26.3978,269.1051,4,44);
AddStaticVehicle(498,-1939.0577,96.2639,26.3969,268.8965,4,44);
AddStaticVehicle(498,-1939.1421,92.5068,26.3977,269.4219,4,44);
AddStaticVehicle(498,-1939.1769,88.2507,26.3981,270.3727,4,44);
AddStaticVehicle(498,-1939.2245,84.3090,26.3974,270.4303,4,44);
AddStaticVehicle(498,-1939.2618,80.0348,26.3980,270.2741,4,44);
AddStaticVehicle(498,-1939.0942,104.5694,26.3986,269.4989,4,44);
AddStaticVehicle(498,-1939.1354,108.5040,26.3969,269.9947,4,44);
AddStaticVehicle(498,-1939.2113,112.6887,26.3982,270.3783,4,44);
AddStaticVehicle(498,-1939.1627,117.1617,26.3978,270.0391,4,44);
AddStaticVehicle(498,-1939.1611,121.1982,26.3986,270.0583,4,44);
AddStaticVehicle(498,-1939.1683,125.3254,26.3972,269.2815,4,44);
AddStaticVehicle(498,-1939.0952,129.6248,26.4006,269.0931,4,44);
AddStaticVehicle(498,-1939.0410,133.5028,26.4012,269.5098,4,44);
AddStaticVehicle(498,-1939.0361,137.2388,26.4061,268.4790,4,44);
AddStaticVehicle(498,-1938.8981,141.6934,26.4060,267.8221,4,44);
AddStaticVehicle(498,-1938.7684,145.6206,26.4061,268.9278,4,44);
AddStaticVehicle(498,-1938.6729,149.7115,26.4044,268.2510,4,44);
AddStaticVehicle(498,-1938.4117,153.7691,26.4060,267.6360,4,44);
AddStaticVehicle(498,-1938.1688,158.2099,26.4050,267.1389,4,44);
AddStaticVehicle(498,-1937.9128,162.3250,26.4025,267.5835,4,44);
AddStaticVehicle(498,-1937.6863,166.3027,26.4014,267.1646,4,44);
AddStaticVehicle(498,-1937.5359,170.2032,26.3985,266.6786,4,44);
AddStaticVehicle(498,-1937.3444,173.8063,26.4058,266.7287,4,44);
AddStaticVehicle(498,-1937.2139,177.3831,26.4018,267.1497,4,44);
AddStaticVehicle(498,-1936.9556,181.1937,26.3979,266.1737,4,44);
AddStaticVehicle(425,-1847.5438,-55.2581,24.7787,87.1743,6,6);
AddStaticVehicle(468,-2935.8777,786.6596,5.8520,264.6116,6,6);
AddStaticVehicle(468,-2935.4666,787.7634,5.9330,261.2940,6,6);
AddStaticVehicle(468,-2935.3005,788.7513,5.9356,263.4027,6,6);
AddStaticVehicle(468,-2934.8469,790.3813,5.9207,262.0441,6,6);
AddStaticVehicle(468,-2934.5156,791.7520,5.9130,262.2480,6,6);
AddStaticVehicle(468,-2934.0837,793.2596,5.8978,257.7062,6,6);
AddStaticVehicle(468,-2933.5024,794.7552,5.8669,257.5434,6,6);
AddStaticVehicle(468,-2933.0042,796.0815,5.8422,259.5602,6,6);
AddStaticVehicle(468,-2932.3843,797.4918,5.8059,256.6351,6,6);
AddStaticVehicle(468,-2932.1721,798.7304,5.8089,264.2170,6,6);
AddStaticVehicle(413,-1963.4492,106.0247,27.8128,270.0768,16,3);
AddStaticVehicle(413,-2860.1157,682.2510,23.3481,294.0786,16,3);
AddStaticVehicle(440,-2162.8904,293.4481,35.2427,0.2040,16,3);
AddStaticPickup(370, 15, -1951.7720,90.3860,26.2813);
AddStaticPickup(370, 15, -2945.8127,797.6591,10.6708);
return 1;
}
//-------------------------------------------------------------------------
public UpdateSpeed() {
new Float:x,Float:y,Float:z;
new Float:distance,value,string[256];
for(new i=0; i<SLOTS; i++){
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && speedo == 1) {
GetPlayerPos(i, x, y, z);
distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
value = floatround(distance * 3600);
if(UpdateSeconds > 1){
value = floatround(value / UpdateSeconds);
}
if(confirmspeedo[i] == 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~MpH: ~h~~y~%d~n~~w~Jewelry Van's Remaining: ~y~(%d)",floatround(value/1600),scoredex);
} else {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~KM/H: ~h~~y~%d~n~~w~Jewelry Van's Remaining: ~y~(%d)",floatround(value/1000),scoredex);
}
GameTextForPlayer(i, string, 1100, 3);
}
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
}
}
//-------------------------------------------------------------------------
public DMTimer() {
new tmp[256];
if(DMTime != 0.0) {
DMTime --;
TextDrawDestroy(Text:Time);
if(DMTime > 11){format(tmp, sizeof tmp, "%s", TimeConvert(DMTime));}else{ format(tmp, sizeof tmp, "~r~%s", TimeConvert(DMTime));}
} else {
GameTextForAll("~r~The Attack Team~w~ win!", 5000, 6);
SetTimer("ExitTheGameMode", 5000, 0);
return 1;
}
Time = TextDrawCreate(300.0, 10.0, tmp);
TextDrawUseBox(Text:Time, 1);
TextDrawTextSize(Text:Time, 350.0, 30.0);
TextDrawSetShadow(Text:Time, 0);
TextDrawSetOutline(Text:Time, 1);
TextDrawShowForAll(Text:Time);
if(DMTime == 900) {
SendClientMessageToAll(0xFF8A00AA,"Time Remaining: 15 minutes!");
return 1;
}
else if(DMTime == 300) {
SendClientMessageToAll(0xFF8A00AA,"Time Remaining: 5 minutes!");
return 1;
}
else if(DMTime < 4) {
for(new i=0; i<MAX_PLAYERS; i++)PlayerPlaySound(i,1056,0,0,0);
return 1;
}
return 0;
}
//-------------------------------------------------------------------------
TimeConvert(seconds) {
new tmp[256];
new minutes = floatround(seconds/60);
seconds -= minutes*60;
format(tmp, sizeof(tmp), "%d:%02d", minutes, seconds);
return tmp;
}
//-------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid, 0xFF8A00AA, "Welcome to Jewelry Van's Attack GM 0.1b [coded by Chiarboss]");
SendClientMessage(playerid, 0xFFFFFFAA, "Type /about if you don't now how this mode work");
SendClientMessage(playerid, 0xFFFF00AA, "Type /help for knowing the rules of GM");
GameTextForPlayer(playerid, "~g~- ~r~Jewelry Van's ~y~Attack ~g~-", 6000, 1);
SendClientMessage(playerid,COLOR_RED,"Choice a character!");
GivePlayerMoney(playerid, 10000);
SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
inarmory[playerid] = 0;
incar[playerid] = 0;
confirmspeedo[playerid] = 1;
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerText(playerid,text[])
{
if(text[0] == '!') {
new name[24], string[256];
GetPlayerName(playerid, name, 24);
format(string, sizeof(string), "%s (TEAM): %s", name, text[1]);
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
if(gTeam[i] == gTeam[playerid])
SendClientMessage(i, GetPlayerColor(playerid), string);
}
}
return 0;
}
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerInfoChange(playerid)
{
printf("OnPlayerInfoChange(%d)");
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerExitVehicle(playerid, vehicleid)
{
new string[256];
new name[MAX_PLAYER_NAME];
if ( vehicleid > 0 && vehicleid < 33) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s exited from one of Jewelry Van's ::..", name);
for(new i=0; i<MAX_PLAYERS; i++){
if(briefing[i] == 1 && briefingex == 1 && gTeam[i] != gTeam[playerid])SendClientMessage(i,0xAA3333AA,string);
}
}
if ( vehicleid == 33) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s exited from Offensive Vehicle ::..", name);
for(new i=0; i<MAX_PLAYERS; i++){
if(briefing[i] == 1 && briefingex == 1 && gTeam[i] != gTeam[playerid])SendClientMessage(i,0xAA3333AA,string);
}
}
printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid = GetPlayerVehicleID(playerid);
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name, sizeof(name));
new string[256];
if(newstate == PLAYER_STATE_DRIVER && gTeam[playerid] == TEAM_DEFENCE && vehicleid >= 1 || vehicleid <= 32) {
incar[playerid]++;
}
if(newstate == PLAYER_STATE_ONFOOT && gTeam[playerid] == TEAM_DEFENCE)
{
incar[playerid] = 0;
}
if(newstate == PLAYER_STATE_DRIVER) {
if (( vehicleid > 0 ) && ( vehicleid < 32 )) {
format(string, sizeof(string), "..:: %s entered into one of Jewelry Van's ::..", name);
for(new i=0; i<MAX_PLAYERS; i++) {
if(briefing[i] == 1 && briefingex == 1 && gTeam[i] != gTeam[playerid]) {
SendClientMessage(i,0xAA3333AA,string);
return true;
}
}
}
if(vehicleid == 33) {
format(string, sizeof(string), "..:: %s entered into Offensive Vehicle ::..", name);
for(new i=0; i<MAX_PLAYERS; i++) {
if(briefing[i] == 1 && briefingex == 1 && gTeam[i] != gTeam[playerid]) {
SendClientMessage(i,0xAA3333AA,string);
return true;
}
}
}
if ( vehicleid == 44 || vehicleid == 45) {
if (GetPlayerScore(playerid) >= 2) {
removev[playerid] = SetTimerEx("ExitVehicle",30000,0,"d",playerid);
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- Welcome to Vehicle Shop, %s; -", name);
SendClientMessage(playerid, 0xFF8A00AA, string);
SendClientMessage(playerid, 0xFF8A00AA, "Here you can buy");
SendClientMessage(playerid,0xFF8A00AA,"Type (/v)shop for view the wepons availables");
SendClientMessage(playerid,COLOR_RED,"Type /exit for exit from the Vehicle Shop.");
} else {
SetVehicleParamsForPlayer(44, playerid, 0, 1);
SetVehicleParamsForPlayer(45, playerid, 0, 1);
RemovePlayerFromVehicle(playerid);
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);
}
}
}
if ( vehicleid == 46) {
if (GetPlayerScore(playerid) >= 5) {
removev[playerid] = SetTimerEx("ExitVehicle",30000,0,"d",playerid);
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- Welcome to Lamer Van, %s; -", name);
SendClientMessage(playerid, 0xFF8A00AA, string);
SendClientMessage(playerid, 0xFF8A00AA, "Here you can buy");
SendClientMessage(playerid,0xFF8A00AA,"Type (/l)amervan for view the wepons availables");
SendClientMessage(playerid,COLOR_RED,"Type /exit for exit from the Vehicle Shop.");
} else {
RemovePlayerFromVehicle(playerid);
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);
}
}
}
}
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid)
{
new id = GetPlayerVehicleID(playerid),name[MAX_PLAYER_NAME],string[256];
GetPlayerName(playerid,name,sizeof(name));
if(incar[playerid] >= 1 && gTeam[playerid] == TEAM_DEFENCE)
{
if(scored >= 31)
{
KillTimer(gRoundTimer);
GameTextForAll("~y~Defence team ~w~win!", 5000, 6);
SetTimer("ExitTheGameMode", 5000, 0);
incar[playerid] = 0;
}
else
{
scored++;
scoredex--;
GameTextForAll("~y~Defence team ~w~scored!", 5000, 6);
format(string,sizeof(string),"Thanks a lot %s for your job.",name);
for(new i=0; i<MAX_PLAYERS; i++)if(gTeam[i] == gTeam[playerid]){SendClientMessage(i,0xC10000AA,string);return true;}
SetPlayerPos(playerid,-1956.7261,103.4498,26.2734);
SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
DestroyVehicle(id);
incar[playerid] = 0;
}
}
return 1;
}
//-------------------------------------------------------------------------
public ExitVehicle(playerid) {
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,0);
if(IsPlayerInVehicle(playerid,44) || IsPlayerInVehicle(playerid,45)) {
SendClientMessage(playerid, 0xFF8A00AA, "You got removed from this Vehicle Shop! Dont use it like a n00b!");
}
else if(IsPlayerInVehicle(playerid,46)) {
SendClientMessage(playerid, 0xFF8A00AA, "You got removed from Lamer Van! Dont use it like a n00b!");
}
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerSpawn(playerid)
{
PlayerPlaySound(playerid, 1098, 0, 0, 0);
SetPlayerCheckpoint(playerid, -2440.9072,523.1531,29.9066, 5.0);
SendClientMessage(playerid,0xFF8A00AA,"Type /shop to enter in your Personal Shop.");
consecutive[playerid] = 0;
if(gTeam[playerid] == TEAM_DEFENCE)
{
SetPlayerColor(playerid, COLOR_GREEN);
GameTextForPlayer(playerid, "~n~~w~Take all ~y~Jewelry Van's~w~ in the ~r~checkpoint~w~!", 3000, 3);
GivePlayerWeapon(playerid, 24, 2000);
GivePlayerWeapon(playerid, 27, 1500);
GivePlayerWeapon(playerid, 30, 1250);
for(new v=0; v<33; v++){
SetVehicleParamsForPlayer(v,playerid,1,0);
}
}
else
{
SetPlayerColor(playerid, COLOR_RED);
GameTextForPlayer(playerid, "~n~~w~Not to allow that the ~y~Jewelry Van's ~w~catch up the ~r~checkpoint~w~!", 3000, 3);
GivePlayerWeapon(playerid, 23, 2000);
GivePlayerWeapon(playerid, 25, 1500);
GivePlayerWeapon(playerid, 31, 1100);
for(new v=0; v<33; v++){
SetVehicleParamsForPlayer(v,playerid,1,1);
}
}
return 1;
}
//-------------------------------------------------------------------------
stock SetupPlayerForClassSelection(playerid)
{
PlayerPlaySound(playerid, 1183, 0, 0, 0);
if(gTeam[playerid] == TEAM_DEFENCE) {
SetPlayerCameraPos(playerid, -1926.6356,137.9239,26.2813);
SetPlayerPos(playerid, -1923.0000,138.0204,26.2813);
SetPlayerFacingAngle(playerid, 84.1935);
SetPlayerCameraLookAt(playerid, -1926.6356,137.9239,26.2813);
GameTextForPlayer(playerid, "~n~~g~Valet~n~~n~~w~Weapon: ~g~Desert Eagle, Combat Shotgun, AK47.", 5000, 3);
} else {
SetPlayerCameraPos(playerid, -2936.0164,743.1801,6.2277);
SetPlayerPos(playerid, -2932.2578,743.1324,5.84127);
SetPlayerFacingAngle(playerid, 93.0465);
SetPlayerCameraLookAt(playerid, -2936.0164,743.1801,6.2277);
GameTextForPlayer(playerid, "~n~~r~Robber~n~~n~~w~Weapon: ~r~Silenced Pistol, Shotgun, M4.", 5000, 3);
}
ApplyAnimation(playerid,"BEACH","Lay_Bac_Loop",4.0,1,4,0,0,999999);
}
//-------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
SetPlayerClass(playerid, classid);
SetupPlayerForClassSelection(playerid);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerRequestSpawn(playerid)
{
ClearAnimations(playerid);
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);
}
//VALID KILL
else
{
if(gTeam[killerid] != gTeam[playerid])
{
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 1000);
consecutive[killerid]++;
st++;
GetPlayerName(killerid,name, sizeof(name));
if(st != 1 && consecutive[killerid] != 5 && consecutive[killerid] !=6 && consecutive[killerid] !=7 && consecutive[killerid] !=8) {
GameTextForPlayer(playerid, "~n~~y~Wasted!", 1000, 3);
GameTextForPlayer(killerid, "~n~~y~Good shot!", 1000, 3);
}
else if(st == 1)
{
format(string, sizeof(string), "~y~%s ~w~made the first kill! +3 kills to him!",name);
SetPlayerScore(killerid, GetPlayerScore(killerid) + 2);
GameTextForAll(string, 6000, 6);
}
else if(consecutive[killerid] == 5)
{
format(string, sizeof(string), "~y~%s ~w~is rockin' out!",name);
GameTextForAll(string, 6000, 6);
}
else if(consecutive[killerid] == 6)
{
format(string, sizeof(string), "OMG! ~y~%s ~w~is pwning you all!",name);
GameTextForAll(string, 6000, 6);
}
else if(consecutive[killerid] == 7)
{
format(string, sizeof(string), "WOW! ~y~%s ~w~is an omicide fury!",name);
GameTextForAll(string, 6000, 6);
}
else if(consecutive[killerid] >= 8)
{
format(string, sizeof(string), "~y~%s~w~: the king of the server... 0.0",name);
GameTextForAll(string, 6000, 6);
}
}
//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;
}
//-------------------------------------------------------------------------
public ExitTheGameMode() {
KillTimer(gRoundTimer);
for (new i=0; i<MAX_PLAYERS; i++) {
if (IsPlayerConnected(i)) {
TogglePlayerControllable(i,0);
}
}
SetTimer("GameModeExitFunc",5000,0);
return 1;
}
//-------------------------------------------------------------------------
public GameModeExitFunc() {
for (new i=0; i<MAX_PLAYERS; i++) {
if (IsPlayerConnected(i)) {
SendClientMessage(i,0xFF8A00AA,"Thanks for have played at Jewelry Van's Attack GM 0.1b");
}
}
GameModeExit();
}
//-------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[]) {
new string[256];
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
if (strcmp(cmd, "/help", true) == 0) {
SendClientMessage(playerid,0xFFFF00AA,"This is a GM at objective in San Fierro.");
SendClientMessage(playerid,0xFFFF00AA,"there are two teams in which to spawn: Team Defence and Team Attack;");
SendClientMessage(playerid,0xFFFF00AA,"The first team will spawn in the little area of Cranberry Station,");
SendClientMessage(playerid,0xFFFF00AA,"and it will have to carry in the checkpoint 32 Jewelry Van's");
SendClientMessage(playerid,0xFFFF00AA,"while the second team it will have at all costs to prevent that to the first team");
SendClientMessage(playerid,0xFFFF00AA,"Numerous and special bonus, type the Personal Armory, equips all.");
SendClientMessage(playerid,0xFFFF00AA,"Type /cmdlist for knowing the list of Commands...");
return 1;
}
if (strcmp(cmd, "/about", true) == 0) {
SendClientMessage(playerid,0xFFFFFFAA,"Jewelry Van's Attack GM 0.1b");
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,"/help ;");
SendClientMessage(playerid,0xFFFF00AA,"/about ;");
SendClientMessage(playerid,0xFFFF00AA,"/kill ;");
if(IsPlayerAdmin(playerid))SendClientMessage(playerid,0xFFFF00AA,"/shoplock ;");SendClientMessage(playerid,0xFFFF00AA,"/teleportlock ;");SendClientMessage(playerid,0xFFFF00AA,"/briefinglock ;"),SendClientMessage(playerid,0xFFFF00AA,"/hudlock ;");
return 1;
}
if(strcmp(cmd,"/kill",true)==0) {
SetPlayerHealth(playerid,0);
return 1;
}
if(strcmp(cmd, "/shoplock", true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
if(armory == 1) {
armory = 0;
format(string, sizeof(string), "The Admin %s has disabled the /shop command.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
} else {
armory = 1;
format(string, sizeof(string), "The Admin %s has enabled the /shop command.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}
if(strcmp(cmd,"/teleportlock",true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
if(teleport == 1) {
teleport = 0;
format(string, sizeof(string), "The Admin %s has disabled the /teleport command.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
} else {
teleport = 1;
format(string, sizeof(string), "The Admin %s has enabled the /teleport command.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}
if(strcmp(cmd,"/briefinglock",true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
if(briefingex == 1) {
briefingex = 0;
format(string, sizeof(string), "The Admin %s has disabled the Briefing Mode.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
} else {
briefingex = 1;
format(string, sizeof(string), "The Admin %s has enabled the Briefing Mode.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}
if(strcmp(cmd,"/hudlock",true)==0) {
if(IsPlayerAdmin(playerid)) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(speedo == 1) {
format(string,sizeof(string),"The Admin %s has disabled the speedometer function.",name);
SendClientMessageToAll(0xFF8A00AA,string);
speedo = 0;
} else {
format(string,sizeof(string),"The Admin %s has enabled the speedometer function.",name);
SendClientMessageToAll(0xFF8A00AA,string);
speedo = 1;
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}
if(strcmp(cmd,"/briefing",true)==0) {
if(briefingex == 1) {
if(gTeam[playerid] != TEAM_DEFENCE) {
if(briefing[playerid] == 1) {
briefing[playerid] = 0;
SendClientMessage(playerid,0xFF8A00AA,"You have disabled the Briefing Mode to yourself");
} else {
briefing[playerid] = 1;
SendClientMessage(playerid,0xFF8A00AA,"You have enabled the Briefing Mode to yourself");
}
} else {
SendClientMessage(playerid, COLOR_RED, "Only the Team Attack can use this command.");
}
} else {
SendClientMessage(playerid,COLOR_RED,"Briefing Mode is already disabled!");
}
return 1;
}
if(strcmp(cmd,"/speedo",true)==0) {
if(speedo == 1) {
if(confirmspeedo[playerid] == 1) {
confirmspeedo[playerid] = 2;
SendClientMessage(playerid,0xFF8A00AA,"You have choiced the KM/H speedometer.");
}
else if(confirmspeedo[playerid] == 2) {
confirmspeedo[playerid] = 1;
SendClientMessage(playerid,0xFF8A00AA,"You have choiced the MpH (default) speedometer.");
}
} else {
SendClientMessage(playerid,COLOR_RED,"One admin has disabled this command.");
}
return 1;
}
if (strcmp(cmd, "/teleport", true)==0) {
if(teleport == 1) {
if(gTeam[playerid] != TEAM_DEFENCE) {
if(GetPlayerScore(playerid) >= 3) {
if(GetPlayerMoney(playerid) >= 5000){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
format(string, sizeof(string), "- %s teleported to Cranberry Station for 1000$. -",pname);
SendClientMessageToAll(0xFF8A00AA,string);
GivePlayerMoney(playerid, -5000);
} else {
SendClientMessage(playerid, COLOR_RED, "You dont have enough money! Kill to earn and come back!.");
}
} else {
SendClientMessage(playerid,COLOR_RED, "You dont have enough points! Kill to earn and come back!.");
}
} else {
SendClientMessage(playerid, COLOR_RED, "Only the Team Attack can use this command.");
}
} else {
SendClientMessage(playerid,COLOR_RED,"This command has been disabled.");
}
return 1;
}
if(strcmp(cmd, "/armory", true)==0||strcmp(cmd,"/a",true)==0)
{
cmd=strtok(cmdtext,idx);
if(armory == 1) {
if(inarmory[playerid]==1) {
if (strcmp(cmd, "MP5", true,3)==0) {
if(GetPlayerMoney(playerid) >= 1000){
SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a MP5 for 1000$. -");
GivePlayerWeapon(playerid, 29, 99999);
GivePlayerMoney(playerid, -1000);
inarmory[playerid] = 0;
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!.");}}
if (strcmp(cmd, "sawnoff", true,7)==0) {
if(GetPlayerMoney(playerid) >= 1200){
SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Sawn Off Shotgun for 1200$. -");
GivePlayerWeapon(playerid, 26, 99999);
GivePlayerMoney(playerid, -1200);
inarmory[playerid] = 0;
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}}
return 1;
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
inarmory[playerid] = 1;
format(string, sizeof(string), "- Welcome to your Personal Shop, %s; -", pname);
SendClientMessage(playerid, 0xFF8A00AA, string);
SendClientMessage(playerid, 0xFF8A00AA, "Usage: (/s)hop [wname]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "- MP5 [1000$]");
SendClientMessage(playerid, 0xFF8A00AA, "- sawnoff [1200$]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}else{SendClientMessage(playerid,0xFF8A00AA,"This command has been disabled.");}
return 1;
}
if(strcmp(cmd,"/vshop1",true)==0||strcmp(cmd,"/v",true)==0) {
cmd=strtok(cmdtext,idx);
if(IsPlayerInVehicle(playerid,44) || IsPlayerInVehicle(playerid,45))
{
if(strcmp(cmd, "ammunation", true,9) == 0||strcmp(cmd,"ammu",true,4)==0){
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);
KillTimer(removev[playerid]);
SendClientMessageToAll(0xFF8A00AA,string);
GivePlayerMoney(playerid, -1000);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}return 1;}
if(strcmp(cmd, "mac10", true,5) == 0)
{
if(GetPlayerMoney(playerid) >= 1200)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- %s bought a Mac10 for 1200$. -",name);
GivePlayerWeapon(playerid, 28, 2000);
KillTimer(removev[playerid]);
SendClientMessageToAll(0xFF8A00AA, string);
GivePlayerMoney(playerid, -1200);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}return 1;}
if(strcmp(cmd, "rifle", true,5) == 0)
{
if(GetPlayerMoney(playerid) >= 2000)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- %s bought a Rifle for 2000$. -",name);
GivePlayerWeapon(playerid, 33, 500);
KillTimer(removev[playerid]);
SendClientMessageToAll(0xFF8A00AA, string);
GivePlayerMoney(playerid, -2000);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}return 1;}
SendClientMessage(playerid, 0xFF8A00AA, "Usage: (/v)shop [wname]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "- ammunation [1000$]");
SendClientMessage(playerid, 0xFF8A00AA, "- mac10 [1200$]");
SendClientMessage(playerid, 0xFF8A00AA, "- rifle [2000$]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}else{SendClientMessage(playerid, 0xFF8A00AA, "You arent in one of Vehicle Shop!");}
return 1;}
if(strcmp(cmd,"/lamervan",true)==0||strcmp(cmd,"/l",true)==0) {
cmd=strtok(cmdtext,idx);
if(IsPlayerInVehicle(playerid,46)) {
if(strcmp(cmd, "100hp", true,5) == 0)
{
if(GetPlayerMoney(playerid) >= 1000)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- %s recharged his healthbar for 1000$. -",name);
SendClientMessageToAll(0xFF8A00AA,string);
SetPlayerHealth(playerid,100);
GivePlayerMoney(playerid, -1000);
KillTimer(removev[playerid]);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}return 1;}
if(strcmp(cmd, "tec9", true,4) == 0)
{
if(GetPlayerMoney(playerid) >= 1200)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- %s bought a Tec9 for 1200$. -",name);
GivePlayerWeapon(playerid, 32, 3000);
KillTimer(removev[playerid]);
SendClientMessageToAll(0xFF8A00AA,string);
GivePlayerMoney(playerid, -1200);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}
return 1;}
if(strcmp(cmd, "minigun", true,7) == 0)
{
if(GetPlayerMoney(playerid) >= 2000)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "- %s bought a Minigun for 2000$. -",name);
GivePlayerWeapon(playerid, 38, 200);
SendClientMessageToAll(0xFF8A00AA,string);
GivePlayerMoney(playerid, -2000);
KillTimer(removev[playerid]);
}else{SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");}
return 1;}
SendClientMessage(playerid, 0xFF8A00AA, "Usage: (/l)amervan [wname]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
SendClientMessage(playerid, 0xFF8A00AA, "- 100hp [1000$]");
SendClientMessage(playerid, 0xFF8A00AA, "- tec9 [1200$]");
SendClientMessage(playerid, 0xFF8A00AA, "- minigun [2000$]");
SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}else{SendClientMessage(playerid,COLOR_RED,"You arent in the Lamer Van!");}return 1;}
if(strcmp(cmd,"/exit", true)==0) {
if(IsPlayerInVehicle(playerid,44) || IsPlayerInVehicle(playerid,45) || IsPlayerInVehicle(playerid,46)) {
KillTimer(removev[playerid]);
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);}else{SendClientMessage(playerid,COLOR_RED,"You arent in one of the Bonus Vehicles.");}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;
}
//------------------------------------------------------------------------
SetPlayerClass(playerid, classid) {
if(classid == 0) {
gTeam[playerid] = TEAM_DEFENCE;
briefing[playerid] = 0;
} else if(classid == 1 || classid == 2 || classid == 3 || classid == 4 || classid == 5 || classid == 6) {
gTeam[playerid] = TEAM_ATTACK;
briefing[playerid] = 1;
}
}