[GameMode] Zombie-Mod SA-MP
#1

The gamemode is not recommended to be used it's outdated i've scripted this in 2010 era i didn't know much that time with scripting, moderators if you read this please lock the topic!

>Features own made knifing system to infect the humans
>Map Changing
>6 maps total
> Teams are
> Zombies
> Humans
> Random weapons on spawn
> Each map has a checkpoint to buy weapons
> Random Skins on spawn
> 6 maps total names:
> ZM_GROVESTREET
> ZM_BRIDGE
> ZM_ROOFTOP
> ZM_OLDWEST
> ZM_CARNIVAL
> ZM_MADDOG
> All maps are made by me in MTA
>every 50 second changes humans to zombies if there are humans and human no zombies it will remove some humans to be zombie team or like all players are in zombie team will remove some into human team
>Gamemode is based on Zombie VS Human
>This gamemode was made for my server Zombie-Mod but i rather release this for people who really need it im making a better one for my own
>Credits:
G0D4VID,Terminator,Gh0st:
For the map changing part in there gamemode
******:
For foreach
Iconginto:
For streamer
Double O Seven:
Junkbuster
****** again:
for sscanf2
Double O Seven again:
For the weapons script so you can add weapons around ur body.

[ame]http://www.youtube.com/watch?v=3yf3qe9keuk[/ame]
Download:

NEW: Full package including all includes plugins gamemode fs
http://solidfiles.com/d/a823b/

http://pastebin.com/6SXh62eG

Or

Код:
#include <a_samp>
#include <streamer>
#include <sscanf2>
#include <foreach>
#include <JunkBuster>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
new gTeam[MAX_PLAYERS];
// team set ups
#define TEAM_ZOMBIE 0
#define TEAM_HUMAN 1
#pragma unused ret_memcpy
// weapons
#define AK 30 // ak47
#define DEAGLE 24 // Deagle
#define TEC9 32 // TEC9
#define M4 31 // M4
#define SMG 28 // MICRO SMG
#define NOWEAPON 0 // UNARMED
#define KNIFE 4 // KNIFE
#define CHAINSAW 9 // CHAINSAW
#define SMG2 29 // SMG 2
// Skins
#define Z_SKIN 162
#define Z_SKIN2 230
#define H_SKIN 285
#define H_SKIN2 22
// Enums
enum aInfo
{
	HumansCount,
	ZombiesCount,
	HumansKills,
	ZombiesKills,
	ID
};
enum pInfo
{
	TotalCount,
	Team
};
// Forwards
forward PanicDAway(playerid);
forward SpecUpdate(playerid);
forward TeamSetUps(playerid);
forward Infected(playerid);
forward AnnounceWinner();
forward ChangeRound();
forward NoZombieWeapons(playerid);
forward Human(playerid);
forward ChangeToHuman(playerid);
forward ChangeZombieToHuman(playerid);
forward ChangeHumanToZombie(playerid);
forward Unfreeze(playerid);
// Varaibles
new PanicCP;
new SpecID[MAX_PLAYERS];
new SpecTimer[MAX_PLAYERS];
new SpecState[MAX_PLAYERS];
new OldWeapon[MAX_PLAYERS];
new HoldingWeapon[MAX_PLAYERS];
new PlayerCount;
new Arena[aInfo];
new Text[256];
new Float:OldHP[MAX_PLAYERS];
new gPlayerUsingLoopingAnim[MAX_PLAYERS];
new gPlayerAnimLibsPreloaded[MAX_PLAYERS];
new Carnival;
new Bridge;
new Rooftop;
new Oldwest;
new Grovestreet;
new Text:Textdraw0;
new Text:Textdraw1;
new Text:Textdraw2;
new Text:Textdraw3;
//Dialogs
#define Dialog_Weaps 1
// Defines
#define WEAPON_TYPE_NONE    (0)
#define WEAPON_TYPE_HEAVY   (1)
#define WEAPON_TYPE_LIGHT   (2)
#define WEAPON_TYPE_MELEE   (3)
#define Round_MaxTime 360000
#pragma tabsize 0
#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
// Colors
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
#define COLOR_GREEN 0x33AA33AA
#define Z_COLOR 0xFB0000FF
#define H_COLOR 0x0000BBAA

main()
{
	print("\n----------------------------------");
	print(" Zombie-Mod");
	print("----------------------------------\n");
}

