Классы
Статы, идеальное соотношение · Умения и вехи, как получить · Души · Сравнение классов
Воин · Жрец · Некр · Лучник · Шаман · Мист · Бард · Инж · Демон
Игровой процесс
Как одеваться · Драконий облик · Наследие Богов · Фарм золота
Прохождения локаций
Мониторинг серверов и редактор аддонов
Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.
Подсказки из игры на вашем сайте
Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.
-
Постов
3 118 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Магазин
Галерея
Весь контент icreator
-
почему не работают у вас теги: Code: <TransparentInput>false</TransparentInput> <pickObjectsOnly>true</pickObjectsOnly> нельзя выбрать объекты за панелью Container.(WidgetTextContainer) Однако, в LootEDSchoice все работает! Предложение такое - вместо своего контейнера использовать встроенный системный контейнер Chat. ... .Chat еще - у вас нет ограничения на количество строк в контейнерах Container.(WidgetTextContainer) - и при долгой игре это начинает тормозить клиент. еще - хорошо бы сделать общение с другими аддонами - добавила пользовательское событие вот файл с моими доработками (их можно найти по "icreator") File: T4C6ihjarUZMgCo.zip
-
вот тут код привела для очисти того что в чат накидали - чтобы он не тормозил скрипт
-
причем чем больше строчек в виджете, тем больше он тормозит - в степени даже - то есть там идет какая-то сортировка постоянно что ли? вот где разработчикам надо искать тормоза клиента
-
а посмотреть сколько туда уже напихали нету ... вот и как узнать... если там строк мало то если удалять то строчек всех не увидишь...
-
оригинальный код такой: Code: function AddTextToChatWindow( valuedText, chatIndex ) local info = chats [ chatIndex ] if info.currentChatSize < maxChatSize then info.currentChatSize = info.currentChatSize + 1 else info.wtChat:PopBack() end info.wtChat:PushFrontValuedText( valuedText ) end видно что тут еще info.wtChat:PopBack() - что это такое? я так понимаю что уменьшение размера буфера. так и есть - если делать с одновременным уменьшением буфера, то скорость растет в разы, но если строк в чате мало, то туда выводится максимум это число строк - остальные исчезают. мораль та же - очень плохо у них сделан обработчик чата - в самом виджете
-
он делается только 1 раз - при первом вызове - инициализируя локальную переменную - дальше то она уже не пустая должна быть как только я закаментировала Code: ---wtChat:PushFrontValuedText( valuedText ) - тормоза прекратились - то есть именно вывод в чат через :PushFrontValuedText() тормозит и причем это тормоза на 30сек!!! по 1сек на 2-3 строчки вывода - причем полностью клиент виснет... вот откуда лаги то - у нас чат лаги плодит вдобавок к обработке графики
-
да так и приходится выкручиваться - на евро версиях -причем я там не играю - ошибки присылает народ оттуда
-
не пробовали в чат выводить подрят несколько строчек?? у меня сразу клиент подвисает! Либо у меня не правильно функция вывода написана - либо не оптимизирован стандартный чат аддон Code: local wtChat = nilfunction LogToChat(message, color, fontSize) if not wtChat and not errMess.Chat then ---- если окно еще не искали и ошибки при этом не было. а если уже ошибка была то не искать --- найдем окно чата --- Chat..Chat local w w = stateMainForm:GetChildUnchecked("Chat", false) if not w then --- главня форма не найдена - найден по ребенку w = stateMainForm:GetChildUnchecked("Chat", true) else w = w:GetChildUnchecked("Chat", true) end wtChat = w end if not wtChat or not wtChat.PushFrontValuedText then if not errMess.Chat then errMess.Chat = "can't find Chat window" LogError(errMess.Chat) end return end local valuedText = common.CreateValuedText() --- fontname=\"AllodsWest\" local format = "<body alignx='left' fontname='AllodsSystem' fontsize='"..(fontSize or 14) format = format.."' shadow='1' ><rs class='color'><r name='text'/></rs></body>" valuedText:SetFormat(userMods.ToWString(format)) if color then valuedText:SetClassVal( "color", color ) else valuedText:SetClassVal( "color", "LogColorYellow" ) end if not common.IsWString( message ) then message = userMods.ToWString(message) end valuedText:SetVal( "text", message ) wtChat:PushFrontValuedText( valuedText ) end
-
какой именно фильтр? 5 левел вниз вверх?
-
ищите кнопочку ТМ
-
да, нажатием правой мышкой по ним - правда они тогда переносятся в панель памяти
-
Аддон можно всячески настраивать. Важно помнить что первоначально значения настроек берутся из config.txt. Это статические значения. Затем в процессе работы вы можете изменить любые значения с помощью командной строки или Интерфейса (см. описание). Такие измененные значения являются динамическими и они будут сохранены во внутренних настройках персонажа (файл user.cfg) и в последствии при загрузке персонажа статические значения будут замещаться и дополняться динамическими. Синтаксис записей в config.txt - язык Lua. Синтаксис записи в командной строчке: /tm ИмяПараметра1=ЗначениеА ИмяПараметра2=ЗначениеБ ИмяПараметра3=ЗначениеВ ... Параметры разделены пробелами, а возле "=" не должно быть пробелов. Таким образом, Файл config.txt - это только первая инициализация, если вы потом поменяли параметр из командной строчки и сохранили в конфигурацию персонажа, то этот параметр всегда будет переписывать значение из config.txt - вы хоть что там в config.txt пишите - действовать будет параметр из конфигурации персонажа. для очистки динамической конфигурации персонажа введите команду /tm reset причем, Новые настройки вступят в действия только при следующем входе персонажа в игру. Чем меньше динамических значений - тем меньше будет раздуваться файл user.cfg. Замечу, что значения из config.txt распространяются на всех ваших персонажей, а динамические для каждого персонажа свои. Все параметры имеют префикс "PS." Параметры имеют глобальные и локальные значения. Локальные используются для настроек отдельного типа панелек, глобальные - для всех типов панелек. Если локальный параметр не задан то берется глобальный. Локальный параметр имеет префикс состоящий из двух символов: первый символ: { "f", "e", "t" } --- friends, enemies, target второй символ: { "m", "g", "r", "t", "b" } --- me, group, raid, target, memoBoard Префикс указывает к какой группе панелек относится этот локальный параметр. Например: PS.tm... - это панельки "Targets of Me" PS.em... - это панельки "Enemies on Me" В файле config.txt параметры указываются с префиксом "PS.", а при вводе через чат без этого префикса. Например в файле config.txt можно записать: Code: PS.tgCOLS = 2 При вводе через чат это будет так: /tm tgCOLS=2 список префиксов: fm = "Friends on Me", --- друзья на мне em = "Enemies on Me", --- враги на мне tm = "last Targets of Me" , --- последние мои цели tg = "Targets of Group", --- цели моих согрупников eg = "Enemies on Group", --- враги на согрупниках tb = "Targets memo Board", --- мемо панель ta = "Targets Assist", --- цели по ассисту la = "Leader Assist", --- цель лидера Отключить/включить любую панель можно задав локальный параметр USE = ON|OFF. В config.txt: Code: PS.tbUSE = OFF --- будут отключены панельки tb или командой в чат: /tm tbUSE=OFF --- будут отключены панельки tb позиции панелек можно менять так Code: --- здание позиции вех панелек PS.POS_X = 970; PS.POS_Y = 70 --- задание позиции для tb панелек PS.tbPOS_X = 970; PS.tbPOS_Y = 70 из строки чата так: "/tm tbPOS_X=970 tbPOS_Y=70" Внимание!! возле "=" не должно быть пробелов! Вот так можно выровнять полоску здоровья (здесь указаны глобальные параметры): Code: PS.HPplace.alignX = 2 --- по центру PS.HPplace.alignX = 0 --- влево PS.HPplace.alignX = 1 --- вправо тоже самое и для маны/энергии: PS.MPplace.alignX = ... Можно это настроить для одного типа панелек, например для tb: Code: PS.tbHPplace.alignX = 0 --- влевоPS.tbMPplace.alignX = 0 --- влево Команды из чата. Можно настраивать все параметры командами из чата: "/tm" - включить выключить кнопку аддона "/tm filter" - выводит в чат список фильтра по гильдиям "/tm clear" - очистить панели "/tm load" - загрузить конфигурацию "/tm save" - сохранить текущую конфигурацию "/tm clearfilter" или "/tm cf"- очистить фильтр Гильдий так же можно изменить любой параметр, формат команды такой: "/tm list" - вывести текущую конфигурацию в чат и в логфайл mods.txt. PS. - статические значения, PSD. - динамические значения. "/tm reset" - очистка динамических значений и сохранение пустой конфигурации. При следующем перезапуске аддона все настройки будут взяты из config.txt Параметры в общем виде так записываются: /tm par1Name=Value1 par2Name=Value2 Внимание!! возле "=" не должно быть пробелов! За раз можно ввести несколько параметров. Например так: /tm tbUSE=OFF emMoveEffect=OFF Эта команда отменит показ мемо панели и отменит анимацию с вылетом панелек врагов, целящихся в меня. Однако чтобы мемо панельки перестали показываться надо перегрузить персонажа. Если параметр изменен происходит сохранение конфигурации. Параметры, изменяющие инерфейс (позицию панелек, их размеры, число клонок, строк и прочее) будут применены при последующем заходе персонажа. Тоесть надо перегрузить персонажа ВНИМАНИЕ!!! значения содержащие списки (например {a, b} ), такие как AUTOTARGETlist, tbFILTERlist нужно водить командой /tm set как показано ниже. При этом используется синтаксис языка Lua, ошибки будут выведены в mods.txt: "/tm set AUTOTARGETlst = { tb=SORT_ASC, em=SORT_ASC }" эта команда настраивает автотаргет брать сначала из мемо панели, если там нет живых, из врагов что целятся в меня. "/tm set AUTOTARGETlist = {}" это отключает работу автотаргета. Быстрые команды: Начать проверку готовности Группы/Рейда: /+? Либо клик мышкой по короне на панели вашего аватара. ++авто-поиск элитных мобов - мобы метятся метками и на вашем персонаже появляется метка, говорящая что рядом есть элитные мобы. Параметр: /tm EliteFind=ON|number|OFF /**ON|number /** - выключить поиск элитных мобов - можно отключить поиск элитных мобов если вы в инстанте /tm EliteFind=2 --- искать элитных мобов с качеством 2 и выше ( а =-3 - искать ниже качества 3) /**3 - искать всех у которых элитность 3 и выше короны это 3й ранг элитности: UNIT_QUALITY_COMMON = 1 UNIT_QUALITY_ELITE = 2 UNIT_QUALITY_FLAVOR_ELITE = 3 UNIT_QUALITY_MINI_BOSS UNIT_QUALITY_BOSS UNIT_QUALITY_RAID_BOSS UNIT_QUALITY_RAID_ELITE UNIT_QUALITY_CRITTER --- это твари типа котят, щенков... ++авто-поиск указанных юнитов - поиск задается по маске в названии юнита - найденные юниты выделяются метками, а на вашем персонаже тоже появляется метка, говорящая о том что рядом есть найденные юниты. Параметр: FindUnitMask - содержит список значений - ввод либо командой /tm set ..., либо через интерфейс, либо быстрой командой: "/??MASK" - см. ниже учитывается регистр букв. MASK - маска поиска в строке для языка Lua. Тоесть поиск будет по всем именам, подходящих на маску *MASK* Для того чтобы искать всех - вводим точку: /??. "/??" - команда прекращения поиска ++авто-поиск указанных предметов (устройств ) - например кристаллов для вехи по квестам "Путь..." - поиск задается по маске в названии предмета - найденные предметы выделяются метками, а на вашем персонаже тоже появляется метка, говорящая о том что рядом есть найденные предметы. Параметр: FindDeviceMask - содержит список значений - ввод либо командой /tm set ..., либо через интерфейс, либо быстрой командой: "/!!MASK" - см. ниже учитывается регистр букв. MASK - маска поиска в строке для языка Lua. Например что бы отображало все устройства в округе пишем так: /!!. "/!!" - команда прекращения поиска Маски для быстрых команд могут содержать команды: Если в конце маски стоит "+" - то это команда добавить в список данную маску. Если в конце маски стоит "-" - то это команда удалить из списка данную маску. Если в конце нет специальных символов то маска будет включена/выключена Пустая маска означает прекратить весь поиск. Быстрые команды не сохраняют свои значения в конфиг. Для сохранения масок поиска - используйте интерфейс или команды в чат (см. ниже) Примеры: /??Бегунов - для поиска Б[егунов]а /??Скиталец --- для поиска С[китальц]ев во времени на Кирахе /!!Лазурит -- для поиска камней Л[азурит] Лог в чат PS.LogElites = ON|OFF --- отражать в чате найденных элитных мобов = ON|OFF PS.LogDevices = ON|OFF --- отражать в чате найденные устройства = ON|OFF PS.LogUnits = ON|OFF --- отражать в чате найденных мобов = ON|OFF Например отключить вывод в чат сообщений об найденных устройствах можно так: /tm LogDevices=off Автоматическое принятие в рейд: если вам в приват напишут 3 плюса и вы можете принимать игроков в рейд, то аддон их примет на автомате: +++ строка символов задается параметром: /tm messInvRaid=... или в панели настроек Parameters Catch: /tm taCatch=ON|OFF - to catch unit around your and get in target or not. Its work for ta panel /tm taCatchMask=... - mask for name unit /tm taCatchToDo=... - name ToDo procedure. Now: nil|Get|GetIfFree. nil - nothing to do. Get - get in target in any case. GetIfFree - get in target if your target is free. Параметры Catch: ловить юнитов вокруг вас и брать в цель или нет. Работает для панели ta. Пока 3 варианта обработки: пусто - ничего не делать Get - взять в цель в любом случае GetIfFree - взять в цель если у вас цели нет. Пример как использовать. Допустим вы на Жало Степных и танки или еще кто ловит выскакивающих Стражей. включаем параметр taCatch=ON ( в меню настроек панели ta ) задаем там маску taCatchName=страж задаем действия taCatchToDo=get - взять в цель Всё! при появлении нового стража вы его автоматом берете в цель Включить|выключить (ON|OFF) авто сбор целей в мемо-панель: Code: PS.tbAUTO = ON --- включить|выключить (ON|OFF) авто сбор целей в мемо-панель При включенном режиме в мемо панель заносятся все враждебные персонажи вокруг вас. Отключить/включть можно и через команду в чате: "/tm tbAUTO=ON" "/tm tbAUTO=OFF" Задание фильтров для авто заполнения мемо панели. Фильтры задаются по названиям их Гильдий. Есть фильтры "включающие" и "исключающие". Например на Тающем Острове часто есть ГИ друзья, а есть ГИ враги. Если в фильтрах указаны включающие фильтры то, в мемо панель буду попадать персонажи, чьи Гильдии указаны в этих фильтрах. Если заданы исключающие фильтры то, в мемо панель будут все персонажи, которые не являются членами этих Гильдий. в config.txt фильтры можно настроить так: Code: --- default: tbFILTERlist = {}--- если спиок пустой то без фильтра --- default: tbFILTERlist = {} PS.tbFILTERlist = { ["Имя Гильдии А"] = INCLUDE, --- члены такой ГИ будут попадать в мемо панель ["Имя Гильдии А"] = EXCLUDE, --- члены такой ГИ не будут попадать в мемо панель } по умолчанию если вы состоите в ГИ то сразу создается фильтр ["Имя Вашей Гильдии"] = EXCLUDE Пример для config.txt: Code: PS.tbFILTERlist = { ["Имя Гильдии Враги А"] = INCLUDE, ["Имя Гильдии Враги А"] = INCLUDE, ["Имя Гильдии Союзники А"] = EXCLUDE } Пример для строки чата: /tm set tbFILTERlist = { ["Имя Гильдии Враги А"] = INCLUDE, ["Имя Гильдии Враги А"] = INCLUDE } еще команды для фильтров из чата: "/tm" или "/tm filter" - выводит список Гильдий в фильтре "/tm cf" или "/tm clearfilter" - очищает фильтр Автовыбор целей. Если у вас нету цели, аддон будет выбирать вам цель сам автоматически. Code: PS.AUTOTARGET = ON|OFF --- ключить/выключить = ON|OFF Список панелей из которых берется цель для автотаргета задается так: Code: PS.AUTOTARGETlist = { tb = SORT_ASC, em = SORT_ASC } Значения: SORT_NONE - без сортировки, SORT_ASC - сортировать по возрастанию здоровья, SORT_DESC - по убыванию. Настройки в config.txt: Из строки чата так: "/tm set AUTOTARGETlist = { tb = SORT_ASC, em = SORT_ASC }" В примере выше автовыбор настроен так что сначала смотрятся все юниты из мемо панели в порядке возрастания здоровья, а затем (если в мемо панели нет живых юнитов) юниты из панели целящихся в вас врагов. Берутся только живые юниты в поле зрения В принципе можно задавать и другую последовательность выбора целей. Отключить автовыбор можно задав пустой список: Code: PS.AUTOTARGET = OFF "/tm AUTOTARGET=OFF" список всех параметров можно посмотреть в mods.txt дав команду /tm list Некоторые новые возможности Быстро взять в цель того, кто является целью вашей текущей цели: ++При применении действия для врагов на друга - будет взята его цель ++При применении действия для друзей на врага - будет взята его цель параметр для настроек: autoTargetOfTarget = ON|OFF Автоматическая инспекция целей На цели - средняя цифра по превосходству над вами. соответствующие параметры в настройках InspectStats = ON|OFF InspectStatsTimer = 3 --- в минутах когда таймер вышел при взятии в цель будет проведена инспекция заново инспекция проводится только тех кого взяли в цель Средняя цифра превосходства рассчитывается в файле: GUI_user.lua функция: elementCreateUser формула: val = math.floor((sts.sts+3*sts.rst+sts.arm)/3) где sts.sts - разница по характеристикам на 1 вещь sts.rst - разница по защитам от стихий на 1 вещь sts.arm - разница по броне на 1 вещь Цвет цифр - по подобию цвета редкости вещей - синий - это примерно ваша ровня, фиолетовый - круче вас, оранжевый еще круче, а салатовый цвет - с этим врагом лучше не связываться. зеленый - слабее &
-
можно сделать авто поиск элитных агрессивных мобов
-
ну я уже использую системные виджеты - например в LootEDSchoice - беру описание из системного виджета, создаю новый виджет по описанию и к моей майнФорм их присоединяю. Насколько я поняла при этом просто теряется связь с системными обработчиками реакции на данный виджет - то есть надо свои обработчики объявить.
-
ВО!, тогда вот еще упрощение - вместо конструкций if then end делать все как присваивание: Code: local o o = v or func(v) тут переменная о никуда ничего не передает а просто для синтаксиса, ведь нельзя просто так написать: Code: ... v or func(v) ...
-
ну тоже самое и в моем аддоне TargetsManager - причем можно фильтры понастроить... хотя кому как нравится
-
ну так вроде же сейчас сразу срабатывает фильтр, как только вы в режиме обучения перемещаете вещь в сумке - вот там сразу цены на первой странице выводятся
-
задать параметры PS.HPplace.alignX = 0 PS.MPplace.alignX = 0
-
кто мешает настроить строки и колонки у панели?? это все делается двумя строчками в конфиге или из чата
-
ну если флан войны не поднят то он не запишется в мемо панель?
-
Code: PS.tmROWS = _ --- выключит панельку "мои прошлые цели" PS.tgROWS = _ --- выключит панельку "цели согрупников" PS.tbROWS = _ --- выключит мемо панель
-
через чат можно введя две команды так: /tm set AUTOTARGET={} /tm tbPOS_X=ХХХ tgPOS_Y=ХХХ а если через config.txt, то так: Code: PS.AUTOTARGET = {} --- список для поиска цели пуст - значит автотаргет работать не будет--- координаты мемо панели PS.tbPOS_X = ХХХ PS.tbPOS_Y = ХХХ Также можно изменить масштабирование иконок по X координате: /tm tbSCALE_X=0.8 tbSCALE_Y=1
-
это значит что в config.txt допущена синтаксическая ошибка. посмотрите mods.txt - там будет указано в какой строчке == This means that in the config.txt syntax error. Look mods.txt - there will be specified in a row
-
я тоже про это! а то мой LootEDSchice спамит в чат у тех персов у кого он выгружен через AM. по идее каждый аддон при загрузке должен объявить 2 события: таймер на 5сек (запуск от события посозданию аватара) - который включит ваш аддон если от AM ничего не пришло - то есть АМ не установлен у пользователя, значит запуск аддона самопроизвольно и событие, ловящее от AM команду. и если пришла команда - стоп/запуск то выгрузим таймер и подчинимся команде
