Помогите пожалуйста.
Хотел написать чтобы потипу отображения мирры отображался и курс кри. Тут проблем не возникло. Нашел функцию считывающие курс кри из аддона для аопанели и подставил в код для мирры. Все замечательно отображается 6ти значное число. Устраивает.
А вот теперь захотелось чтобы чтобы автоматом зачислялись монетки в ценности и сундуки открывались в ремеслах. Аналогм выбрал автопродажу серых вещей. Простой красиво написанный аддон. Дальше взял лут менеджер с базой данных. и вот не работает ругается( да и незнаю где взять функцию на автоюз и название сумки с разделом для ремесел(
Собственно в черновом варианте думал что-то такое будет
-- GLOBAL
-- Объявляем глобальные переменные
Global( "DB", {} )
--------------------------------------------------------------------------------
-- EVENT HANDLERS
--------------------------------------------------------------------------------
-- Событие обновления списка вещей у тогровца, список обновляется в том числе при выкупе серых вещей:
function OnVendorListUpdated()
local currentBagSize = avatar.InventoryGetBaseBagSlotCount() -- Создаем локальную переменную равную Количеству слотов основного раздела сумки
for slotIndex = 0, currentBagSize - 1 do -- Создаем цикл обработки каждого слота в сумке slotIndex = 0 - первый слот, currentBagSize - 1 - последний (т.к. начало с 0 то последний количество -1)
local itemId = avatar.GetInventoryItemId( slotIndex ) -- Создаем локальную переменную содержащую ID вещи находящейся в просматриваемом слоте
if itemId then -- Если ранее созданная переменная не пуста (содержит ID вещи) тогда начинаем работать с вещью
local itemInfo = avatar.GetItemInfo( itemId ) -- Создаем локальную переменную содержащую информацию о вещи по ее ID
-- if itemInfo.quality == ITEM_QUALITY_JUNK then -- Если переменная имеет свойство вещи равное свойству серой вещи то начинаем работу с вещью (а не игнорируем ее)
-- if avatar.Sell then avatar.Sell( slotIndex, itemInfo.stackCount ) -- for older AO versions
-- -- Если торговый лист открыт у продавца то продаем серую вещь по ее ID
-- elseif avatar.SellItemToVendor then avatar.SellItemToVendor( itemId ) -- for AO 2.0.09+
----------------------------
--local _DB = {} --- база знаний-- Объявляем БД
--_DB[itemName]-- имя в массиве бд
---choice._R[ "EVENT_INVENTORY_ITEM_ADDED" ] = function( pars )--- собыдие когда вещь попадает в сумку
--local n = FromWS(i.name) -- вроде как имя вещи где i.name также itemInfo.quality
---avatar.InventoryDestroyItem( pars.slot ) -- выкидывать вещь по ID
--local itemName = FromWS(itemInfo.name)
local itemName = itemInfo.name
--if itemName == _DB[itemName] then
--if DB[itemName] == USE then -- Если в конфиге DB["Юбилейная медная монета"] = USE
local itemNameDB = DB[itemName]
if itemName == itemNameDB then -- Если в конфиге DB["Юбилейная медная монета"] = Юбилейная медная монета
--avatar.InventoryDestroyItem( itemId )
-- Надо что-то вставить на иметацию щелчка по монеткам
-- Типа avatar.'чтото'( itemId )
LogInfo("Hello World!")
LogInfo(itemName("Work status:")..DB[itemName]..". "..L("Rules:") )
end
-- LogInfo(itemName("Work status1:")..DB[itemName]..". "..L("Rules1:") )
----------------------------
-- end
-- end
end
end
-- Повторный вызов не нужен, иначе не получится выкупить нужные серые вещи:
common.UnRegisterEventHandler(OnVendorListUpdated, "EVENT_VENDOR_LIST_UPDATED")
end
-- Событие начала разговора с NPC, который может быть торговцем:
function OnTalkStarted()
-- Теперь можно начать следить за обновлением списка вещей у торговца:
common.RegisterEventHandler(OnVendorListUpdated, "EVENT_VENDOR_LIST_UPDATED")
end
-- Событие окончания разговора с NPC, который может быть торговцем:
function OnTalkStopped()
-- Теперь нужно прекратить следить за обновлением списка вещей у торговца, на всякий случай:
common.UnRegisterEventHandler(OnVendorListUpdated, "EVENT_VENDOR_LIST_UPDATED")
end
--------------------------------------------------------------------------------
-- INITIALIZATION
--------------------------------------------------------------------------------
function Init()
-- События:
common.RegisterEventHandler(OnTalkStarted, "EVENT_TALK_STARTED")
common.RegisterEventHandler(OnTalkStopped, "EVENT_TALK_STOPPED")
--common.RegisterEventHandler(OnVendorListUpdated, "EVENT_SECOND_TIMER")
end
--------------------------------------------------------------------------------
Init()
--------------------------------------------------------------------------------
Понимаю сделано криво да и не очень красиво использовать куски написанные другими, но уж больно тяжко дается изучение
Вот. и ребят объясните пожалуйста как вывод об ошибках читать. кроме указания строки где остальное не допонял(. Я более менее оседлал PHP там на синтакс указывает. а тут непонятно