Jump to content

Digest October

We talk about what was done and updated in the past month. We help keep abreast of events.

Read more

Servers monitoring and the Addons Editor

We present you two legends. All dreams come true.

Servers monitoring The Addons Editor

Game tooltips

Tooltips provide a way for 3rd party fansites and extensions to display detailed information on mouseover.

Read more

Обновление "Новые испытания" (1.1.04.14) [09.09.2010]


SLA
 Share

Recommended Posts

Внезапно, 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 версиях аддон будет всегда находиться НАД всеми интерфейсами игры, а это просто катастрофа.

Link to comment
Share on other sites

При том, что API изменился (как самый минимум, добавлено поле lastOnline в таблицу, возвращаемую guild.GetMemgerInfo()), новый файл ModdingDocuments.zip приложить ЗАБЫЛИ !!!!!

Окно чата подвинули ниже.

Починили кнопки первой панели у Воинов (кнопки 1-6), у которых раньше верхняя половина каждой иконки была закрыта чем-то невидимым, и потому, не реагировала на нажатия. Это починили :)

Наконец-то сделали человеческое окно Друзей и Игнора :)) Даже пол персонажей показывает, которого раньше небыло в API. И в новом окошке добавления друга, editbox сразу имеет фокус, ну наконец-то.

На Асээ-Тэпх, на базе Лиги, поломали ворота в башне, и теперь доступна какая-то новая лебёдка, которая держит флаг на башне. Видимо, в Имперском лагере сделано то же самое. Как я понимаю, для противоположной фракции эта лебёдка "активная", и нажав не неё мышкой, они могут СПУСТИТЬ ФЛАГ во вражеском лагере :)) Это только моё предположение, а зачем это на самом деле нужно, и имеет ли это какую-то практическую ценность, пока не знаю. Просто гадаю :)

Теперь, о неприятном. <Priority> всех форм стандартного интерфейса АО, стал выше 1000, поэтому, все аддоны рисуются ПОД всеми элементами стандартного интерфейса. Эх, а я уже понадеялся, что ХОТЬ РАЗ, хоть один крупный патч, обойдётся без тотальной переделки всех аддонов... Мечты, мечты...

Теперь нужно установить этот новый "рекомендуемый" <Priority> для всех аддонов. И выдрать новый API, хотя бы, список названий функций. Уффф...

UPD: Рекомендую значение <Priority> равное 4000. Об этом я написал в верхнем сообщении этой темы.

Link to comment
Share on other sites

Поломался аддон 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 :)

Link to comment
Share on other sites

Не знаю зачем для функции unit.GetEquipmentItemIds добавили второй аргумент, возможно кроме обычных вещей теперь можно вытягивать что-то еще (костюмы?). Не экспериментировал. Для работы новой функции по старому алгоритму во второй аргумент нужно вписать единицу (подобрал методом тыка), чтобы получилось примерно так unit.GetEquipmentItemIds(UnitID,1)

Link to comment
Share on other sites

Ну и я тогда отпишусь, что нашёл:

social.GetFriendList()

social.GetIgnoreList()

В АО 1.1.04, эти функции больше НЕ возвращают массив таблиц, а возвращают список ID-номеров (friendId или IgnoreId), в точности как это делает guild.GetMembers() в патче 1.1.03.

social.GetFriendInfo( friendId )

social.GetIgnoreInfo( IgnoreId )

Две новые функции, появившиеся в АО 1.1.04. Они возвращают информацию о друзьях/игнорах по friendId/IgnoreId, в точности как это делает guild.GetMemberInfo() в патче 1.1.03. Возвращаемые таблицы аналогичны тем, какие в патче 1.1.03 возвращали social.GetFriendList() и social.GetIgnoreList().

В таблицах social.GetIgnoreInfo(), добавилось IgnoreId.

В таблицах social.GetFriendInfo() добавилось не только friendId, но и ещё два поля - isMutual (взаимная ли дружба, true = вы в списке друзей друга, false = вас в его списке нет) и sex (таблица с полями raceSexName, name, sex):

sex.raceSexName - строка ("Каниец", "Канийка", "Эльф", "Эльфийка", "Гибберлинг", и т.д.)

sex.name - строка (вариантов не много - "Мужчина" или "Женщина")

sex.sex - число (1 = мужчина, 2 = женщина, третьего не дано).

Забавно, что Гибберлинги всегда мужчины :))

guild.GetOwnAllods()

Этой функции больше нет. На её месте, появились несколько новых функций, т.к. именно эта часть игры API была полностью переработана в АО 1.1.04. Но мы не знаем их названий, т.к. нет API :(

API 1.1.04.zip:

API 1.1.04, выдранный через лог _G, как в старые добрые времена... =))

Здесь далеко не всё, конечно, и самого интересного, как раз, нет. Но всё же, на всякий случай, список функций в аттачменте:

.

Link to comment
Share on other sites

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using our site you agree to the Terms of Use