Проблема с чатом на сервере, Пропадают чат и звания |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|

|
|
Проблема с чатом на сервере, Пропадают чат и звания |
Pulse
|
16.7.2015, 3:43
Сообщение
|
![]() |
лог и список плагинов в студию, и если помните то напишите после какого плагина это началось.
Отредактировал: Pulse, - 16.7.2015, 3:43
|
|
|
|
7entol
|
16.7.2015, 6:35
Сообщение
|
![]() |
Можно свангую ?
Стоит Лайт Транслит от неугомона? Если да то просто обнови его |
|
|
|
voed
|
16.7.2015, 6:47
Сообщение
|
|
|
Цитата Выходит ошибка в плагине: [ 20] Vip weapon V2 2.0 7eVen VIP.amxx running В плагине много чего надо исправлять. Советую отключить его |
|
|
|
Bloo
|
16.7.2015, 8:35
Сообщение
|
![]() |
|
|
|
|
Bloo
|
16.7.2015, 8:45
Сообщение
|
![]() |
|
|
|
|
Ezequiel
|
16.7.2015, 8:52
Сообщение
|
![]() |
Cкрытый текст Код #include <amxmodx> #include <amxmisc> #include <cstrike> #include <csstats> #include <fakemeta> #include <fun> #include <hamsandwich> new g_AdminGMsg, g_Prefix, g_NoSlesh, g_AllChat #define MAX_PLAYERS 32 new g_oldrank[MAX_PLAYERS+1] static gMessage[192] new gSayText #define PLUGIN "Lite Rank System" #define VERSION "1.6b" #define AUTHOR "xoymiii" #define TASKID_INFO 7777 #define ADMIN_PREFIX ADMIN_BAN // Флаг для префикса админа (по умолчанию флаг d) #define VIP_PREFIX ADMIN_LEVEL_H // Флаг для префикса випа (по умолчанию флаг t) new MaxPlayers new PlayerXP[33], PlayerLevel[33], g_MsgHud, levelUp[33] new g_XPvalue, g_XPheadshot, g_Bomb, g_XPc4def, g_XPc4pl, g_MinPlayers new g_Levels new bonus, g_Smoke, g_Flash, g_He, g_Armor, g_Bonus_Smoke, g_Bonus_Flash, g_Bonus_Flash2, g_Bonus_He, g_Bonus_Armor, g_Money, g_Bonus_Money, g_Lvl_Money, g_Block_Map new Array:g_array_block_bonus new bool:bonus_blocked new LEVELS[31] new const CLASSES[][] = { "I_1", "I_1", "I_2", "I_3", "I_4", "I_5", "I_6", "I_7", "I_8", "I_9", "I_10", "I_11", "I_12", "I_13", "I_14", "I_15", "I_16", "I_17", "I_18", "I_19", "I_20", "I_21", "I_22", "I_23", "I_24", "I_25", "I_26", "I_27", "I_28", "I_29", "I_30" } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_dictionary("Lite_Rank_System.txt" ) register_event("DeathMsg", "EventDeath", "a", "1>0") RegisterHam(Ham_Spawn, "player", "player_respawn", 1) set_task(1.0, "Info", TASKID_INFO, "", 0, "b") g_MsgHud = CreateHudSyncObj() g_array_block_bonus = ArrayCreate(32, 1) g_Prefix = register_cvar("lrs_prefix","1") g_AdminGMsg = register_cvar("lrs_adminchat", "1") g_NoSlesh = register_cvar("lrs_noslesh","1") g_AllChat = register_cvar("lrs_chat","1") g_XPvalue = register_cvar("lrs_xp_value", "1") g_Bomb = register_cvar("lrs_bomb", "1") g_MinPlayers = register_cvar("lrs_min_players", "3") g_XPc4def = register_cvar("lrs_xp_c4def", "3") g_XPc4pl = register_cvar("lrs_xp_c4pl", "3") g_XPheadshot = register_cvar("lrs_xp_hs", "1") g_Levels = register_cvar("lrs_levels", "0 10 20 30 50 100 150 200 250 300 350 400 500 600 700 800 1000 1200 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000") bonus = register_cvar("lrs_bonus", "1") g_Block_Map = register_cvar("lrs_block_map", "1") g_Smoke = register_cvar("lrs_smoke", "1") g_Flash = register_cvar("lrs_flash", "1") g_He = register_cvar("lrs_he", "1") g_Armor = register_cvar("lrs_armor", "1") g_Money = register_cvar("lrs_money", "1") g_Bonus_Smoke = register_cvar("lrs_b_smoke", "10") g_Bonus_Flash = register_cvar("lrs_b_flash", "15") g_Bonus_Flash2 = register_cvar("lrs_b_flash2", "17") g_Bonus_He = register_cvar("lrs_b_he", "20") g_Bonus_Armor = register_cvar("lrs_b_armor", "22") g_Lvl_Money = register_cvar("lrs_lvl_money", "25") g_Bonus_Money = register_cvar("lrs_b_money", "1000") register_concmd("lrs_lockmap", "MapConst", ADMIN_RCON, "Lock Map. <map>") gSayText = get_user_msgid ("SayText") register_clcmd("say", "hookSay") register_clcmd("say_team", "hookSayTeam") new configsDir[64] get_configsdir(configsDir, 63) server_cmd("exec %s/Lite_Rank_System.cfg", configsDir) MaxPlayers = get_maxplayers() set_task(0.5, "BlockMapBonus") set_task(0.5, "LoadSettings") } public BlockMapBonus() { if(get_pcvar_num(g_Block_Map)) { new Map[32] get_mapname(Map, 31) for(new i = 0; i < ArraySize(g_array_block_bonus); i++) { new block_bonus[32] ArrayGetString(g_array_block_bonus, i, block_bonus, 31) if(equal(Map, block_bonus)) { bonus_blocked = true break } else bonus_blocked = false } } } public MapConst(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED new arg[32] read_argv(1, arg, 31) ArrayPushString(g_array_block_bonus, arg) return PLUGIN_HANDLED } public LoadSettings() { new i new cvLevels[256], LVL[31][16] get_pcvar_string(g_Levels, cvLevels, 255) trim(cvLevels) parse(cvLevels, LVL[0], 15, LVL[1], 15, LVL[2], 15, LVL[3], 15, LVL[4], 15, LVL[5], 15, LVL[6], 15, LVL[7], 15, LVL[8], 15, LVL[9], 15, LVL[10], 15, LVL[11], 15, LVL[12], 15, LVL[13], 15, LVL[14], 15, LVL[15], 15, LVL[16], 15, LVL[17], 15, LVL[18], 15, LVL[19], 15, LVL[20], 15, LVL[21], 15, LVL[22], 15, LVL[23], 15, LVL[24], 15, LVL[25], 15, LVL[26], 15, LVL[27], 15, LVL[28], 15, LVL[29], 15, LVL[30], 15 ) for (i = 0; i < 30; i++) LEVELS[i+1] = str_to_num(LVL[i]) return PLUGIN_HANDLED } public hookSay(id) { if(is_user_hltv(id) || is_user_bot(id) || !is_user_connected(id) || !get_pcvar_num(g_Prefix)) return PLUGIN_CONTINUE new message[192],Len read_args(message, 191) remove_quotes(message) if(is_admin_msg(message)) return PLUGIN_CONTINUE if(is_empty_message(message)) { ChatColor(id, "^1[^4%L^1] %L",LANG_PLAYER,"LRS_TAG", LANG_PLAYER,"EMPTY_MSG") return PLUGIN_HANDLED } if(get_pcvar_num(g_NoSlesh)) { if(is_has_slash(message)) return PLUGIN_HANDLED_MAIN } new szName[32] get_user_name(id,szName,31) if(get_user_flags(id) & ADMIN_PREFIX) { Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1[^4%L^1] [^3%L^1] ", LANG_PLAYER, "ADMIN", LANG_PLAYER, CLASSES[PlayerLevel[id]]) switch(get_pcvar_num(g_AdminGMsg)) { case 1: { Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName) Len += format(gMessage[Len], charsmax(gMessage) - 1, "^4%s",message) } case 2: { Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName) Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s",message) } default: { Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName) Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message) } } Chat(id,0,get_pcvar_num(g_AllChat)) } else if(get_user_flags(id) & VIP_PREFIX) { Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1[^4%L^1] [^3%L^1] ", LANG_PLAYER, "VIP", LANG_PLAYER, CLASSES[PlayerLevel[id]]) Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName) Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message) Chat(id,0,get_pcvar_num(g_AllChat)) } else { Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1[^3%L^1] ", LANG_PLAYER, CLASSES[PlayerLevel[id]]) Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName) Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message) Chat(id,0,get_pcvar_num(g_AllChat)) } return PLUGIN_HANDLED_MAIN } public hookSayTeam(id) { if(is_user_hltv(id) || is_user_bot(id) || !is_user_connected(id) || !get_pcvar_num(g_Prefix)) return PLUGIN_CONTINUE new message[192],Len read_args(message, 191) remove_quotes(message) if(is_admin_msg(message)) return PLUGIN_CONTINUE if(is_empty_message(message)) { ChatColor(id, "^1[^4%L^1] %L",LANG_PLAYER,"LRS_TAG", LANG_PLAYER,"EMPTY_MSG") return PLUGIN_HANDLED } if(get_pcvar_num(g_NoSlesh)) { if(is_has_slash(message)) return PLUGIN_HANDLED_MAIN } new szName[32] get_user_name(id,szName,31) if(get_user_flags(id) & ADMIN_PREFIX) { Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1%L [^4%L] ^1[^3%L^1] ^3%s^1 : ", LANG_PLAYER, "SEND_TEAM", LANG_PLAYER, "ADMIN", LANG_PLAYER, CLASSES[PlayerLevel[id]],szName) switch(get_pcvar_num(g_AdminGMsg)) { case 1: { Len += format(gMessage[Len], charsmax(gMessage) - 1, "^4%s",message) } case 2: { Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s",message) } default: { Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message) } } Chat(id,1,get_pcvar_num(g_AllChat)) } else if(get_user_flags(id) & VIP_PREFIX) { Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1%L [^4%L] ^1[^3%L^1] ", LANG_PLAYER, "SEND_TEAM", LANG_PLAYER, "VIP", LANG_PLAYER, CLASSES[PlayerLevel[id]]) Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName) Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message) Chat(id,1,get_pcvar_num(g_AllChat)) } else { Len = format(gMessage[Len], charsmax(gMessage) - 1, "^1%L ^1[^3%L^1] ",LANG_PLAYER,"SEND_TEAM",LANG_PLAYER, CLASSES[PlayerLevel[id]]) Len += format(gMessage[Len], charsmax(gMessage) - 1, "^3%s^1 : ",szName) Len += format(gMessage[Len], charsmax(gMessage) - 1, "%s",message) Chat(id,1,get_pcvar_num(g_AllChat)) } return PLUGIN_HANDLED_MAIN } stock is_admin_msg(const Message[]) { if(Message[0] == '@') return true return false } stock is_empty_message(const Message[]) { if(equal(Message, "") || !strlen(Message)) return true return false } stock Chat(id,team,chat_type) { if(team) { if(chat_type) { for(new i = 0; i <= MaxPlayers; i++) { if(!is_user_connected(i)) continue if(get_user_team(id) == get_user_team(i)) send_message(gMessage, id, i) } } else { if(is_user_alive(id)) { for(new i = 0; i <= MaxPlayers; i++) { if(!is_user_connected(i) || !is_user_alive(i)) continue if(get_user_team(id) == get_user_team(i)) send_message(gMessage, id, i) } } else if(!is_user_alive(id)){ for(new i = 0; i <= MaxPlayers; i++) { if(!is_user_connected(i) || is_user_alive(i)) continue if(get_user_team(id) == get_user_team(i)) send_message(gMessage, id, i) } } } } else{ if(chat_type) { for(new i = 0; i <= MaxPlayers; i++) { if(!is_user_connected(i)) continue send_message(gMessage, id, i) } } else { if(is_user_alive(id)) { for(new i = 0; i <= MaxPlayers; i++) { if(!is_user_connected(i) || !is_user_alive(i)) continue send_message(gMessage, id, i) } } else if(!is_user_alive(id)){ for(new i = 0; i <= MaxPlayers; i++) { if(!is_user_connected(i) || is_user_alive(i)) continue send_message(gMessage, id, i) } } } } } stock send_message(const message[], const id, const i) { message_begin(MSG_ONE, gSayText, {0, 0, 0}, i) write_byte(id) write_string(message) message_end() } stock is_has_slash(const Message[]) { if(Message[0] == '/') return true return false } public checkLvl(id) { if(id > 0 && id < 33) { if (PlayerLevel[id] <= 0) PlayerLevel[id] = 1 if (PlayerLevel[id] < 30) { while(PlayerXP[id] >= LEVELS[PlayerLevel[id]+1]) { PlayerLevel[id]++ levelUp[id] = 1 new Name[32] get_user_name(id, Name, 31) ChatColor(0, "%L %L", LANG_PLAYER,"LRS_TAG", LANG_PLAYER,"NEW_LEVEL", Name, LANG_PLAYER,CLASSES[PlayerLevel[id]]) } } } } public EventDeath() { new iVictim = read_data(2) new iTeam = get_user_team(iVictim) new iKiller = read_data(1) new headshot = read_data(3) if(iKiller != iVictim && get_user_team(iKiller) != iTeam && is_user_connected(iKiller) && PlayerLevel[iKiller] < 30) { if (get_pcvar_num(g_XPheadshot)) { if(headshot) PlayerXP[iKiller] += get_pcvar_num(g_XPvalue) * 2 else PlayerXP[iKiller] += get_pcvar_num(g_XPvalue) } else PlayerXP[iKiller] += get_pcvar_num(g_XPvalue) checkLvl(iKiller) } return PLUGIN_CONTINUE } public player_respawn() { if(!get_pcvar_num(bonus) || bonus_blocked) return for(new id = 0; id <= MaxPlayers; id++) { if(is_user_alive(id) && is_user_connected(id)) { if(get_pcvar_num(g_Smoke) && PlayerLevel[id]+1 > get_pcvar_num(g_Bonus_Smoke)) give_item(id,"weapon_smokegrenade") if(get_pcvar_num(g_Flash) && PlayerLevel[id]+1 > get_pcvar_num(g_Bonus_Flash)) give_item(id,"weapon_flashbang") if(get_pcvar_num(g_Flash) && PlayerLevel[id]+1 > get_pcvar_num(g_Bonus_Flash2)) give_item(id,"weapon_flashbang") if(get_pcvar_num(g_He) && PlayerLevel[id]+1 > get_pcvar_num(g_Bonus_He)) give_item(id,"weapon_hegrenade") if(get_pcvar_num(g_Armor) && PlayerLevel[id]+1 > get_pcvar_num(g_Bonus_Armor)) cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM) if(get_pcvar_num(g_Money) && PlayerLevel[id]+1 > get_pcvar_num(g_Lvl_Money)) { if(cs_get_user_money(id) < 8000) { cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(g_Bonus_Money)) ChatColor(id, "%L %L", LANG_PLAYER, "LRS_TAG", LANG_PLAYER, "BONUS_MONEY", get_pcvar_num(g_Bonus_Money)) } } } } } public bomb_explode(id) { if(!is_user_connected(id) || !is_user_alive(id) || get_user_team(id) != 1 || get_pcvar_num(g_XPc4pl) < 1 || get_pcvar_num(g_Bomb) != 1) return if(get_playersnum() <= get_pcvar_num(g_MinPlayers)) { ChatColor(id, "%L", LANG_PLAYER,"MIN_PLAYERS") } else { PlayerXP[id] += get_pcvar_num(g_XPc4pl) } } public bomb_defused(id) { if(!is_user_connected(id) || !is_user_alive(id) || get_user_team(id) != 2 || get_pcvar_num(g_XPc4def) < 1 || get_pcvar_num(g_Bomb) != 1) return if(get_playersnum() <= get_pcvar_num(g_MinPlayers)) { ChatColor(id, "%L", LANG_PLAYER,"MIN_PLAYERS") } else { PlayerXP[id] += get_pcvar_num(g_XPc4def) } } public Info() { for(new id = 1; id <= MaxPlayers; id++) { if(!is_user_bot(id) && is_user_connected(id)) { static buffer[192], len new osef[8] g_oldrank[id] = get_user_stats(id, osef, osef) new maxrank = get_statsnum() if(!is_user_alive(id)) { new id2 = pev(id, pev_iuser2) if(id2 > 0) { new Name2[32] get_user_name(id2, Name2, 31) if(PlayerLevel[id2] < 30) { len = format(buffer, charsmax(buffer), "%L: %s", LANG_PLAYER,"A_NAME", Name2) len += format(buffer[len], charsmax(buffer) - len, "^n%L:", LANG_PLAYER,"ZVANIE") len += format(buffer[len], charsmax(buffer) - len, " %L", LANG_PLAYER,CLASSES[PlayerLevel[id2]]) len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d", LANG_PLAYER,"PL_XP",PlayerXP[id2]) len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d", LANG_PLAYER,"RANK", g_oldrank[id2]) } else { len = format(buffer, charsmax(buffer), "%L: %s", LANG_PLAYER,"A_NAME", Name2) len += format(buffer[len], charsmax(buffer) - len, "^n%L:",LANG_PLAYER,"ZVANIE") len += format(buffer[len], charsmax(buffer) - len, " %L",LANG_PLAYER,CLASSES[PlayerLevel[id2]]) len += format(buffer[len], charsmax(buffer) - len, "^n%L: %L",LANG_PLAYER,"PL_XP", LANG_PLAYER,"PL_MAX") len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d", LANG_PLAYER,"RANK", g_oldrank[id2]) } } else { if(PlayerLevel[id] < 30) { len = format(buffer, charsmax(buffer) - len, "%L: %L", LANG_PLAYER,"ZVANIE", LANG_PLAYER,CLASSES[PlayerLevel[id]]) len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d",LANG_PLAYER,"PL_XP",PlayerXP[id]) len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d", LANG_PLAYER,"RANK", g_oldrank[id]) } else { len = format(buffer, charsmax(buffer) - len, "%L: %L", LANG_PLAYER,"ZVANIE", LANG_PLAYER,CLASSES[PlayerLevel[id]]) len += format(buffer[len], charsmax(buffer) - len, "^n%L",LANG_PLAYER,"PL_MAX") len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d", LANG_PLAYER,"RANK", g_oldrank[id]) } } } else { if((PlayerLevel[id] < 30) && (is_user_alive(id))) { len = format(buffer, charsmax(buffer), "%L", LANG_PLAYER,CLASSES[PlayerLevel[id]]) len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d %L %d", LANG_PLAYER,"PL_XP",PlayerXP[id], LANG_PLAYER,"IZ", LEVELS[PlayerLevel[id]+1]) len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d %L %d", LANG_PLAYER,"RANK", g_oldrank[id], LANG_PLAYER,"IZ", maxrank) } else { len = format(buffer, charsmax(buffer), "%L",LANG_PLAYER,CLASSES[PlayerLevel[id]]) len += format(buffer[len], charsmax(buffer) - len, "^n%L: %L",LANG_PLAYER,"PL_XP", LANG_PLAYER,"PL_MAX") len += format(buffer[len], charsmax(buffer) - len, "^n%L: %d %L %d", LANG_PLAYER,"RANK", g_oldrank[id], LANG_PLAYER,"IZ", maxrank) } } set_hudmessage(255, 255, 255, 0.01, 0.19, 0, 0.0, 1.0, _, _, -1) ShowSyncHudMsg(id, g_MsgHud, "%s", buffer) } } return PLUGIN_CONTINUE } public client_putinserver(id) set_task(1.0, "load_client_data", id) public load_client_data(id) { if(!is_user_connected(id)) return PLUGIN_HANDLED new stats[8], bodyhits[8], stats2[4] get_user_stats(id, stats, bodyhits) if (get_pcvar_num(g_XPc4def)) get_user_stats2(id, stats2) if (get_pcvar_num(g_XPheadshot)) PlayerXP[id] = ((stats[2]*2 + (stats[0] - stats[2])) + (stats2[1]*3 + stats2[3]*3)) * get_pcvar_num(g_XPvalue) else PlayerXP[id] = (stats2[1]*3 + stats2[3]*3 + stats[0]) * get_pcvar_num(g_XPvalue) for(new i = 1; i <= 30; i++) { if (i < 30) { if (PlayerXP[id] >= LEVELS[i] && PlayerXP[id] < LEVELS[i+1]) PlayerLevel[id] = i } else { if (PlayerXP[id] >= LEVELS[30]) PlayerLevel[id] = 30 } } return PLUGIN_HANDLED } /*public plugin_natives() register_native("get_user_lvl", "native_get_user_lvl", 1) public native_get_user_lvl(id) return PlayerLevel[id] */ stock ChatColor(const id, const input[], any:...) { new count = 1, players[32] static msg[192] vformat(msg, 191, input, 3) replace_all(msg, 191, "!g", "^4") // Green Color replace_all(msg, 191, "!y", "^1") // Default Color replace_all(msg, 191, "!t", "^3") // Team Color if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } } }
Lite_Rank_System.sma ( 18,47 килобайт )
Кол-во скачиваний: 2
Отредактировал: Ezequiel, - 16.7.2015, 8:54
|
|
|
|
Bloo
|
16.7.2015, 8:59
Сообщение
|
![]() |
|
|
|
|
Ezequiel
|
16.7.2015, 9:22
Сообщение
|
![]() |
|
|
|
|
Bloo
|
16.7.2015, 9:25
Сообщение
|
![]() |
|
|
|
|
Ezequiel
|
16.7.2015, 9:32
Сообщение
|
![]() |
|
|
|
|
Bloo
|
16.7.2015, 9:35
Сообщение
|
![]() |
|
Поблагодарили 1 раз
|
|
Ezequiel
|
16.7.2015, 10:00
Сообщение
|
![]() |
Установил вот этот плагин: Army System (EA) 2.2.1
та же проблема, сервер падает при написании длинного сообщения в чат |
|
|
|
Bloo
|
16.7.2015, 10:06
Сообщение
|
![]() |
|
Поблагодарили 1 раз
|
|
Ezequiel
|
16.7.2015, 10:19
Сообщение
|
![]() |
|
Поблагодарили 1 раз
|
|
![]() ![]() |