All pastes #917847 Raw Edit

ggom

public text v1 · immutable
#917847 ·published 2008-02-25 19:01 UTC
rendered paste body
#include <a_samp>
#include <core>
#include <float>
#include <utils>
#include <colors>




#pragma tabsize 0


#define sgversion "1.0"

#define COLOR_GREY 0xBEBEBEAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF


#define AdminColor COLOR_WHITE
#define COLOR_GREEN 0x0AFF0AAA
#define COLOR_RED 0xAA3333AA //pimp color
#define COLOR_PINK 0xFF66FFAA //triad color
#define COLOR_BLUE 0x0000BBAA //mechanic color
#define COLOR_LIGHTBLUE 0x33CCFFAA //pilot color
#define COLOR_ORANGE 0xFF9900AA //Swat color
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PURPLE 0x330066AA
#define COLOR_GREY 0xCCCCCAA
#define COLOR_SKIN 0xFFCC99AA
#define COLOR_DARKGREY 0x333333AA
#define COLOR_DARKRED 0x990000AA
#define RED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_BRIGHTRED 0xDC143CAA
#define COLOR_AQUA 0x7CFC00AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_TOMATO 0xFF6347AA // 토마토색
#define COLOR_WHITE 0xFFFFFFAA

#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_HEADLINE 0x00ffff00 //머릿글자 색깔이야.
#define COLOR_TOMATO 0xFF6347AA // 토마토색
#define COLOR_CHOCOLATE 0xD2691EAA //연한갈색
#define COLOR_ORANGERED 0xFF4500AA // 어두운오랜지색
#define COLOR_LIMEGREEN 0x32CD32AA
#define COLOR_BLACK 0x000000AA
#define COLOR_ORCHID 0xDA70D6AA
#define COLOR_FIREBRICK 0xB22222AA
#define COLOR_GOLD 0xFFD700AA
#define COLOR_OLIVE 0x808000AA
#define COLOR_WHITE 0xFFFFFFAA

#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_lightslategray 0x778899AA
#define COLOR_rpink 0xFFC0CBAA
#define COLOR_violet 0xEE82EEAA
#define COLOR_mediumpurple 0x9370DBAA
#define COLOR_aqua 0x00FFFFAA
#define COLOR_steelblue 0x4682B4AA
#define COLOR_teal 0x008080AA
#define COLOR_darkgreen 0x006400AA
#define COLOR_lime 0x00FF00AA
#define COLOR_goldenrod 0xDAA520AA
#define COLOR_tan 0xD2B48CAA
#define COLOR_lightsalmon 0xFFA07AAA
#define COLOR_rosybrown 0xBC8F8FAA
#define COLOR_burlywood 0xDEB887AA
#define COLOR_greenyellow 0xADFF2FAA

#define COLOR_navajowhite 0xFFDEADAA
#define COLOR_darkgoldenrod 0xB8860BAA
#define COLOR_darkcyan 0x008B8BAA
#define COLOR_navy 0x000080AA
#define COLOR_darkblue 0x00008BAA
#define COLOR_midnightblue 0x191970AA
#define COLOR_darkslateblue 0x483D8BAA
#define COLOR_slateblue 0x6A5ACDAA
#define COLOR_mediumslateblue 0x7B68EEAA
#define COLOR_mediumpurple 0x9370DBAA
#define COLOR_darkorchid 0x9932CCAA
#define COLOR_darkviolet 0x9400D3AA
#define COLOR_blueviolet 0x8A2BE2AA
#define COLOR_mediumorchid 0xBA55D3AA
#define COLOR_plum 0xDDA0DDAA
#define COLOR_lavender 0xE6E6FAAA
#define COLOR_indigo 0x4B0082AA
#define COLOR_darkmagenta 0x8B008BAA
#define COLOR_mediumvioletred 0xC71585AA
#define COLOR_deeppink 0xFF1493AA
#define COLOR_fuchsia 0xFF00FFAA
#define COLOR_magenta 0xFF00FFAA
#define COLOR_hotpink 0xFF69B4AA
#define COLOR_palevioletred 0xDB7093AA
#define COLOR_lightpink 0xFFB6C1AA
#define COLOR_beige 0xF5F5DCAA
#define COLOR_linen 0xFAF0E6AA
#define COLOR_oldlace 0xFDF5E6AA
#define COLOR_lightcyan 0xE0FFFFAA
#define COLOR_aliceblue 0xF0F8FFAA
#define COLOR_whitesmoke 0xF5F5F5AA
#define COLOR_lavenderblush 0xFFF0F5AA
#define COLOR_floralwhite 0xFFFAF0AA
#define COLOR_mintcream 0xF5FFFAAA
#define COLOR_ghostwhite 0xF8F8FFAA
#define COLOR_honeydew 0xF0FFF0AA
#define COLOR_seashell 0xFFF5EEAA
#define COLOR_forestgreen 0x228B22AA
#define COLOR_darkkhaki 0xBDB76BAA
#define COLOR_saddlebrown 0x8B4513AA

#define COLOR_palegreen 0x98fb98AA
#define COLOR_dimgray 0x696969AA
#define COLOR_darkgray 0xa9a9a9AA
#define COLOR_lawngreen 0x7cfc00AA
#define COLOR_silver 0xc0c0c0AA
#define COLOR_turquoise 0x40e0d0AA
#define COLOR_mediumturquoise 0x48d1ccAA
#define COLOR_orchid 0x70d6AA
#define COLOR_lightcoral 0xf08080AA
#define COLOR_chartreuse 0x7fff00AA
#define FORCE_LOGIN 1

#define COLOR_darkslategray 0x2f4f4fAA
#define COLOR_peru 0xcd853fAA
#define COLOR_maroon 0x800000AA
#define COLOR_royalblue 0x4169e1AA
#define COLOR_indianred 0xcd5c5cAA

#define COLOR_papayawhip 0xffefd5AA
#define COLOR_peachpuff 0xffdab9AA
#define COLOR_tomato 0xff6347AA
#define COLOR_ornagered 0xff4500AA
#define COLOR_chartreuse 0x7fff00AA
#define COLOR_palegoldenrod 0xEEE8AAAA
#define COLOR_paleturquoise 0xAFEEEEAA
#define COLOR_mediumspringgreen 0x00FA9AAA




//---Admin Help---
#define adhelp1	"[Level 1]: /kick /screw /unscrew /link /ubme /slap /spec /specoff /a(dminchat) /clearchat /admincolor"
#define adhelp2 "[Level 2]: /mute /end /getinfo /asay /say /warn /cnn /veh /freeze /unfreeze /killp"
#define adhelp3 "[Level 3]: /ban /gravity /setweather /settime /chat /ann"
#define adhelp4 "[Level 4]: /goto /get /sethealth /giveweapon /givemoney"
#define adhelp5 "[Level 5]: /warn /banip"
#define adhelp6 "[Level 6]: /setadmin /setname /setmoney"
#define adhelp7 "[Level 7]: 모든 명령어를 사용할수있다."
#define msg2 " 당신은 레벨에따른 명령어를 사용하실수 있습니다."


#define INACTIVE_PLAYER_ID 255
#define GIVECASH_DELAY 5000 // Time in ms between /givecash commands.

#define NUMVALUES 4



#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1

#define StartMoney 500  // Amount player recieves on spawn.

forward MoneyGrubScoreUpdate();
forward Givecashdelaytimer(playerid);
forward SetPlayerRandomSpawn(playerid);
forward SetupPlayerForClassSelection(playerid);
forward GameModeExitFunc();
forward SendPlayerFormattedText(playerid, const str[], define);
forward public SendAllFormattedText(playerid, const str[], define);
forward ShowStats(playerid,targetid);
forward OnPlayerUpdate(playerid);
forward Encrypt(string[]);
forward OnPlayerLogin(playerid,password[]);
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
forward ABroadCast(color,const string[],level);
forward CustomPickups();
forward OnPlayerRegister(playerid, password[]);
forward TimeUpdate();
forward WeatherUpdate(playerid);
forward SendClientMessageToAdmins(color,const string[],alevel);
forward IsStringAName(string[]);
forward GetPlayerID(string[]);
//------------------------------------------------------------------------------------------------------
enum pInfo
{
 pPassword[128],
	pKills,
	pDeaths,
	pCash,
	pBank,
	pAdminLevel,
	pTeleacc,
	pWarns,
	pMuted,
	pBanned,
};

new PlayerInfo[MAX_PLAYERS][pInfo];
new gPlayerLogged[MAX_PLAYERS];
new gPlayerAccount[MAX_PLAYERS];
new ConsumingMoney[MAX_PLAYERS];
new sendername[MAX_PLAYER_NAME];
new playermoney;

new CashScoreOld;
new iSpawnSet[MAX_PLAYERS];
new gActivePlayers[MAX_PLAYERS];
new worldTime;
new PlayerAccount[MAX_PLAYERS][pInfo];
new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];

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

main()
{
		print("\n----------------------------------");
		print("  Running LVDM ~MoneyGrub\n");
		print("         Coded By");
		print("            Jax");
		print("----------------------------------\n");
        worldTime = 12;
}


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

public TimeUpdate() {
	worldTime++;
	worldTime%=24;
	SetWorldTime(worldTime);
}

public MoneyGrubScoreUpdate()
{
	new CashScore;
	new name[MAX_PLAYER_NAME];
	//new string[256];
	for(new i=0; i<MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
		{
			GetPlayerName(i, name, sizeof(name));
   			CashScore = GetPlayerMoney(i);
			SetPlayerScore(i, CashScore);
			if (CashScore > CashScoreOld)
			{
				CashScoreOld = CashScore;
				//format(string, sizeof(string), "$$$ %s is now in the lead $$$", name);
				//SendClientMessageToAll(COLOR_YELLOW, string);
			}
		}
	}
}


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

public OnPlayerConnect(playerid)
{
	

	new playrname[MAX_PLAYER_NAME];
   	new connect[128];

	SetPlayerMapIcon(playerid,0,-1458.3082,919.1950,32.1568,52,0);

	GetPlayerName(playerid, playrname, sizeof(playrname));


	format(connect, sizeof(connect), "%s.cer", playrname);

	new Text:txt;
	txt = TextDrawCreate(20.0,425.0,"ggom cute server");
	TextDrawAlignment(txt,0);
	TextDrawBackgroundColor(txt,0x000000ff);
	TextDrawFont(txt,1);
	TextDrawLetterSize(txt,0.3,1.3);
	TextDrawColor(txt,COLOR_NEUTRAL);
	TextDrawSetOutline(txt,1);
	TextDrawSetProportional(txt,1);
	TextDrawSetShadow(txt,1);
	TextDrawShowForPlayer(playerid, txt);

	PlayerAccount[playerid][pKills]=0;
	PlayerAccount[playerid][pDeaths]=0;
	PlayerAccount[playerid][pCash]=0;
	PlayerAccount[playerid][pBank]=0;
	PlayerAccount[playerid][pAdminLevel]=0;
	PlayerAccount[playerid][pTeleacc]=0;
	PlayerAccount[playerid][pWarns]=0;
	PlayerAccount[playerid][pBanned]=0;
	PlayerAccount[playerid][pMuted]=0;

//----------------------------들어오는거 표시------------------------------------
	new str[256];
	new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	format(str, sizeof(str), " %s(%d번)자슥이 꼼세상에 들왔다. ", playername ,playerid);
	SendClientMessageToAll(COLOR_LIGHTBLUE, str);
	return 1;
}

//------------------------------------------------------------------------------------------------------
public OnPlayerDisconnect(playerid,reason)
{
    OnPlayerUpdate(playerid);
    gPlayerLogged[playerid] = 0;
	gActivePlayers[playerid]--;

//----------------------------나가는거 표시-------------------------------------
	new stringle[256]; // str의 충돌 방지
	new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	format(stringle, sizeof(stringle), " %s(%d번)자슥이 꼼세상을 떠났다...", playername ,playerid);
	SendClientMessageToAll(COLOR_YELLOW, stringle);//색상지정,모든사람에게 전함




return 1;
}


	

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

