All pastes #1894782 Raw Edit

Stuff

public php v1 · immutable
#1894782 ·published 2010-07-05 03:10 UTC
rendered paste body
////////////////////////////////////////////////////////////                    GTA Gun Game                      ////                  By Backwardsman97                   ////////////////////////////////////////////////////////////#include <a_samp>#include <dudb>#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#define DARKGREY 0x818181FF#define ERROR 0xC06716FF#define ADMIN 0xF19E43FF#define GREEN 0x12B60AFF#define RED 0xE04141FF#define BLUE 0x0A8AE9FF#define DULLBLUE 0x5C8DC2FF#define ORANGE 0xEBA523FF#define LIMEGREEN 0xC4FF88FF#pragma unused ret_memcpy, strtokforward AfterSpawn(playerid);forward Restart();forward GameTime();forward StopSpectate(playerid);new CurrentMode =0;new CantSpawn =0;new GameMinutes =19;new GameSeconds =59;new GameTimer;new IsLogged[MAX_PLAYERS];new WeaponLevel[MAX_PLAYERS];new Kills[MAX_PLAYERS];new Deaths[MAX_PLAYERS];new Muted[MAX_PLAYERS];new Warnings[MAX_PLAYERS];new MiniGunKills[MAX_PLAYERS];new KillStreak[MAX_PLAYERS];new SpecTime[MAX_PLAYERS];new SpawnArmor[MAX_PLAYERS];new Admin[MAX_PLAYERS];new Text:Textdraw1[MAX_PLAYERS];new Text:Textdraw2,Text:Textdraw0;new Menu:PrizeMenu;new Weapon[17] ={	22, //Dual pistols	23, //Silenced Pistol	24, //Deagle	25, //Shotgun	27, //Combat	26, //Sawn	32, //Tec 9	28, //Uzi	29, //Mp5	33, //Rifle	30, //AK	31, //M4	34, //Sniper	16, //Grenade	18, //Cocktail	4,  //Knife	38  //Minigun};new Colors[10]={	0x9595FFFF,	0x00F279FF,	0x35A5CAFF,	0xF4BA0BFF,	0xEDF20DFF,	0xF5800AFF,	0xE17777FF,	0xF18BF1FF,	0xA54BF5FF,	0x9DB649FF};new Float:ModeOneSpawns[30][5] ={	{2868.8455,857.6423,10.7500,156.4198},	{2881.6431,857.8389,10.7500,180.7396},	{2887.7654,865.1469,10.7500,181.6796},	{2889.6313,839.3175,10.7500,87.8471},	{2855.0078,857.3370,9.8134,180.7396},	{2841.8406,844.0111,10.7500,354.1595},	{2841.6091,856.4717,10.7578,183.2463},	{2822.7288,857.7284,10.7500,176.9796},	{2804.8403,856.9552,10.7500,181.3663},	{2786.4944,838.6228,10.7500,358.2329},	{2795.4404,858.8430,10.7578,180.1130},	{2800.1584,872.2941,10.7500,87.6788},	{2801.0793,890.4161,10.7578,98.0189},	{2817.9163,892.4055,9.8389,357.4379},	{2827.1399,892.2391,9.8250,359.6313},	{2855.4358,892.0141,9.8062,2.7646},	{2886.9866,889.2011,10.7578,358.3778},	{2885.5400,909.0891,10.7500,88.7870},	{2892.2437,914.3260,10.8984,96.9338},	{2886.3857,917.6217,10.7500,94.4271},	{2886.6755,922.3732,10.7500,89.5587},	{2886.6077,942.6301,10.7500,86.5937},	{2853.7637,945.2527,10.7500,173.5328},	{2846.1880,948.9348,10.7500,92.6921},	{2846.9646,965.8468,10.7500,77.8694},	{2787.8120,965.1090,10.7500,270.6437},	{2786.0281,962.3939,14.2559,266.7387},	{2796.3108,989.1851,10.7500,89.5587},	{2795.7461,1014.6691,10.7500,173.3644},	{2787.6284,1008.4048,10.7500,175.2444}};new Float:ModeTwoSpawns[36][5] ={	{1383.9604,2185.7610,11.0234,137.2283},	{1359.1348,2183.8911,11.0156,234.9892},	{1355.9463,2156.4919,11.0156,324.2900},	{1382.5735,2160.5447,11.0234,36.6707},	{1395.2374,2159.8896,9.7578,93.6980},	{1395.1614,2177.3032,9.7578,91.5046},	{1393.4335,2195.1882,11.0234,140.5300},	{1377.5297,2196.9299,9.7578,174.2253},	{1360.1039,2195.9141,9.7578,176.4187},	{1354.3848,2195.2251,11.0234,176.5637},	{1324.1288,2194.8164,11.0234,181.4321},	{1304.3392,2196.4160,11.0234,179.8654},	{1303.0316,2154.3992,11.0234,268.6121},	{1305.0566,2104.5461,11.0156,359.5521},	{1348.6730,2104.6260,11.0156,359.7930},	{1393.5704,2104.9370,11.0156,359.7930},	{1393.6859,2140.9851,11.0234,89.4071},	{1359.5442,2207.7637,17.2344,180.5155},	{1330.5021,2207.9463,17.2344,178.0813},	{1301.4852,2207.8237,17.2344,186.8548},	{1399.0642,2200.0571,15.9297,133.1783},	{1406.5208,2183.5852,17.2344,89.3112},	{1406.5752,2153.4153,17.2344,85.8645},	{1406.6150,2124.4009,17.2344,88.9979},	{1410.3383,2124.2454,12.0156,87.8896},	{1410.2003,2153.4260,12.0156,88.9979},	{1411.7147,2183.3552,12.0156,87.1179},	{1359.8030,2212.7842,12.0156,181.4322},	{1330.2648,2212.8843,12.0156,180.4922},	{1300.4966,2212.1453,12.0156,178.6121},	{1314.8237,2213.4412,18.9766,182.0588},	{1344.5253,2212.8845,18.9766,181.1188},	{1374.0377,2211.7827,18.5314,182.3722},	{1410.6438,2169.7065,18.5314,87.4312},	{1410.6947,2139.7854,18.5314,88.6846},	{1410.8324,2111.9446,18.5314,90.2513}};new Float:ModeThreeSpawns[29][5] ={	{105.0939,1900.9913,25.4985,86.4326},	{127.5178,1875.4213,17.8359,0.4336},	{139.9790,1864.8188,17.7505,264.4077},	{114.1990,1832.8400,17.6406,267.3727},	{113.4900,1814.4186,25.4985,264.2160},	{160.9695,1835.8633,17.6481,354.9386},	{166.5084,1850.0927,25.4985,268.2894},	{176.9861,1841.2455,17.6406,1.9770},	{209.9409,1834.7089,17.6406,0.4103},	{210.6214,1805.0287,17.6406,3.7120},	{211.5715,1809.9678,21.8672,359.6385},	{221.1439,1822.8473,17.6406,356.1919},	{250.4454,1833.1021,17.6406,358.0719},	{262.2354,1807.7170,25.4985,265.4460},	{279.3422,1835.4583,17.6481,0.0502},	{267.0904,1895.2994,25.4985,267.2792},	{223.7281,1886.4800,17.6406,1.6169},	{213.7761,1873.6516,17.6406,4.8952},	{213.9838,1881.9666,13.4019,358.9418},	{216.0334,1920.9247,17.6406,178.9418},	{197.2816,1922.5282,17.6406,176.1218},	{183.0919,1935.6461,17.8718,154.8874},	{232.6859,1934.6642,25.4985,269.4726},	{211.8152,1930.0742,23.2422,186.6069},	{162.9230,1932.8792,25.4985,85.6892},	{133.4883,1935.1809,19.2661,176.0751},	{114.5221,1935.7640,18.8916,171.8567},	{134.0925,1875.5911,22.4375,269.6177},	{144.6959,1852.5249,24.7726,273.7144}};new Map[3][20]={	{"LV Train depot"},	{"LV Baseball Field"},	{"Area 69"}};main(){	print("\n---------------------------------------");	print("|           Gun Game v1.0               |");	print("|             Activated                 |");	print("---------------------------------------\n");}public OnGameModeInit(){    for(new i = 0; i < 299; i++)    {        if(IsValidSkin(i))        {            AddPlayerClass(i,0.0,0.0,0.0,0.0,0,0,0,0,0,0);        }    }    ShowPlayerMarkers(0);    UsePlayerPedAnims();    	GameTimer = SetTimer("GameTime",1000,1);	PrizeMenu = CreateMenu("Redeemable prizes", 2, 50.0, 180.0, 200.0, 200.0);	AddMenuItem(PrizeMenu, 0, "Minus 1 warning");	AddMenuItem(PrizeMenu, 1, "1,000 points");	AddMenuItem(PrizeMenu, 0, "Spawn armor");	AddMenuItem(PrizeMenu, 1, "15,000 points");	AddMenuItem(PrizeMenu, 0, "One match armor");	AddMenuItem(PrizeMenu, 1, "5,000 points");	AddMenuItem(PrizeMenu, 0, "Ammo - 500");	AddMenuItem(PrizeMenu, 1, "50 points");	AddMenuItem(PrizeMenu, 0, "Skip a level");	AddMenuItem(PrizeMenu, 1, "600 points");	Textdraw2 = TextDrawCreate(590.000000,412.000000,"~r~Top Score~n~~w~0");	TextDrawUseBox(Textdraw2,1);	TextDrawBoxColor(Textdraw2,0x00000066);	TextDrawTextSize(Textdraw2,0.000000,80.000000);	TextDrawAlignment(Textdraw2,2);	TextDrawBackgroundColor(Textdraw2,0x000000ff);	TextDrawFont(Textdraw2,1);	TextDrawLetterSize(Textdraw2,0.399999,1.500000);	TextDrawColor(Textdraw2,0xffffffff);	TextDrawSetOutline(Textdraw2,1);	TextDrawSetProportional(Textdraw2,1);	TextDrawSetShadow(Textdraw2,1);	Textdraw0 = TextDrawCreate(86.000000,427.000000,"15:00");	TextDrawAlignment(Textdraw0,2);	TextDrawBackgroundColor(Textdraw0,0x000000ff);	TextDrawFont(Textdraw0,3);	TextDrawLetterSize(Textdraw0,0.499999,2.000000);	TextDrawColor(Textdraw0,0xffffffff);	TextDrawSetOutline(Textdraw0,1);	TextDrawSetProportional(Textdraw0,1);	TextDrawSetShadow(Textdraw0,1);		CreateObject(2929,215.853454,1875.336547,13.951337,0.000000,0.000000,179.613388);	CreateObject(2929,211.808059,1875.290649,13.951243,0.000000,0.000000,181.624099);	CreateObject(988,96.789436,1920.165771,17.338628,0.000000,0.000000,271.234802);	CreateObject(987,2776.981689,901.178710,9.765661,0.000000,0.000000,89.843864);	CreateObject(987,2777.026855,913.340148,9.765661,0.000000,0.000000,90.343864);	CreateObject(1225,2840.541748,956.958374,10.138525,0.000000,0.000000,168.783798);	CreateObject(1225,2814.960693,891.875427,10.132592,0.000000,0.000000,186.957321);	CreateObject(1225,2801.379150,890.245666,10.264112,0.000000,0.000000,194.814102);	CreateObject(1225,2816.755126,933.871337,10.374737,0.000000,0.000000,256.854705);	CreateObject(1225,2796.448242,989.189514,10.225549,0.000000,0.000000,257.794677);	CreateObject(1225,2868.435546,944.667663,10.156861,0.000000,0.000000,318.582000);	CreateObject(1225,2847.875000,1007.451965,10.111249,0.000000,0.000000,304.336944);		SetGameModeText("|GTA Gun Game|");	return 1;}public OnPlayerSpawn(playerid){    SetPlayerInterior(playerid,0);   	SetCameraBehindPlayer(playerid);	SetPlayerColor(playerid,Colors[random(10)]);	SetPlayerHealth(playerid,9999999.0);	SetTimerEx("AfterSpawn",5000,0,"d",playerid);	if(CurrentMode == 0)	{		new Spawn = random(sizeof(ModeOneSpawns));		SetPlayerPos(playerid,ModeOneSpawns[Spawn][0],ModeOneSpawns[Spawn][1],ModeOneSpawns[Spawn][2]);		SetPlayerFacingAngle(playerid,ModeOneSpawns[Spawn][4]);		SetPlayerWorldBounds(playerid,2894.7029,2777.4805,1022.9144,833.630);		return 1;	}	else if(CurrentMode == 1)	{		new Spawn = random(sizeof(ModeTwoSpawns));		SetPlayerPos(playerid,ModeTwoSpawns[Spawn][0],ModeTwoSpawns[Spawn][1],ModeTwoSpawns[Spawn][2]);		SetPlayerFacingAngle(playerid,ModeTwoSpawns[Spawn][4]);		SetPlayerWorldBounds(playerid,1417.6226, 1302.4888, 2216.7000, 2104.6328);		return 1;	}	else if(CurrentMode == 2)	{		new Spawn = random(sizeof(ModeThreeSpawns));		SetPlayerPos(playerid,ModeThreeSpawns[Spawn][0],ModeThreeSpawns[Spawn][1],ModeThreeSpawns[Spawn][2]);		SetPlayerFacingAngle(playerid,ModeThreeSpawns[Spawn][4]);		SetPlayerWorldBounds(playerid,285.4742, 97.0450, 1940.4082, 1799.2507);		return 1;	}	return 1;}public AfterSpawn(playerid){	SetPlayerHealth(playerid,100.0);	GivePlayerWeapon(playerid,Weapon[WeaponLevel[playerid]],500);	return 1;}public OnPlayerConnect(playerid){	new Stringy[128];	format(Stringy,sizeof(Stringy),"%s(%d) has joined the server.",ReturnPlayerName(playerid),playerid);	SendClientMessageToAll(DARKGREY,Stringy);	SendClientMessage(playerid,DULLBLUE,"Welcome to the Gun Game server.");	SendClientMessage(playerid,RED,"Read /rules and /commands for the rules and commands.");	SendClientMessage(playerid,RED,"See /help if you have any trouble.");	if(udb_Exists(ReturnPlayerName(playerid)))	{	    SendClientMessage(playerid,LIMEGREEN,"You have a registered account.  Please use /login [password]");	}	else	{	    SendClientMessage(playerid,LIMEGREEN,"You currently do not have a registered account. Please use /register [password]");	}		SetPlayerColor(playerid,DARKGREY);	Muted[playerid]=0;	Warnings[playerid]=0;	WeaponLevel[playerid]=0;	MiniGunKills[playerid]=0;	Kills[playerid]=0;	Deaths[playerid]=0;	IsLogged[playerid] = 0;		Textdraw1[playerid] = TextDrawCreate(493.000000,412.000000,"~r~Your Score~n~~w~0");	TextDrawUseBox(Textdraw1[playerid],1);	TextDrawBoxColor(Textdraw1[playerid],0x00000066);	TextDrawTextSize(Textdraw1[playerid],0.000000,88.000000);	TextDrawAlignment(Textdraw1[playerid],2);	TextDrawBackgroundColor(Textdraw1[playerid],0x000000ff);	TextDrawFont(Textdraw1[playerid],1);	TextDrawLetterSize(Textdraw1[playerid],0.400000,1.500000);	TextDrawColor(Textdraw1[playerid],0xffffffff);	TextDrawSetOutline(Textdraw1[playerid],1);	TextDrawSetProportional(Textdraw1[playerid],1);	TextDrawSetShadow(Textdraw1[playerid],1);	TextDrawShowForPlayer(playerid,Textdraw0);	TextDrawShowForPlayer(playerid,Textdraw1[playerid]);	TextDrawShowForPlayer(playerid,Textdraw2);	return 1;}public OnPlayerText(playerid,text[]){	if(Muted[playerid])	{	    SendClientMessage(playerid,ERROR,"You are muted. You may not speak.");	    return 0;	}	return 1;}public OnPlayerDeath(playerid,killerid,reason){	Deaths[playerid]++;	KillStreak[playerid]=0;	ResetPlayerWeapons(playerid);	SendDeathMessage(killerid,playerid,reason);	SetPlayerColor(playerid,DARKGREY);	SetPlayerWorldBounds(playerid, 20000.0000,-20000.0000,20000.0000,-20000.0000); 	if((reason != 255) || (killerid != 255))  	{  	    new String[24];  	    Kills[killerid]++;  	    KillStreak[killerid]++;  	    SetPlayerScore(killerid,GetPlayerScore(killerid)+10);  		new String2[128];	 	format(String2,sizeof(String2),"~r~Top Score~n~~w~%d",ReturnHighScore());		TextDrawSetString(Textdraw2,String2);  	    format(String,sizeof(String),"~r~Your Score~n~~w~%d",GetPlayerScore(killerid));  	    TextDrawSetString(Textdraw1[killerid],String);  	    PlayerPlaySound2(killerid,1056);  	    TogglePlayerSpectating(playerid,1);  	    PlayerSpectatePlayer(playerid,killerid,SPECTATE_MODE_NORMAL);		SetTimerEx("StopSpectate",1000,0,"i",playerid);		SpecTime[playerid] = 8;		if(reason==38)		{		    MiniGunKills[killerid]++;		    if(MiniGunKills[killerid]==10)		    {		        new Stringy[128];		        format(Stringy,sizeof(Stringy),"~r~%s(%d) ~y~has won the game!",ReturnPlayerName(killerid),killerid);		        GameTextForAll(Stringy,4,3000);		        MiniGunKills[killerid]=0;		        SetTimer("Restart",8000,0);		        SetPlayerScore(killerid,GetPlayerScore(killerid)+500);		        SendClientMessage(killerid,ORANGE,"You have been rewarded with 500 points.");		        CantSpawn=1;	        	CurrentMode++;				if(CurrentMode==3)				{				    CurrentMode=0;				}		        for(new i=0; i<MAX_PLAYERS; i++)		        {		            if(IsPlayerConnected(i))		            {		                ForceClassSelection(i);		                SetPlayerHealth(i,0.0);						WeaponLevel[i]=0;		            }		        }		    }		}  	    if(!(Kills[killerid] % 4))  	    {  	        if(!CantSpawn)  	        {	  	        if(WeaponLevel[killerid]!=16)	  	        {		  	        WeaponLevel[killerid]++;		  	        ResetPlayerWeapons(killerid);		  	        GivePlayerWeapon(killerid,Weapon[WeaponLevel[killerid]],500);					GameTextForPlayer(killerid,"~b~~h~~h~Leveled Up",1500,4);					PlayerPlaySound2(killerid,1057);				}			}  	    }  	    new KillString[128];  	    if(KillStreak[killerid]==4)  	    {  	        GameTextForPlayer(killerid,"~w~Dominating!",1500,4);  	        return 1;  	    }  	    if(KillStreak[killerid]==6)		{		    format(KillString,sizeof(KillString),"%s ~b~~h~~h~Rampage!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		    return 1;		}  		if(KillStreak[killerid]==8)		{		    format(KillString,sizeof(KillString),"%s ~b~~h~~h~Killing Spree!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		    return 1;		}		if(KillStreak[killerid]==10)		{		    format(KillString,sizeof(KillString),"%s ~b~~h~~h~Monster Kill!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		}		if(KillStreak[killerid]==12)		{		    format(KillString,sizeof(KillString),"%s ~b~~h~~h~Unstoppable!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		    return 1;		}		if(KillStreak[killerid]==14)		{		    format(KillString,sizeof(KillString),"%s ~b~~h~~h~Ultra Kill!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		    return 1;		}		if(KillStreak[killerid]==16)		{		    format(KillString,sizeof(KillString),"%s ~b~~h~~h~God Like!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		    return 1;		}		if(KillStreak[killerid]==18)		{		    format(KillString,sizeof(KillString),"%s ~b~~h~~h~Wicked Sick!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		    return 1;		}		if(KillStreak[killerid]==20)		{		    format(KillString,sizeof(KillString),"%s ~b~~h~~h~Ludacris Kill!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		    return 1;		}		if(KillStreak[killerid]==22)		{		    format(KillString,sizeof(KillString),"%s ~r~Holy Shit!",ReturnPlayerName(killerid));		    GameTextForAll(KillString,1500,4);		    return 1;		}  	}	return 1;}public StopSpectate(playerid){	if(SpecTime[playerid] >= 1)	{		new String[128];		format(String,sizeof(String),"~y~Respawning in ~n~~w~%d",SpecTime[playerid]);		GameTextForPlayer(playerid,String,2000,3);		SetTimerEx("StopSpectate",1000,0,"i",playerid);	    if(SpecTime[playerid] <= 3)	    {	        PlayerPlaySound2(playerid,1056);	    }	    SpecTime[playerid]--;	    return 1;	}	else	{	    TogglePlayerSpectating(playerid,0);	    GameTextForPlayer(playerid,"~r~Respawning...",1000,3);	    PlayerPlaySound2(playerid,1057);	    return 1;	}}public OnPlayerDisconnect(playerid,reason){	new Stringy[128]; 	switch(reason)    {        case 0: format(Stringy, sizeof(Stringy), "%s has left the server (Timeout)", ReturnPlayerName(playerid));        case 1: format(Stringy, sizeof(Stringy), "%s has left the server (Leaving)", ReturnPlayerName(playerid));        case 2: format(Stringy, sizeof(Stringy), "%s has left the server (Kicked)", ReturnPlayerName(playerid));    }    SendClientMessageToAll(DARKGREY, Stringy);	new String2[128]; 	format(String2,sizeof(String2),"~r~Top Score~n~~w~%d",ReturnHighScore());	TextDrawSetString(Textdraw2,String2);	Muted[playerid]=0;	Warnings[playerid]=0;	WeaponLevel[playerid]=0;	MiniGunKills[playerid]=0;	Kills[playerid]=0;	Deaths[playerid]=0;		dUserSetINT(ReturnPlayerName(playerid)).("Admin",Admin[playerid]);	dUserSetINT(ReturnPlayerName(playerid)).("Warnings",Warnings[playerid]);	dUserSetINT(ReturnPlayerName(playerid)).("Score",GetPlayerScore(playerid));	dUserSetINT(ReturnPlayerName(playerid)).("Kills",Kills[playerid] + dUserINT(ReturnPlayerName(playerid)).("Kills"));	dUserSetINT(ReturnPlayerName(playerid)).("Deaths",Deaths[playerid] + dUserINT(ReturnPlayerName(playerid)).("Deaths"));		TextDrawDestroy(Textdraw1[playerid]);	return 1;}public OnPlayerRequestSpawn(playerid){	if(!IsLogged[playerid])	{	    SendClientMessage(playerid,ERROR,"You must be logged in to spawn.");	    return 0;	}	if(CantSpawn)	{	    SendClientMessage(playerid,ERROR,"A new round is about to begin, please wait.");	    return 0;	}	return 1;}public OnPlayerRequestClass(playerid, classid){	SetPlayerPos(playerid,297.5041,-81.8028,1002.5341);	SetPlayerFacingAngle(playerid,346.8848);	SetPlayerCameraPos(playerid,297.504089,-80.802795,1002.534057);	SetPlayerCameraLookAt(playerid,296.504089,-94.802795,1006.534057);  	ApplyAnimation(playerid,"DEALER","DEALER_IDLE",4.1,0,1,1,1,1);  	SetPlayerInterior(playerid,4);	return 1;}public Restart(){	CantSpawn=0;	for(new i=0; i<MAX_PLAYERS; i++)	{	    if(IsPlayerConnected(i))	    {			SendClientMessage(i,BLUE,"You may now spawn.");			WeaponLevel[i] = 0;			MiniGunKills[i] = 0;		}	}	GameMinutes =19;	GameSeconds =59;	GameTimer = SetTimer("GameTime",1000,1);	return 1;}public OnPlayerExitedMenu(playerid){    TogglePlayerControllable(playerid,1);	return 1;}public OnPlayerSelectedMenuRow(playerid, row){    if(GetPlayerMenu(playerid) == PrizeMenu)    {        switch(row)        {            case 0:			{			    if(GetPlayerScore(playerid) <= 1000)			    {			        SendClientMessage(playerid,ERROR,"You do not have enough points for that prize (1,000).");			        ShowMenuForPlayer(PrizeMenu,playerid);			        return 1;			    }				if(Warnings[playerid]==0)				{			        SendClientMessage(playerid,ERROR,"You do not have any warnings.");			        ShowMenuForPlayer(PrizeMenu,playerid);			        return 1;				}				Warnings[playerid]--;				SendClientMessage(playerid,BLUE,"You have reduced your warnings by 1.");				SetPlayerScore(playerid,GetPlayerScore(playerid)-1000);			    TogglePlayerControllable(playerid,1);            }            case 1:			{			    if(GetPlayerScore(playerid) <= 15000)			    {			        SendClientMessage(playerid,ERROR,"You do not have enough points for that prize (15,000).");			        ShowMenuForPlayer(PrizeMenu,playerid);			        return 1;			    }				if(SpawnArmor[playerid]==1)				{			        SendClientMessage(playerid,ERROR,"You already have bought spawn armor.");			        ShowMenuForPlayer(PrizeMenu,playerid);			        return 1;				}				SpawnArmor[playerid]=1;				SendClientMessage(playerid,BLUE,"You have bought spawn armor.");				SetPlayerScore(playerid,GetPlayerScore(playerid)-15000);			    TogglePlayerControllable(playerid,1);            }            case 2:			{			    if(GetPlayerScore(playerid) <= 5000)			    {			        SendClientMessage(playerid,ERROR,"You do not have enough points for that prize (5,000).");			        ShowMenuForPlayer(PrizeMenu,playerid);			        return 1;			    }				SetPlayerArmour(playerid,100.0);				SendClientMessage(playerid,BLUE,"You have bought armor.");				SetPlayerScore(playerid,GetPlayerScore(playerid)-5000);			    TogglePlayerControllable(playerid,1);            }            case 3:			{			    if(GetPlayerScore(playerid) <= 50)			    {			        SendClientMessage(playerid,ERROR,"You do not have enough points for that prize (50).");			        ShowMenuForPlayer(PrizeMenu,playerid);			        return 1;			    }				SetPlayerAmmo(playerid,0,GetPlayerAmmo(playerid)+500);				SetPlayerAmmo(playerid,1,GetPlayerAmmo(playerid)+500);				SendClientMessage(playerid,BLUE,"You have bought 500 ammo.");				SetPlayerScore(playerid,GetPlayerScore(playerid)-50);			    TogglePlayerControllable(playerid,1);            }            case 4:			{   				if(GetPlayerScore(playerid) <= 6000)			    {			        SendClientMessage(playerid,ERROR,"You do not have enough points for that prize (6,000).");					ShowMenuForPlayer(PrizeMenu,playerid);					return 1;			    }			    if(WeaponLevel[playerid]==16)				{		  			SendClientMessage(playerid,ERROR,"You cannot skip this level.");		  			ShowMenuForPlayer(PrizeMenu,playerid);			        return 1;				}			    WeaponLevel[playerid]++;				GivePlayerWeapon(playerid,Weapon[WeaponLevel[playerid]],500);				SendClientMessage(playerid,BLUE,"You have upgraded levels.");				SetPlayerScore(playerid,GetPlayerScore(playerid)-6000);			    TogglePlayerControllable(playerid,1);            }        }       	new String2[128];	 	format(String2,sizeof(String2),"~r~Top Score~n~~w~%d",ReturnHighScore());		TextDrawSetString(Textdraw2,String2);    }    return 1;}public GameTime(){	if(GameSeconds || GameMinutes)	{	    GameSeconds--;	    if(GameSeconds <= -1)	    {	        GameMinutes--;	        GameSeconds=59;	    }		new TimeString[14];		format(TimeString,sizeof(TimeString),"%02d:%02d",GameMinutes,GameSeconds);		TextDrawSetString(Textdraw0,TimeString);	}	else	{	    KillTimer(GameTimer);	    SetTimer("Restart",8000,0);	    new String[128],leader = 0;		for(new i=0; i<MAX_PLAYERS; i++)		{		    if(IsPlayerConnected(i))		    {		        if(GetPlayerScore(i) > ReturnHighScore())		        {		            leader = i;		        }		    }		}		CantSpawn=1; 		CurrentMode++;		if(CurrentMode==3)		{		    CurrentMode=0;		}	    TextDrawSetString(Textdraw0,"00:00");	    format(String,sizeof(String),"%s(%d) is the winner with %d kills and %d points and has received 500 bonus points.",ReturnPlayerName(leader),leader,Kills[leader],GetPlayerScore(leader));		SetPlayerScore(leader,GetPlayerScore(leader)+500);		SendClientMessage(leader,ORANGE,"You have been rewarded with 500 points.");		SendClientMessageToAll(RED,String);		GameTextForAll("Time Up!",4000,4);        for(new i=0; i<MAX_PLAYERS; i++)        {            if(IsPlayerConnected(i))            {                ForceClassSelection(i);                SetPlayerHealth(i,0.0);				WeaponLevel[i]=0;            }        }	}	return 1;}public OnPlayerCommandText(playerid,cmdtext[]){	//Admin Commands	dcmd(kick,4,cmdtext);	dcmd(ban,3,cmdtext);	dcmd(mute,4,cmdtext);	dcmd(unmute,6,cmdtext);	dcmd(freeze,6,cmdtext);	dcmd(unfreeze,8,cmdtext);	dcmd(sethp,5,cmdtext);	dcmd(disarm,6,cmdtext);	dcmd(setarm,6,cmdtext);	dcmd(armourall,9,cmdtext);	dcmd(warn,4,cmdtext);	//Commands	dcmd(help,4,cmdtext);	dcmd(commands,8,cmdtext);	dcmd(rules,5,cmdtext);	dcmd(level,5,cmdtext);	dcmd(kills,5,cmdtext);	dcmd(leader,6,cmdtext);	dcmd(map,3,cmdtext);	dcmd(redeemprize,11,cmdtext);	dcmd(warnings,8,cmdtext);	dcmd(register,8,cmdtext);	dcmd(login,5,cmdtext);	return 0;}dcmd_kick(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, reason[128];		if(sscanf(params,"dz",giveplayerid,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /kick (id)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		new Stringy[128];		format(Stringy,sizeof(Stringy),"***(Admin Kick) - %s(%d) %s",ReturnPlayerName(giveplayerid),giveplayerid,reason);		SendClientMessageToAll(ADMIN,Stringy);		Kick(giveplayerid);		return 1;	}	return 0;}dcmd_ban(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, reason[128];		if(sscanf(params,"dz",giveplayerid,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /ban (id)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		new Stringy[128];		format(Stringy,sizeof(Stringy),"***(Admin Ban) - %s(%d) %s",ReturnPlayerName(giveplayerid),giveplayerid,reason);		SendClientMessageToAll(ADMIN,Stringy);		Ban(giveplayerid);		return 1;	}	return 0;}dcmd_mute(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, reason[128];		if(sscanf(params,"dz",giveplayerid,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /mute (id)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		if(Muted[giveplayerid])		{			SendClientMessage(playerid,ERROR,"That player is already muted.");			return 1;		}		new Stringy[128];		Muted[giveplayerid]=1;		format(Stringy,sizeof(Stringy),"***(Admin Mute) - %s(%d) %s",ReturnPlayerName(giveplayerid),giveplayerid,reason);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_unmute(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, reason[128];		if(sscanf(params,"dz",giveplayerid,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /unmute (id)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		if(!Muted[giveplayerid])		{			SendClientMessage(playerid,ERROR,"That player is already unmuted.");			return 1;		}		new Stringy[128];		Muted[giveplayerid]=0;		format(Stringy,sizeof(Stringy),"***(Admin Unmute) - %s(%d) %s",ReturnPlayerName(giveplayerid),giveplayerid,reason);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_freeze(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, reason[128];		if(sscanf(params,"dz",giveplayerid,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /freeze (id)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		new Stringy[128];		TogglePlayerControllable(giveplayerid,0);		format(Stringy,sizeof(Stringy),"***(Admin Freeze) - %s(%d) %s",ReturnPlayerName(giveplayerid),giveplayerid,reason);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_unfreeze(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, reason[128];		if(sscanf(params,"dz",giveplayerid,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /unfreeze (id)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		new Stringy[128];		TogglePlayerControllable(giveplayerid,1);		format(Stringy,sizeof(Stringy),"***(Admin UnFreeze) - %s(%d) %s",ReturnPlayerName(giveplayerid),giveplayerid,reason);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_sethp(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, health,reason[128];		if(sscanf(params,"ddz",giveplayerid,health,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /sethp (id) (hp)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		new Stringy[128];		SetPlayerHealth(giveplayerid,health);		format(Stringy,sizeof(Stringy),"***(Admin Health) - %s(%d) [%d] %s",ReturnPlayerName(giveplayerid),giveplayerid,health,reason);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_disarm(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, reason[128];		if(sscanf(params,"dz",giveplayerid,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /disarm (id)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		new Stringy[128];		ResetPlayerWeapons(giveplayerid);		format(Stringy,sizeof(Stringy),"***(Admin Disarm) - %s(%d) %s",ReturnPlayerName(giveplayerid),giveplayerid,reason);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_setarm(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, armour,reason[128];		if(sscanf(params,"ddz",giveplayerid,armour,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /setarm (id) (arm)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		new Stringy[128];		SetPlayerArmour(giveplayerid,armour);		format(Stringy,sizeof(Stringy),"***(Admin Armour) - %s(%d) [%d] %s",ReturnPlayerName(giveplayerid),giveplayerid,armour,reason);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_armourall(playerid,params[]){	if(Admin[playerid])	{	    new Stringy[128];		for(new i=0; i<MAX_PLAYERS; i++)		{		    if(IsPlayerConnected(i))		    {		        SetPlayerArmour(i,100.0);		    }		}		format(Stringy,sizeof(Stringy),"***(Admin Armour All) %s",params);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_warn(playerid,params[]){	if(Admin[playerid])	{	    new giveplayerid, reason[128];		if(sscanf(params,"dz",giveplayerid,reason))	    {	    	SendClientMessage(playerid,ERROR,"Usage: /warn (id)");			return 1;		}		if(!IsPlayerConnected(giveplayerid))		{		    new Stringy[128];			format(Stringy, sizeof(Stringy), "ID (%d) Is not an active player", giveplayerid);		   	SendClientMessage(playerid, ERROR, Stringy);		   	return 1;		}		new Stringy[128];		Warnings[giveplayerid]++;		format(Stringy,sizeof(Stringy),"***(Admin Warn) - %s(%d) %s",ReturnPlayerName(giveplayerid),giveplayerid,reason);		SendClientMessageToAll(ADMIN,Stringy);		return 1;	}	return 0;}dcmd_help(playerid,params[]){	SendClientMessage(playerid,GREEN,"Any questions? Please Visit our Forum at www.forum.com.");	SendClientMessage(playerid,GREEN,"The Object of this Game Mode is to get the most kills and Level up the fastest.");	SendClientMessage(playerid,GREEN,"If you have the Most kills or if you got all the levels at the end of the match,");	SendClientMessage(playerid,GREEN,"you will be rewarded with 500 Points. You get 10 points for every kill you acheive.");	SendClientMessage(playerid,GREEN,"You may buy items with your points with the /redeemprize menu.");	return 1;	#pragma unused params}dcmd_commands(playerid,params[]){	SendClientMessage(playerid,DULLBLUE,"| - Available Server Commmands - |");	SendClientMessage(playerid,BLUE,"/rules - /warnings - /help - /level - /kills");	SendClientMessage(playerid,BLUE,"/leader - /redeemprize - /map");	if(Admin[playerid])	{	    SendClientMessage(playerid,RED,"--------------------------------------");		SendClientMessage(playerid,DULLBLUE,"| - Available Admin Commmands - |");		SendClientMessage(playerid,BLUE,"/kick (id) - /ban (id) - /mute (id)");		SendClientMessage(playerid,BLUE,"/unmute (id) - /freeze (id) - /unfreeze (id)");		SendClientMessage(playerid,BLUE,"/sethp (id) - /disarm (id) - /setarm (id)");		SendClientMessage(playerid,BLUE,"/armourall - /warn (id)");	}	return 1;	#pragma unused params}dcmd_rules(playerid,params[]){	SendClientMessage(playerid,DULLBLUE,"| - Server Rules - |");	SendClientMessage(playerid,BLUE,"- No spawn killing - No hacking or cheating -");	SendClientMessage(playerid,BLUE,"- Do not abuse admins - Any bug exploiting gives a warning -");	SendClientMessage(playerid,BLUE,"- 3 warnings = Kick - 5 warnings = Ban -");	return 1;	#pragma unused params}dcmd_level(playerid,params[]){	new Stringy[128];	format(Stringy,sizeof(Stringy),"You are currently on the level of %d.",WeaponLevel[playerid]);	SendClientMessage(playerid,BLUE,Stringy);	return 1;	#pragma unused params}dcmd_kills(playerid,params[]){	new Stringy[128],string[128];	format(Stringy,sizeof(Stringy),"You currently have %d kill(s) and %d death(s) since you last connected.",Kills[playerid],Deaths[playerid]);	format(string,sizeof(string),"You currently have a total of %d kill(s) and %d death(s) since you've registered.",Kills[playerid] + dUserINT(ReturnPlayerName(playerid)).("Kills"),Deaths[playerid] + dUserINT(ReturnPlayerName(playerid)).("Deaths"));	SendClientMessage(playerid,BLUE,Stringy);	SendClientMessage(playerid,BLUE,string);	return 1;	#pragma unused params}dcmd_leader(playerid,params[]){	new leader = 0;	for(new i=0; i<MAX_PLAYERS; i++)	{	    if(IsPlayerConnected(i))	    {	        if(Kills[i] > Kills[leader])	        {	            leader = i;	        }	    }	}	new Stringy[128];	format(Stringy,sizeof(Stringy),"%s(%d) is in the lead with %d points and %d kills.",ReturnPlayerName(leader),leader,GetPlayerScore(leader),Kills[leader]);	SendClientMessage(playerid,BLUE,Stringy);	return 1;	#pragma unused params}dcmd_map(playerid,params[]){	new Stringy[128],TempMode=CurrentMode+1;	if(TempMode==3)	{	    TempMode = 0;	}	format(Stringy,sizeof(Stringy),"The current map is %s and the next map will be %s.",Map[CurrentMode][0],Map[TempMode][0]);	SendClientMessage(playerid,BLUE,Stringy);	return 1;	#pragma unused params}dcmd_redeemprize(playerid,params[]){	TogglePlayerControllable(playerid,0);	ShowMenuForPlayer(PrizeMenu,playerid);	#pragma unused params	return 1;}dcmd_warnings(playerid,params[]){	new string[128];	format(string,sizeof(string),"You currently have a total of %d warning(s).",Warnings[playerid]);	SendClientMessage(playerid,BLUE,string); 	#pragma unused params	return 1;}dcmd_register(playerid,params[]){    if (IsLogged[playerid])    {		SendClientMessage(playerid,ERROR,"You have already registered and logged in.");		return 1;	}    if (udb_Exists(ReturnPlayerName(playerid)))    {		SendClientMessage(playerid,ERROR,"Account already exists, please use /login [password]");		return 1;	}    if(!strlen(params))    {		SendClientMessage(playerid,ERROR,"Usage: /register [password]");		return 1;	}    if (udb_Create(ReturnPlayerName(playerid),params))    {		SendClientMessage(playerid,LIMEGREEN,"Your account has successfully been created and logged into.");		IsLogged[playerid] = 1;		return 1;	}    return true;}dcmd_login(playerid,params[]){    if(IsLogged[playerid])    {		SendClientMessage(playerid,ERROR,"You have already logged in.");		return 1;	}    if (!udb_Exists(ReturnPlayerName(playerid)))    {		SendClientMessage(playerid,ERROR,"This account has not yet been registered.");		return 1;	}    if (!strlen(params))    {		SendClientMessage(playerid,ERROR,"Usage: /login [password]");		return 1;	}    if(!udb_CheckLogin(ReturnPlayerName(playerid),params))	{	    SendClientMessage(playerid,ERROR,"Incorrect password.");	    return 1;	}	IsLogged[playerid] = 1;	SendClientMessage(playerid,LIMEGREEN,"You have successfully logged in.");	Warnings[playerid] = dUserINT(ReturnPlayerName(playerid)).("Warnings");	Admin[playerid] = dUserINT(ReturnPlayerName(playerid)).("Admin");	SetPlayerScore(playerid,dUserINT(ReturnPlayerName(playerid)).("Score"));	return 1;}/////////////////////////////////Functions///////////////////////////////////stock PlayerPlaySound2(playerid,soundid){	new Float:X,Float:Y,Float:Z;	GetPlayerPos(playerid,X,Y,Z);	PlayerPlaySound(playerid,soundid,X,Y,Z);}stock ReturnPlayerName(playerid) //By Alex "Y_Less" Cole{	new pname[MAX_PLAYER_NAME];	pname="Invalid PlayerID";	if(IsPlayerConnected(playerid))	{		GetPlayerName(playerid, pname, sizeof (pname));	}	return pname;}stock sscanf(string[], format[], {Float,_}:...){	if (!strlen(string))	{		return format[0];	}	new		formatPos = 0,		stringPos = 0,		paramPos = 2,		paramCount = numargs(),		delim = ' ';	while (paramPos < paramCount && string[stringPos])	{		switch (format[formatPos++])		{			case '\0':			{				return 0;			}			case 'i', 'd':			{				new					neg = 1,					num = 0,					ch = string[stringPos];				if (ch == '-')				{					neg = -1;					ch = string[++stringPos];				}				do				{					stringPos++;					if (ch >= '0' && ch <= '9')					{						num = (num * 10) + (ch - '0');					}					else					{						return -1;					}				}				while ((ch = string[stringPos]) > ' ' && ch != delim);				setarg(paramPos, 0, num * neg);			}			case 'h', 'x':			{				new					ch,					num = 0;				while ((ch = string[stringPos]) > ' ' && ch != delim)				{					switch (ch)					{						case 'x', 'X':						{							num = 0;							continue;						}						case '0' .. '9':						{							num = (num << 4) | (ch - '0');						}						case 'a' .. 'f':						{							num = (num << 4) | (ch - ('a' - 10));						}						case 'A' .. 'F':						{							num = (num << 4) | (ch - ('A' - 10));						}						default:						{							return -1;						}					}				}				setarg(paramPos, 0, num);			}			case 'c':			{				setarg(paramPos, 0, string[stringPos++]);			}			case 'f':			{				setarg(paramPos, 0, _:floatstr(string[stringPos]));			}			case 'p':			{				delim = format[formatPos++];				continue;			}			case 's', 'z':			{				new					i = 0,					ch;				if (format[formatPos])				{					while ((ch = string[stringPos++]) && ch != delim)					{						setarg(paramPos, i++, ch);					}					if (!i)					{						return -1;					}				}				else				{					while ((ch = string[stringPos++]))					{						setarg(paramPos, i++, ch);					}				}				stringPos--;				setarg(paramPos, i, '\0');			}			default:			{				continue;			}		}		while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')		{			stringPos++;		}		while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))		{			stringPos++;		}		paramPos++;	}	while (format[formatPos] == 'z') formatPos++;	if (format[formatPos] > ' ') return format[formatPos];	return 0;}IsValidSkin(skinid){    #define	MAX_BAD_SKINS 22    new badSkins[MAX_BAD_SKINS] =    {        3, 4, 5, 6, 8, 42, 65, 74, 86,        119, 149, 208, 265, 266, 267,        268, 269, 270, 271, 272, 273, 289    };    if (skinid < 0 || skinid > 299) return false;    for (new i = 0; i < MAX_BAD_SKINS; i++)    {        if (skinid == badSkins[i]) return false;    }    #undef MAX_BAD_SKINS    return 1;}stock ReturnHighScore(){	new highscore = 0;	for(new i=0; i<MAX_PLAYERS; i++)	{	    new Score = GetPlayerScore(i);	    if(Score >= highscore)	    {	        highscore = Score;	    }	}	return highscore;}