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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

AutoDeleteMail


Mankubus

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

Отличный нужный аддон, который маст хев, жаль не работает.

Почините аддон! заранее спасибо

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

  • 2 недели спустя...

Три исправления:

function OnExtract( params, extractType )

if params.sysResult == "ENUM_MailServiceReply_Succeeded" then

local info = mailBox.RequestMailInfo(params.mailId)

local body = info.body

local itemsCount = 0

if body.itemSlotCount > 0 then

for i = 0, body.itemSlotCount - 1 do

if body.items then

itemsCount = itemsCount + 1

end

end

end

if extractType == "money" then

if itemsCount == 0 then

mailBox.DeleteMail( params.mailId ) -- Deleting the empty letter.

end

else

if itemsCount == 0 then

if body.money == 0 then

mailBox.DeleteMail( params.mailId ) -- Deleting the empty letter.

end

end

end

end

end

function OnMailsChanged ()

...

local info = mailBox.RequestMailInfo(mailList [mailcounter] )

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

А у мну нет =(

Вот с этим что делать?

Quote:
Три исправления:

function OnExtract( params, extractType )

if params.sysResult == "ENUM_MailServiceReply_Succeeded" then

local info = mailBox.RequestMailInfo(params.mailId)

local body = info.body

local itemsCount = 0

if body.itemSlotCount > 0 then

for i = 0, body.itemSlotCount - 1 do

if body.items then

itemsCount = itemsCount + 1

end

end

end

if extractType == "money" then

if itemsCount == 0 then

mailBox.DeleteMail( params.mailId ) -- Deleting the empty letter.

end

else

if itemsCount == 0 then

if body.money == 0 then

mailBox.DeleteMail( params.mailId ) -- Deleting the empty letter.

end

end

end

end

end

function OnMailsChanged ()

...

local info = mailBox.RequestMailInfo(mailList [mailcounter] )

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

Wiata, или ждать, пока автор аддона изучит предложенные исправления и выложит обновление.

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

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

Вот только автор сего аддона уже давно не появлялся на форуме

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

Для ленивых:

1) идёте в папочку с аддоном (\Аллоды Онлайн\data\Mods\Addons\AutoDeleteMail)

2) открываете файл AutoDeleteMail.lua (блокнотом)

3) копируете туда следующий код (уже с исправлениями):

Code:

-- AutoDeleteMail.lua

-- GLOBALS VARS FOR DELETING

Global( "mailList", {} )

Global( "mailCounter", 0 )

Global( "mailsSize", 0)

-- BUTTONS

Global("CollectButton", nil)

Global("WaitButton", nil)

-- LOCALIZATION

Global( "localization", "eng" )

--------------------------------------------------------------------------------

-- USER PROCEDURES

--------------------------------------------------------------------------------

-- Deleting the letter, if there is no items/money attachments left.

function OnExtract( params, extractType )

if params.sysResult == "ENUM_MailServiceReply_Succeeded" then

local info = mailBox.RequestMailInfo(params.mailId)

local body = info.body

local itemsCount = 0

if body.itemSlotCount > 0 then

for i = 0, body.itemSlotCount - 1 do

if body.items   then

itemsCount = itemsCount + 1

end

end

end

if extractType == "money" then

if itemsCount == 0 then

mailBox.DeleteMail( params.mailId ) -- Deleting the empty letter.

end

else

if itemsCount == 0 then

if body.money == 0 then

mailBox.DeleteMail( params.mailId ) -- Deleting the empty letter.

end

end

end

end

end

-- AO game Localization detection by SLA. Version 2011-02-10.

function GetGameLocalization()

local B = cartographer.GetMapBlocks()

local T = { rus="\203\232\227\224", eng="Holy Land", ger="Heiliges Land",

fra="Terre Sacr\233e", br="Terra Sagrada", jpn="\131\74\131\106\131\65" }

for b in B do for l,t in T do

if userMods.FromWString( cartographer.GetMapBlockInfo(B  ).name ) == t

then return l end end end return "eng"

end

--------------------------------------------------------------------------------

-- EVENT HANDLERS

--------------------------------------------------------------------------------

--EVENT_MAILBOX_ACTIVATED

function OnMailBoxActivated ()

CollectButton:Show(true)

WaitButton:Show(false)

end

--EVENT_MAILBOX_CLOSED

function OnMailBoxClosed ()

