Перейти к содержанию

Дайджест за июль-сентябрь

Обновления гайдов и аддонов

Сентябрь Август Июль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Бот статистики для Telegram

Удобная аналитика в телефоне.

Подробнее

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

icreator

Пользователь
  • Постов

    3 118
  • Зарегистрирован

  • Посещение

Весь контент icreator

  1. во сделала это - и мне так больше нравится! можно выбивать режим усредненинея статы + защита статы + броня все параметр "InspectStatsMode" = resist --> math.floor((sts.sts+3*sts.rst)/2) = armor --> math.floor((sts.sts+sts.arm)/2) = all --> math.floor((sts.sts+3*sts.rst+sts.arm)/3)
  2. сделать лист настроек в mods.txt, командой: /tm list и перенести их всех в config.txt (см описание конфига) А из конфига все настройки для всех персонажей берутся, если локально не заданы другие настройки
  3. быстрые команды для поиска через чат остались, с небольшой добавкой. В принципе можно так же писать в чат для поиска всего "/!!." и потом "/!!" выключения по поводу статов на броню для мага - да я сама маг и тоже вижу что это не показатель а как отстроиться? не показывать броню? или мож настройку то же сделать - что вычислять статы+резисты или статы+броня?? мож так более полезно будет? поиде для маг классов важнее статы + резисты, а для физиков статы+броня детектор статов - только шмотки пока смотрит. можно конечно и покровы - но смысл? она не так много даеть в разнице по статам. Вехи и прочее невозможно узнать (( к том уже и так понятно что 36й имеет +ХХХ а 47 имеет +ХХХХХ статов своих - их разница уже в разнице уровней забита и смысл их показывать?
  4. added a list of values to the parameters of search of units and devices Now you can search at the same time different mobs or device, such as a boundary stones and quest things
  5. это баг - буду искать ошибку
  6. Для ввода новой позиции в меню списка - жмем [+], вводим нужное значение и жмем Enter - новая строчка в меню будет создана - затем обычным образом кликаем на ней чтобы настроить значение:
  7. added a list of values to the parameters of search of units and devices Now you can search at the same time different mobs or device, such as a boundary stones and quest things добавлен список значений к параметрам поиска юнитов и устройств Теперь можно искать одновременно разных мобов или устройства, например межевые камни и квестовые вещи Для ввода новой позиции в меню списка - жмем [+], вводим нужное значение и жмем Enter - новая строчка в меню будет создана - затем обычным образом кликаем на ней чтобы настроить значение:
  8. так поставь 1264 и получишь те 100кри
  9. тут надо подумать... 1) сейчас такого нету - ведь они и так у тебя на экране. Другое дело что тебе надо автоматически в цель брать того у кого выполнилось "условие"... Это будет можно сделать отдельным способом... думаю проще сделать чтобы из своих со-групников со здоровьем ниже ХХ% выбирался самый побитый и записывался в ta панельки. 2) и что прям все персонажи которых ты взял в цель должны в панель заноситься? каши там не будет? ну не знаю можно конечно... ну можно конечно сделать еще параметр автозаполнения - по твоей цели 3) все можно ))) опять же еще настройки в мемню...
  10. по кнопкам пришла к выводу что Code: <?xml version="1.0" encoding="UTF-8" ?> <WidgetButton> <Name>dscToggleButton</Name> <Variants> <Item> <TextFileRef href="Text-alignx-center" /> <LayerHighlight href="/Mods/SampleCommon/Button/ButtonRegularHighlighted.(WidgetLayerTiledTexture).xdb#xpointer(/WidgetLayerTiledTexture)" /> <StateNormal> <LayerMain href="/Mods/SampleCommon/Button/ButtonRegularNormal.(WidgetLayerTiledTexture).xdb#xpointer(/WidgetLayerTiledTexture)" /> <FormatFileRef href="FormatButtonToggle_StateNormal.txt" /> </StateNormal> <Reaction>mouse_left_click</Reaction> <ReactionOnUp>true</ReactionOnUp> </Item> <Item> <TextFileRef href="Text-alignx-center" /> <LayerHighlight href="/Mods/SampleCommon/Button/ButtonRegularHighlighted.(WidgetLayerTiledTexture).xdb#xpointer(/WidgetLayerTiledTexture)" /> <StateNormal> <LayerMain href="/Mods/SampleCommon/Button/ButtonRegularPressed.(WidgetLayerTiledTexture).xdb#xpointer(/WidgetLayerTiledTexture)" /> <FormatFileRef href="FormatButtonToggle_StatePushed.txt" /> </StateNormal> <Reaction>mouse_left_click</Reaction> <ReactionOnUp>true</ReactionOnUp> </Item> </Variants> <Visible>false</Visible> </WidgetButton> TextFileRef - отвечает вообще за вид текста: Code: <body alignx="center" aligny='middle'><r name="value"/></body> FormatFileRef - отвечает за содержанирие метки кнопки - тут имя поля: Code: <button><tip_grey><r name="button_label"/></tip_grey></button> без кого-либо из них текст в кнопку не встает
  11. ==================================================== ======================================================= ==================================================== ====================================================
  12. Присвоить значение списка параметру:
  13. как это сделано в AucEDSman: Code: local templateDB = {"MinBid", "Buyout", "StackCount", "TimeSel", "Spread", "Similar", "Date", "MinStack" } function loadDB() local key, tab local dbs = GetGlobalConfig("DB") or {} for i,v in dbs [ShardKey] or {} do key, tab = unpackToTab(v, templateDB ) if key then --- если распаковано if tab.Date and (nowMonth - tab.Date+0 < 12) then --- дата последнего обновления меньше года DB [key] = tab end else LogInfo("cant't unpack:"..v) end end LogToChat( L("DB loaded"), nil , true ) end function saveDB() local dbs = GetGlobalConfig("DB") or {} ---local chrBr = string.byte("\""), str local i = 0 for key, tab in DB do if not dbs [ShardKey] then dbs [ShardKey] = {} end --- надо все двойные кавычки убрать --- str = "" --- for char in string.byte(key) do --- str = str .. string.char(char) ~= chrBr and string.char(char) or "'" --- end --- LogToChat("new str:"..str) dbs [ShardKey] = packFromTab(key, tab, templateDB) i = i + 1 end ---exObj("save dbs",dbs) SetGlobalConfig("DB", dbs) end в результат запись user.cfg такая: Code: table_begin ScriptUserMods_AucEDSman table_begin data table_begin DB table_begin Вечный зов:Empire int_keys_begin Вечный зов:Empire 0 = l"Мана-батарея:0|450|10|2|0|0|20|0|" 1 = l"Ларец ювелира:0|65500|1|2|0|0|20|0|" 2 = l"Ларец ментора:0|69900|1|2|0|0|20|0|" 3 = l"Ларец наставника:0|59900|1|2|0|0|20|0|" 4 = l"Малый пакет банковских документов:0|323000|1|2|0|0|20|0|" 5 = l"Ларец торговца:0|85500|1|2|1|0|19|0|" 6 = l"Старший свиток полководца:0|89900|1|2|0|0|20|0|" 7 = l"Манускрипт умелого ювелира:0|5500000|1|2|0|0|19|0|" 8 = l"Ларец колдуна:0|69900|1|2|0|0|20|0|" 9 = l"Младший свиток полководца:0|33300|1|2|0|0|19|0|" 10 = l"Том Доблести:0|3312|1|2|5|1|" 11 = l"Свиток очищения замечательных предметов:0|8812|1|2|5|1|" да еще функции сами: Code: --- распаковывает значения в таблицу из конфига по заданному шаблону полей:--- local key, tab = unpackToTab("проба пера:0|123455|3|2|1|5|", {"MinBid", "Buyout", "StackCount", "TimeSel", "Spread", "RandomCh"} ) function unpackToTab(str, pars) local _, val, pos, key, sEnd, val2 _, pos = string.find(str,":") if not pos then return end key = strFromNormalize(string.sub(str,1,pos-1)) local tab = {} sEnd = string.sub(str,pos+1) for i, par in ipairs(pars) do _, pos = string.find(sEnd,"|") if not pos then break end val = strFromNormalize( string.sub(sEnd,1,pos-1) ) sEnd=string.sub(sEnd,pos+1) tab [par] = val end ---LogToChat("from norm:"..key, nil, true) return key, tab end --- запаковывает таблицу по шаблону полей для сохранения в конфиг function packFromTab(key, tab, template) local str = strToNormalize(key..":") ---exObj("t",tab) for i, v in pairs(template) do str = tab [v] and str.. strToNormalize( ""..(tab [v] or "") ) .."|" end ---LogToChat("to norm:"..str, nil, true) return str end strToNormalize = function ( str ) local res = "" local char for i=1, string.len( str ) do char = string.sub(str, i, i) if char == '"' then char = "'" end res = res .. char end return res end strFromNormalize = function ( str ) local res = "" local char for i=1, string.len( str ) do char = string.sub(str, i, i) if char == "'" then char = '"' end res = res .. char end return res end
  14. это потому что у тебя конфиг свой, а у меня был конфиг мой - запакованный по моему в строчки - весь массив в одну строчку. см мою библиотеку - иначе конфиг раздувается до огроменных размеров - я уже тут писала как сжимать свои данные Code: ---- запаковывает базу знаний в конфигурациюfunction toConfig( DB ) local config = {} for k, _ in pairs( DB ) do config [ k ] = (DB [ k ] .state and 1 or 0) .. (DB [ k ] .comment or "") end userMods.SetAvatarConfigSection( common.GetAddonName(), config ) end ---- распаковывает конфигурацию в базу знаний function fromConfig() local config = userMods.GetAvatarConfigSection( common.GetAddonName() ) or {} --- если секция не найдена то --- инициализируем как таблицу local DB = {} for k, v in pairs( config ) do DB [ k ] = { comment = string.sub (v, 2) or "--" } --- сразу создаст таблицу в таблице DB [ k ] = { state = (string.sub (v, 0, 1) + 0) == 1 } end return DB end есть боле сложный вариант - по шаблону таблицы она запаковывается и распаковывается
  15. для правильно работы аотпанели: Code: handlers [ 'AOPANEL_BUTTON_LEFT_CLICK' ] = function( params ) if params.sender == common.GetAddonName() then handlers [ 'mouse_left_click' ] { sender = 'ButtonMain', widget = W( 'ButtonMain' ) } end end
  16. добавлен параметр TTStatsCount - показывающий число максимальных статов, дающих вещами added parameter TTStatsCount - showing the number of maximum stats, giving things
  17. I edit: Code: handlers [ 'SCRIPT_ADDON_INFO_RESPONSE' ] = function( event ) local sender = addon.PREFIX .. event.sender local item = addon.items [ sender ] event = item and item.state and event or { addonsBlocked = event.addonsBlocked } if item then item.description = event.desc W( 'Description', item.w ):SetVal( 'value', item.description and ToWS( item.description ) or L [ 'Empty' ] ) if event.showDNDButton then item.isLocked = toboolean( addon.config and addon.config [ sender ] and addon.config [ sender ] .isLocked ) W( 'ButtonToggleDND', item.w ):SetVariant( tonumber( item.isLocked ) ) SendEvent( 'SCRIPT_TOGGLE_DND', { target = event.sender, state = not item.isLocked } ) end W( 'ButtonToggleDND', item.w ):Show( toboolean( event.showDNDButton ) ) W( 'ButtonShowHide', item.w ):Show( toboolean( event.showHideButton ) ) W( 'ButtonSettings', item.w ):Show( toboolean( event.showSettingsButton ) ) item.addonsBlocked = event.addonsBlocked or item.addonsBlocked -- if item.state == false and item.addonsBlocked then SendEvent( 'SCRIPT_ADDONS_BLOCKED_RECEIVED', { name = sender } ) end -- end end and: Code: addon.AddItem = function( self, v ) local config = self.config [ v.name ] local widget local item = { state = true } self.items [ v.name ] = item if HasNamePrefix( v.name ) then if not self.itemDesc then widget = W( 'Item' ) self.itemDesc = widget:GetWidgetDesc() else widget = mainForm:CreateWidgetByDesc( self.itemDesc ) end else if not self.itemDefaultDesc then widget = W( 'ItemDefault' ) self.itemDefaultDesc = widget:GetWidgetDesc() else widget = mainForm:CreateWidgetByDesc( self.itemDefaultDesc ) end end widget:SetName( v.name ) item.w = widget if config and type(config) == "table" and config.state == false then item.state = config.state self:ToggleAddonState( v.name, item.state ) else if HasNamePrefix( v.name ) then SendEvent( 'SCRIPT_ADDON_INFO_REQUEST', { target = GetName( v.name ), locale = addon.locale } ) end end W( 'ButtonToggleAddonState', item.w ):SetVariant( tonumber( item.state ) ) if v.name == self.PREFIX .. self.NAME then W( 'ButtonToggleAddonState', item.w ):Show( false ) end W( 'Name', item.w ):SetVal( 'value', ToWS( GetName( v.name ) ) ) W( 'Description', item.w ):SetVal( 'value', L [ 'Empty' ] ) end
  18. ОЙ он не работает!!!! в списке ничего нет и все аддоны загружены ((( Code: Error: addon AddonManager: Error while running the chunkError: addon AddonManager: [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] :275: attempt to index local `config' (a string value) Error: addon AddonManager: func: ?, ?, line: -1, defined: C, line: -1, [C] Error: addon AddonManager: func: AddItem, method, line: 275, defined: Lua, line: 253, [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] Error: addon AddonManager: func: ?, ?, line: 69, defined: Lua, line: 65, [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] Error: addon AddonManager: Error while running the chunk Error: addon AddonManager: [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] :81: attempt to index local `item' (a nil value) Error: addon AddonManager: func: ?, ?, line: -1, defined: C, line: -1, [C] Error: addon AddonManager: func: ?, ?, line: 81, defined: Lua, line: 78, [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] Error: addon AddonManager: Error while running the chunk Error: addon AddonManager: [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] :81: attempt to index local `item' (a nil value) Error: addon AddonManager: func: ?, ?, line: -1, defined: C, line: -1, [C] Error: addon AddonManager: func: ?, ?, line: 81, defined: Lua, line: 78, [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] Error: addon AddonManager: Error while running the chunk Error: addon AddonManager: [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] :81: attempt to index local `item' (a nil value) Error: addon AddonManager: func: ?, ?, line: -1, defined: C, line: -1, [C] Error: addon AddonManager: func: ?, ?, line: 81, defined: Lua, line: 78, [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] Error: addon AddonManager: Error while running the chunk Error: addon AddonManager: [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] :81: attempt to index local `item' (a nil value) Error: addon AddonManager: func: ?, ?, line: -1, defined: C, line: -1, [C] Error: addon AddonManager: func: ?, ?, line: 81, defined: Lua, line: 78, [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"]
  19. спасибки за новую версию!
  20. еще вопрос к знатокам - как узнать цвет иконки, которым выделяется край иконки вещи - в зависимости от ее качества? пробой того что есть уже в системных иконках? А если цвета поменяют?
  21. спасибо! я это сообщение прочитала уже после того как сама методом проб это нашла... блин нет чтобы разработчики нам это сами предоставили в АПИ
×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования