Классы
Статы, идеальное соотношение · Умения и вехи, как получить · Души · Сравнение классов
Воин · Жрец · Некр · Лучник · Шаман · Мист · Бард · Инж · Демон
Игровой процесс
Как одеваться · Драконий облик · Наследие Богов · Фарм золота
Прохождения локаций
Мониторинг серверов и редактор аддонов
Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.
Подсказки из игры на вашем сайте
Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.
-
Постов
3 118 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Магазин
Галерея
Весь контент icreator
-
а что такое outline="1" и как сделать чтобы текст был обрамлен чем-то для повышения контрастности с фоном?
-
а еще тег <Scaling>true</Scaling> автоматически графику под размеры виджета подгоняет например в файле panClass.(WidgetPanel).xdb есть ссылка на текстуру: <BackLayer href="Textures/icon.(WidgetLayerSimpleTexture).xdb#xpointer(/WidgetLayerSimpleTexture)" /> а уже в файле icon.(WidgetLayerSimpleTexture).xdb пишем: Code: <Scaling>true</Scaling> тогда все текстуры будут автоматически изменять свой размер под размеры в panClass
-
менять цвета можно так. в описании виджета (файл.xdb) ставим: Code: <FormatFileRef href="LabelLevel.txt" /> в файле LabelLevel.txt пишем: Code: <body alignx="center" fontsize="16" outline="1"> <rs class="class"> <r name="value"/> </rs> </body> из скрипта пишем: Code: Global( "sysItemQualityStyle", { [ ITEM_QUALITY_JUNK ] = "Junk", [ ITEM_QUALITY_GOODS ] = "Goods", [ ITEM_QUALITY_COMMON ] = "Common", [ ITEM_QUALITY_UNCOMMON ] = "Uncommon", [ ITEM_QUALITY_RARE ] = "Rare", [ ITEM_QUALITY_EPIC ] = "Epic", [ ITEM_QUALITY_LEGENDARY ] = "Legendary", [ ITEM_QUALITY_RELIC ] = "Relic" } ) ... --- покраска текста: W("LabelLevel", widget ):SetClassVal( "class", sysItemQualityStyle [ lvlDiff ] )
-
что такое {} ??? - пустая таблица! - вы же не спрашиваете что это такое когда пишите Code: Globals( "MyTab", {} )local tt = {} так почему нельзя и в сравненни написать: Code: if ttt == {} then... GetTableSize() - она перебирает все поля! если у вас их 100000 то пока она не переберет их всех не ответит вам - пусто или нет... это не рационально я считаю в общем проще свою функцию создать: IsEmpty (table)
-
вот что есть у виджета (WidgetPanel) :GetBackgroundColor = function: 0B0ECB98{function} :Enable = function: 11236538{function} :GetRotation = function: 25C33180{function} :PlayRotationEffect = function: 1F940938{function} :SetFocus = function: 20E782B0{function} :SetBackgroundTexture = function: 15242950{function} :IsFocused = function: 20E96218{function} :GetNamedChildren = function: 2116E890{function} :GetFade = function: 23E20518{function} :SetForegroundClearMaskEffect = function: 274D3150{function} :SetForegroundColor = function: 22CBFC10{function} :SetPriority = function: 211D9718{function} :GetParent = function: 1BA68200{function} :GetName = function: 15102400{function} :Show = function: 28CD6938{function} :GetRealRect = function: 08EEDE58{function} :AddChild = function: 14E7C1C8{function} :IsEnabled = function: 1FF59860{function} :SetBackgroundColor = function: 23EA1658{function} :GetPriority = function: 092C7978{function} :PlayResizeEffect = function: 1B267480{function} :SetBackgroundClearMaskEffect = function: 1B9DABC0{function} :FinishMoveEffect = function: 25BFB918{function} :SetPlacementPlain = function: 28FC3748{function} :FinishFadeEffect = function: 212D9C28{function} :SetBackgroundBlendEffect = function: 1FBABDC8{function} :PlayMoveEffect = function: 25904318{function} :SetName = function: 10479520{function} :GetInstanceId = function: 25EEFD40{function} :DestroyWidget = function: 261624A0{function} :IsVisible = function: 0BA20DB8{function} :GetForegroundColor = function: 21566AC8{function} :SetForegroundBlendEffect = function: 21169830{function} :GetChildUnchecked = function: 258C5378{function} :SetForegroundTexture = function: 1F4AA918{function} :IsEqual = function: 21293E38{function} :GetChildChecked = function: 25BACBD0{function} :FinishRotationEffect = function: 1FFBB4D0{function} :SetFade = function: 24582168{function} :GetWidgetDesc = function: 210FD690{function} :GetPlacementPlain = function: 1BA86BC8{function} :Rotate = function: 258BE038{function} :FinishResizeEffect = function: 1513BCD8{function} :PlayFadeEffect = function: 2591BB80{function}
-
зачем нужны Code: <texts href="Texts/RelatedTexts.(UIRelatedTexts).xdb#xpointer(/UIRelatedTexts)" /> <textures href="Textures/RelatedTextures.(UIRelatedTextures).xdb#xpointer(/UIRelatedTextures)" />
-
аддон вырубает встроенную подсветку:: common.StateUnloadManagedAddon( "TargetSelection" ) используйте AddonManager чтобы ее включить
-
вот я исправила там чтобы ошибок не было - но так ли оно должно работать?? File: 4qtkmlAP9B1s53A.zip
-
LogColorBlaBla не работает в виджетах, а tip_ работает а как из скриптов это делать? хорошо - как меняется цвет шмотки от ее редкости? может есть какой тег? типа Code: <body alignx="left" outline="1"><rs class="colorcode"><r name="value"/></rs></body> Code: wtLabelName:SetClassVal( "colorcode", "Friendly" )
-
в r10 немного оптимизировано выставление лотов (чуть быстрее в некоторых ситуациях) и добавлены цвета у сообщений поидее можно было бы еще вставить туда анализатор цен - минимальная, средняя, оборот...
-
как задавать цвет в тексте виджетов? color... ? точно так же как тут поидее ура нашла в ДакДПСметре: Code: <header alignx="center" shadow="1"> <rs class="class"> <tip_green> <r name="Head"/> </tip_green> <r name="Val"/> </rs> </header>
-
еще вопрос - если таблица без полей {} то при сравнении if TAB == {} then будет true? Code: local u = {} u.failedConditions = {} exObj("u", u) if u.failedConditions == {} then LogInfo (" true ") end LogInfo (" == {} ? ", u.failedConditions == {} ) выдает ложь ((
-
выполнение на лету Code: ------- choice.timeCoeff is Global local stat local mess stat, mess = assert(loadstring("choice.timeCoeff = 123", "DB load+"))() LogInfo (stat,":",mess,":",self.timeCoeff ) --- error: stat, mess = assert(loadstring("self.timeCoeff = 13", "DB load-"))(self) LogInfo (stat,":",mess,":",self.timeCoeff ) stat, mess = pcall( loadstring("choice.timeCoeff = 100", "DB load2")) LogInfo (stat,":",mess,":",self.timeCoeff ) а можно ли как туда передать значение?
-
а команды для этой программки писать в mods.txt такие: :writeTo:PATH\FILE:данные и все! эта программка должна будет взять данные и записать в другой файл. меня бы это устроило
-
про nil = вроде как не удаляется само поле... судя по этому: Quote: 2.9.2 - Weak Tables A weak table is a table whose elements are weak references. A weak reference is ignored by the garbage collector. In other words, if the only references to an object are weak references, then the garbage collector will collect that object. A weak table can have weak keys, weak values, or both. A table with weak keys allows the collection of its keys, but prevents the collection of its values. A table with both weak keys and weak values allows the collection of both keys and values. In any case, if either the key or the value is collected, the whole pair is removed from the table.. тоесть поле будет уничтожено но не сразу.. понятно в принципе
-
как раз find есть щас Code: cmd = string.lower(cmd) .. " " --- выделим из командной строчки параметры "/lc wcc:NEED, ll=greed, smart:on, lln=5" for k, v in string.gfind(cmd, "%s*(.-) [=:] (.-) [%s%p] +" ) do LogInfo(" [", k, "] :=", v) end вот как я выделяю параметры с их значениями из строки
-
спасибо. а я просто стала новый массив создавать с переприсваиванием.. может и зря Code: ---- создает новуб стабицу - без одной строки, найденой по ключу function removeRow(t, key) local tNew = {} for k, v in pairs(t) do if k ~= key then tNew [k] = v end end return tNew end
-
если в таблице все индексы - строковые?? Code: ---- должна удалять строку из таблицы но не удаляет (function removeRow(t, key) researchObj("",t) local i = 0 for k, _ in pairs(t) do if k == key then LogInfo("removing ", k) table.remove (t,i) end i = i + 1 end researchObj(" --- ",t) end
-
лучше так Code: <Item href="../Libs/Lib_A.lua" />
-
может пора сделать общий LIB.lua который будет лежать в папке Addons эта библиотека должна быть выложена официально на сайте тут и скачиваться и инсталиться отдельно от прочих аддонов. аддоны которые юзают библиотеку, они не должны содержать в себе эту библиотеку. таким образом они будут инсталиться только в свою папку, и в архив аддона не надо будет запаковывать папку Addons. - все упростится библиотеку обновлять при каждом большом обновлении в аддонах, юзающих библиотеку сделать проверку - если такой ЛИБ нету то выход и сообщение в лог об ошибке типа "установите ЛИБ верХХ"
-
я вообще хотела чтобы эта программка могла переадресовывать вывод из mods.txt в другие файлы - для связи разных аддонов меж собой. например для создания канцелярии внутри гильдии
-
просьба это вставить в "как создавать свой аддон"
-
появилась бредовая идейка - а что если сделать независимую программку, которая бы ловила вывод в логфайл mods.txt и перенаправляла бы его в заданный файл... выполняла бы простейшие команды направления вывода. Такое вообще можно сделать?
-
конечно можно грузить из разных аддонов. вот еще проще (DB.txt): Code: choice.DB ["Заговоренный трофей"] = 1choice.DB ["Благословленный трофей"] = 1 choice.DB ["Зачарованный трофей"] = 1 choice.DB ["Заколдованный трофей"] = 1 choice.DB ["Юбилейная медная монета"] = 1 choice.DB ["Юбилейная серебряная монета"] = 1 choice.DB ["Знак Рвения"] = 1