public OnPlayerCommandText(playerid, cmdtext[])
{
 new cmd[256];
    new idx;
    cmd = strtok(cmdtext, idx);
   	new tmp[256];
    new playername[MAX_PLAYER_NAME];
    new string[256];
    new moneys;
    new giveplayer[MAX_PLAYER_NAME];
    new giveplayerid;
    new playa;
    new tmp2[256];
    new Float:Xlol, Float:Ylol, Float:Zlol;
	new Float:Xlmao, Float:Ylmao, Float:Zlmao;
	new specplayerid;


      if (strcmp(cmd, "/log", true) ==0 )
	{
	    if(IsPlayerConnected(playerid))
	    {
	        new tmppass[64];
			if(gPlayerLogged[playerid] == 1)
			{
				SendClientMessage(playerid, COLOR_GREY, " 이미 로그인 중입니다.");
				return 1;
			}
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GREY, "	USAGE: /login [password]");
				return 1;
			}
			strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
			Encrypt(tmppass);
			OnPlayerLogin(playerid,tmppass);
		}
		return 1;
	}
	if (strcmp(cmd, "/reg", true)==0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /register [password]");
			return 1;
		}
		if (gPlayerAccount[playerid] == 1)
		{
			SendClientMessage(playerid, COLOR_GREY, " 이미 계정이 있습니다.");
			return 1;
		}

		strmid(PlayerAccount[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
		Encrypt(PlayerAccount[playerid][pPassword]);
		GetPlayerName(playerid, playername, sizeof(playername));
		format(string, sizeof(string), "%s.cer", playername);
		new File: file = fopen(string, io_read);
		if (file)
		{
			SendClientMessage(playerid, COLOR_GREY, " 이미 계정이 있습니다.");
			fclose(file);
			return 1;
		}
		new File:pFile;
		pFile = fopen(string, io_append);
		new var[32];//
        format(var, 32, "%s\n", PlayerAccount[playerid][pPassword]);fwrite(pFile, var);
        format(var, 32, "Kills=%d\n",PlayerAccount[playerid][pKills]);fwrite(pFile, var);
        format(var, 32, "Deaths=%d\n",PlayerAccount[playerid][pDeaths]);fwrite(pFile, var);
        PlayerAccount[playerid][pCash] = GetPlayerMoney(playerid);
        format(var, 32, "Money=%d\n",PlayerAccount[playerid][pCash]);fwrite(pFile, var);
        format(var, 32, "Bank=%d\n",PlayerAccount[playerid][pBank]);fwrite(pFile, var);
        format(var, 32, "AdminLevel=%d\n",PlayerAccount[playerid][pAdminLevel]);fwrite(pFile, var);
        format(var, 32, "Teleacc=%d\n",PlayerAccount[playerid][pTeleacc]);fwrite(pFile, var);
        format(var, 32, "Warns=%d\n",PlayerAccount[playerid][pWarns]);fwrite(pFile, var);
        format(var, 32, "Banned=%d\n",PlayerAccount[playerid][pBanned]);fwrite(pFile, var);
        format(var, 32, "Muted=%d\n",PlayerAccount[playerid][pMuted]);fwrite(pFile, var);
		fclose(pFile);
		SendClientMessage(playerid, COLOR_WHITE, " 계정을 만들었습니다.");

		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		OnPlayerLogin(playerid,PlayerAccount[playerid][pPassword]);
		GivePlayerMoney(playerid,StartMoney);
		return 1;
	}
			if (strcmp(cmd, "/changepass", true)==0)
	{
		tmp = strtok(cmdtext, idx);
		if (gPlayerLogged[playerid] != 1)
		{
			SendClientMessage(playerid, COLOR_GREY, " 로그인을 해주세요.");
			return 1;
		}
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /changepass [new pass]");
			return 1;
		}
		strmid(PlayerAccount[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
		format(string, sizeof(string), " 당신의 비밀번호는 %s 입니다.", PlayerAccount[playerid][pPassword]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		Encrypt(PlayerAccount[playerid][pPassword]);
		OnPlayerUpdate(playerid);
		GetPlayerName(playerid, playername, sizeof(playername));
		printf(" %s님 비밀번호가 번경되셨습니다.", playername);
		return 1;
	}
	if (strcmp(cmd, "/changenick", true)==0)
	{
		tmp = strtok(cmdtext, idx);
		new string2[256];
		if (gPlayerLogged[playerid] != 1)
		{
			SendClientMessage(playerid, COLOR_GREY, " 로그인을 해주세요.");
			return 1;
		}
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /changenick [New Name]");
			return 1;
		}
		format(string, sizeof(string), "%s.cer", tmp);
		if(fexist(string))
		{
			SendClientMessage(playerid, COLOR_GREY, " 이미 닉네임이 있습니다.");
			return 1;
		}
		OnPlayerRename(tmp,string,playerid);
		format(string, sizeof(string), " From now your new name is: %s (pleace relogin now)", tmp);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		new text[64];
		SetPlayerName(playerid, text);
		GetPlayerName(playerid, playername, sizeof(playername));
		format(string2, sizeof(string2), "%s.cer", playername);
		printf("%s has changed there name to %s.", playername,tmp);
		gPlayerLogged[playerid] = 0;
		fremove(string2);
		return 1;
	}
			if (strcmp(cmd, "/logout", true) ==0 )
	{
        if(IsPlayerConnected(playerid))
	    {
	    if (gPlayerLogged[playerid] == 1){
			{
			    new Text:txt3;
	            TextDrawDestroy(Text: txt3);
				OnPlayerUpdate(playerid);
				gPlayerLogged[playerid] = 0;
				SendClientMessage(playerid, COLOR_WHITE, " 로그아웃 하셨습니다.");
			}
			}else{ SendClientMessage(playerid,COLOR_GREY," 로그인을 해주세요.");}
        }
		return 1;
	}
	if (strcmp(cmd, "/stats", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if (gPlayerLogged[playerid] != 0)
			{
				ShowStats(playerid,playerid);
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, " 로그인을 해주세요.");
			}
		}
		return 1;
	}
//=================[Bank System]================================================================
    if(strcmp(cmd, "/bank", true) == 0 || strcmp(cmd, "/deposit", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(!PlayerToPoint(20.0,playerid,2305.688964,-16.088100,26.749599))
	        {
	            SendClientMessage(playerid, COLOR_GREY, "   You are not at the Bank !");
	            return 1;
	        }
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /bank [amount]");
				format(string, sizeof(string), "  You Have $%d in your account.", PlayerInfo[playerid][pBank]);
				SendClientMessage(playerid, COLOR_GRAD3, string);
				return 1;
			}
			new cashdeposit = strval(tmp);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /bank [amount]");
				format(string, sizeof(string), "  You Have $%d in your account.", PlayerInfo[playerid][pBank]);
				SendClientMessage(playerid, COLOR_GRAD3, string);
				return 1;
			}
			if (cashdeposit > GetPlayerMoney(playerid) || cashdeposit < 1)
			{
				SendClientMessage(playerid, COLOR_GRAD2, "   You dont have that much");
				return 1;
			}
			GivePlayerMoney(playerid,-cashdeposit);
			new curfunds = PlayerInfo[playerid][pBank];
			PlayerInfo[playerid][pBank]=cashdeposit+PlayerInfo[playerid][pBank];
			SendClientMessage(playerid, COLOR_WHITE, "|___ BANK STATMENT ___|");
			format(string, sizeof(string), "  Old Balance: $%d", curfunds);
			SendClientMessage(playerid, COLOR_GRAD2, string);
			format(string, sizeof(string), "  Deposit: $%d",cashdeposit);
			SendClientMessage(playerid, COLOR_GRAD4, string);
			SendClientMessage(playerid, COLOR_GRAD6, "|-----------------------------------------|");
			format(string, sizeof(string), "  New Balance: $%d", PlayerInfo[playerid][pBank]);
			SendClientMessage(playerid, COLOR_WHITE, string);
			return 1;
		}
		return 1;
	}
	if(strcmp(cmd, "/withdraw", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(!PlayerToPoint(20.0,playerid,2305.688964,-16.088100,26.749599))
	        {
	            SendClientMessage(playerid, COLOR_GREY, "   You are not at the Bank !");
	            return 1;
	        }
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
				format(string, sizeof(string), "  You Have $%d in your account.", PlayerInfo[playerid][pBank]);
				SendClientMessage(playerid, COLOR_GRAD3, string);
				return 1;
			}
			new cashdeposit = strval(tmp);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
				format(string, sizeof(string), "  You Have $%d in your account.", PlayerInfo[playerid][pBank]);
				SendClientMessage(playerid, COLOR_GRAD3, string);
				return 1;
			}
			if (cashdeposit > PlayerInfo[playerid][pBank] || cashdeposit < 1)
			{
				SendClientMessage(playerid, COLOR_GRAD2, "   You dont have that much !");
				return 1;
			}
		    ConsumingMoney[playerid] = 1;
			GivePlayerMoney(playerid,cashdeposit);
			PlayerInfo[playerid][pBank]=PlayerInfo[playerid][pBank]-cashdeposit;
			format(string, sizeof(string), "  You Have Withdrawn $%d from your account Total: $%d ", cashdeposit,PlayerInfo[playerid][pBank]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			return 1;
		}
		return 1;
	}
	if(strcmp(cmd, "/balance", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if(!PlayerToPoint(20.0,playerid,2305.688964,-16.088100,26.749599))
	        {
	            SendClientMessage(playerid, COLOR_GREY, "   You are not at the Bank !");
	            return 1;
	        }
			format(string, sizeof(string), "  You Have $%d in your account.",PlayerInfo[playerid][pBank]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		return 1;
	}
	if(strcmp(cmd, "/transfer", true) == 0 || strcmp(cmd, "/wiretransfer", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if(!PlayerToPoint(20.0,playerid,2305.688964,-16.088100,26.749599))
	        {
	            SendClientMessage(playerid, COLOR_GREY, "   You are not at the Bank !");
	            return 1;
	        }
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /transfer [playerid/PartOfName] [amount]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /transfer [playerid/PartOfName] [amount]");
				return 1;
			}
			moneys = strval(tmp);
			if (IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					playermoney = PlayerInfo[playerid][pBank] ;
					if (moneys > 0 && playermoney >= moneys)
					{
						PlayerInfo[playerid][pBank] -= moneys;
						PlayerInfo[giveplayerid][pBank] += moneys;
						format(string, sizeof(string), "   You have transferd $%d to %s's account", moneys, giveplayer,giveplayerid);
						PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
						SendClientMessage(playerid, COLOR_GRAD1, string);
						format(string, sizeof(string), "   You have recieved $%d to into your account from %s", moneys, sendername, playerid);
						SendClientMessage(giveplayerid, COLOR_GRAD1, string);
						format(string, sizeof(string), "%s transferd $%d to %s", sendername, moneys, giveplayer);
		                if(moneys >= 500000)
						{
							ABroadCast(COLOR_YELLOW,string,1);
						}
						printf("%s", string);
						PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
					}
					else
					{
						SendClientMessage(playerid, COLOR_GRAD1, "   Invalid transaction amount.");
					}
				}
			}
			else
			{
				format(string, sizeof(string), "   %d is not an active player.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
		}
		return 1;
	}
//==========================[Enter and Exit]==========================================================================================================
    if(strcmp(cmd, "/enter", true) == 0)
	{
			if (PlayerToPoint(3.0, playerid,-1495.9863,920.0644,7.1875))// Bank
			{
				SetPlayerPos(playerid,2305.688964,-16.088100,26.749599);
				GameTextForPlayer(playerid, "~w~Welcome to the City Bank!~n~~w~Type /exit to get out", 5000, 1);
				SetPlayerInterior(playerid, 0);
			}
            return 1;
	}
	if(strcmp(cmdtext, "/exit", true) == 0)
	{
	       if (PlayerToPoint(3.0, playerid,2305.688964,-16.088100,26.749599))// Bank
			{
				SetPlayerPos(playerid,-1495.9863,920.0644,7.1875);
				SetPlayerInterior(playerid, 0);
			}
           return 1;
	}
if(strcmp(cmd, "/kill", true) == 0) {
		SetPlayerHealth(playerid,0);
		return 1;
	}
	
	
		if(strcmp(cmd, "/freeze", true) == 0)
{
new reason[64];
if (PlayerAccount[playerid][pAdminLevel] >= 2 || IsPlayerAdmin(playerid))
	{
	tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /freeze [playerid] [reason]");
			
			return 1;
		}

		giveplayerid = ReturnUser(tmp);
		if(giveplayerid != INVALID_PLAYER_ID)
		{
		    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			new length = strlen(cmdtext);
			while ((idx < length) && (cmdtext[idx] <= ' '))
			{
				idx++;
			}
			new offset = idx;
			while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
			{
				reason[idx - offset] = cmdtext[idx];
				idx++;
			}
			reason[idx - offset] = EOS;
			if(!strlen(reason))
				{
					SendClientMessage(playerid, COLOR_GREY, "USAGE: /freeze [playerid] [reason]");
					return 1;
				}
			else
			{
			printf(" %s님이 %s님을 얼렸다. [이유: %s]", sendername, giveplayer, reason);
			format(string, sizeof(string), " %s님이 %s님을 얼렸다. [이유: %s ]", sendername,giveplayer,reason);
   			SendClientMessageToAdmins(COLOR_GREEN, string,1);
			TogglePlayerControllable(giveplayerid,0);
			}
		}

		else if(giveplayerid == INVALID_PLAYER_ID)
		{
			format(string, sizeof(string), " %d님은 접속중이 아니십니다. ", giveplayerid);
			SendClientMessage(playerid, RED, string);
		}
	}
	else
 	{
 	SendClientMessage(playerid, RED, " 어드민레벨이 낮습니다.");
  	}
	return 1;
}
	
	if(strcmp(cmd, "/unfreeze", true) == 0)
{
if (PlayerAccount[playerid][pAdminLevel] >= 2 || IsPlayerAdmin(playerid))
	{
	tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /unfreeze [playerid]");
			
			return 1;
		}

		giveplayerid = ReturnUser(tmp);
		if(giveplayerid != INVALID_PLAYER_ID)
		{
		    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			printf(" %s님이 %s님을 녹였습니다.", sendername, giveplayer);
			format(string, sizeof(string), " %s님이 %s님을 녹였습니다.", sendername,giveplayer);
			SendClientMessageToAdmins(COLOR_GREEN, string,1);
			TogglePlayerControllable(giveplayerid,1);
		}

		else if(giveplayerid == INVALID_PLAYER_ID)
		{
			format(string, sizeof(string), " %d님은 접속중이 아니십니다. ", giveplayerid);
			SendClientMessage(playerid, RED, string);
		}
	}
	else
 	{
 	SendClientMessage(playerid, RED, " 어드민레벨이 낮습니다.");
  	}
	return 1;
}
if(strcmp(cmd, "/givemoney", true) == 0)
{
new cash;
if (PlayerAccount[playerid][pAdminLevel] >= 4 || IsPlayerAdmin(playerid))
	{
	tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /givemoney [playerid] [cash]");
			
			return 1;
		}

		giveplayerid = ReturnUser(tmp);
		if(giveplayerid != INVALID_PLAYER_ID)
		{
		    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			tmp = strtok(cmdtext, idx);
			cash = strval(tmp);
			if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_GREY, "USAGE: /givecash [playerid] [cash]");
					return 1;
				}
			else
			{
			printf(" %s님이 %s님에게 %d원을 드렸습니다.", sendername, giveplayer, cash);
			format(string, sizeof(string), " %s님이 %s님에게 %d원을 드렸습니다. ", sendername,giveplayer,cash);
			SendClientMessageToAdmins(COLOR_GREEN, string,1);
			GivePlayerMoney(giveplayerid, cash);
			}
		}

		else if(giveplayerid == INVALID_PLAYER_ID)
		{
			format(string, sizeof(string), " %d님은 접속중이 아니십니다. ", giveplayerid);
			SendClientMessage(playerid, RED, string);
		}
	}
	else
 	{
 	SendClientMessage(playerid, RED, " 어드민레벨이 낮습니다.");
  	}
	return 1;
}

