WVWMK 121 Report post Posted May 3, 2016 Открываем Exp_and_Level.lua и ищем function ShareTeamExp. В конце данной функции находим такие строки: exp = exp + exp_up SetChaAttrI ( TurnToCha(t) , ATTR_CEXP, exp ) Перед этими строками вставляем этот код: local map_name = GetChaMapName (TurnToCha(t) ) if map_name == "abandonedcity" or map_name == "abandonedcity2" or map_name == "abandonedcity3" then SystemNotice ( TurnToCha(t) , "В данной локации опыт не будет выдан." ) exp_up = 0 end Благодаря этому коду,в фс не будет выдаваться опыт. 1 Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
V3ct0r 2,116 Report post Posted October 16, 2016 @NMS3RR Можно в variable.lua создать массив вида: -- Список карт, на которых отключено получение опыта с монстров no_exp_map = {} no_exp_map["abandonedcity"] = 1 no_exp_map["abandonedcity2"] = 1 no_exp_map["abandonedcity3"] = 1 и в скрипте добавления очков опыта написать следующую проверку: local map_name = GetChaMapName(TurnToCha(t)) if (no_exp_map[map_name] == 1) then SystemNotice(TurnToCha(t), "В данной локации опыт не будет выдан.") else exp = exp + exp_up SetChaAttrI(TurnToCha(t), ATTR_CEXP, exp) end Таким образом, мы облегчили себе задачу отключения выдачи опыта на требуемых картах. Также мы теперь можем включать и отключать выдачу опыта в реальном времени без перезагрузки сервера: &lua_all no_exp_map["<название карты>"] = 1 -- Отключили опыт &lua_all no_exp_map["<название карты>"] = 0 -- Включили опыт Возможно, условие "if (no_exp_map[map_name] == 1) then" не будет работать, если no_exp_map[map_name] = nil. Тогда нам либо нужно вручную прописать все карты, либо модифицировать скрипт: local map_name = GetChaMapName(TurnToCha(t)) if (no_exp_map[map_name] == nil) no_exp_map[map_name] = 0 end if (no_exp_map[map_name] == 1) then SystemNotice(TurnToCha(t), "В данной локации опыт не будет выдан.") else exp = exp + exp_up SetChaAttrI(TurnToCha(t), ATTR_CEXP, exp) end Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted March 12, 2018 (edited) local map_name = GetChaMapName (TurnToCha(t[i])) --Notice(map_name) if map_name == "abandonedcity" or map_name == "abandonedcity2" or map_name == "abandonedcity3" then SystemNotice ( team_atker, "exp Zero." ) exp_up = 0 end (TurnToCha(t)) у меня только так заработало Спасибо. Edited March 12, 2018 by Shapamoe Quote Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted March 12, 2018 с массивом удобнее спасибо Quote Share this post Link to post Share on other sites