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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

Модернизация AutoSellGrey


Ramzesgool

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

Существует такой аддон AutoSellGrey(продажа серого лута вендору).

Вот его код:

--------------------------------------------------------------------------------
-- EVENT HANDLERS
--------------------------------------------------------------------------------

-- Событие обновления списка вещей у тогровца, список обновляется в том числе при выкупе серых вещей:
function OnVendorListUpdated()
local currentBagSize = avatar.InventoryGetBaseBagSlotCount()
for slotIndex = 0, currentBagSize - 1 do
local itemId = avatar.GetInventoryItemId( slotIndex )
if itemId then
local itemQuality = itemLib.GetQuality( itemId )
local quality = itemQuality and itemQuality.quality
if quality and quality == ITEM_QUALITY_JUNK and avatar.SellItemToVendor then
avatar.SellItemToVendor( itemId ) -- for AO 2.0.09+
end
end
end
-- Повторный вызов не нужен, иначе не получится выкупить нужные серые вещи:
common.UnRegisterEventHandler(OnVendorListUpdated, "EVENT_VENDOR_LIST_UPDATED")
end

-- Событие начала разговора с NPC, который может быть торговцем:
function OnTalkStarted()
-- common.LogInfo( "common", common.FormatInt( guild.GetEnableTime( ).d, "%d" ) )
-- common.LogInfo( "common", common.FormatInt( guild.GetEnableTime( ).m, "%d" ) )
-- common.LogInfo( "common", common.FormatInt( guild.GetEnableTime( ).y, "%d" ) )
-- Теперь можно начать следить за обновлением списка вещей у торговца:
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")
end
--------------------------------------------------------------------------------
Init()
--------------------------------------------------------------------------------

Как я полный дуб в Lua, мне требуется помощь). У автора аддона нет свободного времени и он не может помочь. Что мне бы хотелось увидеть:

например: открыт у меня диалог с вендором, в сумке появляется серый лут, он тут же продается, т.е. мне не придется закрыть и открыть диалог заново. Автор сказал, что это возможно. Жду помощи, заранее премного благодарен! :)

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

Надо OnVendorListUpdated() делать при EVENT_CONTAINER_ITEM_ADDED если контейнер ITEM_CONT_INVENTORY.

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

Огромное спасибо). Если надо, темку можете закрыть.

Я бы советовал еще проверять ведется ли взаимодействие с НПЦ (т.е. в начало функции вставить проверку) чтобы она не отрабатывала с ошибками когда ты просто бегаешь и подбираешь лут не торгуя с НПЦ.

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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