CollectButton:Show(false)

WaitButton:Show(false)

mailList = {}

mailCounter = 0

mailsSize = 0

common.UnRegisterEventHandler( OnMailsChanged, "EVENT_MAILS_CHANGED" )

end

--EVENT_MAIL_EXTRACT_ITEMS_RESULT

function OnExtractItems (params)

OnExtract(params, "items")

end

--EVENT_MAIL_EXTRACT_MONEY_RESULT

function OnExtractMoney (params)

OnExtract(params, "money")

end

--EVENT_MAILS_CHANGED

function OnMailsChanged ()

if GetTableSize(mailList) > 0 then

local info = mailBox.RequestMailInfo(mailList  [mailcounter]  )

local isExtracted = true

if GetTableSize(info) == 0 then

return 0

end

if info.mailTemplate then

if info.body.money == 0 then

if info.header.hasItems == false then

if mailBox.IsReady() then

mailBox.DeleteMail( mailList [mailCounter]  ) -- Deleting the empty letter.

else

return 0

end

end

-- TODO: WTF? How about extracting items as well?

else

mailBox.ExtractMailMoney( mailList [mailCounter]  )

isExtracted = false

end

end

mailCounter = mailCounter + 1

--local fl = mailCounter / mailsSize

--WaitButton:SetClassVal( "value", common.FormatFloat( fl, "%.1f" ) )

if mailCounter >= mailsSize then

mailList = {}

mailCounter = 0

mailsSize = 0

common.UnRegisterEventHandler( OnMailsChanged, "EVENT_MAILS_CHANGED" )

CollectButton:Show(true)

WaitButton:Show(false)

return 0

end

if isExtracted then

userMods.SendEvent( "EVENT_MAILS_CHANGED", {} )

end

end

end

-- Cleaning up the mailbox.

function OnCollectButtonReaction ()

local mailTempList = {}

if mailBox.IsReady() then

mailTempList = mailBox.RequestMailIds()

end

if GetTableSize( mailTempList ) > 0 then

if mailCounter == 0 then

mailList = mailTempList

mailsSize = GetTableSize( mailList )

CollectButton:Show(false)

WaitButton:Show(true)

common.RegisterEventHandler( OnMailsChanged, "EVENT_MAILS_CHANGED" )

userMods.SendEvent( "EVENT_MAILS_CHANGED", {} )

end

end

end

-- SCRIPT_ADDON_INFO_REQUEST

function OnAMAddonInfoRequest( params )

if params.target == common.GetAddonName() then

userMods.SendEvent( "SCRIPT_ADDON_INFO_RESPONSE", {

sender = params.target,

desc = userMods.FromWString( common.GetAddonRelatedTextGroup( localization ):GetText( "Description" ) ),

} )

end

end

-- SCRIPT_ADDON_MEM_REQUEST

function OnAMAddonMemoryRequest( params )

if params.target == common.GetAddonName() then

userMods.SendEvent( "SCRIPT_ADDON_MEM_RESPONSE", { sender = params.target, memUsage = gcinfo() } )

end

end

--SCRIPT_TOGGLE_UI

function OnToggleUI( params )

mainForm:Show( params.visible )

end

--------------------------------------------------------------------------------

-- INITIALIZATION

--------------------------------------------------------------------------------

function Init()

-- BUTTONS

CollectButton = mainForm:GetChildChecked("CollectButton", false)

WaitButton = mainForm:GetChildChecked("WaitButton", false)

-- EVENT HANDLERS

common.RegisterEventHandler( PostInit, "EVENT_AVATAR_CREATED" ) -- Second part of initialization.

common.RegisterEventHandler( OnMailBoxActivated, "EVENT_MAILBOX_ACTIVATED" )

common.RegisterEventHandler( OnMailBoxClosed, "EVENT_MAILBOX_CLOSED" )

common.RegisterEventHandler( OnExtractItems, "EVENT_MAIL_EXTRACT_ITEMS_RESULT" )

common.RegisterEventHandler( OnExtractMoney, "EVENT_MAIL_EXTRACT_MONEY_RESULT" )

common.RegisterEventHandler( OnAMAddonInfoRequest, "SCRIPT_ADDON_INFO_REQUEST" )

common.RegisterEventHandler( OnAMAddonMemoryRequest, "SCRIPT_ADDON_MEM_REQUEST" )

