Классы
Статы, идеальное соотношение · Умения и вехи, как получить · Души · Сравнение классов
Воин · Жрец · Некр · Лучник · Шаман · Мист · Бард · Инж · Демон
Игровой процесс
Как одеваться · Драконий облик · Наследие Богов · Фарм золота
Прохождения локаций
Мониторинг серверов и редактор аддонов
Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.
Подсказки из игры на вашем сайте
Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.
SLA
Пользователь-
Постов
1 641 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Магазин
Галерея
Весь контент SLA
-
Обновил функцию GetGameVersion() для АО 1.1.04. У нас НЕТ новой документации по API 1.1.04, но я нашёл названия двух новых функций - social.GetFriendInfo() и social.GetIgnoreInfo(). Просто догадался , что они должны были появиться, аналогично тому, как в прошлом патче появилась guild.GetMemberInfo(). Ведь GuildGui1b, в этот раз, сломался в списке друзей, аналогичным образом, как он сломался в прошлый раз в списке гильдии =))
-
Поломался аддон GuildGui1b, потому, что изменились функции API. Очевидно, функции списка друзей в АО 1.1.04 переделали аналогично тому, как в АО 1.1.03 были переделаны функции списка гильдии. Но я не переживаю за GuildGui1b, т.к. его можно починить и "вслепую", без документации по новым функциям. Сегодня и починю, вернее, завтра. UPD: Обновил функцию GetGameVersion(). Я нашёл названия двух новых функций - social.GetFriendInfo() и social.GetIgnoreInfo(). Просто догадался , что они должны были появиться, аналогично тому, как в прошлом патче появилась guild.GetMemberInfo(). Ведь GuildGui1b, в этот раз, сломался в списке друзей, аналогичным образом, как он сломался в прошлый раз в списке гильдии =)) Пытался получить список функций API через вывод _G в лог-файл. Однако, если для common, avatar, mission получается достать таблицу, то userMods и social, почему-то, оказываются ФУНКЦИЯМИ, а не таблицами. То есть, по ним никаких данных достать не получается. Кто-нибудь знает метод получше, чем _G ? Кроме того, запросил новый ModdingDocuments.zip на оф.форуме АО. UPD: Кто-нибудт видит обещанное "время последнего входа в игру" в стандартном списке гильдии? Я не вижу! UPD: А почему я разговариваю сам с собой? А, понял, все ещё в школе У меня, например, сегодня должны были быть Правописание, Математика, и Чтение. Но как настоящий фанат АО, я сегодня прогулял школу, чтобы не пропустить выпуск патча 1.1.04
-
При том, что API изменился (как самый минимум, добавлено поле lastOnline в таблицу, возвращаемую guild.GetMemgerInfo()), новый файл ModdingDocuments.zip приложить ЗАБЫЛИ !!!!! Окно чата подвинули ниже. Починили кнопки первой панели у Воинов (кнопки 1-6), у которых раньше верхняя половина каждой иконки была закрыта чем-то невидимым, и потому, не реагировала на нажатия. Это починили Наконец-то сделали человеческое окно Друзей и Игнора ) Даже пол персонажей показывает, которого раньше небыло в API. И в новом окошке добавления друга, editbox сразу имеет фокус, ну наконец-то. На Асээ-Тэпх, на базе Лиги, поломали ворота в башне, и теперь доступна какая-то новая лебёдка, которая держит флаг на башне. Видимо, в Имперском лагере сделано то же самое. Как я понимаю, для противоположной фракции эта лебёдка "активная", и нажав не неё мышкой, они могут СПУСТИТЬ ФЛАГ во вражеском лагере ) Это только моё предположение, а зачем это на самом деле нужно, и имеет ли это какую-то практическую ценность, пока не знаю. Просто гадаю Теперь, о неприятном. <Priority> всех форм стандартного интерфейса АО, стал выше 1000, поэтому, все аддоны рисуются ПОД всеми элементами стандартного интерфейса. Эх, а я уже понадеялся, что ХОТЬ РАЗ, хоть один крупный патч, обойдётся без тотальной переделки всех аддонов... Мечты, мечты... Теперь нужно установить этот новый "рекомендуемый" <Priority> для всех аддонов. И выдрать новый API, хотя бы, список названий функций. Уффф... UPD: Рекомендую значение <Priority> равное 4000. Об этом я написал в верхнем сообщении этой темы.
-
Внезапно, 1.1.04. Обновление "Новые испытания" (1.1.04.14) [09.09.2010] Я боюсь новых патчей, блин. Посмотрим, что он нам принесёт, в плане API. Как-то, перед самым выпуском 1.1.03, я запрашивал, чтобы разработчики добавили в API функции GetGameLocalization() и GetGameVersion(), и ещё кое-что. Посмотрим, добавили ли. Патчноут 1.1.04 wrote: Интерфейс В списке участников гильдии теперь будет отображаться время последнего входа в игру. Сцуко! =) Я столько трудился над этой функцией в GuildGui1b! ) А теперь придётся запилить кнопку [Получить "Время Офлайн"]. UPD: Ну и где оно? Может оно и приходит в API (скоро это проверю), но в стандартном окне гильдии, я этого не вижу. Кто-нибудь видит? ВНИМАНИЕ, ВСЕМ РАЗРАБОТЧИКАМ АДДОНОВ, САМОЕ ВАЖНОЕ ИЗМЕНЕНИЕ В ВЕРСИИ 1.1.04: MainForm.(WidgetForm).xdb / <Priority>4000</Priority> Тот уровень <Priority> "по умолчанию" для всех аддонов, который раньше находился на 1000 (рекомендованный когда-то Нивалом в SampleReactionHandler), теперь находится примерно на уровне 4000. Установлено методом проб и ошибок в русской версии АО 1.1.04. В этой версии, старый уровень 1000 находится уже где-то ПОД всем интерфейсом игры (кроме одного лишь списка квестов, в правой части экрана). НО не забывайте и про обратную совместимость с EU/US версиями. У них, уровень 4000 находится НАД всем интерфейсом игры, над всеми окнами, даже над окном карты (одно только главное меню выше). Поэтому, в каждом аддоне, кроме исправления <Priority>4000</Priority> в файле MainForm.(WidgetForm).xdb, ПОЖАЛУЙСТА, НЕ ЗАБУДЬТЕ, в инициализацию аддона (функцию Init(), или в любом другом месте, можно вне функций, где этот код будет обязательно выполнен), дописать такой код для EU/US версий: Code: -- Backward compatibility with pre-1.1.04 versions:if not social.GetFriendInfo then mainForm:SetPriority( 1000 ) end Потому, что без этого твика, у в EU/US версиях аддон будет всегда находиться НАД всеми интерфейсами игры, а это просто катастрофа.
-
Unfortunately, impossible in AO 1.1.00. But starting from NEXT big patch, AO 1.1.01, you will be able to do so: MySubstring = string.sub( userMods.FromWString( MyWString ), iStart, iLength )
-
Ёлки-моталки, Капитан Очевидность негодует. Nikon же уже починил и перевёл CT, и выложил выше аттачметном Ct_ru.zip, бери и пользуйся Я не заметил этого поста, и тоже починил *ConfigSection() в CT. А надписи перевести не успел, их надо перевести с использованием GetGameLocalization(), чтобы аддон остался униварсальным. Для начала, чтобы было всё по честному, предложу автору аддона CT, drind23, самому выложить CT на нашем сайте. Намекну, что если сам не выложит, то выложат за него Как говорится в фильме "Крёстный отец", сделаю ему предолжение, от которого он не сможет отказаться =)
-
OK, tested It actually WORKS. It really unloads and loads addons, and restarts them. But there are some problems: 1. It correctly shows loaded/unloaded status by COLOR (loaded addons are Green, unloaded are Red), BUT string status is wrong: It shows "unloaded" for all loaded addons, and "loaded" for those which I have unloaded by pressing its [load/unload] button. (see screenshot). 2. If I unload an addon, it shows BOTH "loaded" and "unloaded" texts in one place (see screenshot, those places a marked with red arrows). I quickly looked at your code, you have a single LoadStatus text-widget here, and filling it with "loaded" OR "unloaded" from RelatedTexts. This is correct. So, I don't understand, what is the problem. 3. Main window have NO background. Because you linked MainPanel's <BackLayer> to a texture from SpamProtect, LOL ) Fix this 4. Scrollbar would be a nice feature, because if somebody have 100 addons, he will not see all of them. 5. Alphabetical sorting would be also a good idea. 5. When I unload an addon, and then LOAD it again, it always gives me this error in Mods.txt: "Attempt to read from undeclared global variable: addon". You probably have to replace (at line 85) "addon.name" with "addons.name". P.S. Also, if you are using AOClassLibrary.lua from DarkDPSMeter (congratulations, you are first who does it except DarkDPSMeter itself , then maybe it would be better to take the whole library, and call it not "DND_core.lua", but "AOClassLibrary.lua", because it is not just about Drag&Drop, it is a full-featured object-oriented programming library for working with AO widgets. And it is developing not as a part of DarkDPSMeter, but as an independent universal library. So if everyone call it "AOClassLibrary.lua", it will be much easier to track which addons have to be updated when this library gets updated. And you can remove "nil" from addon resources, and replase everywhere: common.GetAddonRelatedText("nil") with this: common.GetEmptyWString() BTW, Carnifex, if you want AO 1.1.04 for testing, you can get it from Allods.ru. Technically, you CAN have several different AO versions installed simultaneously. I can help you with registration and client downloading. Screenshot:
-
You was coding all night? Me too OK, nice, I will test it right now BTW, we already have similar addon AddonManager, but Duvodas didn't released it yet, he says it is still incomplete. But we NEED such addon to be released, it is extremely useful.
-
Огого! Наши американские коллеги делают аддоны, и ещё какие! Нужно будет связаться с разработчиком, попросить, чтобы выложил на UI9
-
Спокойно! =) Всё со временем будет. Будет опция собирать статистику только для своей группы в рейде, и только для себя в рейде/группе. Будет опция приостановки работы аддона. Всё будет. Просто, на это всё нужно время. Uldemir, идея насчёт пересчёта по таймеру - хорошая, я до этого как-то не догадался, надо попробовать. Собственно, урон приходится складывать именно во время ударов (в АПИ нет функции "покажите мне весь урон за прошлую секунду"), но, за то, все остальные подсчеты (дпс, сортировка списков, и др.) можно делать раз в секунду. Насколько это ускорит аддон - не знаю, но попробовать стоит. Имхо, в рейде, ускорит в разы
-
Quote: если user.cfg держится в ОЗУ, то как часто идёт сохранение? Раз в секунду? Вроде, запись на диск начинается мгновенно, сразу после каждого изменения. Запись может занять разное время, в зависимости от размера этого файла. У меня она длится с полсекунды, т.к. у меня установлен HealthDB и раньше работал LootInfo, а почистить этот файл руки не доходят Во время записи, в игре наблюдается полусекундный лаг.
-
Не-а, не можем. Средствами аддонов, ничего нельзя написать в чат. Разработчики, запретив нам средствами аддонов отправлять сообщения в чат, каг бэ, "защитили игру от спама". Но спамеры тоже не дураки, за 5 минут нашли обходные способы (с помощью win32-программ, через хук клавиатуры), а мы с вами, честные люди, остались в дураках. Надо просить Нивал, чтобы снова разрешил пользоваться чатом, т.к. этот их метод борьбы со спамерами всеравно оказался неэффективным.
-
Carnifex wrote: The problem is, that http://allodsdatabase.com/ isn't up to date in the EU and US version. They still use v. 1.0.06.36 and because of that a lot of content from v. 1.1.00.44 is missing AllodsDatabase.com is now updated. It is written on their start page: AllodsDatabase.com wrote: Version 1.1 Update allodsdatabase.com now with 1.1.00.44.3 data! New items, npcs, quests and zones are waiting for you to be explored. Enjoy browsing the database.
-
ОБНОВЛЕНИЕ R31 / UPDATE R31 : RU: -- Hotfix: Прогрессбары больше не полупрозрачные. -- А также, забыл упомянуть, в предыдущем обновлении, выложенном 6 часов назад: Когда члены группы/рейда находятся "далеко", их прогрессбары больше никогда не исчезают (То есть теперь, например, находясь в Чистилище, можно заняться изучением статистики боя). EN: -- Hotfix: Progressbars are no more semitransparent. -- Also, forgot to mention, in previous update, released 6 hours earlier: When your group/raid members are "far", their progressbars will never disappear (That is, now, for example, while being in Purgatory, it is possible to study statistics of the battle).
-
"Carnifex" wrote: One main reason of this is the very very bad information (no concrete infos) policy of gpotato.eu and the very bad localisation (especially in German and French). When I see some defects in Russian AO version, it makes me sad, but I understand that Astrum-Nival have a lot of job, and probably are too busy to find and fix every single defect. But foreign players gets not only those defects from Astrum-Nival, but also a poor translation from gPotato, and this makes me especially sad. gPotato, as a game producer, have only 3 simple tasks: 1) Game localization, 2) Game support, 3) Making money from the game. They probably have decided that 3-rd task is the most important, and other two are not important at all. I hate those greedy morons for making so poor localizations. Are they blind? Or they can't read? Or they are never testing their own translation? Or maybe they have only 3 people working in AO office? Or are they so unqualified, that they can't run a simple search on their database to find and translate all cyrillic texts? Or what? I don't understand this lame situation. Why their English translation is so poor. And I guess German and French are much worse. When EU servers repopulate, they will be making a LOT of money from this game. I don't understand why they pay so little attention to translatuion quality... BTW, AO development costs at least 15 millions USD, maybe 20 millions. Mail.ru top managers said, it has already paid off! Unbelieveable, they said, their income is already bigger than game development cost. "Carnifex" wrote: BTW: The developer of AO will give us not your patches from version 1.1.01. The aim is it, to bring inportant features earlier to us. So they will add some features from your later patches to patch 1.1.01. gPotato promises to implement a guild leveling system. Technically, it requires AO 1.1.03 API, so I guess your next AO version should be 1.1.03, just like ours. "Setras" wrote: Wow and lol, but i did not hear ANY rumours about this, but this came TRUE! Now (1.1.03.2x or 1.1.03.25 of russian AO) you can have free patronage once a day for 150-90 minutes (150 for 1-19 lvls, 120 for 20-29 lvls and 90 minutes for 30-34 lvls). Those rumours was in gPotato's promises and announcements We have to thank EU players, because without their boycott, we would NEVER have a free daily Insence quest on our servers.
-
Принципиальная разница между User.cfg и Mods.txt в том, что в User.cfg можно писать, и можно его читать (НО только аддоном, а сторонняя программа не может ничего туда записать во время работы игры, Abagor объяснил, почему). В Mods.txt можно только писать. Кроме того, User.cfg - это файл конфигурации, в который можно как добавлять новую информацию, так и перезаписывать старую. А Mods.txt - это обычный лог-файл, где каждая новая запись добавляет новую строку. Quote: > аддон записывает результаты своей работы в файл > каждые N секунд программа просматривает этот файл (путь указывается через настройки), стирает содержимое и выполняет команду, данную ей через него Для этого можно использовать любой из двух файлов, но, имхо, лучше подойдёт User.cfg. Только стирать из него ничего нельзя, пусть аддон просто перезаписывает одну и ту же таблицу по верху, но каждый раз, с каким-нибудь новым признаком, чтобы программа соображала, когда эта таблица обновилась. В качестве такого признака лучше всего подойдёт порядковый номер команды (1, 2, 3, ...). Впрочем, если есть вероятность, что команды могут быть отправлены с интервалом меньше секунды, то User.cfg не подходит, т.к. аддон тупо перезапишет одну команду другой, и программа одну команду упустит. Тогда, лучше пользоваться Mods.txt. Тоже, наверное, можно ничего не стирать, просто к командам приписывать порядковые номера.
-
Для начинающих: Как сделать свой аддон Создание GUI
-
Для начинающих: Как сделать свой аддон Создание GUI
-
ОБНОВЛЕНИЕ R30 / UPDATE R30 : RU: -- В свёрнутом состоянии, аддон всё так же собирает статистику, НО больше не выполняет кучу ненужной работы по переписовке графики -- Оптимизированы (ускорены) циклы, выполняемые аддоном каждую секунду. -- Исправлен сбор статистики в рейде (в некоторых редких ситуациях, раньше собиралась не вся статистика для рейда). -- Полностью переписан код Drag&Drop. -- Множество других мелких оптимизаций в логике аддона, которые я сделал в августе, пока был в отпуске. (Там не было доступа к интернету, не было возможности протестировать, но за то, было время посидеть и разобраться, что и как устроено). EN: -- In minimized state, addon collects statistics, BUT it no longer performs a lot of unnecessary work on graphics repainting -- Optimized (speed up) cycles, which are performing once per second. -- Fixed bug in statistics collection in the raid (earlier, in some rare cases, it wasn't collecting some statistics for the raid). -- Completely rewritten Drag&Drop code. -- Many other minor optimizations in the logic, which I did in August, while I was on vacation. (There was no internet access, no testing ability, but instead I had a lot of time to figure out, how this addon works).
-
По идее, проверка на доступность гильд-чата и офицер-чата происходит: 1) при старте аддона, 2) при каждом изменении состава гильдии, 3) при каждом изменении рангов в гильдии. То есть, именно в эти моменты кнопки могут появляться или пропадать, но никак не в момент попадания в Чистилище. Кроме того, состояние этих кнопок НЕ сохраняется между игровыми сессиями. Даже если бы что-то случилось, то простой перезапуск игры должен был бы решить проблему.
-
ОБНОВЛЕНИЕ R9: -- Ещё одно исправление для АО 1.1.03. Панель передвинута на 24 пикселя вправо, и теперь кнопка "Сказать" снова доступна. (Имхо, в 1.1.03 разработчики что-то поломали в интерфейсе, и первая кнопка ChatBarAO была перекрыта чем-то невидимым, оттого и не работала). P.S. У меня в версии АО 1.1.03 началась такая же фигня на панели заклинаний у воина. Первые 6 иконок (1-6) сверху наполовину закрыты чем-то невидимым, поэтому, чтобы они срабатывали, нужно жать на их нижнюю часть Это у всех так?
-
No, currently, there is no other heal-meters, except StatsHeal. And yes, it is possible to create an advanced one.
-
Just found this example in API: Code: local myrrhId = avatar.GetCurrencyId( "myrrh" )if myrrhId then local info = avatar.GetCurrencyInfo( myrrhId ) if info then local currentValue = info.value end end
