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

Дайджесты за январь-февраль

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

Январь Февраль

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

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

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

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

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

Подробнее

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

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

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

AddonManager


duvo

Рекомендуемые сообщения

Small error with AOPanelQuest

Code:
Error: addon AOPanelQuest: Game::LuaAvatarGetQuestsLimit: main player not found, details: int __cdecl Game::LuaAvatarGetQuestsLimit(struct lua_State *)

Error: addon AOPanelQuest: Game::LuaAvatarGetQuestBook: main player not found, details: int __cdecl Game::LuaAvatarGetQuestBook(struct lua_State *)

Error: addon AOPanelQuest: Game::LuaAvatarGetQuestsLimit: main player not found, details: int __cdecl Game::LuaAvatarGetQuestsLimit(struct lua_State *)

Error: addon AOPanelQuest: Game::LuaAvatarGetQuestBook: main player not found, details: int __cdecl Game::LuaAvatarGetQuestBook(struct lua_State *)

Error: addon AddonManager: 

Error: addon AddonManager:   

Error: addon AddonManager:   func: ?, ?, line: -1, defined: C, line: -1,  [C] 

Error: addon AddonManager:     func: ToggleUI, global, line: 5, defined: Lua, line: 4,  [string "Mods/Addons/AddonManager/Scripts/ScriptToggleUI.lua"] 

Error: addon AddonManager:       func: ?, ?, line: 75, defined: Lua, line: 65,  [string "Mods/Addons/AddonManager/Scripts/AddonManager.lua"] 

Error: addon AddonManager: Attempt to read from undeclared global variable: currencyExchange

When they support the window Of AddonManager on the button of AOPanelQuest also open

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 142
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

ОЙ он не работает!!!!

в списке ничего нет и все аддоны загружены (((

Code:
Error: addon AddonManager: Error while running the chunk

Error: 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"] 

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Странно. Такой ошибки не ловил.

Сейчас удалил user.cfg, загрузилось нормально, нужное отключил, сохранил, перезагрузился. Все работает корректно.

Видимо, что-то с получением значений из конфига от предыдущей версии не досмотрел.

Спасибо за баг-репорт.

Ссылка на комментарий
Поделиться на другие сайты

для правильно работы аотпанели:

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

Ссылка на комментарий
Поделиться на другие сайты

Да, на это я тоже наткнулся, пока искал причину ошибки, описанной Kali.

Еще какие-нибудь баги встречались?

Ссылка на комментарий
Поделиться на другие сайты

это потому что у тебя конфиг свой, а у меня был конфиг мой - запакованный по моему в строчки - весь массив в одну строчку.

см мою библиотеку - иначе конфиг раздувается до огроменных размеров - я уже тут писала как сжимать свои данные

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

есть боле сложный вариант - по шаблону таблицы она запаковывается и распаковывается

Ссылка на комментарий
Поделиться на другие сайты

как это сделано в 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

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

не хочется рыться в коде, подскажите дураку, а что за 3 столбца после описания аддонов? и как взаимодействовать с ними из своего аддона?

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

сделать кнопку - перегрузить - чтобы он перегружал все загруженные аддоны - чтобы память освободить

просто поменяй локализацию и они перегрузятся

Ссылка на комментарий
Поделиться на другие сайты

не хочется рыться в коде, подскажите дураку, а что за 3 столбца после описания аддонов? и как взаимодействовать с ними из своего аддона?

это ты про что?

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

подскажите плиз, за работоспособность каких именно аддонов сейчас отвечает аддонменеджер?

Сейчас я его установила по привычке, поскольку помнится он и аддонтулс мастхев для каждого, кто пользуется аддонами. Но закралась мысль, что он давно не обновлялся и , возможно, он уже не нужен...

Ссылка на комментарий
Поделиться на другие сайты

подскажите плиз, за работоспособность каких именно аддонов сейчас отвечает аддонменеджер?

Никаких. И никогда не отвечал. Я не делал так, чтобы АМ был необходим для работы других аддонов.

возможно, он уже не нужен...

Так точно! Вы правы, он не нужен. Особенно если Вы используете еще и другие менеджеры (AddonsTools), это может привести к некорректной работе некоторых аддонов.

Ссылка на комментарий
Поделиться на другие сайты

да и АТ сейчас нужен лишь как библиотека ну и быстрые клавиши.. а так есть системный менеджер аддонов теперь

Ссылка на комментарий
Поделиться на другие сайты

  • 10 лет спустя...

Не работает мод, с места не сдвинуть и ничего не происходить когда нажимаешь на "А"mods.txt

Ссылка на комментарий
Поделиться на другие сайты

 

Заменил math.mod на math.fmod

Согласно логу должно помочь. Не проверял. Вообще тут все очень не свежее. Не факт что заработает

Изменено пользователем Lafayette
Спасибо, обновил дистрибутив
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
В 20.01.2024 в 05:21, worm сказал:

 

Заменил math.mod на math.fmod

Согласно логу должно помочь. Не проверял. Вообще тут все очень не свежее. Не факт что заработает

Не заработало.

Ссылка на комментарий
Поделиться на другие сайты

ВНИМАНИЕ!
Обязательна информация из \Personal\Logs\mods.txt для диагностики ошибки.
Иначе вам не помочь.
В игре включите в Меню → Интерфейс → Общие настройки → Запись ошибок пользовательских дополнений. Затем запустите аддон в игре.
Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...

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

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