if(strcmp(cmd, "/setmoney", true) == 0)
{
new cash;
if (PlayerAccount[playerid][pAdminLevel] >= 6 || IsPlayerAdmin(playerid))
	{
	tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /setmoney [playerid] [cash]");
			
			return 1;
		}

		giveplayerid = ReturnUser(tmp);
		if(giveplayerid != INVALID_PLAYER_ID)
		{
		    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			tmp = strtok(cmdtext, idx);
			cash = strval(tmp);
			if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_GREY, "USAGE: /givecash [playerid] [cash]");
					return 1;
				}
			else
			{
			printf("[ADMIN NEWS]: Admin %s set %s $%d..", sendername, giveplayer, cash);
			format(string, sizeof(string), "-| Administrator %s set %s $%d |-", sendername,giveplayer,cash);
			SendClientMessageToAdmins(RED, string,1);
			
			}
		}

		else if(giveplayerid == INVALID_PLAYER_ID)
		{
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, RED, string);
		}
	}
	else
 	{
 	SendClientMessage(playerid, RED, "You are not an admin with the required level.");
  	}
	return 1;
}
if(strcmp(cmd, "/killp", true) == 0)
{
	if (PlayerAccount[playerid][pAdminLevel] >= 2 || IsPlayerAdmin(playerid))
	{
	tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /killp [playerid]");
			SendClientMessage(playerid, COLOR_GREY, "FUNCTION: Will kill the specified player. **PLEASE ENTER THE ID ONLY!**");
			return 1;
		}

		giveplayerid = ReturnUser(tmp);
		if(giveplayerid != INVALID_PLAYER_ID)
		{
		    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			printf("[ADMIN NEWS]: Admin %s killed %s", sendername, giveplayer);
			format(string, sizeof(string), "-| Administrator %s killed %s |-", sendername,giveplayer);
			SendClientMessageToAdmins(RED, string,1);
			SetPlayerHealth(giveplayerid, 0.0);
		}

		else if(giveplayerid == INVALID_PLAYER_ID)
		{
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, RED, string);
		}
	}
	else
 	{
 	SendClientMessage(playerid, RED, "You have committed suicide.");
 	SetPlayerHealth(playerid,0.0);
  	}
	return 1;
}

				if(strcmp(cmd, "/sethealth", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return 1;
		}
		new health;
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		tmp = strtok(cmdtext, idx);
		health = strval(tmp);
		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 4)
		{
			SetPlayerHealth(playa, health);
			format(string, sizeof(string), "You gave %s %d health", giveplayer, health);
			SendClientMessage(playerid,COLOR_WHITE, string);

			format(string, sizeof(string), "Admin %s gave you %d health",sendername,health);
			SendClientMessage(playa,COLOR_WHITE, string);
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			printf("[ADMIN NEWS]: Admin %s set %s %d health", sendername, giveplayer,health);
			format(string, sizeof(string), "-| Administrator %s set %s %d health |-", sendername,giveplayer,health);
			SendClientMessageToAdmins(RED, string,1);
		}
		else
		{
			SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/giveweapon", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return 1;
		}
		new gun;
		new ammo;
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		tmp = strtok(cmdtext, idx);
		gun = strval(tmp);
		tmp = strtok(cmdtext, idx);
		ammo = strval(tmp);
		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 4)
		{
			GivePlayerWeapon(playa, gun, ammo);
			format(string, sizeof(string), "You gave %s a gun (gunid %d) with %d ammo", giveplayer,gun,ammo);
			SendClientMessage(playerid,COLOR_WHITE, string);

			format(string, sizeof(string), "You got a gun from Admin %s (gunid %d) with %d ammo",sendername,gun,ammo);
			SendClientMessage(playa,COLOR_WHITE, string);
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			printf("[ADMIN NEWS]: Admin %s killed %s", sendername, giveplayer);
			format(string, sizeof(string), "-| Administrator %s gave  gun to %s (gunid: %d ammo: %d) |-", sendername,giveplayer,gun,ammo);
			SendClientMessageToAdmins(RED, string,1);
		}
		else
		{
			SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

		if(strcmp(cmd, "/cnn", true) == 0)
	{
		if ((IsPlayerAdmin(playerid)) || PlayerAccount[playerid][pAdminLevel] >= 3)
		{
			GetPlayerName(playerid, sendername, sizeof(sendername));
			new length = strlen(cmdtext);
			while ((idx < length) && (cmdtext[idx] <= ' '))
			{
				idx++;
			}
			new offset = idx;
			new result[64];
			while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
			{
				result[idx - offset] = cmdtext[idx];
				idx++;
			}
			result[idx - offset] = EOS;
			if(!strlen(result))
			{
				SendClientMessage(playerid, COLOR_GREY, "USAGE: /cnn [text]");
				return 1;
			}
			format(string, sizeof(string), "~b~%s: ~w~%s",sendername,result);
			for(new i = 0; i <= MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i) == 1)
				{
					GameTextForPlayer(i, string, 5000, 6);
				}
			}
			return 1;
		}
		else
		{
			SendClientMessage(playerid, COLOR_GREY,msg2);
		}
	}
	if(strcmp(cmd, "/ann", true) == 0)
	{
		if ((IsPlayerAdmin(playerid)) || PlayerAccount[playerid][pAdminLevel] >= 2)
		{
			tmp = strtok(cmdtext, idx);
			new txtid;
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GREY, "USAGE: /ann [type] [text]");
				return 1;
			}
			txtid = strval(tmp);
			if(txtid == 2)
			{
				SendClientMessage(playerid, COLOR_GREY, "You can not select 2");
				return 1;
			}
			new length = strlen(cmdtext);
			while ((idx < length) && (cmdtext[idx] <= ' '))
			{
				idx++;
			}
			new offset = idx;
			new result[64];
			while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
			{
				result[idx - offset] = cmdtext[idx];
				idx++;
			}
			result[idx - offset] = EOS;
			if(!strlen(result))
			{
				SendClientMessage(playerid, COLOR_GREY, "USAGE: /ann [type] [text]");
				return 1;
			}
			format(string, sizeof(string), "~w~%s",result);
			for(new i = 0; i <= MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i) == 1)
				{
					GameTextForPlayer(i, string, 5000, txtid);
				}
			}
			return 1;
		}
		else
		{
			SendClientMessage(playerid, COLOR_GREY,msg2);
		}
	}

		if(strcmp(cmd, "/veh", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /veh [carid] [color1] [color2]");
			return 1;
		}
		new car;
		car = strval(tmp);
		if(car < 400 || car > 611)
		{
			SendClientMessage(playerid, COLOR_GREY, "   Vehicle Number can't be below 400 or above 611");
			return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /veh [carid] [color1] [color2]");
			return 1;
		}
		new color1;
		color1 = strval(tmp);
		if(color1 < 0 || color1 > 126)
		{
			SendClientMessage(playerid, COLOR_GREY, "   Color Number can't be below 0 or above 126");
			return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /veh [carid] [color1] [color2]");
			return 1;
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 2)
		{
		new color2;
		color2 = strval(tmp);
		if(color2 < 0 || color2 > 126)
		{
			SendClientMessage(playerid, COLOR_GREY, "   Color Number can't be below 0 or above 126");
		 	return 1;
	 	}
		new Float:X,Float:Y,Float:Z;
		GetPlayerPos(playerid, X,Y,Z);
		CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
		GetPlayerName(playerid, sendername, sizeof(sendername));
		printf("[ADMIN NEWS]: Admin %s gave him self vehicle id %d with colors %d and %d", sendername, car,color1,color2);
		format(string, sizeof(string), "-| Administrator %s gave him self vehicle ID %d with colors %d and %d |-", sendername,car,color1,color2);
		SendClientMessageToAdmins(RED, string,1);
		}
		else
		{
			SendClientMessage(playerid, COLOR_GREY, msg2);
		}
		return 1;
	}
				if(strcmp(cmd, "/warn", true) == 0)
	{
		new str[256];
		tmp = strtok(cmdtext, idx);
		tmp2 = strtok(cmdtext, idx);

		if(!strlen(tmp) && PlayerAccount[playerid][pAdminLevel] >= 5)
		{
			SendClientMessage(playerid, COLOR_GREY, "Correct Usage: /warn [PlayerID] [Reason]");
			return 1;
		}
		giveplayerid = strval(tmp);
		giveplayerid = strval(tmp);
			if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 2)
			{
				if(PlayerAccount[giveplayerid][pWarns] == 0)
				{
					PlayerAccount[giveplayerid][pWarns]+=1;
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof (sendername));
					format(str, sizeof (str), "* %s was warned by %s for: %s [1/3 Warnings]", giveplayer, sendername, cmdtext[8]);
					SendClientMessageToAll(COLOR_BLUE, str);
					print(str);
					return 1;
				}
				if(PlayerAccount[giveplayerid][pWarns] == 1)
				{
				    PlayerAccount[giveplayerid][pWarns]+=1;
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof (sendername));
					format(str, sizeof (str), "* %s was warned by %s for: %s [2/3 Warnings]", giveplayer, sendername, cmdtext[8]);
					SendClientMessageToAll(COLOR_BLUE, str);
					print(str);
					return 1;
				}
				else if(PlayerAccount[giveplayerid][pWarns] == 2)
				{
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof (sendername));
					format(str, sizeof (str), "* %s was kicked by %s for: %s [3/3 Warnings]", giveplayer, sendername, cmdtext[8]);
					SendClientMessageToAll(COLOR_BLUE, str);
					Kick(giveplayerid);
					PlayerAccount[giveplayerid][pWarns] = 3;
					return 1;
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
				return 1;
			}
	}

				if(strcmp(cmd, "/clearchat", true) ==0 || strcmp(cmd, "/cc", true) ==0){
	if (IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >=1) {
    for(new i = 0; i < 50; i++){
    SendClientMessageToAll(COLOR_WHITE," ");}
    new pname[256];
    GetPlayerName(playerid, pname, sizeof(pname));
	format(string, sizeof(string), " %s has clean the chat", pname);
	SendClientMessageToAll(COLOR_LIGHTRED, string);
	GetPlayerName(playerid, pname, sizeof(pname));
	format(string, sizeof(string), "%s clean the chat", pname);
    GameTextForAll(string,10000,1);
	}
	else { SendClientMessage(playerid,COLOR_GREY,"You are not allowed to use this command!"); }
	return 1;
	}

	if(strcmp(cmd, "/admincolor", true) ==0){
	if (IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >=1) { SetPlayerColor(playerid,AdminColor);
	}
	else { SendClientMessage(playerid,COLOR_GREY,"You are not allowed to use this command!"); }
	return 1;
	}
		if(strcmp(cmd, "/ban", true) == 0)
	{
 		new Hours,Minutes,Seconds,Days,Months,Years;
		gettime(Hours, Minutes, Seconds);getdate(Years, Months, Days);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /ban [playerid] [reason]");
		}
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new reason[64];
		while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
		{
			reason[idx - offset] = cmdtext[idx];
			idx++;
		}
		reason[idx - offset] = EOS;
		new playa1 = strval(tmp);
		GetPlayerName(playa1, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(!IsPlayerConnected(playa1))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 3)
		{
			format(string, sizeof(string), "AdminCMD: %s was Banned by %s. Reason: %s",giveplayer ,sendername, reason);
			SendClientMessageToAll(COLOR_LIGHTRED, string);
			SendClientMessage(playa1,COLOR_LIGHTGREEN,"____________________________________________________");
			SendClientMessage(playa1,COLOR_WHITE,"You got banned from The CP Public Server.");
			format(string, sizeof(string), "Admin that banned you: %s", sendername);
			SendClientMessage(playa1,COLOR_WHITE, string);
			format(string, sizeof(string),"Reason: %s ", reason);
			SendClientMessage(playa1,COLOR_GREY, string);
			format(string, sizeof(string), "Date: %d/%d/%d", Days,Months,Years);
    		SendClientMessage(playa1,COLOR_GREY,string);
    		format(string, sizeof(string), "Time %d:%d:%d",Hours,Minutes,Seconds);
    		SendClientMessage(playa1,COLOR_GREY,string);
    		SendClientMessage(playa1,COLOR_LIGHTGREEN,"____________________________________________________");
            PlayerAccount[playa1][pBanned] = 1;
			Kick(playa1);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

		if(strcmp(cmd, "/banip", true) == 0)
	{
 		new Hours,Minutes,Seconds,Days,Months,Years;
		gettime(Hours, Minutes, Seconds);getdate(Years, Months, Days);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /banip [playerid] [reason]");
		}
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new reason[64];
		while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
		{
			reason[idx - offset] = cmdtext[idx];
			idx++;
		}
		reason[idx - offset] = EOS;
		new playa1 = strval(tmp);
		GetPlayerName(playa1, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(!IsPlayerConnected(playa1))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 5)
		{
			format(string, sizeof(string), "AdminCMD: %s was Banned by %s. Reason: %s",giveplayer ,sendername, reason);
			SendClientMessageToAll(COLOR_LIGHTRED, string);
			SendClientMessage(playa1,COLOR_LIGHTGREEN,"____________________________________________________");
			SendClientMessage(playa1,COLOR_WHITE,"You got banned from The CP Public Server.");
			format(string, sizeof(string), "Admin that banned you: %s", sendername);
			SendClientMessage(playa1,COLOR_WHITE, string);
			format(string, sizeof(string),"Reason: %s ", reason);
			SendClientMessage(playa1,COLOR_GREY, string);
			format(string, sizeof(string), "Date: %d/%d/%d", Days,Months,Years);
    		SendClientMessage(playa1,COLOR_GREY,string);
    		format(string, sizeof(string), "Time %d:%d:%d",Hours,Minutes,Seconds);
    		SendClientMessage(playa1,COLOR_GREY,string);
    		SendClientMessage(playa1,COLOR_LIGHTGREEN,"____________________________________________________");
			Ban(playa1);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/setname", true) == 0)
	{
 		new Hours,Minutes,Seconds,Days,Months,Years;
		gettime(Hours, Minutes, Seconds);getdate(Years, Months, Days);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /setname [playerid] [new name]");
		}
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new reason[64];
		while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
		{
			reason[idx - offset] = cmdtext[idx];
			idx++;
		}
		reason[idx - offset] = EOS;
		new playa1 = strval(tmp);
		GetPlayerName(playa1, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(!IsPlayerConnected(playa1))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 6)
		{
			format(string, sizeof(string), "AdminCMD: %s's name was change by %s. New name: %s",giveplayer ,sendername, reason);
			SendClientMessageToAdmins(COLOR_LIGHTBLUE, string, 1);
			SetPlayerName(playa1, reason);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}


	if(strcmp(cmd, "/kick", true) == 0)
	{
 		new Hours,Minutes,Seconds,Days,Months,Years;
		gettime(Hours, Minutes, Seconds);getdate(Years, Months, Days);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /kick [playerid] [reason]");
		}
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new reason[64];
		while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
		{
			reason[idx - offset] = cmdtext[idx];
			idx++;
		}
		reason[idx - offset] = EOS;
		new playa1 = strval(tmp);
		GetPlayerName(playa1, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(!IsPlayerConnected(playa1))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			format(string, sizeof(string), "AdminCMD: %s was kicked by %s. Reason: %s",giveplayer ,sendername, reason);
			SendClientMessageToAll(COLOR_LIGHTRED, string);
			SendClientMessage(playa1,COLOR_LIGHTGREEN,"____________________________________________________");
			SendClientMessage(playa1,COLOR_WHITE,"You got kicked from The CP Public Server.");
			format(string, sizeof(string), "Admin that kicked you: %s", sendername);
			SendClientMessage(playa1,COLOR_WHITE, string);
			format(string, sizeof(string),"Reason: %s ", reason);
			SendClientMessage(playa1,COLOR_GREY, string);
			format(string, sizeof(string), "Date: %d/%d/%d", Days,Months,Years);
    		SendClientMessage(playa1,COLOR_GREY,string);
    		format(string, sizeof(string), "Time %d:%d:%d",Hours,Minutes,Seconds);
    		SendClientMessage(playa1,COLOR_GREY,string);
    		SendClientMessage(playa1,COLOR_WHITE,"If you feel you have been WRONGFULLY kicked post a appeal");
    		SendClientMessage(playa1,COLOR_WHITE,"at The Cherry Popper Forums - http://cp.gtasa.cz/forum/index.php");
    		SendClientMessage(playa1,COLOR_LIGHTGREEN,"____________________________________________________");
			Kick(playa1);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/screw", true) == 0) // puts worldbounsds around player :p
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /screw [playerid]");
		}
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		if(!IsPlayerConnected(playa))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			GetPlayerPos(playa, Xlol, Ylol, Zlol);
			GetPlayerPos(playa, Xlmao, Ylmao, Zlmao);
			SetPlayerWorldBounds(playa, Xlol+15, Xlmao-15, Ylol+15, Ylmao-15);
			format(string,sizeof(string),"AdminCMD: %s was screwed by %s",giveplayer,sendername);
			SendClientMessageToAll(COLOR_LIGHTRED,string);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/unscrew", true) == 0) // remove world bounds
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /unscrew [playerid]");
		}
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		if(!IsPlayerConnected(playa))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			SetPlayerWorldBounds(playa,20000.0000,-20000.0000,20000.0000,-20000.0000);
			format(string,sizeof(string),"AdminCMD: %s got un-screwed by %s",giveplayer,sendername);
			SendClientMessageToAll(COLOR_LIGHTRED,string);

		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/link", true) == 0) // link vehicle to current interior
 	{
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			new intid = GetPlayerInterior(playerid);
			LinkVehicleToInterior(GetPlayerVehicleID(playerid), intid);
			SendClientMessage(playerid, COLOR_GREY, "	Your vehicle is now linked to the current interior");
		}
		else
		{
			 return SendClientMessage(playerid, COLOR_GREY,msg2);
		}
	}

	if(strcmp(cmdtext,"/ubme",true)==0) // remove players world boundaries
	{
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			SetPlayerWorldBounds(playerid,20000.000,-20000.000,20000.000,-20000.000);
			SendClientMessage(playerid,COLOR_GREY,"	You Have Removed Your World Boundries");
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

    if(strcmp(cmd, "/slap", true) == 0) // slap player
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /slap [playerid/PartOfName]");
		}
		new Float:shealth;
		new Float:slx, Float:sly, Float:slz;
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		if(!IsPlayerConnected(playa))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			GetPlayerHealth(playa, shealth);
			SetPlayerHealth(playa, shealth-5);
			GetPlayerPos(playa, slx, sly, slz);
			SetPlayerPos(playa, slx, sly, slz+10);
			format(string, sizeof(string), "AdminCMD: %s was slapped by %s",giveplayer ,sendername);
			SendClientMessageToAll(COLOR_LIGHTRED, string);

		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/mute", true) == 0) // mute player
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /mute [playerid/PartOfName]");
		}
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		if(!IsPlayerConnected(playa))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 2)
		{
			if(PlayerAccount[playa][pMuted] == 1)
			{
			    format(string, sizeof(string), "AdminCMD: %s was unmuted by %s",giveplayer ,sendername);
				SendClientMessageToAll(COLOR_LIGHTRED, string);
			    PlayerAccount[playa][pMuted] = 0;
			}
			else if(PlayerAccount[playa][pMuted] == 0)
			{
				format(string, sizeof(string), "AdminCMD: %s was muted by %s",giveplayer ,sendername);
				SendClientMessageToAll(COLOR_LIGHTRED, string);
				PlayerAccount[playa][pMuted] = 1;
			}
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/a", true) == 0) // admin chat
	{
		GetPlayerName(playerid, sendername, sizeof(sendername));
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new result[64];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
		result[idx - offset] = EOS;
		if(!strlen(result))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /a <text> [admin chat]");
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			format(string, sizeof(string), "(AdminChat)%s: %s", sendername, result);
			SendClientMessageToAdmins(COLOR_LIGHTYELLOW,string,1);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/report", true) == 0) // report command for reporting cheaters
	{
 		GetPlayerName(playerid, sendername, sizeof(sendername));
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new result[64];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
		result[idx - offset] = EOS;
		if(!strlen(result))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /report [id] [reason]");
		}
		format(string, sizeof(string), "[REPORTS] Report from %s: %s", sendername, result);
		SendClientMessageToAdmins(COLOR_LIGHTYELLOW,string,1);
		SendClientMessage(playerid, COLOR_WHITE, "Report Sent.");
	    return 1;
	}

	if(strcmp(cmd, "/end", true) == 0) // gmx function
	{
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 2)
		{
		    SendClientMessage(playerid, COLOR_GREY, "Game mode restarting..");
        	SetTimer("DelayedGmx",5000,false);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/getinfo", true) == 0) // get player info, ip, ping, skin etc
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /getinfo [playerid/PartOfName]");
		}
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		if(!IsPlayerConnected(playa))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 2)
		{
		    new Float:health;
		    new Float:armour;
			new intr = GetPlayerInterior(playa);
			GetPlayerHealth(playa,health);
			GetPlayerArmour(playa,armour);
			new ammo3 = GetPlayerAmmo(playa);
			new team = GetPlayerTeam(playa);
			new score = GetPlayerScore(playa);
			new skin = GetPlayerSkin(playa);
			new money = GetPlayerMoney(playa);
			new playerip[128];
			GetPlayerIp(playa, playerip, sizeof(playerip));
			new ping = GetPlayerPing(playa);
			new want = GetPlayerWantedLevel(playa);

			format(string, sizeof(string),"PlayerAccount - %s:",giveplayer);
			SendClientMessage(playerid, COLOR_WHITE, string);
			format(string, sizeof(string), "Health[%.1f] Armour[%.1f] Money[%d] Interior[%d] Ip-Adress[%s]",health, armour, money, intr,playerip);
			SendClientMessage(playerid, COLOR_GREY,string);
			format(string, sizeof(string), "Ammo[%d] Team[%d] Score[%d] Skin[%d] Ping[%d] WantedLevel[%d]",ammo3, team, score, skin, ping, want);
			SendClientMessage(playerid, COLOR_GREY,string);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}
		if(strcmp(cmd, "/settime", true) == 0) // set world time
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /settime [0-24]");
			return 1;
		}
		new time;
		time = strval(tmp);
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 3)
		{
            SetWorldTime(time);
            for(new i=0; i<MAX_PLAYERS; i++){SetPlayerTime(i,time,0);}
			format(string, sizeof(string), "AdminCMD: %s set the worldtime to %d",sendername,time);
			SendClientMessageToAll(COLOR_LIGHTRED, string);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/setweather", true) == 0) // set weather
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /weather [weather-id]");
		}
		new time;
		time = strval(tmp);
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 3)
		{
            SetWeather(time);
			format(string, sizeof(string), "AdminCMD: %s set the weather to %d",sendername,time);
			SendClientMessageToAll(COLOR_LIGHTRED, string);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}
		if(strcmp(cmd, "/say", true) == 0)
	{
		GetPlayerName(playerid, sendername, sizeof(sendername));
		new length = strlen(cmdtext);
		GetPlayerName(playerid, sendername, sizeof(sendername));
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new result[64];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
		result[idx - offset] = EOS;
		if(!strlen(result) && PlayerAccount[playerid][pAdminLevel] >= 2)
		{
			SendClientMessage(playerid, COLOR_GREY, "Correct Usage: /say [text]");
			return 1;
		}
			if(PlayerAccount[playerid][pAdminLevel] >= 3)
			{
				format(string, sizeof(string), "** Admin %s: %s", sendername, result);
				SendClientMessageToAll(COLOR_NEUTRAL,string);
				new PlayerName2[30];
				GetPlayerName(playerid, PlayerName2, 30);
				printf("[Command] %s has used /say to send the message: %s", PlayerName2, result);
	     	}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, msg2);
				return 1;
			}
		return 1;
	}
	if(strcmp(cmd, "/asay", true) == 0) // Send admin message to all
	{
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new result[64];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
		result[idx - offset] = EOS;
		if(!strlen(result))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /asay [text]");
			return 1;
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 2)
		{
			format(string, sizeof(string), "Server Admin: %s",result);
			SendClientMessageToAll(COLOR_NEUTRAL,string);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}


    if(strcmp(cmd, "/goto", true) == 0) // teleport to a player
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /goto [playerid/PartOfName]");
			return 1;
		}
		new Float:plocx,Float:plocy,Float:plocz;
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		if(!IsPlayerConnected(playa))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 4)
		{
			GetPlayerPos(playa, plocx, plocy, plocz);
			new intid = GetPlayerInterior(playa);
			SetPlayerInterior(playerid,intid);
			if (GetPlayerState(playerid) == 2)
			{
   				new intid2 = GetPlayerInterior(playerid);
				LinkVehicleToInterior(GetPlayerVehicleID(playerid), intid2);
				new tmpcar = GetPlayerVehicleID(playerid);
				SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
				SendClientMessage(playerid,COLOR_GREY,"You have successfull teleported!");
			}
			else
			{
				SetPlayerPos(playerid,plocx,plocy+2, plocz);
			}
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/get", true) == 0) // teleport player to you
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /get [playerid/PartOfName]");
		}
		new Float:plocx,Float:plocy,Float:plocz;
		if(IsStringAName(tmp))
		{
			playa = GetPlayerID(tmp);
		}
		else
		{
			playa = strval(tmp);
		}
		if(!IsPlayerConnected(playa))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 4)
		{
			GetPlayerPos(playerid, plocx, plocy, plocz);
			new intid = GetPlayerInterior(playerid);
			SetPlayerInterior(playa,intid);
			if (GetPlayerState(playa) == 2)
			{
				new intid2 = GetPlayerInterior(playa);
				LinkVehicleToInterior(GetPlayerVehicleID(playa), intid2);
				new tmpcar = GetPlayerVehicleID(playa);
				SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
				SendClientMessage(playerid,COLOR_GREY,"You have successfull teleported!");
			}
			else
			{
				SetPlayerPos(playa,plocx,plocy+2, plocz);
			}
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	// kyemans spectate
    if(strcmp(cmd, "/spec", true) == 0) // spectate player
	{
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /spec [playerid]");
		}
		specplayerid = strval(tmp);

		if(!IsPlayerConnected(specplayerid))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			TogglePlayerSpectating(playerid, 1);
			PlayerSpectatePlayer(playerid, specplayerid);
			SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
			gSpectateID[playerid] = specplayerid;
			gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/specoff", true) == 0) // stop spectating
	{
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1)
		{
			TogglePlayerSpectating(playerid, 0);
			gSpectateID[playerid] = INVALID_PLAYER_ID;
			gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}

	if(strcmp(cmd, "/setadmin", true) == 0) // make someone admin
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			return SendClientMessage(playerid, COLOR_GREY, "USAGE: /setadmin [playerid/PartOfName] [level(1-7)]");
		}
		new para1;
		new level;
		if(IsStringAName(tmp))
		{
			para1 = GetPlayerID(tmp);
		}
		else
		{
			para1 = strval(tmp);
		}
		if(!IsPlayerConnected(para1))
		{
		    return SendClientMessage(playerid, COLOR_GREY, "	That player isn't active.");
		}
		tmp = strtok(cmdtext, idx);
		level = strval(tmp);
		if ((IsPlayerAdmin(playerid)) || PlayerAccount[playerid][pAdminLevel] >= 6)
		{
			GetPlayerName(para1, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			PlayerAccount[para1][pAdminLevel] = level;
			format(string, sizeof(string), "   You have been promoted to a level %d admin by %s", level, sendername);
			SendClientMessage(para1, COLOR_LIGHTGREEN, string);
			format(string, sizeof(string), "   You have promoted %s to a level %d admin.", giveplayer,level);
			SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
			OnPlayerUpdate(para1);
		}else
		{
		SendClientMessage(playerid, COLOR_GREY,msg2);
		}
		return 1;
	}
	
	 if(strcmp(cmd, "/ahelp", true) == 0)
	{
	    if(!IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] == 0) {SendClientMessage(playerid, COLOR_GREY,msg2);}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 1){SendClientMessage(playerid, COLOR_WHITE,adhelp1);}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 2){SendClientMessage(playerid, COLOR_WHITE,adhelp2);}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 3){SendClientMessage(playerid, COLOR_WHITE,adhelp3);}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 4){SendClientMessage(playerid, COLOR_WHITE,adhelp4);}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 5){SendClientMessage(playerid, COLOR_WHITE,adhelp5);}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 6){SendClientMessage(playerid, COLOR_WHITE,adhelp6);}
		if(IsPlayerAdmin(playerid) || PlayerAccount[playerid][pAdminLevel] >= 7){SendClientMessage(playerid, COLOR_WHITE,adhelp7);}
		return 1;
		}
	
	
	//-------------------------------------Help-------------------------------------
