cosminvl |
07-02-2019 16:20 |
translate level mod
it`s anyone can do translate for this plugins in ENGLISH
PHP Code:
#include <amxmodx> #include <colorchat> #include <nvault> #include <amxmisc> #include <hamsandwich> #include <fun> #include <cstrike> #pragma semicolon 1 new gMaxPlayers, iLevels[33], iKills[33], Levels, g_msg_screenfade; new bool:bPrefix, bool:bLogs, bool:bHud, gMenu, iKNum, iMax, bool:bFade, iLevHe, iLevSlot; new bool:bBuy, bool:bSell, iPrice; new const szgMenuItems[][] = { "Kupovina Levela", "Prodaja Levela", "\yLista igraca", "\rInfo" }; new const gLogFile[] = "addons/amxmodx/configs/levels/LvlsAdmCmdsLogs.txt"; new const gDir[] = "addons/amxmodx/configs/levels/"; new const gUsersIni[] = "addons/amxmodx/configs/users.ini"; new const gSettingsFile[] = "addons/amxmodx/configs/levels/Settings.cfg"; new const gSettingsFileText[][] = { "; U ovom fajlu su podesavanja plugina Levels v1.0", "; ako nema dodatnih informacija o cvaru, 1 = ON | 0 = OFF^n ", "levels_logs ^"1^" // da li da se loguju admin komande vezane za plugin", "levels_num_to_next ^"5^" // na koliko killova se menja level (upisi broj)", "levels_max_levels ^"5000^" // maksimalan broj levela", "levels_chat_prefix ^"1^" // da li se na chatu ispisuje broj levela pre nicka", "levels_hud_info ^"1^" // da li igraci imaju ispod radara broj levela i killova", "levels_fade ^"1^" // da li ce se na prelasku na visi nivo na kratko vreme promeniti boja ekrana", "levels_he_lvl_num ^"1000^" // stalna he bomba na spawnu posle odredjenog broja levela (upisi broj)", "; da iskljucis stavi veci broj od levels_max_levels cvara", "levels_slot_lvl_num ^"3000^" // dobijanje slota posle odredjenog broja levela (upisi broj)", "; da iskljucis stavi veci broj od levels_max_levels cvara", "levels_buy ^"1^" // da li je moguca kupovina levela", "levels_sell ^"1^" // da li je moguca prodaja levela", "levels_level_price ^"500^" // koliko kosta jedan level u prodavnici" }; new const gLogFileText[][] = { "U ovom fajlu nalaze se logovi admin komandi vezanih za Levels plugin", "loguju se komande: amx_setlvl, amx_addlvl i amx_resetlvl", "====================================================================^n " }; enum Cvars { LOGS, KNUM, MAX, CHAT, HUD, FADE, HE, SLOT, KUPOVINA, PRODAJA, CENA } new const CvarsNames[Cvars][] = { "levels_logs", "levels_num_to_next", "levels_max_levels", "levels_chat_prefix", "levels_hud_info", "levels_fade", "levels_he_lvl_num", "levels_slot_lvl_num", "levels_buy", "levels_sell", "levels_level_price" }; new const CvarsAmmount[Cvars][] = { "1", "5", "5000", "1", "1", "1", "1000", "3000", "1", "1", "500" }; new pCvars[Cvars]; public plugin_init() { register_plugin("Levels", "1.0", "dEfuseRsBS"); Levels = nvault_open("Levels"); g_msg_screenfade = get_user_msgid("ScreenFade"); RegisterHam(Ham_Spawn, "player", "fw_PlSpawn", 1); for(new Cvars:i = LOGS; i < Cvars; i++) pCvars[i] = register_cvar(CvarsNames[i], CvarsAmmount[i]); register_cvar("Levels", "1", FCVAR_SPONLY | FCVAR_SERVER); set_task(0.5, "fw_CvarsCheck"); set_task(180.0, "fw_CvarsCheck", _, _, _, "b"); gMaxPlayers = get_maxplayers(); register_event("DeathMsg", "fw_Death", "a"); register_concmd("amx_setlvl", "fw_LvlSet", ADMIN_RCON, "<nick> <num> - podesava level igracu"); register_concmd("amx_addlvl", "fw_LvlAdd", ADMIN_RCON, "<nick> <num> - dodaje levele igracu"); register_concmd("amx_resetlvl", "fw_LvlReset", ADMIN_RCON, "<nick> - resetuje igracu levele"); register_clcmd("say /levels", "fw_LevelsCmd"); register_clcmd("KUPOVINA_LEVELA", "fw_BuyLvl"); register_clcmd("PRODAJA_LEVELA", "fw_SellLvl"); register_clcmd("say", "fw_SayCmd"); gMenu = menu_create("\rLevels Menu", "h_gMenu"); for(new i = 0; i < sizeof szgMenuItems; i++) menu_additem(gMenu, szgMenuItems[i]); menu_addtext(gMenu, "\dBy: dEfuse[R]s|-BS"); } public plugin_precache() { if(!dir_exists(gDir)) mkdir(gDir); if(!file_exists(gLogFile)) for(new i = 0; i < sizeof gLogFileText; i++) write_file(gLogFile, gLogFileText[i]); if(!file_exists(gSettingsFile)) for(new x = 0; x < sizeof gSettingsFileText; x++) write_file(gSettingsFile, gSettingsFileText[x]); server_cmd("exec %s", gSettingsFile); } public fw_CvarsCheck() { if(get_pcvar_num(pCvars[CHAT]) == 1) bPrefix = true; else bPrefix = false; if(get_pcvar_num(pCvars[LOGS]) == 1) bLogs = true; else bLogs = false; if(get_pcvar_num(pCvars[HUD]) == 1) bHud = true; else bHud = false; if(get_pcvar_num(pCvars[FADE]) == 1) bFade = true; else bFade = false; if(get_pcvar_num(pCvars[KUPOVINA]) == 1) bBuy = true; else bBuy = false; if(get_pcvar_num(pCvars[PRODAJA]) == 1) bSell = true; else bSell = false; iKNum = get_pcvar_num(pCvars[KNUM]); iMax = get_pcvar_num(pCvars[MAX]); iLevHe = get_pcvar_num(pCvars[HE]); iLevSlot = get_pcvar_num(pCvars[SLOT]); iPrice = get_pcvar_num(pCvars[CENA]); } public fw_BuyLvl(id) { new szFArg[35], szText[255]; read_argv(1, szFArg, charsmax(szFArg)); new iFArg = str_to_num(szFArg); if(iFArg <= 0) formatex(szText, charsmax(szText), "Pogresan unos broja"); else { new iUserMoney = cs_get_user_money(id); new iCena = iPrice * iFArg; if(iUserMoney < iCena) formatex(szText, charsmax(szText), "Nemas dovoljno novca za^3 %i^1 levela. Potrebno je^3 %i", iFArg, iCena); else { iLevels[id] += iFArg; cs_set_user_money(id, iUserMoney - iCena); formatex(szText, charsmax(szText), "Kupio si^3 %i^1 levela za^3 %i^1$", iFArg, iCena); } } ColorChat(id, TEAM_COLOR, "^4[Levels]^1 %s", szText); } public fw_SellLvl(id) { new szFArg[35], szText[255]; read_argv(1, szFArg, charsmax(szFArg)); new iFArg = str_to_num(szFArg); if(iFArg <= 0) formatex(szText, charsmax(szText), "Pogresan unos broja"); else { if(iLevels[id] < iFArg) formatex(szText, charsmax(szText), "Nemas dovoljno levela, mozes da prodas najvise^3 %i^1 levela", iLevels[id]); else { new iCena = iPrice * iFArg; iLevels[id] -= iFArg; cs_set_user_money(id, cs_get_user_money(id) + iCena); formatex(szText, charsmax(szText), "Prodao si^3 %i^1 levela za^3 %i^1$", iFArg, iCena); } } ColorChat(id, TEAM_COLOR, "^4[Levels]^1 %s", szText); } public fw_PlSpawn(id) if(is_user_alive(id) && (iLevels[id] >= iLevHe)) give_item(id, "weapon_hegrenade"); public fw_LevelsCmd(id) menu_display(id, gMenu); public h_gMenu(id, menu, item) { switch(item) { case MENU_EXIT: return PLUGIN_HANDLED; case 0: { if(!bBuy) ColorChat(id, TEAM_COLOR, "^4[Levels]^1 Ovaj item je iskljucen"); else { client_cmd(id, "messagemode KUPOVINA_LEVELA"); ColorChat(id, GREEN, "[Levels] Ukucaj broj levela za kupovinu, cena jednog levela: %i", iPrice); } } case 1: { if(!bSell) ColorChat(id, TEAM_COLOR, "^4[Levels]^1 Ovaj item je iskljucen"); else { client_cmd(id, "messagemode PRODAJA_LEVELA"); ColorChat(id, GREEN, "[Levels] Ukucaj broj levela za prodaju, cena jednog levela: %i", iPrice); } } case 2: { set_hudmessage(255, 0, 0, -1.0, 0.49, 0, 6.0, 12.0); show_hudmessage(id, "Pogledaj konzolu"); new num, players[32], player; get_players(players, num, "a"); console_print(id, "============================================="); console_print(id, " ^nLista igraca na serveru sa njihovim level-ima i kill-ovima ^n "); for(new i = 0; i < num; i++) { player = players[i]; new szName[35]; get_user_name(player, szName, charsmax(szName)); console_print(id, "Igrac: %s | Levels: %i | Kills: %i", szName, iLevels[player], iKills[player]); } console_print(id, " ^n============================================="); } case 3: { set_hudmessage(255, 0, 0, -1.0, 0.49, 0, 6.0, 12.0); show_hudmessage(id, "Pogledaj konzolu"); console_print(id, "============================================= ^n "); console_print(id, "Levels v1.0 by: dEfuse[R]s|-BS^n "); console_print(id, "Posle %i kill-ova dobicete visi level", iKNum); console_print(id, "Maksimalan broj levela je %i", iMax); if(bPrefix) console_print(id, "Broj levela se ispisuje kao prefix komande say"); if(bHud) console_print(id, "Ispod radara je moguce videdi broj sopstvenih levela i kill-ova"); if(bFade) console_print(id, "Nakon predjenog nivoa ekran ce na kratko vreme promeniti boju"); if(iLevHe <= iMax) console_print(id, "Posle predjenog %i levela, svake runde igraci dobijaju He bombu", iLevHe); if(iLevSlot <= iMax) console_print(id, "Posle predjenog %i levela, igrac dobija slot", iLevSlot); console_print(id, " "); console_print(id, "Admin komande: ^n "); console_print(id, "amx_setlvl <nick> <num> - podesava igracu levele"); console_print(id, "amx_addlvl <nick> <num> - dodaje igracu levele"); console_print(id, "amx_resetlvl <nick> - resetuje igracu levele"); console_print(id, " ^n============================================="); } } return PLUGIN_HANDLED; } public fw_LvlSet(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED; new szFArg[35], szSArg[16]; read_argv(1, szFArg, charsmax(szFArg)); read_argv(2, szSArg, charsmax(szSArg)); new iNum = str_to_num(szSArg); new gTarget = cmd_target(id, szFArg, CMDTARGET_ALLOW_SELF | CMDTARGET_NO_BOTS | CMDTARGET_OBEY_IMMUNITY); if(!is_user_connected(gTarget) || iNum > iMax) return PLUGIN_HANDLED; new szPlName[35], szAdmName[35]; iLevels[gTarget] = iNum; get_user_name(id, szAdmName, charsmax(szAdmName)); get_user_name(gTarget, szPlName, charsmax(szPlName)); ColorChat(id, TEAM_COLOR, "^4[Levels]^1 Podesio si igracu^3 %s^1 broj levela na^3 %s", szPlName, iNum); ColorChat(gTarget, TEAM_COLOR, "^4[Levels]^1 Admin^3 %s^1 ti je podesio broj levela na^3 %s", szAdmName, iNum); if(bLogs) { new szText[250]; formatex(szText, charsmax(szText), "[amx_setlvl] Admin: %s | Igrac: %s | Levels: %i", szAdmName, szPlName, iNum); write_file(gLogFile, szText); } return PLUGIN_HANDLED; } public fw_LvlAdd(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED; new szFArg[35], szSArg[16]; read_argv(1, szFArg, charsmax(szFArg)); read_argv(2, szSArg, charsmax(szSArg)); new iNum = str_to_num(szSArg); new gTarget = cmd_target(id, szFArg, CMDTARGET_ALLOW_SELF | CMDTARGET_NO_BOTS | CMDTARGET_OBEY_IMMUNITY); if(!is_user_connected(gTarget) || ((iLevels[gTarget] + iNum) > iMax)) return PLUGIN_HANDLED; new szPlName[35], szAdmName[35]; iLevels[gTarget] += iNum; get_user_name(id, szAdmName, charsmax(szAdmName)); get_user_name(gTarget, szPlName, charsmax(szPlName)); ColorChat(id, TEAM_COLOR, "^4[Levels]^1 Dodao si igracu^3 %s^4 %i^1 levela", szPlName, iNum); ColorChat(gTarget, TEAM_COLOR, "^4[Levels]^1 Admin^3 %s^1 ti je dodao^3 %s^1 levela", szAdmName, iNum); if(bLogs) { new szText[250]; formatex(szText, charsmax(szText), "[amx_addlvl] Admin: %s | Igrac: %s | Levels: %i", szAdmName, szPlName, iNum); write_file(gLogFile, szText); } return PLUGIN_HANDLED; } public fw_LvlReset(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new szFArg[35]; read_argv(1, szFArg, charsmax(szFArg)); new gTarget = cmd_target(id, szFArg, CMDTARGET_ALLOW_SELF | CMDTARGET_NO_BOTS | CMDTARGET_OBEY_IMMUNITY); if(!is_user_connected(gTarget)) return PLUGIN_HANDLED; new szPlName[35], szAdmName[35]; iLevels[gTarget] = 0; get_user_name(id, szAdmName, charsmax(szAdmName)); get_user_name(gTarget, szPlName, charsmax(szPlName)); ColorChat(id, TEAM_COLOR, "^4[Levels]^1 Resetovao si igracu^3 %s^1 levele", szPlName); ColorChat(gTarget, TEAM_COLOR, "^4[Levels]^1 Admin^3 %s^1 ti je resetovao levele", szAdmName); if(bLogs) { new szText[250]; formatex(szText, charsmax(szText), "[amx_resetlvl] Admin: %s | Igrac: %s", szAdmName, szPlName); write_file(gLogFile, szText); } return PLUGIN_HANDLED; } public client_putinserver(id) { new szAuthID[35], szNum[55], leveli[30], kilovi[30], szIp[25]; get_user_ip(id, szIp, charsmax(szIp)); get_user_authid(id, szAuthID, charsmax(szAuthID)); if(equal(szAuthID, "VALVE_ID_LAN")) nvault_get(Levels, szIp, szNum, 101); else nvault_get(Levels, szAuthID, szNum, 101); parse(szNum, leveli, charsmax(leveli), kilovi, charsmax(kilovi)); iLevels[id] = str_to_num(leveli); iKills[id] = str_to_num(kilovi); set_task(3.0, "fw_HudInfo", id); if(iLevels[id] >= iLevSlot) { new szText[225]; if(!equal(szAuthID, "VALVE_ID_LAN")) formatex(szText, charsmax(szText), "^"%s^" ^"^" ^"b^" ^"ce^"", szAuthID); else formatex(szText, charsmax(szText), "^"%s^" ^"^" ^"b^" ^"de^"", szIp); write_file(gUsersIni, szText); ColorChat(id, TEAM_COLOR, "^4[Levels]^1 Cestitamo, dobio si slot zbog predjenih^3 %i^1 levela", iLevSlot); } set_task(3.5, "fw_Add", id); } public fw_Add(id) { if(is_user_connected(id)) { set_hudmessage(0, 170, 255, -1.0, 0.0, 0, 6.0, 12.0); show_hudmessage(id, "Ovaj server koristi ^nLevels Plugin by: dEfuse[R]s|-BS"); } } public fw_HudInfo(id) { if(is_user_connected(id) && bHud) { set_hudmessage(0, 255, 0, 0.02, 0.17, 0, 6.0, 12.0); show_hudmessage(id, "[ Level: %i ] ^n[ Kills: %i / %i]", iLevels[id], iKills[id], iKNum); set_task(5.0, "fw_HudInfo", id); } } public client_disconnect(id) { new szAuthID[35], szNum[55]; get_user_authid(id, szAuthID, charsmax(szAuthID)); formatex(szNum, charsmax(szNum), "%i %i", iLevels[id], iKills[id]); if(equal(szAuthID, "VALVE_ID_LAN")) { new szIp[25]; get_user_ip(id, szIp, charsmax(szIp)); nvault_set(Levels, szIp, szNum); } else nvault_set(Levels, szAuthID, szNum); } public fw_Death() { new id = read_data(1); if(id <= gMaxPlayers) { if(is_user_connected(id)) { iKills[id]++; if(iLevels[id] >= iMax) return; set_hudmessage(255, 0, 0, -1.0, 0.62, 0, 6.0, 12.0); if(iKills[id] == iKNum) { iLevels[id]++; iKills[id] = 0; show_hudmessage(id, "[ Presao si na level %i ]", iLevels[id]); if(bFade) set_user_fade(id); } else show_hudmessage(id, "[ %i / %i Kills ]", iKills[id], iKNum); } } } public fw_SayCmd(id) { if(bPrefix) { new szName[33], szArgs[192], szPrefix[16]; get_user_name(id, szName, charsmax(szName)); read_args(szArgs, charsmax(szArgs)); remove_quotes(szArgs); if(!is_user_alive(id)) szPrefix = "*DEAD* "; ColorChat(0, TEAM_COLOR, "^1%s^4[ Level: %i ]^3 %s^1 : %s", szPrefix, iLevels[id], szName, szArgs); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } stock set_user_fade(index) { message_begin(MSG_ONE_UNRELIABLE, g_msg_screenfade, _, index); write_short((1 << 12) * 1); write_short(floatround((1 << 12) * 0.1)); write_short(0x0000); write_byte(0); write_byte(255); write_byte(255); write_byte(150); message_end(); }
|