common.RegisterEventHandler( OnToggleUI, "SCRIPT_TOGGLE_UI" )

-- REACTION HANDLERS

common.RegisterReactionHandler(OnCollectButtonReaction, "CollectButtonReaction")

-- Backward compatibility with pre-1.1.04 versions:

if not social.GetFriendInfo then

mainForm:SetPriority( 2000 )

end

-- P.S. In AO 2.0.03, priority changed from 4501 to 4701.

-- Continue now (or later)?

if avatar.IsExist() then

PostInit()

end

end

function PostInit()

-- LOCALIZATION

localization = GetGameLocalization()

if not common.GetAddonRelatedTextGroup( localization ) then

localization = "eng"

end

CollectButton:SetVal( "button_label", common.GetAddonRelatedTextGroup( localization ):GetText( "CollectButton" ) )

WaitButton:SetVal( "button_label", common.GetAddonRelatedTextGroup( localization ):GetText( "WaitButton" ) )

OnAMAddonInfoRequest( { target = common.GetAddonName() } )

-- Show the button now?

if mailBox.IsReady() then

OnMailBoxActivated()

end

end

--------------------------------------------------------------------------------

Init()

--------------------------------------------------------------------------------

4) сохраняете и идёте в игру играть

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

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

Возможно ли этот аддон сделать рабочим как на евро так и на ру серверах?

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

Возможно ли этот аддон сделать рабочим как на евро так и на ру серверах?

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

  • 3 недели спустя...

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

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

  • 4 недели спустя...

Сделал этот аддон рабочим только письма удаляются после забирания вещей/денег из них и нельзя полностью забрать все вещи) С разрешения создателя могу залить это аддон или скинуть его автору

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

  • 5 месяцев спустя...

аддон не работает (скорее всего), не обновлял его больше года. думаю, и смысла особого в аддонах нет - игра умирает.

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

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

аддон тока удаляет письма,а открывать и нажимать чтобы переложить в сумку это в ручную,что то еще мешает

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

Одна надежда,что разработчики АО сами сделают автосбор писем в игре

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

AutoDeleteMail

Просмотр файла

[RU] Аддон удаляет письма из почтового ящика и собирает вещи/предметы.

[EN] This addon deletes letters from mailbox and collect items and money.

Внимание! Данная версия (r17) работает только начиная с версии 4.0.04, для ранних версий используйте r16

На данный момент поддерживает следующих отправителей:

  • Амальгама с Арены Смерти
  • Награды за Смородиновку
  • Письма с Аукциона
  • Письма от Уважаемого Гоблина (по умолчанию не удаляет)
  • Письма от друзей с пустым телом письма
  • Письма от Режиссера
  • Письма от Администрации

Локализация пока поддерживается только русская полностью, наполовину английская. Пожалуйста, смотрите файл mods.txt и отправляйте строки, так Вы поможете развитию аддона и корректной его работе на всех версиях клиента.

Альфа версия. Полностью корректная работа не гарантируется, но пропадание денег из вложений из писем невозможно (как было невозможно и ранее).


 

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

ok.

Переписал аддон до версии r10, обсуждение тут

New global fix for this addon (r10), discussion here

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

Ок спасибо есть улудшение ,но пока еще не работает так как нужно-не соберает письма в рюкзак.Доработайте пожалуйста аддон до совершенства .чтоб был автосбор писем,как было раньше до обновления.Спасибо -Успехов с аддоном и удачи во всем!

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

Как не собирает? У меня собирает... Не письма, а вещи и деньги из писем. Что пишет аддон в mods.txt приведите, пожалуйста. И проверьте, не полная ли сумка. И о каких письмах идет речь? С аукциона? Для того, чтобы помочь, прошу Вас, подробнее опишите суть проблемы.

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

у меня появилась новая кнопка Собрать -рядом с кнопкой ящик и когда на него нажимаеш он пишет Ждите... и перепрыгивает сразу в конец всех страниц правда деньги я уже давно собрал в ручную а письма еще остались 500 писем с 20- 16 дней еще жизни,и жду а письма не соберает,есть еще сверху аддон Обработать почту и в нем удалять пустые письма, письма с арены культистов-когда на него жмеш он тока окрывает запечатаные,но не соберает и не удаляет.А в чате ничего не пишет

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

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

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

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

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

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

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

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

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

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