if(strcmp(cmd, "/help", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"------도움말------");
SendClientMessage(playerid, COLOR_YELLOW," /bankhelp 은행도움말");
SendClientMessage(playerid, COLOR_YELLOW," /com 기본명령어");
SendClientMessage(playerid, COLOR_YELLOW," /taxihelp 택시도움말");
SendClientMessage(playerid, COLOR_YELLOW," /bushelp 버스도움말");
SendClientMessage(playerid, COLOR_YELLOW," /mshelp 미션도움말(돈을벌수있다.)");
SendClientMessage(playerid, COLOR_ORANGE," 다음 도움말보기:/help2");

return 1;
}


//-----------------------------------Bank Help----------------------------------
if(strcmp(cmd, "/bankhelp", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"------은행 도움말------");
SendClientMessage(playerid, COLOR_YELLOW," /bank 입금");
SendClientMessage(playerid, COLOR_YELLOW," /withdraw 출금");
SendClientMessage(playerid, COLOR_YELLOW," /balance 통장확인");
SendClientMessage(playerid, COLOR_YELLOW," /gm 돈주기");
SendClientMessage(playerid, COLOR_YELLOW," 은행은 시계탑입니다.");
SendClientMessage(playerid, COLOR_ORANGE,"----------------------------");
return 1;
}
//---------------------------------Vehicle Help---------------------------------
if(strcmp(cmd, "/carhelp", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"------차량 도움말------");
SendClientMessage(playerid, COLOR_YELLOW, " /buycar 자동차 구매");
SendClientMessage(playerid, COLOR_YELLOW, " /sellcar 자동차 판매");
SendClientMessage(playerid, COLOR_YELLOW, " /callcar 자동차 소환");
SendClientMessage(playerid, COLOR_YELLOW, " /lock 문잠구기  /unlock 문열기");
SendClientMessage(playerid, COLOR_YELLOW, " /resetcar 자동차 리셋 ");
SendClientMessage(playerid, COLOR_YELLOW, " /securekick 보안시스템 작동  /unsecure 보안시스템 해제");
SendClientMessage(playerid, COLOR_ORANGE,"-----------------------------------------");
return 1;
}
//--------------------------------Commands list---------------------------------
if(strcmp(cmd, "/com", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"-------기본 명령어-----");
SendClientMessage(playerid, COLOR_YELLOW," /rules 꼼서버 규칙");
SendClientMessage(playerid, COLOR_YELLOW," /count 카운트다운");
SendClientMessage(playerid, COLOR_YELLOW," /admins 접속중인 어드민 ");
SendClientMessage(playerid, COLOR_YELLOW," /kill 자살");
SendClientMessage(playerid, COLOR_YELLOW," /pm 귓속말");
SendClientMessage(playerid, COLOR_ORANGE,"--------------------------------");

return 1;
}