public OnGameModeInit()
{
	SetGameModeText("  Zombie-Mod  ");
	AddPlayerClass(287, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(162, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
	SetNameTagDrawDistance(5);
	SetTeamCount(2);
	ShowNameTags(1);
	ShowPlayerMarkers(0);
	UsePlayerPedAnims();
	AllowInteriorWeapons(1);
    DisableInteriorEnterExits();
   	SetWorldTime(0);
	SetWeather(32);
	SetTimer("AnnounceWinner",360000,1);
	SetTimer("NoZombieWeapons",1000,true);
	SetTimer("ChangeZombieToHuman",50000,true);
	SetTimer("ChangeHumanToZombie",50000,true);
	Arena[ID] = 0;
	Carnival = CreateDynamicCP(-1633.4164,1388.0626,18.4141,6.0,-1,-1,-1,100.0);
	Bridge = CreateDynamicCP(-2672.8821,1567.0858,67.0047,6.0,-1,-1,-1,100.0);
	Rooftop = CreateDynamicCP(1906.0420,989.1897,59.0502,6.0,-1,-1,-1,100.0);
	Oldwest = CreateDynamicCP(-47.8604,29.4810,6.4844,6.0,-1,-1,-1,100.0);
	Grovestreet = CreateDynamicCP(2371.7395,-1749.0795,15.7336,6.0,-1,-1,-1,100.0);
	
	//Maps and Secret Cars
	AddStaticVehicleEx(502,2387.19165039,-1750.04626465,15.70311737,270.00000000,-1,-1,15); //Hotring Racer A
	AddStaticVehicleEx(457,1969.65820312,984.47357178,51.37844467,0.00000000,-1,-1,15); //Caddy
	AddStaticVehicleEx(457,1967.98706055,984.61907959,51.37842560,0.00000000,-1,-1,15); //Caddy
	AddStaticVehicleEx(479,-2672.62475586,1761.27819824,78.59292603,0.00000000,-1,-1,15); //Regina
	AddStaticVehicleEx(457,-108.81356812,-11.35860634,20.27822113,0.00000000,-1,-1,15); //Caddy
	CreateDynamicObject(5143,-956.81036377,-3129.28417969,64.74794006,0.00000000,358.00000000,270.00000000); //object(las2chendock04) (1)
	CreateDynamicObject(5154,-925.40069580,-3123.38305664,45.15196991,0.00000000,0.00000000,0.00000000); //object(dk_cargoshp03d) (1)
	CreateDynamicObject(969,799.61602783,-2127.38989258,12.32087708,0.00000000,0.00000000,0.00000000); //object(electricgate) (1)
	CreateDynamicObject(3594,2475.82788086,-1659.52148438,12.96787739,0.00000000,0.00000000,260.00000000); //object(la_fuckcar1) (1)
	CreateDynamicObject(3594,2460.50585938,-1666.85424805,13.10760593,0.00000000,0.00000000,259.99694824); //object(la_fuckcar1) (2)
	CreateDynamicObject(3594,2496.10815430,-1684.00512695,12.99591064,0.00000000,0.00000000,259.99694824); //object(la_fuckcar1) (3)
	CreateDynamicObject(3594,2506.03051758,-1662.19165039,13.01766205,0.00000000,0.00000000,207.99694824); //object(la_fuckcar1) (4)
	CreateDynamicObject(18246,2481.92236328,-1675.10949707,15.81884670,0.00000000,0.00000000,0.00000000); //object(cuntwjunk04) (1)
	CreateDynamicObject(7096,2508.63769531,-1687.57067871,17.61785507,0.00000000,0.00000000,266.00000000); //object(vrockstairs) (1)
	CreateDynamicObject(5130,2473.48168945,-1674.77087402,14.82728195,0.00000000,0.00000000,320.00000000); //object(imcompstrs02) (1)
	CreateDynamicObject(9767,2464.77783203,-1676.42346191,26.20449638,0.00000000,0.00000000,60.00000000); //object(scaff2_sfw) (1)
	CreateDynamicObject(9766,2419.24682617,-1693.98168945,41.95159149,352.00488281,357.98040771,337.71899414); //object(scaff3_sfw) (1)
	CreateDynamicObject(11472,2415.64404297,-1703.38647461,42.46041107,0.00000000,0.00000000,60.00000000); //object(des_swtstairs1) (1)
	CreateDynamicObject(11472,2415.57495117,-1702.48059082,45.73572159,0.00000000,0.00000000,59.99633789); //object(des_swtstairs1) (2)
	CreateDynamicObject(11472,2420.90234375,-1702.07067871,41.71317673,0.00000000,0.00000000,243.99633789); //object(des_swtstairs1) (3)
	CreateDynamicObject(11472,2415.85449219,-1702.23352051,48.73572159,0.00000000,0.00000000,59.99536133); //object(des_swtstairs1) (4)
	CreateDynamicObject(14414,2491.88720703,-1723.44042969,16.54225731,352.00491333,2.01950073,180.28100586); //object(carter-stairs05) (1)
	CreateDynamicObject(14414,2491.61645508,-1712.75280762,17.74151039,4.00000000,0.00000000,0.00000000); //object(carter-stairs05) (2)
	CreateDynamicObject(16082,2501.65917969,-1718.63623047,24.00457382,0.00000000,0.00000000,0.00000000); //object(des_quarryplatform) (1)
	CreateDynamicObject(1225,2459.91137695,-1732.53625488,12.82952499,0.00000000,0.00000000,0.00000000); //object(barrel4) (1)
	CreateDynamicObject(1225,2464.10913086,-1681.41552734,27.21102333,0.00000000,0.00000000,0.00000000); //object(barrel4) (2)
	CreateDynamicObject(1225,2442.62573242,-1669.43469238,32.11025238,0.00000000,0.00000000,0.00000000); //object(barrel4) (3)
	CreateDynamicObject(1225,2473.95141602,-1674.61413574,15.11584949,0.00000000,0.00000000,0.00000000); //object(barrel4) (4)
	CreateDynamicObject(1225,2504.44482422,-1689.63293457,19.85954666,0.00000000,0.00000000,0.00000000); //object(barrel4) (5)
	CreateDynamicObject(1225,2492.10375977,-1720.77893066,20.55854034,0.00000000,0.00000000,0.00000000); //object(barrel4) (6)
	CreateDynamicObject(2780,2480.40649414,-1716.43896484,10.08206558,0.00000000,0.00000000,0.00000000); //object(cj_smoke_mach) (1)
	CreateDynamicObject(3743,2483.44946289,-1652.13378906,16.24242401,0.00000000,0.00000000,180.00000000); //object(escl_singlela) (1)
	CreateDynamicObject(1225,2483.62744141,-1650.78833008,17.34015274,0.00000000,0.00000000,0.00000000); //object(barrel4) (7)
	CreateDynamicObject(6965,2488.02954102,-1670.96630859,7.94841003,0.00000000,0.00000000,0.00000000); //object(venefountain02) (1)
	CreateDynamicObject(16778,2498.36132812,-1692.37475586,21.07328415,0.00000000,0.00000000,0.00000000); //object(des_ufosign) (1)
	CreateDynamicObject(2985,2466.85424805,-1670.28918457,18.89288902,0.00000000,0.00000000,0.00000000); //object(minigun_base) (1)
	CreateDynamicObject(2985,2467.21899414,-1671.16003418,18.98634720,0.00000000,0.00000000,0.00000000); //object(minigun_base) (2)
	CreateDynamicObject(2985,2467.16625977,-1672.09057617,19.07431030,0.00000000,0.00000000,0.00000000); //object(minigun_base) (3)
	CreateDynamicObject(2985,2466.64672852,-1673.26403809,19.16455269,0.00000000,0.00000000,0.00000000); //object(minigun_base) (4)
	CreateDynamicObject(2985,2467.86767578,-1677.15954590,19.31683731,0.00000000,0.00000000,0.00000000); //object(minigun_base) (5)
	CreateDynamicObject(2976,2466.73071289,-1679.97924805,19.29778671,0.00000000,0.00000000,0.00000000); //object(green_gloop) (1)
	CreateDynamicObject(3279,2513.62573242,-1669.58911133,11.26725578,0.00000000,0.00000000,230.00000000); //object(a51_spottower) (1)
	CreateDynamicObject(16093,2454.39526367,-1658.28125000,16.58553314,0.00000000,0.00000000,90.00000000); //object(a51_gatecontrol) (1)
	CreateDynamicObject(5424,2485.53710938,-1663.63696289,13.68143845,0.00000000,0.00000000,0.00000000); //object(laejeffers04) (1)
	CreateDynamicObject(4242,2519.82885742,-1661.43078613,67.01031494,0.00000000,90.00000000,0.00000000); //object(sbsbed5law2) (1)
	CreateDynamicObject(4241,2497.48022461,-1630.61560059,78.92557526,271.99996948,0.00000000,0.00000000); //object(sbsbed4law2) (1)
	CreateDynamicObject(4241,2312.81274414,-1628.36621094,67.61093140,271.99948120,0.00000000,0.00000000); //object(sbsbed4law2) (2)
	CreateDynamicObject(4241,2334.94458008,-1697.46301270,80.59580994,271.99945068,0.00000000,90.00000000); //object(sbsbed4law2) (3)
	CreateDynamicObject(4241,2420.44262695,-1786.37548828,58.39318085,271.99401855,0.00000000,180.00000000); //object(sbsbed4law2) (4)
	CreateDynamicObject(5735,2344.61596680,-1741.96032715,14.67658615,0.00000000,0.00000000,0.00000000); //object(studoff_law) (1)
	CreateDynamicObject(8877,2356.57543945,-1748.89904785,18.47709274,0.00000000,0.00000000,0.00000000); //object(vgsecnstrct10) (1)
	CreateDynamicObject(8877,2357.88183594,-1737.16333008,18.47709274,0.00000000,0.00000000,0.00000000); //object(vgsecnstrct10) (2)
	CreateDynamicObject(16089,2354.24145508,-1741.49938965,12.54687595,0.00000000,0.00000000,0.00000000); //object(des_pipestrut02) (1)
	CreateDynamicObject(16089,2340.61230469,-1742.00952148,12.54687500,0.00000000,0.00000000,0.00000000); //object(des_pipestrut02) (2)
	CreateDynamicObject(7515,2360.54077148,-1656.39733887,18.53565598,0.00000000,0.00000000,0.00000000); //object(vegasnfrates1) (1)
	CreateDynamicObject(9766,2408.19702148,-1658.41186523,16.96165276,346.00573730,357.93692017,267.49652100); //object(scaff3_sfw) (2)
	CreateDynamicObject(3378,2396.43481445,-1750.44128418,13.55273724,0.00000000,0.00000000,88.00000000); //object(ce_beerpile01) (1)
	CreateDynamicObject(3378,2374.01391602,-1749.89965820,13.55273724,0.00000000,0.00000000,87.99499512); //object(ce_beerpile01) (2)
	CreateDynamicObject(2933,2412.03833008,-1748.39941406,14.09842777,0.00000000,0.00000000,180.00000000); //object(pol_comp_gate) (1)
	CreateDynamicObject(2933,2419.25927734,-1748.17102051,14.26249027,0.00000000,0.00000000,180.00000000); //object(pol_comp_gate) (2)
	CreateDynamicObject(3427,2429.80224609,-1748.37145996,17.19272804,0.00000000,0.00000000,270.00000000); //object(derrick01) (1)
	CreateDynamicObject(11486,2432.90063477,-1644.01684570,121.71322632,0.00000000,0.00000000,0.00000000); //object(dam_turbine_2) (1)
	CreateDynamicObject(12986,2411.49975586,-1732.17761230,14.00796127,0.00000000,0.00000000,90.00000000); //object(sw_well1) (1)
	CreateDynamicObject(14573,2377.09082031,-1743.11218262,15.27290249,0.00000000,0.00000000,0.00000000); //object(maintenance03) (1)
	CreateDynamicObject(7947,2424.98999023,-1638.06018066,55.72159576,0.00000000,0.00000000,180.00000000); //object(vegaspumphouse1) (2)
	CreateDynamicObject(12986,2373.82348633,-1660.39074707,26.06615639,0.00000000,0.00000000,0.00000000); //object(sw_well1) (2)
	CreateDynamicObject(7586,2434.00976562,-1728.65698242,8.79011917,0.00000000,0.00000000,0.00000000); //object(miragebuild07) (1)
	CreateDynamicObject(3939,2346.21191406,-1742.20861816,14.31155109,0.00000000,0.00000000,0.00000000); //object(hanger01) (1)
	CreateDynamicObject(16613,2499.04321289,-1767.35717773,9.80518532,0.00000000,0.00000000,68.00000000); //object(des_bigtelescope) (1)
	CreateDynamicObject(10394,2307.03955078,-1743.33740234,15.28635788,0.00000000,0.00000000,0.00000000); //object(plot1_sfs) (1)
	CreateDynamicObject(4247,1936.92822266,1037.06298828,50.62059021,359.96743774,180.00000000,355.96740723); //object(sbsbed6law2) (1)
	CreateDynamicObject(4247,1982.93017578,1047.25573730,93.25605011,272.82812500,134.98260498,131.01757812); //object(sbsbed6law2) (2)
	CreateDynamicObject(4247,1893.93688965,1031.24572754,61.17868042,272.82348633,134.97784424,223.01730347); //object(sbsbed6law2) (3)
	CreateDynamicObject(4247,1905.07812500,943.36303711,53.19570160,272.82348633,134.97247314,313.01693726); //object(sbsbed6law2) (4)
	CreateDynamicObject(4247,2009.05358887,949.33886719,50.66744232,272.82348633,134.96704102,23.01147461); //object(sbsbed6law2) (5)
	CreateDynamicObject(922,1973.87084961,988.83886719,51.53149414,0.00000000,0.00000000,270.00000000); //object(packing_carates1) (1)
	CreateDynamicObject(922,1974.09252930,993.62316895,51.52927399,0.00000000,0.00000000,270.00000000); //object(packing_carates1) (2)
	CreateDynamicObject(5244,1964.79382324,1033.18200684,53.29095459,0.00000000,0.00000000,0.00000000); //object(lasntrk1im03) (1)
	CreateDynamicObject(3378,1981.95642090,1010.30761719,51.80389023,0.00000000,0.00000000,0.00000000); //object(ce_beerpile01) (3)
	CreateDynamicObject(18257,1949.03771973,992.89978027,51.73874664,0.00000000,0.00000000,0.00000000); //object(crates) (1)
	CreateDynamicObject(2669,1949.56872559,1003.30194092,53.07901764,0.00000000,0.00000000,0.00000000); //object(cj_chris_crate) (1)
	CreateDynamicObject(3574,1949.48950195,1011.07611084,53.32629013,0.00000000,0.00000000,0.00000000); //object(lasdkrtgrp2) (1)
	CreateDynamicObject(3761,1944.08935547,981.87414551,53.73772812,0.00000000,0.00000000,0.00000000); //object(industshelves) (1)
	CreateDynamicObject(3761,1976.79455566,973.46942139,53.73772812,0.00000000,0.00000000,0.00000000); //object(industshelves) (2)
	CreateDynamicObject(3761,1965.43847656,953.49163818,53.73772812,0.00000000,0.00000000,90.00000000); //object(industshelves) (3)
	CreateDynamicObject(3761,1952.45324707,953.55352783,53.73772812,0.00000000,0.00000000,90.00000000); //object(industshelves) (4)
	CreateDynamicObject(3761,1925.56848145,992.57043457,53.73772812,0.00000000,0.00000000,90.00000000); //object(industshelves) (5)
	CreateDynamicObject(5259,1960.15039062,970.20684814,50.65756226,0.00000000,0.00000000,0.00000000); //object(las2dkwar01) (1)
	CreateDynamicObject(5262,1902.61242676,998.93420410,54.69640732,0.00000000,0.00000000,180.00000000); //object(las2dkwar04) (1)
	CreateDynamicObject(5262,1929.85913086,960.03094482,54.69640732,0.00000000,0.00000000,179.99450684); //object(las2dkwar04) (5)
	CreateDynamicObject(16601,1941.16333008,951.09094238,62.07830429,0.00000000,0.00000000,0.00000000); //object(by_fuel07) (1)
	CreateDynamicObject(2991,1955.77368164,986.93579102,51.27598953,0.00000000,0.00000000,0.00000000); //object(imy_bbox) (1)
	CreateDynamicObject(2991,1957.18176270,987.61602783,52.53378296,0.00000000,0.00000000,0.00000000); //object(imy_bbox) (2)
	CreateDynamicObject(2991,1960.15368652,986.61083984,53.79157639,0.00000000,0.00000000,0.00000000); //object(imy_bbox) (3)
	CreateDynamicObject(2991,1959.43420410,989.52832031,55.04936981,0.00000000,0.00000000,90.00000000); //object(imy_bbox) (4)
	CreateDynamicObject(2991,1961.36889648,989.71209717,55.05716324,0.00000000,0.00000000,90.00000000); //object(imy_bbox) (5)
	CreateDynamicObject(2933,1937.17272949,996.29675293,53.45436096,0.00000000,0.00000000,90.00000000); //object(pol_comp_gate) (3)
	CreateDynamicObject(2933,1937.18872070,1001.72167969,53.45436096,0.00000000,0.00000000,90.00000000); //object(pol_comp_gate) (4)
	CreateDynamicObject(1685,1941.93640137,1006.22961426,52.48874664,0.00000000,0.00000000,0.00000000); //object(blockpallet) (1)
	CreateDynamicObject(1685,1964.02294922,1004.31994629,51.38806915,0.00000000,0.00000000,0.00000000); //object(blockpallet) (2)
	CreateDynamicObject(1685,1958.79309082,1001.78625488,51.38971710,0.00000000,0.00000000,0.00000000); //object(blockpallet) (3)
	CreateDynamicObject(1685,1960.89746094,999.03747559,51.39118958,0.00000000,0.00000000,0.00000000); //object(blockpallet) (4)
	CreateDynamicObject(1685,1972.31018066,999.30371094,51.39058304,0.00000000,0.00000000,0.00000000); //object(blockpallet) (5)
	CreateDynamicObject(4241,-2682.03710938,1881.34191895,60.82984161,270.00000000,180.00000000,180.00000000); //object(sbsbed4law2) (5)
	CreateDynamicObject(4241,-2683.10644531,1510.32702637,58.02987671,86.00000000,180.00000000,180.00000000); //object(sbsbed4law2) (6)
	CreateDynamicObject(4241,-2661.76855469,1615.18554688,72.58889771,85.99548340,179.99450684,89.99447632); //object(sbsbed4law2) (8)
	CreateDynamicObject(4241,-2663.02636719,1730.77587891,85.92143250,85.99548340,179.99450684,89.98901367); //object(sbsbed4law2) (9)
	CreateDynamicObject(4241,-2662.92016602,1887.31054688,90.42954254,85.99548340,179.99450684,89.98901367); //object(sbsbed4law2) (10)
	CreateDynamicObject(4241,-2701.26977539,1839.33020020,91.06814575,85.99548340,179.99450684,269.98901367); //object(sbsbed4law2) (11)
	CreateDynamicObject(4241,-2699.55078125,1953.21936035,62.47218323,85.99548340,179.99450684,269.98901367); //object(sbsbed4law2) (12)
	CreateDynamicObject(4241,-2702.56420898,1672.72888184,62.83640671,85.99548340,179.99450684,269.98901367); //object(sbsbed4law2) (13)
	CreateDynamicObject(4241,-2701.25439453,1517.82226562,63.78773880,85.99548340,179.99450684,269.98901367); //object(sbsbed4law2) (14)
	CreateDynamicObject(4241,-2661.97656250,1487.55822754,68.29467773,85.99548340,179.99450684,89.98901367); //object(sbsbed4law2) (16)
	CreateDynamicObject(9819,-2686.74096680,1514.74206543,59.54676819,0.00000000,0.00000000,264.00000000); //object(shpbridge_sfw02) (1)
	CreateDynamicObject(9819,-2693.78540039,1516.26184082,59.53871918,0.00000000,0.00000000,247.99597168); //object(shpbridge_sfw02) (2)
	CreateDynamicObject(9819,-2679.50634766,1514.58068848,60.09472275,0.00000000,0.00000000,261.99523926); //object(shpbridge_sfw02) (3)
	CreateDynamicObject(9819,-2672.39501953,1514.07226562,59.84434509,0.00000000,0.00000000,267.99096680); //object(shpbridge_sfw02) (4)
	CreateDynamicObject(9819,-2667.22924805,1517.44250488,60.26250458,0.00000000,0.00000000,313.98950195); //object(shpbridge_sfw02) (5)
	CreateDynamicObject(9822,-2697.57324219,1523.68603516,59.99725723,0.00000000,0.00000000,0.00000000); //object(shpbridge_sfw08) (1)
	CreateDynamicObject(9822,-2699.07763672,1523.73522949,60.00065231,0.00000000,0.00000000,0.00000000); //object(shpbridge_sfw08) (2)
	CreateDynamicObject(9822,-2696.04321289,1523.86840820,60.00984573,0.00000000,0.00000000,0.00000000); //object(shpbridge_sfw08) (3)
	CreateDynamicObject(11495,-2677.91137695,1533.56616211,60.55148315,26.00000000,0.00000000,0.00000000); //object(des_ranchjetty) (1)
	CreateDynamicObject(11495,-2677.77636719,1554.36560059,65.50164795,0.00000000,0.00000000,0.00000000); //object(des_ranchjetty) (3)
	CreateDynamicObject(3406,-2675.10009766,1567.37170410,63.93392944,0.00000000,0.00000000,0.00000000); //object(cxref_woodjetty) (1)
	CreateDynamicObject(3578,-2674.86694336,1568.94299316,66.79008484,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (1)
	CreateDynamicObject(3620,-2695.61010742,1570.70654297,75.29788971,0.00000000,0.00000000,96.00000000); //object(redockrane_las) (1)
	CreateDynamicObject(3620,-2664.95166016,1569.61791992,74.97058868,0.00000000,0.00000000,265.99853516); //object(redockrane_las) (2)
	CreateDynamicObject(935,-2691.02661133,1576.76477051,62.70847321,0.00000000,0.00000000,0.00000000); //object(cj_drum) (1)
	CreateDynamicObject(935,-2693.98803711,1574.99816895,62.61214447,0.00000000,0.00000000,0.00000000); //object(cj_drum) (2)
	CreateDynamicObject(935,-2690.41650391,1574.38830566,62.57122040,0.00000000,0.00000000,0.00000000); //object(cj_drum) (3)
	CreateDynamicObject(935,-2685.65209961,1580.69128418,62.88769531,0.00000000,0.00000000,0.00000000); //object(cj_drum) (4)
	CreateDynamicObject(935,-2687.96166992,1579.19665527,62.82727051,0.00000000,0.00000000,0.00000000); //object(cj_drum) (5)
	CreateDynamicObject(935,-2694.75415039,1584.35083008,63.09857941,0.00000000,0.00000000,0.00000000); //object(cj_drum) (6)
	CreateDynamicObject(5244,-2680.51806641,1640.50524902,67.79647827,0.00000000,0.00000000,0.00000000); //object(lasntrk1im03) (2)
	CreateDynamicObject(3378,-2666.97412109,1672.85168457,67.22801208,0.00000000,0.00000000,0.00000000); //object(ce_beerpile01) (4)
	CreateDynamicObject(3378,-2667.02001953,1659.95605469,67.12437439,0.00000000,0.00000000,0.00000000); //object(ce_beerpile01) (5)
	CreateDynamicObject(3378,-2666.99902344,1685.43359375,67.54154968,20.00000000,0.00000000,0.00000000); //object(ce_beerpile01) (6)
	CreateDynamicObject(3378,-2666.95971680,1701.18237305,73.35903931,19.99511719,0.00000000,0.00000000); //object(ce_beerpile01) (7)
	CreateDynamicObject(2933,-2665.44531250,1694.35168457,73.00173187,0.00000000,0.00000000,0.00000000); //object(pol_comp_gate) (5)
	CreateDynamicObject(925,-2697.71704102,1671.01147461,67.32144165,0.00000000,0.00000000,90.00000000); //object(rack2) (1)
	CreateDynamicObject(2669,-2667.12036133,1707.19873047,77.73250580,24.00000000,0.00000000,0.00000000); //object(cj_chris_crate) (2)
	CreateDynamicObject(3621,-2670.61450195,1779.45190430,72.28770447,0.00000000,0.00000000,90.00000000); //object(rbigcrate_las) (1)
	CreateDynamicObject(3621,-2669.61962891,1904.07739258,70.29889679,3.99755859,2.00488281,89.86019897); //object(rbigcrate_las) (2)
	CreateDynamicObject(3798,-2687.75439453,1988.23522949,60.03843689,0.00000000,0.00000000,0.00000000); //object(acbox3_sfs) (1)
	CreateDynamicObject(5132,-2695.32470703,1694.83068848,68.99529266,0.00000000,0.00000000,0.00000000); //object(las2dkwar107) (1)
	CreateDynamicObject(5259,-2675.65966797,1755.32788086,67.07331085,0.00000000,0.00000000,0.00000000); //object(las2dkwar01) (2)
	CreateDynamicObject(5262,-2692.07250977,1763.72412109,70.00744629,0.00000000,0.00000000,180.00000000); //object(las2dkwar04) (2)
	CreateDynamicObject(5262,-2691.78442383,1773.54528809,69.81521606,0.00000000,0.00000000,179.99450684); //object(las2dkwar04) (3)
	CreateDynamicObject(7025,-2688.89477539,1819.78393555,70.07385254,0.00000000,0.00000000,0.00000000); //object(plantbox1) (1)
	CreateDynamicObject(10814,-2678.12426758,1854.84985352,69.41760254,0.00000000,0.00000000,180.00000000); //object(apfuel2_sfse) (1)
	CreateDynamicObject(12930,-2693.23071289,1798.06164551,69.49034119,0.00000000,0.00000000,0.00000000); //object(sw_pipepile02) (1)
	CreateDynamicObject(12930,-2684.57934570,1797.38732910,69.49742889,0.00000000,0.00000000,0.00000000); //object(sw_pipepile02) (2)
	CreateDynamicObject(16601,-2683.52026367,1809.45373535,71.54966736,0.00000000,0.00000000,0.00000000); //object(by_fuel07) (2)
	CreateDynamicObject(16601,-2695.67553711,1545.59716797,65.48347473,0.00000000,0.00000000,0.00000000); //object(by_fuel07) (3)
	CreateDynamicObject(939,-2696.51904297,1559.74194336,63.87714767,0.00000000,0.00000000,268.00000000); //object(cj_df_unit) (1)
	CreateDynamicObject(939,-2697.67138672,1567.25634766,64.45943451,0.00000000,0.00000000,267.99499512); //object(cj_df_unit) (2)
	CreateDynamicObject(939,-2696.84399414,1575.79101562,64.92206573,0.00000000,0.00000000,267.99499512); //object(cj_df_unit) (3)
	CreateDynamicObject(3585,-2681.99365234,1593.33691406,65.00227356,0.00000000,0.00000000,270.00000000); //object(lastran1_la02) (1)
	CreateDynamicObject(3585,-2681.48950195,1585.14294434,64.66234589,0.00000000,0.00000000,270.00000000); //object(lastran1_la02) (2)
	CreateDynamicObject(3066,-2665.35571289,1577.99560547,63.65187454,0.00000000,0.00000000,0.00000000); //object(ammotrn_obj) (1)
	CreateDynamicObject(4242,-143.13403320,-30.44326401,2.11718750,0.00000000,93.99996948,338.00000000); //object(sbsbed5law2) (2)
	CreateDynamicObject(4242,-119.70760345,-100.46527863,25.06060600,0.00000000,93.99905396,77.99990845); //object(sbsbed5law2) (3)
	CreateDynamicObject(4242,-70.37418365,-86.22537994,15.07506752,0.00000000,93.99905396,163.99743652); //object(sbsbed5law2) (4)
	CreateDynamicObject(4242,-89.51052094,58.78192139,23.09560585,0.00000000,93.99902344,247.99194336); //object(sbsbed5law2) (5)
	CreateDynamicObject(3375,-34.94610977,3.52267361,5.83646202,0.00000000,0.00000000,280.00000000); //object(ce_dblbarn01) (1)
	CreateDynamicObject(14875,-42.08198929,21.42342186,5.44150925,0.00000000,0.00000000,0.00000000); //object(kylie_hay1) (1)
	CreateDynamicObject(16388,-132.34684753,-73.20602417,2.11718750,0.00000000,0.00000000,70.00000000); //object(des_studbldg) (1)
	CreateDynamicObject(17000,-108.87694550,-98.47631836,2.11718750,0.00000000,0.00000000,0.00000000); //object(wt6suppsxc) (1)
	CreateDynamicObject(17057,-66.56372070,34.19557571,1.66144443,0.00000000,0.00000000,340.00000000); //object(cw_haypile03) (1)
	CreateDynamicObject(17298,-84.03318787,29.16887474,8.90648460,0.00000000,0.00000000,250.00000000); //object(sjmoldbarn03) (1)
	CreateDynamicObject(3419,-53.44878387,-8.86139870,2.11718750,0.00000000,0.00000000,240.00000000); //object(ce_logbarn02) (1)
	CreateDynamicObject(5260,-82.99649811,-0.94873184,3.82770252,0.00000000,0.00000000,250.00000000); //object(las2dkwar02) (1)
	CreateDynamicObject(5262,-65.19995880,-24.77342987,5.07484818,0.00000000,0.00000000,320.00000000); //object(las2dkwar04) (4)
	CreateDynamicObject(5262,-64.29337311,-19.15849304,10.37708855,0.00000000,0.00000000,49.99877930); //object(las2dkwar04) (6)
	CreateDynamicObject(7040,-73.37535095,-64.50533295,5.54496813,0.00000000,0.00000000,0.00000000); //object(vgnplcehldbox01) (1)
	CreateDynamicObject(3663,-81.74488068,-64.02500916,4.19016933,0.00000000,0.00000000,180.00000000); //object(lasstepsa_las) (1)
	CreateDynamicObject(6052,-82.72070312,-78.31933594,4.85703564,0.00000000,0.00000000,0.00000000); //object(artcurve_law) (1)
	CreateDynamicObject(6052,-73.97313690,-75.72854614,4.85703564,0.00000000,0.00000000,320.00000000); //object(artcurve_law) (2)
	CreateDynamicObject(7522,-122.68084717,-18.72524452,6.63319588,0.00000000,0.00000000,340.00000000); //object(vgnhsegate1) (1)
	CreateDynamicObject(8483,-116.20974731,40.42280579,8.49851418,0.00000000,0.00000000,326.00000000); //object(pirateland02_lvs) (1)
	CreateDynamicObject(1225,-69.97532654,-25.86248779,3.73559809,0.00000000,0.00000000,0.00000000); //object(barrel4) (8)
	CreateDynamicObject(3374,-72.17795563,-34.78372574,3.61116409,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (1)
	CreateDynamicObject(3374,-70.20764160,-33.47321320,6.61116409,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (2)
	CreateDynamicObject(3374,-68.24372864,-36.15940857,9.61116409,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (3)
	CreateDynamicObject(3374,-66.95790863,-34.18552780,12.61116409,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (4)
	CreateDynamicObject(3425,-84.40255737,-15.81207275,13.55233955,0.00000000,0.00000000,310.00000000); //object(nt_windmill) (1)
	CreateDynamicObject(3426,-85.98085022,-88.66245270,1.44717193,0.00000000,0.00000000,80.00000000); //object(nt_noddonkbase) (1)
	CreateDynamicObject(3586,-73.20288849,-12.18311691,6.44406700,0.00000000,0.00000000,54.00000000); //object(escl_la) (1)
	CreateDynamicObject(7073,-101.73693085,-7.41064453,12.28373718,1.11822510,56.01617432,208.34172058); //object(vegascowboy1) (1)
	CreateDynamicObject(4241,-1713.02490234,1350.70898438,6.19415474,86.00000000,0.00000000,134.00000000); //object(sbsbed4law2) (17)
	CreateDynamicObject(4241,-1650.95495605,1351.05749512,12.79430389,85.99548340,0.00000000,223.99475098); //object(sbsbed4law2) (18)
	CreateDynamicObject(4241,-1705.60180664,1387.91479492,8.60105896,85.99548340,0.00000000,43.99475098); //object(sbsbed4law2) (19)
	CreateDynamicObject(4241,-1620.05249023,1417.40478516,10.90903091,85.99548340,0.00000000,283.98925781); //object(sbsbed4law2) (20)
	CreateDynamicObject(4241,-1650.11145020,1436.92651367,3.44853115,85.99548340,0.00000000,343.98559570); //object(sbsbed4law2) (21)
	CreateDynamicObject(4241,-1628.00891113,1430.77441406,6.17501450,1.99545288,0.00000000,349.98193359); //object(sbsbed4law2) (22)
	CreateDynamicObject(3586,-1638.75305176,1395.95959473,11.87398148,0.00000000,0.00000000,25.99780273); //object(escl_la) (2)
	CreateDynamicObject(3586,-1662.44189453,1406.00952148,11.50656700,0.00000000,0.00000000,151.99414062); //object(escl_la) (3)
	CreateDynamicObject(3586,-1687.26953125,1371.20227051,11.72913742,356.00000000,0.00000000,297.99035645); //object(escl_la) (4)
	CreateDynamicObject(5262,-1708.65161133,1358.99731445,19.20766068,0.00000000,0.00000000,222.00000000); //object(las2dkwar04) (7)
	CreateDynamicObject(5262,-1683.80932617,1341.30249023,19.20766068,0.00000000,0.00000000,241.99523926); //object(las2dkwar04) (8)
	CreateDynamicObject(7040,-1660.80053711,1422.82031250,17.95903015,0.00000000,0.00000000,8.00000000); //object(vgnplcehldbox01) (2)
	CreateDynamicObject(1225,-1681.90832520,1389.22875977,20.41356659,0.00000000,0.00000000,0.00000000); //object(barrel4) (9)
	CreateDynamicObject(1225,-1699.52416992,1368.47009277,16.65575409,0.00000000,0.00000000,0.00000000); //object(barrel4) (10)
	CreateDynamicObject(1225,-1666.95776367,1350.02319336,14.39794254,0.00000000,0.00000000,0.00000000); //object(barrel4) (11)
	CreateDynamicObject(1225,-1654.71740723,1364.64587402,16.10560989,0.00000000,0.00000000,0.00000000); //object(barrel4) (12)
	CreateDynamicObject(1225,-1638.83447266,1381.98291016,17.81981659,0.00000000,0.00000000,0.00000000); //object(barrel4) (13)
	CreateDynamicObject(3586,-1639.84069824,1409.39758301,5.01437950,0.00000000,0.00000000,335.99365234); //object(escl_la) (5)
	CreateDynamicObject(3374,-1641.68811035,1371.34301758,18.90803909,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (5)
	CreateDynamicObject(3374,-1635.81933594,1374.90051270,18.90803909,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (6)
	CreateDynamicObject(3374,-1628.05444336,1380.58190918,18.90803909,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (7)
	CreateDynamicObject(3374,-1676.11303711,1397.60241699,12.69710159,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (8)
	CreateDynamicObject(3374,-1677.54174805,1396.35473633,15.69710159,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (9)
	CreateDynamicObject(3374,-1648.12231445,1374.65917969,18.90803909,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (10)
	CreateDynamicObject(3374,-1687.63818359,1381.69799805,15.28303909,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (11)
	CreateDynamicObject(3374,-1698.50219727,1345.00109863,8.37678909,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (12)
	CreateDynamicObject(3374,-1699.92932129,1348.47070312,11.37678909,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (13)
	CreateDynamicObject(3374,-1701.64501953,1351.11804199,13.87387085,0.00000000,0.00000000,0.00000000); //object(sw_haybreak02) (14)
	CreateDynamicObject(3472,-1701.22546387,1371.84338379,16.25000000,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (1)
	CreateDynamicObject(3472,-1673.76037598,1345.56774902,16.25000000,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (2)
	CreateDynamicObject(3472,-1657.59741211,1356.16394043,16.50094986,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (3)
	CreateDynamicObject(3472,-1635.54333496,1388.08398438,15.50098133,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (4)
	CreateDynamicObject(3472,-1678.20727539,1406.12927246,11.20312500,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (5)
	CreateDynamicObject(3472,-503.45611572,-545.82995605,24.52343750,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (6)
	CreateDynamicObject(3472,-487.45556641,-548.41735840,24.52343750,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (7)
	CreateDynamicObject(3472,-531.20190430,-485.18466187,24.52343750,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (8)
	CreateDynamicObject(3472,-528.00457764,-474.57696533,24.52343750,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (9)
	CreateDynamicObject(3472,-538.13793945,-520.14379883,35.09257507,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (10)
	CreateDynamicObject(3472,-575.16937256,-520.53057861,35.13188171,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (11)
	CreateDynamicObject(3472,-602.85253906,-533.57916260,36.52527618,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (12)
	CreateDynamicObject(3472,-604.51824951,-517.21228027,36.52527618,0.00000000,0.00000000,0.00000000); //object(circuslampost03) (13)
	CreateDynamicObject(3743,-546.49353027,-501.78118896,28.18251610,0.00000000,0.00000000,0.00000000); //object(escl_singlela) (2)
	CreateDynamicObject(3743,-546.51745605,-504.27029419,30.96137619,346.00000000,0.00000000,0.00000000); //object(escl_singlela) (3)
	CreateDynamicObject(3743,-604.09704590,-495.31658936,28.43251610,0.00000000,0.00000000,0.00000000); //object(escl_singlela) (4)
	CreateDynamicObject(3743,-590.04730225,-526.93304443,37.03380203,0.00000000,0.00000000,90.00000000); //object(escl_singlela) (5)
	CreateDynamicObject(3743,-577.45495605,-527.07830811,37.25438309,0.00000000,0.00000000,270.00000000); //object(escl_singlela) (6)
	CreateDynamicObject(3743,-603.74957275,-526.24932861,32.68435669,0.00000000,0.00000000,176.00000000); //object(escl_singlela) (7)
	CreateDynamicObject(4241,-464.95184326,-520.70404053,26.55731583,0.00000000,268.00000000,0.00000000); //object(sbsbed4law2) (23)
	CreateDynamicObject(4241,-519.94830322,-565.60076904,16.77357483,0.00000000,267.99493408,270.00000000); //object(sbsbed4law2) (24)
	CreateDynamicObject(4241,-587.25720215,-564.02929688,61.66166306,0.00000000,267.98950195,270.00000000); //object(sbsbed4law2) (25)
	CreateDynamicObject(4241,-619.54962158,-548.18670654,79.26908112,0.00000000,267.98950195,180.00000000); //object(sbsbed4law2) (26)
	CreateDynamicObject(4241,-557.01232910,-467.97427368,47.85669708,0.00000000,267.98400879,89.99450684); //object(sbsbed4law2) (27)
	CreateDynamicObject(16021,-597.47351074,-474.08923340,24.27343750,0.00000000,0.00000000,90.00000000); //object(des_geyhotbase_) (1)
	CreateDynamicObject(5132,-564.16961670,-471.77380371,26.33025360,0.00000000,0.00000000,270.00000000); //object(las2dkwar107) (2)
	CreateDynamicObject(5262,-511.70690918,-520.02160645,38.04567337,0.00000000,0.00000000,0.00000000); //object(las2dkwar04) (9)
	CreateDynamicObject(5262,-521.04473877,-531.24902344,37.54779434,0.00000000,0.00000000,270.00000000); //object(las2dkwar04) (10)
	CreateDynamicObject(7040,-556.66180420,-530.11578369,38.06359863,0.00000000,0.00000000,0.00000000); //object(vgnplcehldbox01) (3)
	CreateDynamicObject(7040,-481.07260132,-475.69610596,27.95121765,0.00000000,0.00000000,0.00000000); //object(vgnplcehldbox01) (4)
	CreateDynamicObject(7040,-501.65277100,-478.13958740,27.94562340,0.00000000,0.00000000,0.00000000); //object(vgnplcehldbox01) (5)
	CreateDynamicObject(7040,-519.49011230,-481.21844482,27.94562340,0.00000000,0.00000000,0.00000000); //object(vgnplcehldbox01) (6)
	CreateDynamicObject(8341,-476.95004272,-510.08410645,28.51597977,0.00000000,0.00000000,0.00000000); //object(vgsfrates12) (1)
	
	Textdraw0 = TextDrawCreate(500.000000, 1.000000, "[fG] Zombie-Mod");
	TextDrawBackgroundColor(Textdraw0, -1);
	TextDrawFont(Textdraw0, 1);
	TextDrawLetterSize(Textdraw0, 0.419999, 2.300000);
	TextDrawColor(Textdraw0, -16776961);
	TextDrawSetOutline(Textdraw0, 1);
	TextDrawSetProportional(Textdraw0, 1);

	Textdraw1 = TextDrawCreate(139.000000, 428.000000, "Forums: www.fraggamers.netii.net");
	TextDrawBackgroundColor(Textdraw1, -1);
	TextDrawFont(Textdraw1, 1);
	TextDrawLetterSize(Textdraw1, 0.620000, 1.900000);
	TextDrawColor(Textdraw1, 255);
	TextDrawSetOutline(Textdraw1, 1);
	TextDrawSetProportional(Textdraw1, 1);

	Textdraw2 = TextDrawCreate(4.000000, 0.000000, "~n~");
	TextDrawBackgroundColor(Textdraw2, 255);
	TextDrawFont(Textdraw2, 1);
	TextDrawLetterSize(Textdraw2, 0.569999, 16.000000);
	TextDrawColor(Textdraw2, -1);
	TextDrawSetOutline(Textdraw2, 0);
	TextDrawSetProportional(Textdraw2, 1);
	TextDrawSetShadow(Textdraw2, 1);
	TextDrawUseBox(Textdraw2, 1);
	TextDrawBoxColor(Textdraw2, 1513241650);
	TextDrawTextSize(Textdraw2, 398.000000, 0.000000);

	Textdraw3 = TextDrawCreate(35.000000, 0.000000, "~y~fG Zombie-Mod Edited Chat");
	TextDrawBackgroundColor(Textdraw3, 255);
	TextDrawFont(Textdraw3, 1);
	TextDrawLetterSize(Textdraw3, 0.719999, 0.899999);
	TextDrawColor(Textdraw3, -1);
	TextDrawSetOutline(Textdraw3, 0);
	TextDrawSetProportional(Textdraw3, 1);
	TextDrawSetShadow(Textdraw3, 1);

	return 1;
}

public OnGameModeExit()
{
    for(new i=0;i<MAX_PLAYERS;i++)
    if(IsPlayerConnected(i))
    StopPlayerHoldingObject(i);
   	TextDrawHideForAll(Textdraw0);
	TextDrawDestroy(Textdraw0);
	TextDrawHideForAll(Textdraw1);
	TextDrawDestroy(Textdraw1);
	TextDrawHideForAll(Textdraw2);
	TextDrawDestroy(Textdraw2);
	TextDrawHideForAll(Textdraw3);
	TextDrawDestroy(Textdraw3);
	return 1;
}
public NoZombieWeapons(playerid)
{
    if(gTeam[playerid] == TEAM_ZOMBIE)
    {
        switch (GetPlayerWeapon(playerid))
        {
            case 1,2,3,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46:
            {
                ResetPlayerWeapons(playerid);
                GivePlayerWeapon(playerid, KNIFE, 600);
            }
        }
    }
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	if(classid == 0)
	{
	    GameTextForPlayer(playerid,"~b~ HUMAN",6000,4);
	    gTeam[playerid] = TEAM_HUMAN;
	}
	if(classid == 1)
	{
	  	GameTextForPlayer(playerid,"~b~ ZOMBIE",6000,4);
	    gTeam[playerid] = TEAM_ZOMBIE;
	}
	SetPlayerPos(playerid,1679.210205 ,1447.770752 ,47.438412);
  	SetPlayerFacingAngle(playerid, 0.0);
   	SetPlayerCameraPos(playerid,1679.210205 ,1457.770752 ,49.438412);
    SetPlayerCameraLookAt(playerid,1679.210205 ,1447.770752 ,47.438412);
    return 1;
}
public Unfreeze(playerid)
{
	TogglePlayerControllable(playerid,1);
	return 1;
}

public ChangeZombieToHuman(playerid)
{
	if(gTeam[playerid] == TEAM_ZOMBIE)
	{
		foreach(Player, i)
		{
  			new r = INVALID_PLAYER_ID;
            while(!IsPlayerConnected®) { r = random(MAX_PLAYERS); }
		    Human®;
		    TogglePlayerControllable(playerid,1);
            SetTimer("Unfreeze",1000,false);
		}
	}
	return 1;
}
public ChangeHumanToZombie(playerid)
{
	if(gTeam[playerid] == TEAM_HUMAN)
	{
		foreach(Player, i)
		{
		    new r = INVALID_PLAYER_ID;
		    while(!IsPlayerConnected®) { r = random(MAX_PLAYERS); }
			Infected®;
			TogglePlayerControllable(playerid,1);
			SetTimer("Unfreeze",1000,false);
		}
	}
	return 1;
}

	/*else if(gTeam[playerid] == TEAM_HUMAN)
	{
	    foreach(Player, i)
	    {
     		new r = INVALID_PLAYER_ID;
            while(!IsPlayerConnected®) { r = random(MAX_PLAYERS); }
	        Infected®;
		}
	}
	*/


/*
public ChangeHumanToZombie(playerid)
{
	if(gTeam[playerid] == TEAM_HUMAN)
	{
	    foreach(Player, i)
	    {
	        new ChangeToZombie2 = Iter_Random(Player);
	        Infected(ChangeToZombie2);
		}
	}
	else if(gTeam[playerid] == TEAM_ZOMBIE)
	{
		foreach(Player, i)
		{
		    new ChangeToHuman2 = Iter_Random(Player);
		    Human(ChangeToHuman2);
		}
	}
	return 1;
}
*/

public TeamSetUps(playerid)
{
	if(gTeam[playerid] == TEAM_HUMAN)
	{
		ResetPlayerWeapons(playerid);
		SetPlayerTeam(playerid,1);
		SetPlayerSkin(playerid,H_SKIN);
		SetPlayerColor(playerid,H_COLOR);
		SetPlayerHealth(playerid,110);
		SetPlayerWeather(playerid,32);
		GameTextForPlayer(playerid,"~r~GO~n~~w~SAVE~n~~p~THE~n~~w~WORLD",6000,4);
		new RandomSpawnWep = random(9);
		switch(RandomSpawnWep)
		{
		    case 0:{GivePlayerWeapon(playerid,SMG2,6000); GivePlayerWeapon(playerid,22,100);}
		    case 1:{GivePlayerWeapon(playerid,M4,6000); GivePlayerWeapon(playerid,24,100);}
		    case 2:{GivePlayerWeapon(playerid,AK,6000); GivePlayerWeapon(playerid,22,100);}
		    case 3:{GivePlayerWeapon(playerid,25,50); GivePlayerWeapon(playerid,24,100);}
		    case 4:{GivePlayerWeapon(playerid,37,150); GivePlayerWeapon(playerid,42,1000);}
		    case 5:{GivePlayerWeapon(playerid,34,100); GivePlayerWeapon(playerid,24,100);}
		    case 6:{GivePlayerWeapon(playerid,24,100); GivePlayerWeapon(playerid,22,100);}
		    case 7:{GivePlayerWeapon(playerid,27,30); GivePlayerWeapon(playerid,24,100);}
		    case 8:{GivePlayerWeapon(playerid,26,30); GivePlayerWeapon(playerid,22,100);}
		    case 9:{GivePlayerWeapon(playerid,33
			,100); GivePlayerWeapon(playerid,22,100);}
		}
		new SkinRandomH = random(21);
		switch(SkinRandomH)
		{
		    case 0:SetPlayerSkin(playerid,2);
		    case 1:SetPlayerSkin(playerid,285);
		    case 2:SetPlayerSkin(playerid,287);
		    case 3:SetPlayerSkin(playerid,23);
		    case 4:SetPlayerSkin(playerid,29);
		    case 5:SetPlayerSkin(playerid,40);
		    case 6:SetPlayerSkin(playerid,41);
		    case 7:SetPlayerSkin(playerid,46);
		    case 8:SetPlayerSkin(playerid,70);
		    case 9:SetPlayerSkin(playerid,71);
		    case 10:SetPlayerSkin(playerid,115);
		    case 11:SetPlayerSkin(playerid,108);
		    case 12:SetPlayerSkin(playerid,123);
		    case 13:SetPlayerSkin(playerid,141);
		    case 14:SetPlayerSkin(playerid,140);
		    case 15:SetPlayerSkin(playerid,170);
		    case 16:SetPlayerSkin(playerid,265);
		    case 17:SetPlayerSkin(playerid,267);
		    case 18:SetPlayerSkin(playerid,284);
		    case 19:SetPlayerSkin(playerid,295);
		    case 20:SetPlayerSkin(playerid,299);
		}
	}
	if(gTeam[playerid] == TEAM_ZOMBIE)
	{
	    ResetPlayerWeapons(playerid);
	    SetPlayerTeam(playerid,0);
	    SetPlayerSkin(playerid,Z_SKIN);
	    SetPlayerColor(playerid,Z_COLOR);
	    SetPlayerHealth(playerid,50);
	    SetPlayerWeather(playerid,32);
	    SetPlayerTime(playerid,24,0);
	    GameTextForPlayer(playerid,"~r~Eat~n~~w~THE~n~~p~HUMANS~n~~w~BRAINS",6000,4);
	    GivePlayerWeapon(playerid,KNIFE,500);
    	new zskin = random(4);
		switch(zskin)
		{
		    case 0:SetPlayerSkin(playerid,Z_SKIN2);
		    case 1:SetPlayerSkin(playerid,Z_SKIN);
		    case 2:SetPlayerSkin(playerid,137);

		}
	}


	return 1;
}
public Human(playerid)
{
    	ResetPlayerWeapons(playerid);
		SetPlayerTeam(playerid,1);
		SetPlayerColor(playerid,H_COLOR);
		SetPlayerSkin(playerid,H_SKIN);
		SetPlayerHealth(playerid,110);
		SetPlayerWeather(playerid,32);
		GameTextForPlayer(playerid,"~r~GO~n~~w~SAVE~n~~p~THE~n~~w~WORLD",6000,4);
		new RandomSpawnWep = random(9);
		switch(RandomSpawnWep)
		{
		    case 0:{GivePlayerWeapon(playerid,SMG2,6000); GivePlayerWeapon(playerid,22,100);}
		    case 1:{GivePlayerWeapon(playerid,M4,6000); GivePlayerWeapon(playerid,24,100);}
		    case 2:{GivePlayerWeapon(playerid,AK,6000); GivePlayerWeapon(playerid,22,100);}
		    case 3:{GivePlayerWeapon(playerid,25,50); GivePlayerWeapon(playerid,24,100);}
		    case 4:{GivePlayerWeapon(playerid,37,150); GivePlayerWeapon(playerid,42,1000);}
		    case 5:{GivePlayerWeapon(playerid,34,100); GivePlayerWeapon(playerid,24,100);}
		    case 6:{GivePlayerWeapon(playerid,24,100); GivePlayerWeapon(playerid,22,100);}
		    case 7:{GivePlayerWeapon(playerid,27,30); GivePlayerWeapon(playerid,24,100);}
		    case 8:{GivePlayerWeapon(playerid,26,30); GivePlayerWeapon(playerid,22,100);}
		    case 9:{GivePlayerWeapon(playerid,33,100); GivePlayerWeapon(playerid,22,100);}
		}
		new SkinRandomH = random(21);
		switch(SkinRandomH)
		{
		    case 0:SetPlayerSkin(playerid,2);
		    case 1:SetPlayerSkin(playerid,285);
		    case 2:SetPlayerSkin(playerid,287);
		    case 3:SetPlayerSkin(playerid,23);
		    case 4:SetPlayerSkin(playerid,29);
		    case 5:SetPlayerSkin(playerid,40);
		    case 6:SetPlayerSkin(playerid,41);
		    case 7:SetPlayerSkin(playerid,46);
		    case 8:SetPlayerSkin(playerid,70);
		    case 9:SetPlayerSkin(playerid,71);
		    case 10:SetPlayerSkin(playerid,115);
		    case 11:SetPlayerSkin(playerid,108);
		    case 12:SetPlayerSkin(playerid,123);
		    case 13:SetPlayerSkin(playerid,141);
		    case 14:SetPlayerSkin(playerid,140);
		    case 15:SetPlayerSkin(playerid,170);
		    case 16:SetPlayerSkin(playerid,265);
		    case 17:SetPlayerSkin(playerid,267);
		    case 18:SetPlayerSkin(playerid,284);
		    case 19:SetPlayerSkin(playerid,295);
		    case 20:SetPlayerSkin(playerid,299);
		}

	return 1;
}
public Infected(playerid)
{
    new
    name    [ MAX_PLAYER_NAME ],
	string4 [ 52 + MAX_PLAYER_NAME ]
    ;

    ResetPlayerWeapons      ( playerid);
    SetPlayerColor          ( playerid,Z_COLOR);
    SetPlayerTeam           ( playerid,TEAM_ZOMBIE);
    SetPlayerHealth         ( playerid,50);
    SetPlayerWeather        ( playerid,32);
    SetPlayerTime           ( playerid,24,0);
    GetPlayerName           ( playerid, name, sizeof(name));
    format                  ( string4, sizeof(string4), "Player %s has just been infected turned into [Zombie]",name);
    SendClientMessageToAll  ( COLOR_GREEN,string4);
    GameTextForPlayer       ( playerid,"~r~ YOU JUST BEEN ZOMBIFIED INTO INFECTED SIDE",6000,4);
    GivePlayerWeapon        ( playerid,KNIFE,100);
    SetPlayerSkin           ( playerid,162);
    TogglePlayerControllable(playerid,1);
    gTeam [ playerid ] = TEAM_ZOMBIE;
    return 1;
}
public OnPlayerConnect(playerid)
{
	gPlayerUsingLoopingAnim[playerid] = 0;
	gPlayerAnimLibsPreloaded[playerid] = 0;
	OldWeapon[playerid]=0;
    HoldingWeapon[playerid]=0;
   	TextDrawShowForPlayer(playerid, Textdraw0);
	TextDrawShowForPlayer(playerid, Textdraw1);
	TextDrawShowForPlayer(playerid, Textdraw2);
	TextDrawShowForPlayer(playerid, Textdraw3);
    PlayerCount ++;
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	PlayerCount --;
	return 1;
}
public OnPlayerText(playerid, text[])
{
   new senderName[MAX_PLAYER_NAME];
   new string[256];
   GetPlayerName(playerid, senderName, sizeof(senderName));
   format(string, sizeof(string),"[ID:%d]:%s", playerid, text);
   SendPlayerMessageToAll(playerid, string);
   return 0;
}

public OnPlayerSpawn(playerid)
{
	TeamSetUps(playerid);
	SendClientMessage(playerid,COLOR_WHITE,"SERVER: First team to get 50 kills will win the round");
    switch(Arena[ID])
	{

		case 0:
	    {
            SendRconCommand("mapname ZM_GROVESTREET");
			GameTextForPlayer(playerid,"~r~MAP:~w~ZM_GROVESTREET",6000,4);
			if(gTeam[playerid] == TEAM_HUMAN)
	   		{
	            SetPlayerPos(playerid,2346.4951,-1742.8738,13.5469);
	            SetPlayerFacingAngle(playerid,274.5655);
				SetPlayerInterior(playerid,0);
	        }
			if(gTeam[playerid] == TEAM_ZOMBIE)
			{
			    SetPlayerPos(playerid,2486.7463,-1647.9648,14.0703);
			    SetPlayerFacingAngle(playerid,184.7001);
			    SetPlayerInterior(playerid,0);
			}
		}

		case 1:
	    {
            SendRconCommand("mapname ZM_BRIDGE");
			GameTextForPlayer(playerid,"~r~MAP:~w~ZM_BRIDGE",6000,4);
			if(gTeam[playerid] == TEAM_HUMAN)
	   		{
	            SetPlayerPos(playerid,-2698.1018,1522.3014,60.2286);
	            SetPlayerFacingAngle(playerid,258.6596);
				SetPlayerInterior(playerid,0);
	        }
			if(gTeam[playerid] == TEAM_ZOMBIE)
			{
			    SetPlayerPos(playerid,-2676.7476,1804.3750,67.8705);
			    SetPlayerFacingAngle(playerid,166.9949);
			    SetPlayerInterior(playerid,0);
			}
		}

		case 2:
	    {
            SendRconCommand("mapname ZM_ROOFTOP");
			GameTextForPlayer(playerid,"~r~MAP:~w~ZM_ROOFTOP",6000,4);
			if(gTeam[playerid] == TEAM_HUMAN)
	   		{
	            SetPlayerPos(playerid,1899.6738,998.6496,58.6697);
	            SetPlayerFacingAngle(playerid,279.1339);
				SetPlayerInterior(playerid,0);
	        }
			if(gTeam[playerid] == TEAM_ZOMBIE)
			{
			    SetPlayerPos(playerid,1978.8358,991.4753,59.0187);
			    SetPlayerFacingAngle(playerid,90.2154);
			    SetPlayerInterior(playerid,0);
			}
		}

		case 3:
	    {
            SendRconCommand("mapname ZM_OLDWEST");
			GameTextForPlayer(playerid,"~r~MAP:~w~ZM_OLDWEST",6000,4);
			if(gTeam[playerid] == TEAM_HUMAN)
	   		{
	            SetPlayerPos(playerid,-46.2973,35.6812,3.1172);
	            SetPlayerFacingAngle(playerid,160.3660);
				SetPlayerInterior(playerid,0);
	        }
			if(gTeam[playerid] == TEAM_ZOMBIE)
			{
			    SetPlayerPos(playerid,-119.4117,-89.5186,3.1181);
			    SetPlayerFacingAngle(playerid,75.1620);
			    SetPlayerInterior(playerid,0);
			}
		}
		case 4:
	    {
            SendRconCommand("mapname ZM_CARNIVAL");
			GameTextForPlayer(playerid,"~r~MAP:~w~ZM_CARNIVAL",6000,4);
			if(gTeam[playerid] == TEAM_HUMAN)
	   		{
	            SetPlayerPos(playerid,-1632.5145,1419.4192,7.1875);
	            SetPlayerFacingAngle(playerid,150.6545);
				SetPlayerInterior(playerid,0);
	        }
			if(gTeam[playerid] == TEAM_ZOMBIE)
			{
			    SetPlayerPos(playerid,-1695.1646,1354.8274,9.7971);
			    SetPlayerFacingAngle(playerid,308.2393);
			    SetPlayerInterior(playerid,0);
			}
		}

	 	case 5:
	    {
			SendRconCommand("mapname ZM_MADDOG");
			GameTextForPlayer(playerid,"~r~MAP:~w~ZM_MADDOG",6000,4);
			if(gTeam[playerid] == TEAM_HUMAN)
	   		{
	            SetPlayerPos(playerid,1300.0236,-790.1140,1084.0078);
	            SetPlayerFacingAngle(playerid,0.3154);
				SetPlayerInterior(playerid,5);
	        }
			if(gTeam[playerid] == TEAM_ZOMBIE)
			{
			    SetPlayerPos(playerid,1266.4395,-780.0988,1091.9063);
			    SetPlayerFacingAngle(playerid,269.7846);
			    SetPlayerInterior(playerid,5);
			}
		}
  		case 6:
	    {
   			SendRconCommand("mapname ZM_JEFFERSON");
			GameTextForPlayer(playerid,"~r~MAP:~w~ZM_JEFFERSON",6000,4);
	        if(gTeam[playerid] == TEAM_HUMAN)
	        {
	            SetPlayerPos(playerid,2220.3972,-1151.4685,1025.7969);
	            SetPlayerFacingAngle(playerid,269.3734);
	            SetPlayerInterior(playerid,15);
	        }
			if(gTeam[playerid] == TEAM_ZOMBIE)
			{
			    SetPlayerPos(playerid,2193.5583,-1141.1141,1029.7969);
			    SetPlayerFacingAngle(playerid,178.7957);
			    SetPlayerInterior(playerid,15);
			}
		}
	}

	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid, playerid, reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+2);
   	GivePlayerMoney(killerid, 15000);
    GameTextForPlayer(killerid, "~w~1+~n~~g~+$15000!!",6000,4);


	if(gTeam[playerid] == TEAM_HUMAN)
	{
		Arena[ZombiesKills] ++;
	}
	else if(gTeam[playerid] == TEAM_ZOMBIE)
	{
	    Arena[HumansKills] ++;
	}


    switch(Arena[ZombiesKills])
	{
		case 5: GameTextForAll("~r~ZOMBIE SCORE: 5",4000,4);
	    case 10: GameTextForAll("~r~ZOMBIE SCORE: 10",4000,4);
	    case 15: GameTextForAll("~r~ZOMBIE SCORE: 15",4000,4);
	    case 20: GameTextForAll("~r~ZOMBIE SCORE: 20",4000,4);
	    case 25: GameTextForAll("~r~ZOMBIE SCORE: 25",4000,4);
	    case 30: GameTextForAll("~r~ZOMBIE SCORE: 30",4000,4);
	    case 35: GameTextForAll("~r~ZOMBIE SCORE: 35",4000,4);
	    case 40: GameTextForAll("~r~ZOMBIE SCORE: 40",4000,4);
	    case 45: GameTextForAll("~r~ZOMBIE SCORE: 45",4000,4);
	    case 50:
		{
			GameTextForAll("~r~ZOMBIE SCORE: 50 ~n~~w~ CHANGING MAP",4000,4);
			AnnounceWinner();
		}
	}
	switch(Arena[HumansKills])
	{
    	case 5: GameTextForAll("~r~HUMAN SCORE: 5",4000,4);
	    case 10: GameTextForAll("~r~HUMAN SCORE: 10",4000,4);
	    case 15: GameTextForAll("~r~HUMAN SCORE: 15",4000,4);
	    case 20: GameTextForAll("~r~HUMAN SCORE: 20",4000,4);
	    case 25: GameTextForAll("~r~HUMAN SCORE: 25",4000,4);
	    case 30: GameTextForAll("~r~HUMAN SCORE: 30",4000,4);
	    case 35: GameTextForAll("~r~HUMAN SCORE: 35",4000,4);
	    case 40: GameTextForAll("~r~HUMAN SCORE: 40",4000,4);
	    case 45: GameTextForAll("~r~HUMAN SCORE: 45",4000,4);
	    case 50:
		{
			GameTextForAll("~r~HUMAN SCORE: 50 ~n~~w~CHANGING MAP",4000,4);
			AnnounceWinner();
		}
	}
	return 1;
}

public AnnounceWinner()
{
	if(Arena[ZombiesKills] > Arena[HumansKills])
	{
	    GameTextForAll("~r~Humans~w~ WON THE ROUND~y~ ]]",3000,5);
		format(Text,256,"Zombies died: %d | Humans died: %d",
		Arena[ZombiesKills],Arena[HumansKills]);
		SendClientMessageToAll(COLOR_YELLOW,Text);
	}
	if(Arena[ZombiesKills] < Arena[HumansKills])
	{
	    GameTextForAll("~b~Zombies~w~ WON THE ROUND~y~ ]]",3000,5);
		format(Text,256,"Humans died: %d | Zombies died: %d",
		Arena[HumansKills],Arena[ZombiesKills]);
		SendClientMessageToAll(COLOR_YELLOW,Text);
	}
    if(Arena[ZombiesKills] == Arena[HumansKills])
	{
		GameTextForAll("~w~ROUND DRAW NO ONE WON",3000,5);
		format(Text,256,"Both teams had %d deaths.",
		Arena[ZombiesKills]);
		SendClientMessageToAll(COLOR_YELLOW,Text);
	}
	Arena[ID] ++;
	SetTimer("ChangeRound",10000,0);
	SendClientMessageToAll(COLOR_RED,"Wait 10 seconds untill Next map loads");
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
    	SetPlayerCameraPos(i, -1958.2029,711.0995,53.6375);
    	SetPlayerCameraLookAt(i,  -1959.4025,700.4174,46.5625);
 	    SetPlayerInterior(i,0);
	}
	return 1;
}
public ChangeRound()
{
	Arena[ZombiesKills] = 0;
	Arena[HumansKills] = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
	{
		SpawnPlayer(i);
		switch(Arena[ID])
	    {
	        case 0:
	        {
	            SetPlayerInterior(i,0);
	        }
	        case 1:
	        {
	            SetPlayerInterior(i,0);
	        }
	        case 2:
	        {
	            SetPlayerInterior(i,0);
	        }
	        case 3:
	        {
	            SetPlayerInterior(i,0);
	        }
	        case 4:
	        {
	            SetPlayerInterior(i,0);
	        }
	        case 5:
	        {
	            SetPlayerInterior(i,5);
	        }
	        case 6:
	        {
	            SetPlayerInterior(i,15);
	            Arena[ID] = 0;
	        }
		}
	}
	return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(heal,4,cmdtext);
    dcmd(spec,4,cmdtext);
    dcmd(panic,5,cmdtext);
    dcmd(kill,4,cmdtext);
    dcmd(change,6,cmdtext);
    dcmd(rules,5,cmdtext);
    dcmd(rzombie,7,cmdtext);
    dcmd(rhuman,6,cmdtext);
    dcmd(credits,7,cmdtext);
    dcmd(help,4,cmdtext);
    dcmd(cmds,4,cmdtext);
    dcmd(human,5,cmdtext);
    dcmd(zombie,6,cmdtext);
    
   	if (strcmp("/lol", cmdtext, true, 10) == 0)
	{
		// Test
		return 1;
	}
    
	return 0;
}
dcmd_zombie(playerid,params[])
{
	#pragma unused params
	SetPlayerHealth(playerid,0);
	Infected(playerid);
	return 1;
}
dcmd_human(playerid,params[])
{
	#pragma unused params
	SetPlayerHealth(playerid,0);
	Human(playerid);
	return 1;
}
dcmd_rules(playerid,params[])
{
	#pragma unused params
	SendClientMessage(playerid,COLOR_BLUE,"---------ZOMBIE-MOD RULES---------");
	SendClientMessage(playerid,COLOR_WHITE,"For Zombie rules type /rzombie");
	SendClientMessage(playerid,COLOR_WHITE,"For Human rules type /rhuman");
	SendClientMessage(playerid,COLOR_WHITE,"Server Rules: 1: No hacking 2: No Flame Wars");
	SendClientMessage(playerid,COLOR_WHITE,"Respect Others,Respect admins, Respect VIPS,Respect Players");
	SendClientMessage(playerid,COLOR_WHITE,"NO SPAMMING AT ALL, Do not advertise your shitty servers here");
	SendClientMessage(playerid,COLOR_WHITE,"That is for right now more will be added");
	return 1;
}
dcmd_rzombie(playerid,params[])
{
	#pragma unused params
	SendClientMessage(playerid,COLOR_BLUE,"---------ZOMBIE RULES---------");
	SendClientMessage(playerid,COLOR_WHITE,"1: Zombies can not buy weapons");
	SendClientMessage(playerid,COLOR_WHITE,"2: Zombies Can only use knife if admins see u with other weapons you will be banned");
	return 1;
}
dcmd_rhuman(playerid,params[])
{
	#pragma unused params
	SendClientMessage(playerid,COLOR_BLUE,"---------HUMAN RULES---------");
	SendClientMessage(playerid,COLOR_WHITE,"1:Humans can not camp alot");
	SendClientMessage(playerid,COLOR_WHITE,"2:Dont just get infected on purpose to infect ur buddys by you");
	SendClientMessage(playerid,COLOR_WHITE,"MORE WILL COME SOON");
	return 1;
}
dcmd_credits(playerid,params[])
{
	#pragma unused params
	SendClientMessage(playerid,COLOR_BLUE,"---------CREDITS---------");
	SendClientMessage(playerid,COLOR_WHITE,"Kitten for scripting Gamemode");
	SendClientMessage(playerid,COLOR_WHITE,"seif for admin system");
	SendClientMessage(playerid,COLOR_WHITE,"G0D4VID , Terminator , Gh0st for the map changes parts");
	SendClientMessage(playerid,COLOR_WHITE,"If we Have missed you in credits dont say in server goto our forums");
	return 1;
}
dcmd_help(playerid,params[])
{
	#pragma unused params
	SendClientMessage(playerid,COLOR_BLUE,"---------HELP---------");
	SendClientMessage(playerid,COLOR_WHITE,"This is a server Zombies VS Humans");
	SendClientMessage(playerid,COLOR_WHITE,"Zombies knife humans to infect them");
	SendClientMessage(playerid,COLOR_WHITE,"Zombie color is red human color is blue");
	SendClientMessage(playerid,COLOR_WHITE,"Type /cmds for list of commands in server");
	return 1;
}
dcmd_cmds(playerid,params[])
{
	#pragma unused params
	SendClientMessage(playerid,COLOR_BLUE,"---------COMMANDS---------");
	SendClientMessage(playerid,COLOR_WHITE,"Current Commands in server more will be added soon");
	SendClientMessage(playerid,COLOR_WHITE,"/credits, /help , /cmds , /panic , /rhuman , /rzombie , /heal");
	SendClientMessage(playerid,COLOR_WHITE,"/spec , /kill , /rules");
	return 1;
}
dcmd_change(playerid,params[])
{
	#pragma unused params
	#pragma unused playerid
	AnnounceWinner();
	return 1;
}
dcmd_heal(playerid, params[])
{
	new
	id;
	if(gTeam[playerid] == TEAM_HUMAN)
	if (sscanf(params, "u", id)) SendClientMessage(playerid, 0xFF0000AA, "USAGE: /heal playerid");
	else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, "Player not found");
	else
	{
		SetPlayerHealth(id, 100.0);
		SendClientMessage(id, 0x00FF00AA, "You have been healed");
		SendClientMessage(playerid, 0x00FF00AA, "Player healed");
	}
	return 1;
}
dcmd_spec(playerid, params[])
{
    new
    id;
    if (sscanf(params, "u", id)) SendClientMessage(playerid,0xFF0000AA, "USAGE: /spec id");
    else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid,0xFF0000AA, "Player is not found");
    else
    {
        TogglePlayerSpectating(playerid, 1);
        SpecID[playerid] = id;
        SpecTimer[playerid] = SetTimerEx("SpecUpdate", 3000, true, "i",playerid);
        SpecState[playerid] = GetPlayerState(id);
        if(GetPlayerState(id) == PLAYER_STATE_DRIVER)  PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
        else PlayerSpectatePlayer(playerid, id);

    }
    return 1;
}

dcmd_panic(playerid, params[])
{
	#pragma unused params
	if(gTeam[playerid] == TEAM_HUMAN)
	{
		new Float:x,Float:y,Float:z;
		GetPlayerPos(playerid,Float:x,Float:y,Float:z);
		PanicCP = CreateDynamicCP(Float:x, Float:y, Float:z, 5.0,-1,-1, -1, 100000.9);
		new name[MAX_PLAYER_NAME], string[44];
		GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "~r~%s HAS PANICKED lol Kill him",name);
		SendClientMessage(playerid,0xFF0000AA,"[15] Seconds untill panic checkpoint goes away");
		GameTextForAll(string,6000,4);
		SetTimer("PanicDAway",15000,false);
	}
    return 1;
}
dcmd_kill(playerid, params[])
{
	#pragma unused params
	SetPlayerHealth(playerid,0);
	new name[MAX_PLAYER_NAME], string3[256];
	GetPlayerName(playerid, name, sizeof(name));
	format(string3, sizeof(string3), "SERVER: %s Has sucided during the infection hes lame",name);
	SendClientMessageToAll(COLOR_WHITE,string3);
	return 1;
}
// New publics i made
public PanicDAway(playerid)
{
    DestroyDynamicCP(PanicCP);
	if(gTeam[playerid] == TEAM_HUMAN)
	{
	
		GameTextForPlayer(playerid,"~r~ Heres a pistol you found ~n~~w~DEAGLE",6000,4);
		GivePlayerWeapon(playerid,DEAGLE,50);
	}
	return 1;
}

public SpecUpdate(playerid)
{
    if(GetPlayerState(SpecID[playerid]) != SpecState[playerid])
    {
    	SpecState[playerid] = GetPlayerState(SpecID[playerid]);
        if(GetPlayerState(SpecID[playerid]) == PLAYER_STATE_DRIVER)  PlayerSpectateVehicle(playerid, GetPlayerVehicleID(SpecID[playerid]));
        else PlayerSpectatePlayer(playerid, SpecID[playerid]);
    }
    return 1;
}

// Streamer Publics
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
	if(gTeam[playerid] == TEAM_HUMAN)
	{
		if(checkpointid == PanicCP)
		{
			ResetPlayerWeapons(playerid);
		}
		else if(gTeam[playerid] == TEAM_ZOMBIE)
		{
			GameTextForPlayer(playerid,"ERROR: you cant use this READ RULES ~n~~w~/rules",6000,4);
		}
	}
	



    if(gTeam[playerid] == TEAM_HUMAN)
    {
            if(checkpointid == Carnival)
            {
                ShowPlayerDialog(playerid,Dialog_Weaps,2,"Choose a Weapon","Uzi $2500\nAk47 $10000\nSawn-Off Shotgun $20000\nTec9 $3500\nSMG $20999\nCombat Shotgun $25000","Buy","Cancel");
            }
    }
    else if(gTeam[playerid] == TEAM_ZOMBIE)
            {
                GameTextForPlayer(playerid,"~r~ERROR: you cant use this READ RULES ~n~ ~w~/rules",6000,4);
            }
   	if(gTeam[playerid] == TEAM_HUMAN)
    {
            if(checkpointid == Bridge)
            {
                ShowPlayerDialog(playerid,Dialog_Weaps,2,"Choose a Weapon","Uzi $2500\nAk47 $10000\nSawn-Off Shotgun $20000\nTec9 $3500\nSMG $20999\nCombat Shotgun $25000","Buy","Cancel");
            }
    }
    else if(gTeam[playerid] == TEAM_ZOMBIE)
            {
                GameTextForPlayer(playerid,"~r~ERROR: you cant use this READ RULES ~n~ ~w~/rules",6000,4);
            }

	if(gTeam[playerid] == TEAM_HUMAN)
    {
            if(checkpointid == Rooftop)
            {
                ShowPlayerDialog(playerid,Dialog_Weaps,2,"Choose a Weapon","Uzi $2500\nAk47 $10000\nSawn-Off Shotgun $20000\nTec9 $3500\nSMG $20999\nCombat Shotgun $25000","Buy","Cancel");
            }
    }
    else if(gTeam[playerid] == TEAM_ZOMBIE)
            {
                GameTextForPlayer(playerid,"~r~ERROR: you cant use this READ RULES ~n~ ~w~/rules",6000,4);
            }
            
    if(gTeam[playerid] == TEAM_HUMAN)
    {
            if(checkpointid == Oldwest)
            {
                ShowPlayerDialog(playerid,Dialog_Weaps,2,"Choose a Weapon","Uzi $2500\nAk47 $10000\nSawn-Off Shotgun $20000\nTec9 $3500\nSMG $20999\nCombat Shotgun $25000","Buy","Cancel");
            }
    }
    else if(gTeam[playerid] == TEAM_ZOMBIE)
            {
                GameTextForPlayer(playerid,"~r~ERROR: you cant use this READ RULES ~n~ ~w~/rules",6000,4);
            }
            
    if(gTeam[playerid] == TEAM_HUMAN)
    {
            if(checkpointid == Grovestreet)
            {
                ShowPlayerDialog(playerid,Dialog_Weaps,2,"Choose a Weapon","Uzi $2500\nAk47 $10000\nSawn-Off Shotgun $20000\nTec9 $3500\nSMG $20999\nCombat Shotgun $25000","Buy","Cancel");
            }
    }
    else if(gTeam[playerid] == TEAM_ZOMBIE)
            {
                GameTextForPlayer(playerid,"~r~ERROR: you cant use this READ RULES ~n~ ~w~/rules",6000,4);
            }
            
	return 1;
}
public OnPlayerLeaveDynamicCP(playerid, checkpointid)
{
	return 1;
}

///////////////////////////////////////////////////////
////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
/////////DIALOGS//////////////////////////////////////////
/////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////



public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid==Dialog_Weaps)
	{
	if(response)
	{
	if(listitem==0)
	{
	if(GetPlayerMoney(playerid) < 2500)
	{
	SendClientMessage(playerid,COLOR_RED, "The Uzi costs $2500.You haven't enough money!");

	return 1;
	}
	GivePlayerMoney(playerid, 2500);
	SendClientMessage(playerid, COLOR_GREEN, "You bought Uzi!");
	GivePlayerWeapon(playerid, 28, 150);

	return 1;


	}
	if(listitem==1)
	{
	if(GetPlayerMoney(playerid) < 10000)
	{
	SendClientMessage(playerid,COLOR_RED, "The Ak47 costs $1800.You haven't enough money!");

	return 1;
	}
	GivePlayerMoney(playerid, -10000);
	SendClientMessage(playerid, COLOR_GREEN, "You bought Ak47!");
	GivePlayerWeapon(playerid, 30, 150);

	return 1;
	}
	if(listitem==2)
	{
	if(GetPlayerMoney(playerid) < 20000)
	{
	SendClientMessage(playerid,COLOR_RED, "The Sawn-Off costs $20000.You haven't enough money!");

	return 1;
	}
	GivePlayerMoney(playerid, -20000);
	SendClientMessage(playerid, COLOR_GREEN, "You bought Sawn-Off!");
	GivePlayerWeapon(playerid, 26, 150);

	return 1;
	}
	if(listitem==3)
	{
	if(GetPlayerMoney(playerid) < 3500)
	{
	SendClientMessage(playerid,COLOR_RED, "The Tec9 costs $3500.You haven't enough money!");

	return 1;
	}
	GivePlayerMoney(playerid, -3500);
	SendClientMessage(playerid, COLOR_GREEN, "You bought Tec9!");
	GivePlayerWeapon(playerid, 32, 150);

	return 1;
	}
	if(listitem==4)
	{
	if(GetPlayerMoney(playerid) < 20999)
	{
	SendClientMessage(playerid,COLOR_RED, "The SMG costs $20999.You haven't enough money!");

	return 1;
	}
	GivePlayerMoney(playerid, -20999);
	SendClientMessage(playerid, COLOR_GREEN, "You bought SMG!");
	GivePlayerWeapon(playerid, 29, 150);

	return 1;
	}
	if(listitem==5)
	{
	if(GetPlayerMoney(playerid) < 25000)
	{
	SendClientMessage(playerid,COLOR_RED, "The Combat Shotgun costs $34500.You haven't enough money!");

	return 1;
	}
	GivePlayerMoney(playerid, -25000);
	SendClientMessage(playerid, COLOR_GREEN, "You bought Combat Shotgun!");
	GivePlayerWeapon(playerid, 27, 150);

	return 1;
	}
	if(listitem==6)
	{
	if(GetPlayerMoney(playerid) < 1500000)
	{
	SendClientMessage(playerid,COLOR_RED,"The Rocket Launcher costs $150000!You haven't enough money!");
	return 1;
	}
	GivePlayerMoney(playerid,-1500000);
	SendClientMessage(playerid,COLOR_GREEN,"You bought Rocket Launcher!");
	GivePlayerWeapon(playerid,35,15);
	return 1;
	}
	if(listitem==7)
	{

	if(GetPlayerMoney(playerid) < 2000)
	{
	SendClientMessage(playerid,COLOR_RED,"You don't have enough money for heal yourself!");
	return 1;
	}
	GivePlayerMoney(playerid,-2000);
	SetPlayerHealth(playerid,100);
	SetPlayerArmour(playerid,100);
	return 1;
	}
	}
	}
	return 1;
}





// GUN HOLDER
public OnPlayerStateChange(playerid, newstate, oldstate)
{
        if(oldstate==PLAYER_STATE_ONFOOT)
        {
                StopPlayerHoldingObject(playerid);
                OldWeapon[playerid]=0;
                HoldingWeapon[playerid]=0;
        }
        return 1;
}

public OnPlayerUpdate(playerid)
{
	if(GetPlayerState(playerid)==PLAYER_STATE_ONFOOT)
 	{
  		new weaponid=GetPlayerWeapon(playerid),oldweapontype=GetWeaponType(OldWeapon[playerid]);
    	new weapontype=GetWeaponType(weaponid);
     	if(HoldingWeapon[playerid]==weaponid)
      		StopPlayerHoldingObject(playerid);
    		if(OldWeapon[playerid]!=weaponid)
        	{
         		new modelid=GetWeaponModel(OldWeapon[playerid]);
           		if(modelid!=0 && oldweapontype!=WEAPON_TYPE_NONE && oldweapontype!=weapontype)
             	{
              		HoldingWeapon[playerid]=OldWeapon[playerid];
                	switch(oldweapontype)
                 	{
                  		case WEAPON_TYPE_LIGHT:
                    	SetPlayerHoldingObject(playerid, modelid, 8,0.0,-0.1,0.15, -100.0, 0.0, 0.0);
						case WEAPON_TYPE_MELEE:
     					SetPlayerHoldingObject(playerid, modelid, 7,0.0,0.0,-0.18, 100.0, 45.0, 0.0);
						case WEAPON_TYPE_HEAVY:
						SetPlayerHoldingObject(playerid, modelid, 1, 0.2,-0.125,-0.1,0.0,25.0,180.0);
 					}
  				}

			}

			if(oldweapontype!=weapontype)
   			OldWeapon[playerid]=weaponid;
        }

	return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys & KEY_FIRE)
	{
	    if(gTeam[playerid] == TEAM_ZOMBIE)
	    {
	        if(GetPlayerWeapon(playerid) == 4)
	        {
        		foreach(Player, i)
				{
	 				if(i != playerid)
	   				{
	   				    if(gTeam[i] == TEAM_HUMAN)
	   				    {
	   				        new Float:X,Float:Y,Float:Z;
							GetPlayerPos(i, X,Y,Z);
							if(IsPlayerAimingAt(playerid, X,Y,Z,1))
							{
								Infected(i);
								printf("Working");
								Arena[ZombiesKills] ++;
					            switch(Arena[ZombiesKills])
								{
									case 5: GameTextForAll("~r~HUMAN SCORE: 5",4000,4);
									case 10: GameTextForAll("~r~HUMAN SCORE: 10",4000,4);
									case 15: GameTextForAll("~r~HUMAN SCORE: 15",4000,4);
					  				case 20: GameTextForAll("~r~HUMAN SCORE: 20",4000,4);
					  				case 25: GameTextForAll("~r~HUMAN SCORE: 25",4000,4);
							 		case 30: GameTextForAll("~r~HUMAN SCORE: 30",4000,4);
					   				case 35: GameTextForAll("~r~HUMAN SCORE: 35",4000,4);
									case 40: GameTextForAll("~r~HUMAN SCORE: 40",4000,4);
					  				case 45: GameTextForAll("~r~HUMAN SCORE: 45",4000,4);
							 		case 50:
									{
										GameTextForAll("~r~HUMAN SCORE: 50 ~n~~w~CHANGING MAP",4000,4);
										AnnounceWinner();
									}
								}
							}
						}
					}
				}
			}
		}
	}
	return 1;
}

stock IsPlayerBehindPlayer(playerid, targetid, Float:Offset)
{

	new
	    Float:pa,
	    Float:ta;

	if(!IsPlayerConnected(playerid) || !IsPlayerConnected(targetid)) return 0;

	GetPlayerFacingAngle(playerid, pa);
	GetPlayerFacingAngle(targetid, ta);

	if(AngleInRangeOfAngle(pa, ta, dOffset) && IsPlayerFacingPlayer(playerid, targetid, dOffset)) return true;

	return false;

}

Float:DistanceCameraTargetToLocation(Float:CamX, Float:CamY, Float:CamZ, Float:ObjX, Float:ObjY, Float:ObjZ,  Float:FrX, Float:FrY, Float:FrZ)
{

	new Float:TGTDistance;

	// get distance from camera To target
	TGTDistance = floatsqroot((CamX - ObjX) * (CamX - ObjX) + (CamY - ObjY) * (CamY - ObjY) + (CamZ - ObjZ) * (CamZ - ObjZ));

	new Float:tmpX, Float:tmpY, Float:tmpZ;

	tmpX = FrX * TGTDistance + CamX;
	tmpY = FrY * TGTDistance + CamY;
	tmpZ = FrZ * TGTDistance + CamZ;

	return floatsqroot((tmpX - ObjX) * (tmpX - ObjX) + (tmpY - ObjY) * (tmpY - ObjY) + (tmpZ - ObjZ) * (tmpZ - ObjZ));
}
stock IsPlayerAimingAt(playerid, Float:x, Float:y, Float:z, Float:radius)
{
    new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
    GetPlayerCameraPos(playerid, cx, cy, cz);
    GetPlayerCameraFrontVector(playerid, fx, fy, fz);
    return (radius >= DistanceCameraTargetToLocation(cx, cy, cz, x, y, z, fx, fy, fz));
}

//------------------------------------------------------------------------------------------------------

GetWeaponType(weaponid)
{
        switch(weaponid)
        {
            case 22,23,24,26,28,32:
                return WEAPON_TYPE_LIGHT;

                case 3,4,16,17,18,39,10,11,12,13,14,40,41:
                    return WEAPON_TYPE_MELEE;

                case 2,5,6,7,8,9,25,27,29,30,31,33,34,35,36,37,38:
                    return WEAPON_TYPE_HEAVY;
        }
        return WEAPON_TYPE_NONE;
}

stock GetWeaponModel(weaponid)
{
        switch(weaponid)
        {
            case 1:
                return 331;

                case 2..8:
                    return weaponid+331;

        case 9:
                    return 341;

                case 10..15:
                        return weaponid+311;

                case 16..18:
                    return weaponid+326;

                case 22..29:
                    return weaponid+324;

                case 30,31:
                    return weaponid+325;

                case 32:
                    return 372;

                case 33..45:
                    return weaponid+324;

                case 46:
                    return 371;
        }
        return 0;
}
EDIT: You need these to run the gamemode

1:Streamer https://sampforum.blast.hk/showthread.php?tid=102865
2:Sscanf 2.0 https://sampforum.blast.hk/showthread.php?tid=120356
3:foreach https://sampforum.blast.hk/showthread.php?tid=92679
4:Junkbuster http://forum.sa-mp.com/showthread.ph...ght=junkbuster

have these settings for junkbuster in JunkBuster.cfg

Код:
WeaponHack=1
MoneyHack=0
Jetpack=1
HealthHack=1
ArmourHack=1
DriveBy=0
Spam=1
CommandSpam=1
BadWords=0
CarJackHack=1
TeleportHack=1
MaxPing=1000
SpectateHack=0
Blacklist=0
IpBans=1
TempBans=1
SpawnKill=10
CapsLock=0
3DSpeed=0
MaxSpeed=240
AdminImmunity=1
Advertisement=1
FreezeUpdate=0
SpawnTime=10
CheckpointTeleport=1
Airbreak=1
TankMode=1
WarnPlayers=0
SingleplayerCheats=1
DisableBadWeapons=1
CBug=12
AntiBugKill=1
MinFPS=6
NoReload=40
if this counts as advertising please tell me to remove it

Test server to test the gamemode:
Код:
HostName: ZOMBIE-MOD
Address:  76.23.18.83:7775
Players:  10 / 50
Ping:     2
Mode:       Zombie-Mod  
Map:      ZM_OLDWEST
Reply
#2

coooool
Reply
#3

Quote:
Originally Posted by dark_clown
Посмотреть сообщение
coooool
Thanks
Reply
#4

Nice.
Reply
#5

Nice, but use NPC's next time.
Reply
#6

Quote:
Originally Posted by [FU]Victious
Посмотреть сообщение
Nice, but use NPC's next time.
lol im working on that how did you read my mind?
Reply
#7

tsdjk sdi aos aosk glds !
Reply
#8

Quote:
Originally Posted by Jacob_Venturas
Посмотреть сообщение
tsdjk sdi aos aosk glds !
What are u saying ?
Reply
#9

Quote:
Originally Posted by Kitten
Посмотреть сообщение
lol im working on that how did you read my mind?
I'm awesome.


Quote:
Originally Posted by Jacob_Venturas
Посмотреть сообщение
tsdjk sdi aos aosk glds !
Errwut?
Reply
#10

Quote:
Originally Posted by [FU]Victious
Посмотреть сообщение
I'm awesome.




Errwut?
Do you understand language?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)