Тактики
Прохождения локаций
Мониторинг серверов и редактор аддонов
Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.
Подсказки из игры на вашем сайте
Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.
-
Постов
666 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Трекер ошибок
Магазин
Галерея
Весь контент worm
-
Версия 4.0.5
6 331 раз скачали
Вы всегда увидите тех, кого не слышите. Выводит иконки иконки над: друзьями игнорируемыми учениками/учителем согильдийцами Таким образом аддон выделяет среди толпы тех с кем у вас имеются определенные взаимоотношения. Аддон позволяет мгновенно очистить игнор-лист по нажатию кнопки "Очистить игнор" или автоматически очищать по заполнению до определенного количества. Если указать в настройках "комментарий", то при очистке игнор-листа игроки с таким же комментарием не будут почищены. Опция по очистке может быть полезна так как раньше было ограничение на количество позиций в игнор листе. В настройках аддона можно указать количество дней которое не заходили в игру ученики и аддон таких учеников автоматически выгонит и освободит место для новых. Также в настройках можно указать кого отображать и отображать ли панель со значками во время боя. Дополнительно можно выставить прозрачность панели. Кнопка вызова настроек расположена в окне "друзья/игнор/..." вызываемом по кнопке "Общение"Бесплатный -
Версия r3.0.1
1 554 раза скачали
За вас отказывается от приглашения в гильдию, убирая спам табличек с приглашениями Выводит оповещение в чат с именем пригласившего и названием гильдии (всего 1 раз от конкретного юзера для предотвращения спама) С помощью слеш-команды "/gd" или "/пв" (без ковычек) можно на 20 секунд отключить работу аддона (не надо лезьте в настройки и его отключать оттуда) Приглашающий в гильдию может отправить вам приватное сообщение с текстом "+++" (без ковычек и пробелов) и отключить аддонБесплатный -
Завтра проверю на Аренке и выложу В принципе сами можете поправить в файле ..\InstanceManager\Scripts\InstanceManager.lua строка 167 было if eventName == "Арена смерти" then должно быть if eventName == "Арена Смерти" then Буковка "С" должна быть написана кириллицей (русские буквы)
-
-- Берем пареметры окна local posConverter = widgetsSystem:GetPosConverterParams() -- Делаем масштабирующий коэф для на шаших координат local ScaleX = posConverter.realSizeX/posConverter.fullVirtualSizeX local ScaleY = posConverter.realSizeY/posConverter.fullVirtualSizeY if xx > x then --p.posX = x+dx --p.posX = x-r.x1 p.posX = r.x1-p.sizeX*ScaleX --p.posX = p.sizeX+r.x1 else p.posX = x - dx - p.sizeX --p.posX = x1 - p.sizeX end if yy > y then --p.posY = y+dy p.posY = r.y1 - p.sizeY*ScaleY else --p.posY = y - dy - p.sizeY p.posY = r.y2 - p.sizeY*ScaleY end w:SetPlacementPlain(p) end Нашел решение проблемы. Всетаки можно сделать корректирующие коэффициенты при изменение масштаба)
-
Нашел ошибку в кнопочках. теперь они светятся) так здорово)) завтра уже буду тестить доп функции) жалко времени совсем мало(
-
Спасибо. Только вроде в функции они перезаписываются именно с таким выравниваем.( Завтра на работе на свежую голову гляну + начну писать скриншотирование и вывод в файл. там вроде простенько
-
А что значит align=4 я просто запускаю функцию снова и он поидеи ловит снова центр экрана ширину координату и тд и все пересчитывает. Хех завтра на работе поковыряю ДнД
-
function wtChain(w, wBase, dx, dy) --LogToChat(dx..":".. dy) local p, r = w:GetPlacementPlain(), wBase:GetRealRect() local xx, yy = getScreenSizeCenter() p.alignX = WIDGET_ALIGN_LOW_ABS p.alignY = WIDGET_ALIGN_LOW_ABS local x, y = (r.x1 + r.x2)*0.5, 0.5*(r.y1 + r.y2) --- центр берем у базы ---LogInfo(x,":",y, " xx:y",xx, ":", yy) if xx > x then --p.posX = x+dx --p.posX = x-r.x1 p.posX = r.x1-p.sizeX --p.posX = p.sizeX+r.x1 else p.posX = x - dx - p.sizeX --p.posX = x1 - p.sizeX end if yy > y then --p.posY = y+dy p.posY = r.y1 - p.sizeY else --p.posY = y - dy - p.sizeY p.posY = r.y1 end w:SetPlacementPlain(p) end А вот такой вопрос. Замучился уже(. Код у розочки взял. Поправил строки некоторые. и по Y при изменение разрешения длины окна все нормально стало Но по Х при изменение экрана зверски всеже прыгает аддон( уж незнаю что делать( Причем если не отрицательное то есть сдвиг вправо то норм работает( Хотя нет тоже глючит. Наверное недостаточно просто брать 1 координату и вычитать другую( Надо еще перемножать на коэф Масшатбирования. Но где его взять. или можно самому как получить математически? я Бы по логике вычислил но при изменение мастаба ширина в цифиркахлюбого элемента остается прежней. соотв нельзя взять что было что стало и поделить( Пробовал обойтись без этого добавить как ребенка свой аддон в системный ContextPlayerTrade:AddChild( MainPanel ) т.е. расширить его и ужу в самом системном отпозиционировать но все расширяется кроме главного окна и он не может двигаться(
-
Спасибо)) а я туда и ссылку на файл фильтр пихал и сам код )) Ребята спасибо за помощь. Правда трудно понять хотя признаюсь иногда очень туплю и довольно глупые вопросы задаю
-
Вот я пенек дубовый а ведь точно) string.find вернет позицию и если смешанная строка то придется проверять какая именно позиция. Причем если первыми цифры шли а в конце буква то это еще гемор. а это textEditLine = tonumber( textEditLine ) вернет или цифру или nil а нил мы отрубим. Причем эта штука еще и пробелы обрезает Уряя хоть немного успокойлся. Спасибо вам огромное)))) завтра на работке попробую сделать скриншоты на согласие покупки с опцией включения и еще тоже само только логирование в файл.. И минимум функционала готово будет) Тогда уже подумать можно будет и об панельки с другой стороны торговли)) и о фильтре нормальном Елки Гениально все)) а Кстати чтобы лог файла в собственный аддон шел ведь можно как то сделать? там в доках сказано следующие где это DebugGame и также сказано что в чат выводить может. Но на деле это тупо отсылает в mods.txt. Может что то надо настроить7 или это все отрубили?
-
Да я и по твоему примеру вводил он писал на "a" тоже самое про функцию а на "b" и "number" что nil -- Функция получения данных из поля ввода "TextLineInput" и кнопки "MathBtn" аддона function GetDataItem() for i = 0, 4 do -- Смотрим Текстовое поле и данные из него загоняем в массив "wtEdit[ i ]" (точнее тут детей строки ввода смотрим) wtEdit[ i ] = mainForm:GetChildChecked( "TextLineInput"..tostring( i ), true ) --textTextLineInput[ i ] = userMods.FromWString( wtEdit[ i ]:GetText() ) -- Тут берем текст из виджета "TextLineInput" который находится в массиве "wtEdit[ i ]" и переводим его из локализованного текста в нормальный local textEditLine = userMods.FromWString( wtEdit[ i ]:GetText() ) --[[ textEditLine = string.match (textEditLine, '%s([0-9])') LogInfo( " textEditLine=", textEditLine ) ]] --[[ local textEditLine = string.gfind (textEditLine, '%s([0-9]*)') --textEditLine = tonumber( textEditLine ) LogInfo( " textEditLine=", textEditLine ) ]] -- Задаем логическую операцию. Если текстовое поле пустое то присваеваем "0" если нет то передаем данные. Это нужно чтобы выполнялись матемаческие операции -- Передаем обработанные данные в массив "textTextLineInput[ i ]" if textEditLine == "" then textTextLineInput[ i ] = 0 else textTextLineInput[ i ] = textEditLine end -- Тут смотри состояние кнопки "MathBtn" (0-умножить сумму на стек или 1-сумма равна стеку) wtMathBtn[ i ] = mainForm:GetChildChecked( "MathBtn"..tostring( i ), true ) stateMathBtn[ i ] = wtMathBtn[ i ]:GetVariant() end -- Запускаем функцию обработки данных. Должна будет считать данные с аддона и с торгового фрейма по операции с кнопки "MathBtn" -- ПОКА тут отключим так как запустим в функции по считке данных с торговой формы --MathItem() end
-
угу нашел в луа он вывел nil т.е. это не циферки( по аналогии textEditLine = type( textEditLine ) он мне выдал функция. И тут совсем тупой вопрос. как заглянуть в функцию? ведь в фунции есть как минимум 2 черты это те данные что нужно задать и то что она возвращает
-
Применил local textEditLine = string.gfind (textEditLine, '%s([0-9]*)') LogInfo( " textEditLine=", textEditLine ) и выводит Info: addon TradeManager: 2013-02-17 14:36:14: textEditLine=function: 401C5FD8 Вопрос возник а как посмотрть что это такое? function: 401C5FD8 какое это значение?
-
.И что же делать?( в принципе пофиг на события вызывающие работу аддона. Пофиг что он по экрану как цветок в проруби болтается. Но если юзер начинает писать буквы вместо текста то аддон естественно не может сложить букву и цифру и начинает спамить. Нет конечно можно овсем извращенно подойти к решению проблемы. Это брать строку смотреть ее длину и поэтапно каждый символ строки перебирать на local resAccept = string.find (val, "0") local resAccept = string.find (val, "1") и если есть хотя бы 1 не nill значение то идти дальше и так по всей строке? но это же извращение
-
На данный момент вот что имеем TradeManager.rar И это работает при условии что не будут вводить буквы вместо цифр что не принципиально где расположен аддон и что окно торговли на старом месте что работает по таймеру а не по событию начала конца торговли( эти недочеты очень печалят( Никак не могу исправить их. уже все перепробовал перетыкал(
-
--[[ local ContextPlayerTradeW = ContextPlayerTrade:GetChildChecked( "GoldEditLine", true ) local nameA = ContextPlayerTradeW:GetInitialGlobalClass() wtTextLineInput:SetGlobalClasses( nameA ) local names = {} names[1] = "RedColor" names[2] = "Font20" wtEditLine:SetGlobalClasses( names ) ]] Хотел применить шаблон и опять ругается(( function wtChain(w, wBase, dx, dy) Использовал это. сответственно тут выходит что при изменение экрана на больше меньше. Виджет как ненормальный прыгает по всемуу игровому пространству(
-
Поскольку не получается фильтр подсоединить хотел хоть отсеять лишнее и опять таки ругается( textEditLine = string.match (textEditLine, '%s([0-9])') LogInfo( " textEditLine=", textEditLine ) И нефига пишет
-
Спасибо)) помогло немного) А фильтром как Быть? Никто не знает как подключить7(
-
а еще вопрос. Как можно приклеить свой аддон с стандартному окну в игре? делаю чтото на подобие этого. Т.е. получить координаты окна. и приплюсовал чтото передать в свой аддон -- Получили координаты расположения объекта local placeBuyTrade = ContextPlayerTrade:GetPlacementPlain() -- Считаем новые кординаты для последующего виджета --placeBuyTrade.posX = 40 --placeBuyTrade.posY = 40 -- Получили координаты расположения объекта local place = ContextPlayerTrade:GetPlacementPlain() -- Считаем новые кординаты для последующего виджета place.posX = placeBuyTrade.posX + 40 place.posY = placeBuyTrade.posY + 40 -- Задаем полученные координаты новым виджетам MainPanel:SetPlacementPlain(place) Но изначально окно торговли находится по центру и координаты Х и У у него равны 0 и еще ругается что передаю какие то пустые значения(( Конечно можно статически подогнать к нужному месту но при изменение разрешения или еще по каким либо причинам все съедит наверное(
-
я сам папонт древний))
-
Ребят помогите с подключением DnD библиотеки . Ведь она отвечает за перемещение по экрану? Есть код подключения в 2х вариациях DnD:Init( 527, mainForm:GetChildChecked( "ListButton", true ), mainForm:GetChildChecked( "ListControl", true ), true ) или MainPanel:DragNDrop( true, 680, nil, true, false ) где function TWidget:DragNDrop( bDraggable, ID, wtMovable, bUseCfg, bLockedToScreenArea, Padding ) if self.Widget then self.bDraggable = bDraggable if ID then DnD:Init( ID, self.Widget, wtMovable, bUseCfg, bLockedToScreenArea, Padding ) else DnD:Enable( self.Widget, bDraggable ) end end Собственно это необходимые данные для передачи function DnD:Init( ID, wtReacting, wtMovable, fUseCfg, fLockedToScreenArea, Padding ) где ID, - произвольный инд номер аддона wtReacting - реакция в виджите на клик мыши wtMovable, - тот виджет что та форма что будет перемещатся и все то что в ней соответственно тоже fUseCfg - просто непонятная херня. все пишут true И я не могу понять в чем проблема если делаю так например привязавшись к кнопки закрытия то работает DnD:Init( 527, mainForm:GetChildChecked( "ButtonCornerCross", true ), mainForm:GetChildChecked( "MainPanel", true ), true ) и это не лучший вариант но если делаю так MainPanel:DragNDrop( true, 680, nil, true, false ) то скорее всего выходит гдето не реагирую на реакцию мышки Вопрос. я не прописал гдето в файле реакцию. или гдето был создан виджет с реакцией или что.? Мне бы хорошо перемещать всю панель зажав мышку на ней а не конкретно в области кнопки. Или гдето была создана прозрачная кнопка под панелью и щелкая по панели срабатывает с нее реакция на мышь?
-
Так и не понял ничего про фильтр( не подключается(
-
Ммм сейчас гляну... Но если честно не уверен что пойму. Розочка у тебя немного сложноваты аддоны в игре и в коде запутаться легко( Сетрас очень помог. много объяснил. Почти все готово. Осталось только фильтр этот сделать. и понять как Библиотеку днд использовать чтобы перемещать. и еще понять точнее это понятно что при наведение мыши реакция включает текстуру с прозрачностью и создается эффект свечения но непонятно где ошибка. Вот но самое главное фильтр.( Вообще столько интересных знаний появилось)) сейчас добью этот аддончик и перелопачу те 2)
-
Ребят надо фильтр присобачить к строке ввода Вот нашел в доках <?xml version="1.0" encoding="UTF-8" ?> <UITextFilter> <ranges> <Item> <minChar>0</minChar> <maxChar>9</maxChar> </Item> </ranges> <isAllowObject>false</isAllowObject> </UITextFilter> Файл создал с названием EditLineTextFilter.(UITextFilter) Как его присоединить? или вообще как навести фильтр?