//---------------------------------loghelp--------------------------------------
if(strcmp(cmd, "/loghelp", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"------로그인 도움말------");
SendClientMessage(playerid, COLOR_YELLOW," /reg 계정생성");
SendClientMessage(playerid, COLOR_YELLOW," /log 로그인");
SendClientMessage(playerid, COLOR_YELLOW," /sav 수동저장(나갈때 자동저장되요.)");
SendClientMessage(playerid, COLOR_YELLOW," /setpass 비밀번호변경");
SendClientMessage(playerid, COLOR_ORANGE,"------------------------------");
return 1;
}

if(strcmp(cmd, "/help2", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"------도움말2------");
SendClientMessage(playerid, COLOR_YELLOW," /logcom 로그인도움말");
SendClientMessage(playerid, COLOR_YELLOW," /ahelp 어드민도움말");
SendClientMessage(playerid, COLOR_ORANGE," 이 모드의 저작권은 ggom 에게 있습니다.");

return 1;
}

if(strcmp(cmd, "/taxihelp", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"------택시 도움말------");
SendClientMessage(playerid, COLOR_YELLOW," /taxi 택시부르기 ");
SendClientMessage(playerid, COLOR_YELLOW," /taxier 승객찾기 ");
SendClientMessage(playerid, COLOR_YELLOW," 택시를타신후 숫자키 2번을 누르시면 택시운행이 시작됩니다.");
SendClientMessage(playerid, COLOR_YELLOW," 손님들을 목적지까지 태워다드리면 그에따른 돈을받습니다.");
SendClientMessage(playerid, COLOR_ORANGE,"----------------------------");
return 1;
}

if(strcmp(cmd, "/bushelp", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"------버스 도움말------");
SendClientMessage(playerid, COLOR_YELLOW," 버스를타신후 숫자키 2번을 누르시면 버스운행이 시작됩니다. ");
SendClientMessage(playerid, COLOR_YELLOW," 손님들이 버스에 올라타시면서 버스비를 내시고 탑니다.");
SendClientMessage(playerid, COLOR_ORANGE,"----------------------------");
return 1;
}

if(strcmp(cmd, "/mshelp", true) == 0) {
SendClientMessage(playerid, COLOR_ORANGE,"------미션 도움말------");
SendClientMessage(playerid, COLOR_YELLOW," Las Ventura에서 미션을 하실수 있습니다. ");
SendClientMessage(playerid, COLOR_YELLOW," 피자배달 : 피자오토바이를 타시면 배달하실수 있습니다.  ");
SendClientMessage(playerid, COLOR_YELLOW," 기름배달 : 주유소마다 있는 트럭을 타시면 배달하실수 있습니다. ");
SendClientMessage(playerid, COLOR_YELLOW," 견인미션 : 견인차를 타시면 견인미션을 하실수 있습니다.");
SendClientMessage(playerid, COLOR_YELLOW," ");
SendClientMessage(playerid, COLOR_ORANGE,"----------------------------");
return 1;
}

if (strcmp(cmd, "/taxi", true) == 0) {

GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(string, sizeof(string)," %s 님께서 택시를 부르셨습니다. ", playername);
SendClientMessageToAll(COLOR_YELLOW, string);
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
return 1;
}

if (strcmp(cmd, "/taxier", true) == 0) {

GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(string, sizeof(string)," %s 님이 택시승객을 찾는 중입니다.  ", playername);
SendClientMessageToAll(COLOR_greenyellow, string);

return 1;
}

