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;
}