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

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

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

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

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

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

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

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

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

Подробнее

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

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

Подробнее

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

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

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

SLA

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

    1 641
  • Зарегистрирован

  • Посещение

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

  1. SLA

    PhanTime

    ОБНОВЛЕНИЕ R12 Если хотите, чтобы аддон показывал не серверное время, а ваше местное время, то укажите сдвиг до вашего часового пояса в LUA-файле (см. переменную TimeZoneOffset). UPDATE R12 If you want this addon to show not server time, but your local time, then set the offset to your time zone in LUA file (see TimeZoneOffset variable).
  2. SLA

    PhanTime

    Quote: В скрипте присутствуют комментарии сохраненные в UTF-8 На самом деле, если бы в скрипте присутствовали строки на русском языке, используемые в игре (например userMods.FromWString("Какой-то текст")), то тут же выяснилось бы, что игра не понимает юникода в LUA-скриптах, и пришлось бы пересохранить LUA-файл в кодировке Windows-1251... Кроме того, если бы LUA файл был бы не просто сохранён в кодировке UTF-8, а был бы сохранён в кодировке UTF-8 c BOM-сигнатурой, то он бы корректно открывался в Блокноте, НО он бы НЕ РАБОТАЛ в игре, т.к. для LUA-компилятора, почему-то, BOM - это неведомая **аная **йня. Очень жаль. Поэтому, LUA-файлы нужно сохранять в кодировке Windows-1251. Quote: wtparam:SetVal( "hours", common.FormatInt( (param.h<17 and (param.h+7)) or (param.h-17), "%02d" ) ) Зачем всё так сложно? Достаточно было бы, в том месте, где скрипт получает серверное время, сделать так: Code: Time.h = Time.h + 7 if Time.h > 23 then Time.h = Time.h - 24 end if Time.h < 0 then Time.h = Time.h + 24 end Или, более продвинутый вариант, с "защитой от дурака", если кто-то введёт не + 7 или -7, а, например, + 999 или - 999: Code: Time.h = Time.h + 999 if Time.h > 23 then Time.h = math.mod( Time.h, 24 ) end if Time.h < 0 then Time.h = math.mod( Time.h, 24 ) + 24 end Здесь, math.mod( A, B ) означает "остаток от деления A на B". P.S. Сейчас залью обновление, где, для удобства, будет глобальная переменная TimeZoneOffset, которой и нужно будет присваивать число, сдвиг в часовых поясах.
  3. Вчера я придумал такой самый короткий способ определения версии, не требующий никаких TXT-ресурсов, только эта функция: Code: -- AO game localization detection by SLA. Version 2010-08-28.function GetGameLocalization() if not avatar.GetEmotes then return "eng" end -- AO 1.1.00 return ({ ["\255"] ="rus", ["\108"] ="eng", ["\105"] ="ger", ["\114"] ="fra"}) [string.sub(userMods.FromWString(cartographer.GetMapBlockInfo( cartographer.GetMapBlocks()[4] ).name),3,3)] or "eng" end Почти что brainfuck =)))))))))) Можно записать всё это в 1 строку, но уж очень длинная она получится Это работает сейчас во всех версиях АО, но с одним недостатком - русской-то определяет как "rus", но все EU/US локализации сейчас определяет как "eng". Однако, что-то мне подсказывает, что через 2 дня, когда в EU/US выйдет 1.1.03 (?) (ну или, хотя бы, 1.1.01), эта функция начнёт нормально различать все 4 языка. Можно будет выкинуть её первую строку, и сделать этот способ основным вариантом определения локализации.
  4. Quote: Бойкотировали - это мягко сказано, они просто исчезли, все сразу. Обложили оф.сайты конструктивной критикой и в игру не входили вообще, а наши сидели в столицах и ждали улучшений)Насколько я знаю, европейцы все на чеку, ждут играбильного варианта Аллодов, так что у gPotato стимул есть. Ага Я помню, как это было. Несколько дней подряд я заходил в игру, и гулял по Новограду. Там на всю столицу, в часы-пик (по вечерам, в смысле) было где-то по 15-30 человек, и почти все с русскими никами. )) Ох дали жару иностранцы своему gPotato... Наши на это не способны в принципе. Потому, что нам просто некуда уйти. У нас нет другой крупной национальной ММОРПГ. А иностранцам всегда есть, куда свалить.
  5. Ура!!! Кажется, нашёл, как отловить сбрасывание иконки в окно аукциона! Очень просто. В событие EVENT_DND_DROP_ATTEMPT, которое происходит при отпускании перетаскиваемой иконки, приходят параметры, один из которых targetId: Quote: targetId: number (int ) - идентификатор, зарегистрированный для окна, на котором пытаются завершить перетаскивание, или невалидный идентификатор (DND_INVALID_ID), если перетаскивание пытается завершиться вне зарегистрированных окон А этот самый идентификатор -- константа, записанная где-то в скриптах игры, и её можно легко узнать: в тестовом аддоне реагировать на EVENT_DND_DROP_ATTEMPT, записывая в Mods.txt значение targetId, и с этим аддоном закинуть любую иконку на аукцион
  6. SLA

    LightDPS

    В начале, сразу после установки аддона, появились 3 примерно такие ошибки - одна из DnDInit(), и две из GoSleep(): Error: addon LightDPS: func: SetPlacementPlain, method, line: -1, defined: C, line: -1, [c] Error: addon LightDPS: func: DnDReg, global, line: 29, defined: Lua, line: 28, [string "mods/addons/lightdps/dnd.lua"] Error: addon LightDPS: func: DnDInit, global, line: 25, defined: Lua, line: 5, [string "mods/addons/lightdps/dnd.lua"] Error: addon LightDPS: func: Init, global, line: 345, defined: Lua, line: 340, [string "mods/addons/lightdps/lightdps.lua"] Error: addon LightDPS: func: ?, ?, line: 351, defined: main, line: 0, [string "mods/addons/lightdps/lightdps.lua"] Error: addon LightDPS: Widgets::LuaSetPlacementPlain: param 2 not a class Lua::Table (type: nil), details: int __cdecl Widgets::LuaSetPlacementPlain(struct lua_State *) Ошибки перестали появляться, после того, как я впервые перетащил аддон мышкой, и в User.cfg появились соответствующие записи о координатах... Лечится это, видимо, так: if CheckVer() < 1102 then DnD.Place = common.GetGlobalConfigSection(DnD.SCSection) or DnD.wtMovable:GetPlacementPlain() else DnD.Place = userMods.GetGlobalConfigSection(DnD.SCSection) or DnD.wtMovable:GetPlacementPlain() end
  7. SLA

    ChatBarAO

    Я ГМ, и у меня видны и кнопка Гильд-чата, и кнопка Офицер-чата. Кто-нибудь ещё может это проверить, чтобы подтвердить или опровергнуть?
  8. Quote: A daily quest has been added. When players complete this quest, they will receive the effects of Incense for a specific duration depending on their level range. Между прочим, появлением ЭТОГО квеста в нашей 1.1.03, как и многих других плюшек из 1.1.02/1.1.03, мы обязаны ИМЕННО нашим иностранным коллегам. Инфа 100%. Это именно они так жестоко бойкотировали игру после выхода АО 1.1.00, что Мэйл.ру ничего не осталось, как срочно вводить всякие приятные плюшки. Они бы НИКОГДА этого не сделали просто так, просто для нас, русских. Потому, что наши и так прекрасно играли в АО 1.0.07 и 1.1.00. Так что, спасибо иностранным игрокам. P.S. Quote: И это все они хотят поставить уже к 30 августа? Даже не сомневаюсь в этом, т.к. 1 сентября всё школьники и студенты дружно вернутся с каникул домой, к компьютерам, к ммо-играм, в Аллоды. А тут их будет ждать патч. Причём, Аструм-Нивал свою часть работы выполнит нормально (предоставит обновлённую версию сервера и клиента), а gPotato, КАК ВСЕГДА, сделает всё из рук вон плохо. Перевод будет не то чтобы только кривой, а многое вообще не будет переведено. Иностранцы жалуются, что на Гипате дропаются предметы с кириллическими названиями. ППЦ. У gPotato просто руки не из того места растут. Они не способны даже тупо прогнать поиск по БД, чтобы найти ВСЕ кириллические названия, и перевести их.
  9. SLA

    ChatBarAO

    neFAST, it really WORKS in your game version. But it works little bit differently (because of limitations in API - there are only few functions working with chat). Unlike ChatBar for WoW, where chat editbox opens when you click the buttons, in ChatBarAO nothing happens at the moment when you press the button. Here is how it works: 1) Press [enter] to open the chat editbox. 2) Click the desired channel button on ChatBarAO. 3) Start typing anything. Channel is actually switched on step 2), but you don't see it until step 3). Only when you start typing, the whole your typed text changes its color to according channel color, and you see, that it worked.
  10. SLA

    ChatBarAO

    ОБНОВЛЕНИЕ R8: -- Отремонтировано для АО 1.1.03. Кнопки гильд-чата, и офицер-чата теперь снова видны.
  11. Ну что ж, попытка не пытка, не сработало. Других способов исправления нет, остаётся только ждать следующий крупный патч. Благо, он совсем не за горами, говорят, он будет введён примерно через 3 дня. Судя по описанию, это может быть даже АО 1.1.03 (!!!): gPotato Forum - Statement from the Producer (2010-08-25)
  12. Готово! Вот аддон, который, возможно, вылечит списки друзей. С этим аддоном нужно просто войти в игру, и проверить список друзей. Если удалённый персонаж изчез из списка, значит аддон работает Если не исчез, то ничем больше помочь не смогу. Пробуйте поскорее, не терпится узнать результат! =) . File: RepairFriendList.zip
  13. Отлично! Сейчас всё проверю. P.S. Malena, обнови свой "HealthDb" (последняя версия работает без ошибок). И, наверное, удали "HealthCalculator" (он не нужен, так как есть "HealthDb").
  14. 0. Nope. 1. Yes, it works, but sorry, we don't need it because (I don't remember, starting from which version) we already have those chat messages you are talking about. In the chat, similar to friends logged in / logged out messages, but colored green, instead of yellow. 2. Sure, here it is: TextOn.txt = заходит в игру. TextOff.txt = выходит из игры. 3. Mmm... No, using the current API, we still can't write anything in the chat. There are other ways like displaying a pop-up panel (like tooltip). You can animate them, paint custom graphics for your own widgets, and you can scale the fonts, and change its color.
  15. В аттачменте - тестовый аддон, который экспортирует списки друзей и связанные с ними тех.данные в Allods Online\Personal\Logs\Mods.txt Нужно войти с этим аддоном в игру, затем прислать мне те строки из Mods.txt, которые начинаются с Info: addon FirendsListTest: Если текста будет очень много, то, может, лучше сжать его в архив, и выложить здесь аттачментом. Или на zalil.ru, а сюда выложить ссылку. Посмотрим, можно ли что-нибудь с этим сделать. . File: FirendsListTest.zip
  16. global.cfg и user.cfg - эти 2 файла сожми в архив, и выложи, например, на zalil.ru, и напиши здесь ссылку на скачивание.
  17. Ясно, значит, отобрали. Можно поискать какие-нибудь другие события, которые при этом происходят (что-то с аукционом, или с инвентарём, или что-то, что происходит при перетаскивании иконок, и т.п.)
  18. Да, такой аддон сделать можно. Скорее всего, можно даже сделать звуковое сопровождение, хотя никто этого пока не умеет делать. Как вариант, можно пользоваться аддоном AutoAcceptInvite. Он просто принимает приглашения в группу/отряд от всех подряд, что вполне подходит в этой ситуации. А когда весь рейд будет в сборе, можно просто коллективно "пошуметь" (бафами, эмоциями, ...), чтобы все, кто отошёл от мониторов, вернулись к игре.
  19. Не знаю, что посоветовать... Если аддоны работали в предыдущей версии, и ВДРУГ, в новой версии пропала кнопка включения аддонов - то это, видимо, вопрос к разработчикам игры. Можно попробовать спросить в саппорте, НО ТОЛЬКО ДНЁМ, А НЕ НОЧЬЮ (по ночам там работает смена дебилов-олигофренов). Хотя, тут нужно спрашивать именно самих программистов, а не тех.поддержку. Говорят, в такой ситуации помогает переустановка игры, однако я бы не спешил с этим, а попробовал бы для начала запустить Repair (полную проверку инсталляции клиента). Если не поможет, то удалить файлы global.cfg и user.cfg, чтобы игра создала новые, с настройками "по умолчанию" (как при свежей установке). Кстати, если можешь, дай посмотреть свои global.cfg и user.cfg, возможно, где-то там проблема и кроется.
  20. Обновил статью для АО 1.1.03. Для кода определения версии подобрал функции покороче, чтобы она стала чуть компактнее Кстати, 4 папки API сжались в архив 7Z размером всего 332 Кб (!), против 7.2 Мб в RAR! Я в шоке, 7-Zip рулит Edit: Упомянул полностью переделанную в патче 1.1.03 библиотеку guild.
  21. Quote: api_v1.xml OMG, LOL, now I remember, this api_v1.xml was posted by Skillcoder almost a year ago in the 3-rd topic of THIS forum: http://ui9.ru/forum/develop/topic/3 )))) Quote: BTW: is it possible to make that "/Schlachtzug text here" automaticly call "/raid text here" (our gm's have translated raid with schlachtzug, but they do not have added an new slashcommand dor it...) No, we can't alter the chat in any way. We can't alter messages, and we can't write to the chat. All those functions are blocked to protect the chat against spammers )
  22. Because OnReactionOK is not OnReactionOk. Note the uppercase and lowercase 'K' =)
  23. Ужас, что творится в чате... Кстати, тут есть топик, где создаётя аддон, позволяющий избавиться от назойливых спамеров - SpamProtect. Если бы у меня на английском сервере был бы удалён хоть один друг, я бы попробовал почистить список друзей тестовым аддоном, командой social.RemoveFriend( name ), у которой параметром была бы пустая строка. Однако, подозреваю, что это не сработает, скорее всего, там не пустая строка, а nil. Этот баг будет исправлен в патче АО 1.1.01. Надеюсь, он не за горами. Завтра, если не забуду, сделаю такой тестовый аддон и выложу здесь. А вдруг сработает.
  24. Quote: I would like to know if it's possible to create an addon such as GetDKP for WoW. It doesn't need to have all the functions of GetDKP but to at least output in text file list of raid members and who got what items, during raids. Yes, I think it is possible to create something like GetDKP. We have everything we need for such addon: raid.GetMembers() to get raid members list, and EVENT_LOOT_FOR_GREED_NEED to get item name, and EVENT_GREED_NEED_ROLLS to get looter name. Quote: Also is it possible to make a program to chat with guild while on the road, and to see who is online in guild. I have a small laptop that I take when I travel but it can't run Allods, I wish to be able to chat in game with my guild mates and see who is online in guild. No, this is absolutely impossible, since all AO traffic is encrypted. We can't reverse-engineer it, so, we can't make such apps.
  25. Скоро будет обновление AoTexturViewer. Все текстуры будут нормально открываться.
×
×
  • Создать...

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

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