if(strcmp(cmd, "/chicken", true) == 0) {
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
{
PlayerPlaySound(playerid, 1134, x, y, z);
}
SendClientMessage(playerid, COLOR_YELLOW," 치킨맨이 되었다..");

SetPlayerSkin(playerid, 167);
return 1;
}

	
	
	
	
	
	

	return 0;
}

public Encrypt(string[])
{
	for(new x=0; x < strlen(string); x++)
	  {
		  string[x] += (3^x) * (x % 15);
		  if(string[x] > (0xff))
		  {
			  string[x] -= 64;
		  }
	  }
	return 1;
}



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

public OnPlayerSpawn(playerid)
{
	
	SetPlayerInterior(playerid,0);

	TogglePlayerClock(playerid,1);
	return 1;
}



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

public OnPlayerDeath(playerid, killerid, reason)
{
   

new kills = PlayerInfo[playerid][pKills];
    SetPlayerScore(playerid, kills);
    new Float:Health;
    GetPlayerHealth(playerid, Health);
    if(Health == 0.0)
    {
    PlayerInfo[playerid][pDeaths] += 1;
    }
   GivePlayerMoney(killerid, 2000);
    PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 1;


 	return 1;
}



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

public OnPlayerRequestClass(playerid, classid)
{
	iSpawnSet[playerid] = 0;
	SetupPlayerForClassSelection(playerid);
	return 1;
}

public SetupPlayerForClassSelection(playerid)
{
 	SetPlayerInterior(playerid,14);
	SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
	SetPlayerFacingAngle(playerid, 270.0);
	SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
	SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}

public OnPlayerRequestSpawn(playerid)
{
 if(gPlayerLogged[playerid] == 0){
    SendClientMessage(playerid,COLOR_ORANGE, " ");
    SendClientMessage(playerid,COLOR_ORANGE, "------ 꼼서버 ------ ");
    SendClientMessage(playerid,COLOR_ORANGE, " ");
	SendClientMessage(playerid,COLOR_YELLOW, " 로그인을 하셔야 게임접속이 가능합니다.");
    SendClientMessage(playerid,COLOR_ORANGE, " ");
	SendClientMessage(playerid,COLOR_YELLOW, " /reg 계정생성 하신후");
	SendClientMessage(playerid,COLOR_YELLOW, " /log 로그인 하세요.");
	SendClientMessage(playerid,COLOR_ORANGE, " ");
	SendClientMessage(playerid,COLOR_ORANGE, "--------------------");
    SendClientMessage(playerid,COLOR_ORANGE, " ");

		return 0;
	}
	return 1;
}


public GameModeExitFunc()
{
	GameModeExit();
}

