#include #include #include #include #include #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 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 [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= 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= 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; }