public OnGameModeInit()
{
	SetGameModeText("ggom mode v1.0");

	ShowPlayerMarkers(1);
	ShowNameTags(1);
	
	
	// Player Class's
		AddPlayerClass(0,-1909.5330,487.2268,35.1661,89.8122,0,0,0,0,0,0); // 씨제이
		AddPlayerClass(137,-1909.5330,487.2268,35.1661,89.8122,15,0,0,0,0,0); // 거지
		AddPlayerClass(141,-1909.5330,487.2268,35.1661,89.8122,14,0,0,0,0,0); // 여자비즈니스
		AddPlayerClass(155,-1909.5330,487.2268,35.1661,89.8122,14,0,0,0,0,0); // 피자맨
		AddPlayerClass(166,-1909.5330,487.2268,35.1661,89.8122,24,20,0,0,0,0); // 비밀요원
		AddPlayerClass(167,-1909.5330,487.2268,35.1661,89.8122,6,0,0,0,0,0); // 치킨맨
		AddPlayerClass(181,-1909.5330,487.2268,35.1661,89.8122,6,0,0,0,0,0); // 롹커
		AddPlayerClass(189,-1909.5330,487.2268,35.1661,89.8122,14,0,0,0,0,0); // 웨이터
		AddPlayerClass(201,-1909.5330,487.2268,35.1661,89.8122,6,0,0,0,0,0); // 여자농사꾼이쁜
		AddPlayerClass(205,-1909.5330,487.2268,35.1661,89.8122,5,0,0,0,0,0); // 햄버거녀
		AddPlayerClass(228,-1909.5330,487.2268,35.1661,89.8122,22,20,0,0,0,0); // 남자비즈니스맨
		AddPlayerClass(241,-1909.5330,487.2268,35.1661,89.8122,23,40,0,0,0,0); // 남자조폭파마머리
		AddPlayerClass(248,-1909.5330,487.2268,35.1661,89.8122,7,0,0,0,0,0); // 바이커
		AddPlayerClass(255,-1909.5330,487.2268,35.1661,89.8122,8,0,0,0,0,0); // 택시기사
		AddPlayerClass(259,-1909.5330,487.2268,35.1661,89.8122,2,0,0,0,0,0); // 골퍼
		AddPlayerClass(275,-1909.5330,487.2268,35.1661,89.8122,14,0,0,0,0,0); // 메딕
		AddPlayerClass(280,-1909.5330,487.2268,35.1661,89.8122,24,20,0,0,0,0); // 경찰
		AddPlayerClass(285,-1909.5330,487.2268,35.1661,89.8122,24,20,0,0,0,0); // 경찰
		AddPlayerClass(286,-1909.5330,487.2268,35.1661,89.8122,23,40,0,0,0,0); // fbi
		AddPlayerClass(287,-1909.5330,487.2268,35.1661,89.8122,23,40,0,0,0,0); // 군인
		AddPlayerClass(294,-1909.5330,487.2268,35.1661,89.8122,15,0,0,0,0,0); // 장님
		//========================ALL GAME VEHICLES AND PICKUPS=========================
		//----------------------------------Vehicles------------------------------------
		AddStaticVehicle(437,2085.4314,1351.6001,10.9261,179.4208,1,6); // 라벤버스
		AddStaticVehicle(437,2085.2024,1337.4701,10.9649,179.8612,1,93); // 라벤버스
		AddStaticVehicle(437,2084.9827,1324.2407,10.9643,179.4238,47,74); // 라벤버스
		AddStaticVehicle(514,2130.0911,891.0442,11.3789,358.7841,1,1); // 드카앞주유소트럭
		AddStaticVehicle(420,2039.7422,957.1995,9.9821,179.8494,6,1); // 드카앞택시
		AddStaticVehicle(420,2039.7449,947.7813,9.7761,180.3487,6,1); // 드카앞택시
		AddStaticVehicle(420,2039.7983,938.0181,9.4405,180.7133,6,1); // 드카앞택시
		AddStaticVehicle(514,2192.1558,2501.3757,11.3931,178.7902,3,1); // 경찰서앞트럭
		AddStaticVehicle(598,2256.2891,2458.5127,10.5674,358.7332,6,1); // 라벤경찰차
		AddStaticVehicle(598,2251.6921,2477.0156,10.5637,179.5244,6,1); // 라벤경찰차
		AddStaticVehicle(598,2277.6846,2477.1003,10.5689,180.1089,6,1); // 라벤경찰차
		AddStaticVehicle(598,2268.9561,2443.1792,10.5727,182.0884,6,1); // 라벤경찰차
		AddStaticVehicle(523,2290.1589,2441.2290,10.3946,0.9138,6,0); // 라벤경찰오토바이
		AddStaticVehicle(523,2294.1882,2441.0676,10.3862,15.4144,6,0); // 라벤경찰오토바이
		AddStaticVehicle(448,2081.5393,2221.2339,10.4339,206.9652,3,6); // 섹샾근처피자오토바이
		AddStaticVehicle(448,2083.4890,2221.2407,10.4311,209.1992,3,6); // 섹샾근처피자오토바이
		AddStaticVehicle(448,2632.1956,1849.0043,10.4165,118.8128,3,6); // 중국집피자오토바이
		AddStaticVehicle(514,2106.9211,2741.2678,11.4032,268.8751,40,1); // 사막주유소트럭
		AddStaticVehicle(448,2352.9590,2529.4451,10.4201,225.7498,3,6); // 경찰서피자오토바이
		AddStaticVehicle(448,2354.9907,2530.1641,10.4202,227.1820,3,6); // 경찰서피자오토바이
		AddStaticVehicle(448,2760.2432,2461.2004,10.4202,211.5992,3,6); // 싫어하는피자오토바이
		AddStaticVehicle(448,2762.2981,2462.1528,10.4197,210.4869,3,6); // 싫어하는피자오토바이
		AddStaticVehicle(487,1602.8362,1629.0516,10.9729,179.2627,6,1); // 라벤공항헬리콥터
		AddStaticVehicle(487,1618.1364,1530.6678,10.9532,324.9941,6,1); // 라벤공항헬리콥터
		AddStaticVehicle(513,1438.2803,1516.8961,11.3660,269.2960,86,1); // 라벤공항스턴트비행기
		AddStaticVehicle(513,1437.9120,1502.6555,11.3840,270.0277,6,1); // 라벤공항스턴트비행기
		AddStaticVehicle(593,1575.0004,1464.3196,11.6078,86.0675,58,8); // 라벤공항도도
		AddStaticVehicle(593,1573.8162,1445.5503,11.2888,85.9822,60,1); // 라벤공항도도
		AddStaticVehicle(577,1585.3536,1189.9358,10.7275,180.2005,23,31); // 라벤왕비행기
		AddStaticVehicle(519,1275.2288,1440.4060,11.7400,270.0049,1,1); // 라벤샤멜
		AddStaticVehicle(519,1274.2985,1412.8727,11.7427,269.9917,1,1); // 라벤샤멜
		AddStaticVehicle(451,1322.3844,1278.7578,10.5267,0.6764,86,64); // 라벤공항투리스모
		AddStaticVehicle(506,2116.7190,1408.3816,10.5208,180.9544,76,76); // 아이스크림앞주차장슈퍼지티
		AddStaticVehicle(559,2107.2170,1398.2664,10.4760,0.2391,6,1); // 아이스크림앞주차장재스터
		AddStaticVehicle(405,2123.1880,1398.2263,10.6876,0.1514,1,1); // 아이스크림앞주차장센
		AddStaticVehicle(429,2074.9719,1666.8827,10.3513,359.3942,3,1); // 칼큘앞벤쉬
		AddStaticVehicle(541,2129.7236,1812.5215,10.2968,334.7501,68,8); // 서커스앞뷸렛
		AddStaticVehicle(477,2171.5916,1988.9894,10.6035,90.4806,101,1); // 편의점앞zr
		AddStaticVehicle(559,2187.2646,1979.1055,10.4767,89.5134,60,1); // 라벤편의점재스터
		AddStaticVehicle(507,2103.1265,2079.2583,10.6463,270.1396,15,15); // 섹샾앞엘리전트
		AddStaticVehicle(480,2235.5046,2042.4752,10.5945,90.1358,6,6); // 편의점옆주차장코멧
		AddStaticVehicle(429,2245.5759,2042.4231,10.5170,270.7331,14,14); // 편의점옆주차장벤쉬
		AddStaticVehicle(506,2241.0955,2006.8020,10.5246,0.2258,76,76); // 편의점옆주차장슈퍼지티
		AddStaticVehicle(521,2253.9380,2063.9937,10.3940,179.6479,92,3); // 편의점옆주차장fcr
		AddStaticVehicle(521,2257.7900,2064.3206,10.3888,180.2067,25,118); // 편의점옆주차장fcr
		AddStaticVehicle(603,2098.9915,2480.2249,10.6591,179.2349,69,1); // 경찰서옆주차장포에닉스
		AddStaticVehicle(405,2084.6355,2468.5569,10.6953,0.6684,40,1); // 경찰서옆주차장센
		AddStaticVehicle(541,2103.9473,2046.4028,10.4452,90.2943,2,1); // 섹샾불렛
		AddStaticVehicle(563,2092.9080,2414.7695,75.2840,89.6829,1,6); // 에메랄드호텔옥상바퀴달린비행기
		AddStaticVehicle(514,1610.6172,2237.3521,11.4064,179.0633,75,1); // 이상한주유소트럭
		AddStaticVehicle(525,2216.6465,2038.1868,10.6962,270.1820,18,20); // 편의점옆주차장견인
		AddStaticVehicle(525,2216.6140,2041.8163,10.7018,270.2988,18,20); // 편의점옆주차장견인
		AddStaticVehicle(451,2034.5786,1915.8683,11.8842,180.4514,126,1); // 그호텔투리스모
		AddStaticVehicle(411,952.1508,1733.3228,8.3729,271.0346,106,1); // 컵옆에인페
		AddStaticVehicle(451,612.4939,1694.4283,6.6988,302.5529,6,1); // 사막주유소투리스모
		AddStaticVehicle(522,404.0240,2537.4490,16.1183,142.9217,39,106); // 버려진공항nrg
		AddStaticVehicle(579,514.2827,2378.2607,30.1724,146.4219,53,53); // 버려진공항옆헌트리
		AddStaticVehicle(587,-18.2422,2330.9995,23.8678,87.6676,1,1); // 버려진공항옆유로스
		AddStaticVehicle(495,-539.1048,2572.3513,53.7612,89.2457,118,117); // 샌드킹
		AddStaticVehicle(593,325.6356,2539.5786,17.2694,180.8038,68,8); // 버려진공항도도
		AddStaticVehicle(593,290.8690,2541.2432,17.2807,179.6514,68,8); // 버려진공항도도
		AddStaticVehicle(489,-812.3500,2759.4077,45.9947,94.1920,120,123); // 원주민렌쳐
		AddStaticVehicle(522,258.1827,2937.2244,1.3354,179.3815,3,3); // 땅끝집nrg
		AddStaticVehicle(473,-943.0150,2640.5991,40.3724,26.7410,56,53); // 모터보트
		AddStaticVehicle(402,2092.6985,1809.7261,10.5033,154.8783,90,90); // 그호텔앞버팔로
		AddStaticVehicle(589,2039.4323,1656.0706,10.3300,182.1031,22,22); // 해적선앞클럽
		AddStaticVehicle(565,2039.7189,1494.5123,10.2938,180.2467,7,7); // 해적선앞플레쉬
		AddStaticVehicle(477,2039.8386,1327.1267,10.4259,181.1194,0,1); // 에스컬레이터앞zr
		AddStaticVehicle(421,2039.6484,1184.6783,10.5544,180.7457,25,1); // 드카근처와싱턴
		AddStaticVehicle(409,2039.1724,1004.3356,10.4719,179.9198,0,0); // 드카앞리무진
		AddStaticVehicle(409,2039.1151,1016.2698,10.4719,180.5882,0,0); // 드카앞리무진
		AddStaticVehicle(558,2133.2546,1012.9155,10.4513,90.0186,24,1); // 드카앞주차장우라누스
		AddStaticVehicle(602,2162.9910,1022.4640,10.6264,269.6704,1,1); // 드카앞주차장알파
		AddStaticVehicle(500,2148.1553,986.8033,10.9219,359.6103,28,119); // 드카앞주차장 메사
		AddStaticVehicle(400,2141.7249,987.2505,10.9126,359.9645,40,1); // 드카앞주차장랜드스타
		AddStaticVehicle(586,2132.6184,1025.5912,10.3405,91.3414,8,1); // 드카앞주차장그오토바이
		AddStaticVehicle(586,2132.4019,1029.1860,10.3401,87.7495,25,1); // 드카앞주차장그오토바이
		AddStaticVehicle(525,1957.9481,2173.4678,10.7192,179.7480,22,30); // 스프레이샾견ㄴ인
		AddStaticVehicle(525,1962.6566,2173.5063,10.7199,179.6606,17,20); // 스프레이샾견ㄴ인
		AddStaticVehicle(484,2289.6980,518.7491,0.3026,266.6879,40,26); // 드카앞마을여행배
		AddStaticVehicle(493,2357.6389,518.8948,-0.3187,269.3769,36,13); // 드카앞마을제트맥스
		AddStaticVehicle(506,-336.5930,1514.8440,75.0703,0.4100,6,6); // 빅이어슈퍼지티
		AddStaticVehicle(562,-339.7579,1514.6256,75.0185,0.1483,116,1); // 빅이어엘리지
		AddStaticVehicle(477,-333.4454,1515.1616,75.0864,359.4616,121,1); // 빅이어zr
		AddStaticVehicle(451,-330.3724,1514.9535,75.0625,359.9639,16,16); // 빅이어투리스모
		AddStaticVehicle(599,-304.9543,1024.0195,19.7865,270.4136,0,1); // 빅이어근처마을경찰렌쳐
		AddStaticVehicle(599,-305.0083,1027.9911,19.7828,270.2276,0,1); // 빅이어근처마을경찰렌쳐
		AddStaticVehicle(411,-360.7918,1198.9324,19.4567,179.9542,75,1); // 빅이어근처마을인페창고
		AddStaticVehicle(405,-688.9348,956.7626,12.0164,92.1938,36,1); // 별장센티차
		AddStaticVehicle(454,-646.1194,863.5552,0.1906,47.9919,26,26); // 별장보트
		AddStaticVehicle(447,711.1124,1985.4706,3.4767,268.6733,75,2); // 하트수영장잠자리헬기
		AddStaticVehicle(556,-210.4477,2594.7854,63.0787,0.2884,1,1); // 치킨앞몬스터
		AddStaticVehicle(482,-91.5963,1339.2886,10.6740,188.0290,64,64); // 유에프오버리토
		AddStaticVehicle(415,-790.1940,1437.3885,13.5631,92.0976,36,1); // 또다른원주민치타
		AddStaticVehicle(415,411.7529,1163.9435,7.6757,271.6009,0,1); // 기름파는곳근처치타
		AddStaticVehicle(579,-301.7931,1753.1532,42.6211,269.6435,53,53); // 분수대헌트리
		AddStaticVehicle(521,-301.3640,1770.0972,42.2542,242.2086,92,3); // 분수개frc
		AddStaticVehicle(522,-300.9067,1772.4598,42.2588,246.0543,51,118); // 분수대nrg
		AddStaticVehicle(597,-1587.9624,651.7477,6.9400,359.5242,1,1); // 산피경찰차
		AddStaticVehicle(597,-1594.3997,673.1448,6.9623,180.0891,1,1); // 산피경찰차
		AddStaticVehicle(597,-1605.2366,651.9244,6.9845,359.2904,1,1); // 산피경찰차
		AddStaticVehicle(523,-1607.7516,673.7373,6.7537,178.1544,0,0); // 산피경찰오토바이
		AddStaticVehicle(523,-1605.4121,673.8445,6.7618,176.8243,0,0); // 산피경찰오토바이
		AddStaticVehicle(497,-1681.2976,705.7814,30.7783,91.0926,0,1); // 산피경찰헬기
		AddStaticVehicle(451,-2252.4409,2311.9954,4.5193,90.1581,3,1); // 히드라옆투리스모
		AddStaticVehicle(477,-2271.6050,2330.2605,4.5704,269.6665,126,1); // 히드라옆zr
		AddStaticVehicle(520,-2227.7427,2326.4944,8.2701,180.2970,0,0); // 히드라1
		AddStaticVehicle(453,-2325.0757,2329.1125,-0.4154,182.6079,56,56); // 그마을작은고깃배
		AddStaticVehicle(484,-2237.1216,2406.8513,0.1623,315.9994,40,26); // 그마을돛배
		AddStaticVehicle(411,1086.0728,1074.2639,10.5647,306.9358,6,1); // 중앙인페노랭이
		AddStaticVehicle(573,594.8377,872.5625,-42.6907,1.1679,79,7); // 공사장덤프작은거
		AddStaticVehicle(425,2618.0273,2720.8523,37.1107,271.3302,43,0); // 헌터헬기
		AddStaticVehicle(476,-1430.3866,-951.2072,201.7380,270.0143,7,6); // 저격총인는곳총쏘는비행기
		AddStaticVehicle(420,-1974.4482,423.8179,34.9283,89.8725,6,1); // 산피택시
		AddStaticVehicle(420,-1974.3943,431.2830,34.9283,89.5825,6,1); // 산피택시
		AddStaticVehicle(420,-1974.3474,438.8484,34.9283,89.9030,6,1); // 산피택시
		AddStaticVehicle(420,-1974.4458,446.2758,34.9283,90.4040,6,1); // 산피택시
		AddStaticVehicle(582,-2040.5422,459.0700,35.2031,0.7750,41,20); // 뉴스밴
		AddStaticVehicle(582,-2032.1808,458.8582,35.2038,359.8645,49,11); // 뉴스밴
		AddStaticVehicle(488,-2044.2898,479.4161,35.3494,179.9383,2,29); // 뉴스헬기
		AddStaticVehicle(541,-1938.3131,585.7325,34.7369,179.5951,60,1); // 왕카근처뷸렛
		AddStaticVehicle(536,-2618.5244,1377.5432,6.8727,178.7135,26,96); // 찌찌클럽블레이드
		AddStaticVehicle(575,-2627.9260,1377.9270,6.7408,179.3104,38,1); // 찌찌클럽브로드웨이
		AddStaticVehicle(415,-2695.9031,824.9274,49.7766,179.4837,20,1); // 어떤주차장치타
		AddStaticVehicle(451,-2105.2622,893.3486,76.4120,0.3767,1,1); // 그집주차장투리스모
		AddStaticVehicle(409,-2416.3101,332.3327,34.7688,151.6886,1,1); // 산피리무진
		AddStaticVehicle(411,-2027.2660,125.0819,28.8012,0.2698,126,1); // 왕카창고인페
		AddStaticVehicle(602,-1947.2404,260.4362,35.2748,89.4797,49,1); // 왕카알파
		AddStaticVehicle(402,-1947.1302,270.6068,35.3056,89.9899,118,1); // 왕카버팔로
		AddStaticVehicle(405,-1947.3916,265.4530,35.3504,90.1346,102,1); // 왕카센티
		AddStaticVehicle(521,-1955.9001,300.3109,35.0376,127.4171,1,1); // 왕카fcr
		AddStaticVehicle(522,-1956.7987,302.9102,35.0342,129.6839,1,93); // 왕카nrg
		AddStaticVehicle(550,-1951.7592,259.7972,40.8623,270.0671,99,99); // 왕카선라이즈
		AddStaticVehicle(535,-1952.0491,272.2092,40.8107,269.4253,126,1); // 왕카슬라벤
		AddStaticVehicle(560,-1915.9207,450.8362,34.8755,269.4445,56,1); // 스폰지점술탄
		AddStaticVehicle(527,-1915.9513,444.7415,34.8877,269.4651,106,1); // 스폰지점 그차
		AddStaticVehicle(565,-1916.0123,438.7630,34.7978,270.6124,115,1); // 스폰지점플레쉬
		AddStaticVehicle(483,-1915.4814,427.7743,35.1638,269.6603,1,31); // 스폰지점작은버스
		AddStaticVehicle(483,-1915.4619,422.5868,35.1655,269.6641,1,20); // 스폰지점작은버스
		AddStaticVehicle(429,-1890.6642,460.0947,34.8575,180.2658,1,3); // 스폰지점벤쉬
		AddStaticVehicle(562,-1885.4182,460.2988,34.8322,179.6273,1,1); // 스폰지점엘리지
		AddStaticVehicle(559,-1880.3053,460.1957,34.8302,180.2961,56,1); // 스폰지점재스터
		AddStaticVehicle(508,-1873.7170,458.6429,35.5490,179.4258,1,1); // 스폰지점캠핑카
		AddStaticVehicle(508,-1867.6840,458.6711,35.5485,180.5354,1,1); // 스폰지점캠핑카
		AddStaticVehicle(560,-1984.0776,951.3335,45.1496,271.3111,86,1); // 창고집밑에술탄
		AddStaticVehicle(522,-1788.4857,1223.2784,32.2277,178.8031,1,1); // 미셸집위nrg
		AddStaticVehicle(556,-1787.1199,1204.5598,25.5000,179.4998,1,1); // 미셸몬스터
		AddStaticVehicle(415,-1660.7278,1213.0002,7.0211,290.5052,0,1); // 자동차판매소치타
		AddStaticVehicle(541,-1659.5922,1213.7811,13.2970,286.7272,6,1); // 자동차판매소뷸렛
		AddStaticVehicle(411,-1660.0049,1214.0865,20.8833,294.1024,64,1); // 자동차판매소인페
		AddStaticVehicle(451,-1656.5781,1207.7803,20.8640,292.2908,126,126); // 자동차판매소투리스모
		AddStaticVehicle(521,-1664.6674,1223.1604,13.2488,246.5641,115,118); // 자동차판매소fcr
		AddStaticVehicle(506,-2201.4077,293.5287,34.8216,178.8736,6,6); // 스포츠카주차장슈퍼지티
		AddStaticVehicle(579,-2265.6768,136.9629,35.1076,90.9224,42,42); // 야구장앞헌트리
		AddStaticVehicle(489,-2265.4475,140.9046,35.3030,89.5697,14,123); // 야구장앞렌쳐
		AddStaticVehicle(500,-2265.0957,145.0485,35.2664,90.2301,40,84); // 야구장앞메사
		AddStaticVehicle(400,-2265.3469,148.9865,35.2557,90.4361,123,1); // 야구장앞랜드스터
		AddStaticVehicle(451,-2131.3784,-261.0165,35.0268,358.2850,0,0); // 산피공사장같은점프대투리스모
		AddStaticVehicle(522,-2195.8840,-231.2183,34.8882,280.8785,3,3); // 산피공사장같은점프대적마nrg
		AddStaticVehicle(559,-2102.0676,654.0065,52.0235,269.3087,60,1); // 차이나타워근처재스터
		AddStaticVehicle(562,-2447.2212,741.1313,34.6743,0.1857,17,1); // 병원근처슈퍼엘리지
		AddStaticVehicle(603,-2591.7959,645.2932,27.6506,89.7987,69,1); // 병원포에닉스
		AddStaticVehicle(437,-1747.3013,954.6654,24.8777,90.0053,1,6); // 산피버스2대
		AddStaticVehicle(437,-1760.5126,954.6910,24.8755,90.1250,19,3); // 산피버스2대
		AddStaticVehicle(519,-1386.8223,-230.0490,15.0671,316.1719,1,1); // 샤멜
		AddStaticVehicle(553,-1358.6122,-260.9400,15.4813,310.9220,55,23); // 네바다
		AddStaticVehicle(487,-1185.2560,25.9428,14.3363,43.6159,29,42); // 공항헬기
		AddStaticVehicle(563,-1222.8015,-10.7681,14.8532,46.3559,1,6); // 공항큰헬기
		AddStaticVehicle(519,-1245.2592,-93.7834,15.0651,137.2642,1,1); // 샤멜2
		AddStaticVehicle(553,-1203.8870,-140.0874,15.4887,136.3924,55,23); // 네바다2
        


	SetTimer("MoneyGrubScoreUpdate", 1000, 1);
	
	SetTimer("CustomPickups", 1000, 1);
	AddStaticPickup(1274, 2, -1495.9863, 920.0644, 7.1875);
	
	SetWorldTime(7);
	SetTimer("TimeUpdate",60009, 1);
	SetTimer("WeatherUpdate",500000, 1); // Weather change's every 5 minutse (by Kspeed - Lidor Kalfa)
    SetTimer("autosay_time",180000, 1);
	return 1;
}

public SendPlayerFormattedText(playerid, const str[], define)
{
	new tmpbuf[256];
	format(tmpbuf, sizeof(tmpbuf), str, define);
	SendClientMessage(playerid, 0xFF004040, tmpbuf);
}

public SendAllFormattedText(playerid, const str[], define)
{
	new tmpbuf[256];
	format(tmpbuf, sizeof(tmpbuf), str, define);
	SendClientMessageToAll(0xFFFF00AA, tmpbuf);
}


public OnPlayerUpdate(playerid)
{
	if(IsPlayerConnected(playerid))
	{
		if(gPlayerLogged[playerid])
		{
			new string3[32];
			new pname3[MAX_PLAYER_NAME];
			GetPlayerName(playerid, pname3, sizeof(pname3));
			format(string3, sizeof(string3), "%s.cer", pname3);
			new File: pFile = fopen(string3, io_write);
			if (pFile)
			{
				new var[32];
				format(var, 32, "%s\n", PlayerAccount[playerid][pPassword]);fwrite(pFile, var);
			//	fclose(pFile);
				PlayerAccount[playerid][pCash] = GetPlayerMoney(playerid);
				format(var, 32, "Kills=%d\n",PlayerAccount[playerid][pKills]);fwrite(pFile, var);
				format(var, 32, "Deaths=%d\n",PlayerAccount[playerid][pDeaths]);fwrite(pFile, var);
                format(var, 32, "Money=%d\n",PlayerAccount[playerid][pCash]);fwrite(pFile, var);
                format(var, 32, "Bank=%d\n",PlayerAccount[playerid][pBank]);fwrite(pFile, var);
                format(var, 32, "AdminLevel=%d\n",PlayerAccount[playerid][pAdminLevel]);fwrite(pFile, var);
                format(var, 32, "Teleacc=%d\n",PlayerAccount[playerid][pTeleacc]);fwrite(pFile, var);
                format(var, 32, "Warns=%d\n",PlayerAccount[playerid][pWarns]);fwrite(pFile, var);
                format(var, 32, "Banned=%d\n",PlayerAccount[playerid][pBanned]);fwrite(pFile, var);
                format(var, 32, "Muted=%d\n",PlayerAccount[playerid][pMuted]);fwrite(pFile, var);
				fclose(pFile);
			}
		}
	}
	return 1;
}

public OnPlayerRename(name[],string[],playerid)
{
	if (gPlayerLogged[playerid] != 0)
	{
	        new string3[32];
	        new File: pFile = fopen(string3, io_write);
			if (pFile)
			{
				new var[32];
				format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
				fclose(pFile);
				PlayerAccount[playerid][pCash] = GetPlayerMoney(playerid);
				format(var, 32, "Kills=%d\n",PlayerAccount[playerid][pKills]);fwrite(pFile, var);
				format(var, 32, "Deaths=%d\n",PlayerAccount[playerid][pDeaths]);fwrite(pFile, var);
                format(var, 32, "Money=%d\n",PlayerAccount[playerid][pCash]);fwrite(pFile, var);
                format(var, 32, "BankMoney=%d\n",PlayerAccount[playerid][pBank]);fwrite(pFile, var);
                format(var, 32, "AdminLevel=%d\n",PlayerAccount[playerid][pAdminLevel]);fwrite(pFile, var);
                format(var, 32, "Teleacc=%d\n",PlayerAccount[playerid][pTeleacc]);fwrite(pFile, var);
                format(var, 32, "Warns=%d\n",PlayerAccount[playerid][pWarns]);fwrite(pFile, var);
                format(var, 32, "Banned=%d\n",PlayerAccount[playerid][pBanned]);fwrite(pFile, var);
                format(var, 32, "Muted=%d\n",PlayerAccount[playerid][pMuted]);fwrite(pFile, var);
				fclose(pFile);
		}
	}
	else
	{
		SendClientMessage(playerid, COLOR_YELLOW, " 계정이 없으십니다.");
	}
	return 1;
}
stock ini_GetKey( line[] )
{
	new keyRes[128];
	keyRes[0] = 0;
    if ( strfind( line , "=" , true ) == -1 ) return keyRes;
    strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
    return keyRes;
}

stock ini_GetValue( line[] )
{
	new valRes[128];
	valRes[0]=0;
	if ( strfind( line , "=" , true ) == -1 ) return valRes;
	strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
	return valRes;
}


strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}

public ShowStats(playerid,targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
	{
		new cash =  GetPlayerMoney(targetid);
		new deaths = PlayerInfo[targetid][pDeaths];
		new kills = PlayerInfo[targetid][pKills];
		new name[MAX_PLAYER_NAME];
		GetPlayerName(targetid, name, sizeof(name));
		new Float:px,Float:py,Float:pz;
		GetPlayerPos(targetid, px, py, pz);
		new coordsstring[256];
		new bank = PlayerInfo[targetid][pBank];
        new adminlevel = PlayerAccount[targetid][pAdminLevel];
		SendClientMessage(playerid, COLOR_GREEN,"________________________________________________");
		format(coordsstring, sizeof(coordsstring),"*** %s ***",name);
		SendClientMessage(playerid, COLOR_WHITE,coordsstring);
		format(coordsstring, sizeof(coordsstring), "Kills:[%d] Deaths:[%d] Cash:[$%d] Bank:[$%d]  AdminLevel:[L.%d] ",kills,deaths,cash,bank,adminlevel);
		SendClientMessage(playerid, COLOR_GRAD5,coordsstring);
		SendClientMessage(playerid, COLOR_GREEN,"________________________________________________");
	}
}

public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(playerid))
	{
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		tempposx = (oldposx -x);
		tempposy = (oldposy -y);
		tempposz = (oldposz -z);
		if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
		{
			return 1;
		}
	}
	return 0;
}

public ABroadCast(color,const string[],level)
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
				SendClientMessage(i, color, string);
				printf("%s", string);
		}
	}
	return 1;
}

public CustomPickups()
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	if (PlayerToPoint(3, i,-1495.9863,920.0644,7.1875)) // Bank
	{
    GameTextForPlayer(i, "~y~Welcome to The ~y~City Bank~n~~w~Type /enter to go in", 5000, 5);
	}
	}
	return 1;
}

public OnPlayerRegister(playerid, password[])
{
	if(IsPlayerConnected(playerid))
	{
			new string3[32];
			new playername3[MAX_PLAYER_NAME];
			GetPlayerName(playerid, playername3, sizeof(playername3));
			format(string3, sizeof(string3), "%s.ini", playername3);
			new File: pFile = fopen(string3, io_write);
			if (pFile)
			{
			    strmid(PlayerInfo[playerid][pPassword], password, 0, strlen(password), 255);
			    new var[32];
				format(var, 32, "Password=%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
				PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
				format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(pFile, var);
				format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(pFile, var);
				format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(pFile, var);
				format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pBank]);fwrite(pFile, var);
 fclose(pFile);
				SendClientMessage(playerid, COLOR_YELLOW, " 계정생성 성공하셨습니다. ");
			}
	}
	return 1;
}

public OnPlayerLogin(playerid,password[])
{
    new pname2[MAX_PLAYER_NAME];
	new pname3[MAX_PLAYER_NAME];
	new string2[64];
	new string3[128];
	GetPlayerName(playerid, pname2, sizeof(pname2));
	format(string2, sizeof(string2), "%s.cer", pname2);
	new File: UserFile = fopen(string2, io_read);

	if (UserFile)
	{
		new valtmp[128];
		fread(UserFile, valtmp);strmid(PlayerAccount[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);

		if ((strcmp(PlayerAccount[playerid][pPassword],password, true, strlen(valtmp)-1) == 0))
		{
			new key[128],val[128];
 			new Data[128];
 			while(fread(UserFile,Data,sizeof(Data)))
			{
				key = ini_GetKey(Data);
                if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pKills] = strval( val ); }
                if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pDeaths] = strval( val ); }
                if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pCash] = strval( val ); }
                if( strcmp( key , "Bank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pBank] = strval( val ); }
                if( strcmp( key , "AdminLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pAdminLevel] = strval( val ); }
                if( strcmp( key , "Teleacc" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pTeleacc] = strval( val ); }
                if( strcmp( key , "Warns" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pWarns] = strval( val ); }
                if( strcmp( key , "Banned" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pBanned] = strval( val ); }
                if( strcmp( key , "Muted" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerAccount[playerid][pMuted] = strval( val ); }
				ResetPlayerMoney(playerid);
				GivePlayerMoney(playerid,PlayerAccount[playerid][pCash]);
			}
			fclose(UserFile);
			gPlayerLogged[playerid] = 1;
			gPlayerAccount[playerid] = 1;
		    new kills = PlayerAccount[playerid][pKills];
            SetPlayerScore(playerid, kills);
			GetPlayerName(playerid, pname3, sizeof(pname3));
			format(string3, sizeof(string3), " %s님 로그인에 성공하셨습니다. ", pname3);
			SendClientMessage(playerid, COLOR_WHITE,string3);
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
			format(string3, sizeof(string3), "~w~Welcome~n~~y~%s!", pname3);
			GameTextForPlayer(playerid,string3,5000,1);
			
			
			
		}
		else
		{
			SendClientMessage(playerid, COLOR_GREY, " 비밀번호가 알맞지 않습니다.");
			fclose(UserFile);
		}
	}
	return 1;
}

public WeatherUpdate(playerid){ SetWeather(random(20)); return 1; }



//=============================꼼서버라고알려주는거=============================

forward public autosay_time();
public autosay_time()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
GameTextForAll("~p~ggom ~n~ ~y~Server", 5000, 5);
}
}
//============================어드민 메세지=====================================
public SendClientMessageToAdmins(color,const string[],alevel)
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
			if (PlayerAccount[i][pAdminLevel] >= alevel)
			{
				SendClientMessage(i, color, string);
				printf("%s", string);
			}
		}
	}
	return 1;
}

public IsStringAName(string[])
{
	for(new i = 0; i <= MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i) == 1)
		{
			new testname[MAX_PLAYER_NAME];
			GetPlayerName(i, testname, sizeof(testname));
			if(strcmp(testname, string, true, strlen(string)) == 0)
			{
				return 1;
			}
		}
	}
	return 0;
}


public GetPlayerID(string[])
{
	for(new i = 0; i <= MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i) == 1)
		{
			new testname[MAX_PLAYER_NAME];
			GetPlayerName(i, testname, sizeof(testname));
			if(strcmp(testname, string, true, strlen(string)) == 0)
			{
				return i;
			}
		}
	}
	return INVALID_PLAYER_ID;
}