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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

[1.1.0.3] Изменения API


Гость wait

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

Обновлением 1.1.0.3 от 07.04.2010 дополнены старые и добавлены новые "защищенные" категории функций API, не доступных для вызова из пользовательских скриптов, но активно использующихся оригинальными интерфейс-скриптами.

Скрипты использующие какие-либо функции из нижеперечисленных должны быть помечены как "временно не работает".

  • protectedCommon:

    "SetEditLineTexts"

    "IsUserModsEnabled"

    "EnableUserMods"

    "GetUserAddons"

    "EnableUserAddon"

    "OpenUrl"

    "IsGfxApprovedDriver"

    "IsEulaAccepted"

    "ConfirmAcceptEula"

    "GetGameVersion"

    "GetGameBuildInfo"

    "GetStateDebugName"

    "SendEvent"

  • protectedMission:

    "UnitGetAggroList"

    "InteractiveObjectGetPos"

    "ObjectIsLos"

    "SetContextActionToObject"

    "SetContextActionToDevice"

    "SetContextActionToItem"

    "ClearContextActionFromObject"

    "ClearContextActionFromDevice"

    "ClearContextActionFromItem"

    "AvatarHasContextActionSpell"

    "AvatarHasContextActionItemSpell"

    "GetAvatarRemoteConfigSection"

    "SetAvatarRemoteConfigSection"

  • protectedActions:

    "RunSpell"

    "RunTargetSpell"

    "RunAESpell"

    "RunContextAction"

    "RunPointContextAction"

    "InventoryUseItem"

    "InventoryUseItemOnPoint"

    "EquipmentUseItem"

    "EquipmentUseItemOnPoint"

    "CreateMail"

    "TakeLoot"

    "TakeLootMoney"

    "TakeAllLoot"

    "Use"

    "RunUsableDeviceAction"

  • protectedChat:

    "ChatSay"

    "ChatZone"

    "ChatYellZone"

    "ChatParty"

    "ChatChannel"

    "ChatWhisper"

    "RunChatInput"

  • protectedCraft:

    "DoAlchemyReaction"

    "CorrectAlchemyDrum"

    "FinishAlchemyReaction"

    "StartArmorCraftGame"

    "RerollArmorCraft"

    "LockArmorCraftProperty"

    "LockArmorCraftCounter"

    "DisassembleItem"

  • debugMission:

    "ObjectGetSysDebugName"

    "UnitGetDir"

    "UnitGetSize"

    "UnitGetSpeed"

    "UnitGetServerInfo"

    "Log"

    "PerfomanceLog"

    "GetMap"

В mods.txt теперь выводится довольно подробный лог:

Code:
Error: addon DarkDPSMeter:   func: ?, ?, line: -1, defined: C, line: -1,  [C] 

Error: addon DarkDPSMeter:     func: GetSpellInfoNameFromParams, global, line: 18, defined: Lua, line: 11,  [string "Mods/Addons/DarkDPSMeter/Scripts/DarkDPSMet..."] 

Error: addon DarkDPSMeter:       func: GetCombatantDamageData, method, line: 368, defined: Lua, line: 359,  [string "Mods/Addons/DarkDPSMeter/Scripts/DarkDPSMet..."] 

Error: addon DarkDPSMeter:         func: UpdateCombatatnsData, method, line: 413, defined: Lua, line: 410,  [string "Mods/Addons/DarkDPSMeter/Scripts/DarkDPSMet..."] 

Error: addon DarkDPSMeter:           func: UpdateFightsData, method, line: 521, defined: Lua, line: 519,  [string "Mods/Addons/DarkDPSMeter/Scripts/DarkDPSMet..."] 

Error: addon DarkDPSMeter:             func: ?, ?, line: 193, defined: Lua, line: 191,  [string "Mods/Addons/DarkDPSMeter/Scripts/DarkDPSMet..."] 

Error: addon DarkDPSMeter: Attempt to read from undeclared global variable: ID

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

Ага, я заглянул в MODS.TXT, и офигел. Выводятся ошибки скриптов! Ну наконец-то!! УРА!!! =))

Правда, сыровато:

Code:
Error: addon Minimap: Game::LuaAvatarGetId: main player not found, details: int __cdecl Game::LuaAvatarGetId(struct lua_State *)

Но это приколы их движка. Во время инициализации, он иногда "не находит" таких вещей, которые ДОЛЖНЫ быть. Во время смены зоны, может не найти названия новой зоны. Во время смены резолюции, может выдать неправильную новую резолюцию. Даже не знаю, как с этим бороться - неужели, ставить в инициализации таймер на 5 секунд, и по его истечении запускать инициализацию.

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

хотелось бы добавить что

АватарЮзИнветори тоже не работает .. ((( .. ее теперь даже нет в офф айпи.

вообще всю прелесть аддонов поубивали.. гады

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

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

Быстренько сверил папки из ModsDocs.zip в WinMerge... Перемены только в папке LuaApi:

1.0.07.21 vs 1.1.0:

  • Новых файлов нет.
  • Удалено - 32 файла.
  • НЕ изменились - 982 файла.
  • Изменились - 484 файла.

Такое количество изменённых файлов потому, что из них изъяли перекрёстные ссылки на всякие запрещённые команды вроде RunSpell().

Кроме того, много где поменялись описания функций. Это требует более пристального сравнения.

Убрали такие функции как, например:

common.SendEvent()

group.Chat.....() (все функции чата!)

mission.RunChatInput()

avatar.TakeAllLoot()

avatar.TakeLoot()

avatar.TakeLootMoney()

mailBox.CreateMail()

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

у девелоперов свои плюшки есть ;)

developerAddon:

"FinishAddon"

"LoadAddon"

"RunChildGame"

"RunChildGameAbsolute"

"IsChildGame"

"LoadMobList"

"LoadQuestList"

"LoadTactics"

"GetTacticsSize"

"GetParams"

"GetParam"

"LogTest"

"GetName"

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

Quote:
а ChatSay им чем мешал?

теоретически потомучто через чат сай можно было
1.Флудить
2.Запускать команды типа "следовать" и таскать за собой твинка хила или твинка ДД
У меня правда так не получилось сделать т.к. в предыдущем патче они порезали данную команду.. думаю что в этом патче или следующем команду вернут .. а вот использовать ее уже нельзя будет..(
Ссылка на комментарий
Поделиться на другие сайты

УРА!!!!! Может, и перезагрузка аддона С РЕСУРСАМИ теперь работает? =)

Ушёл читать API... - Ничего не нашёл. Теперь придётся САМИМ разбираться, что значат эти функции...

А что, если эти функции НЕ для нас, а для игры, чтобы она работала с нашими аддонами?

Мне эти RunChildGame очень смахивают на запуск виртуальных машин, песочниц, для "безопасной" работы аддонов.

В принципе, Addon Developer и Developer Addon - разные вещи. Я тут, в радостной эйфории, не пригляделся. Addon Developer - это мы :), а Developer Addon - это аддоны разработчиков игры, НЕ НАШИ. :)

Так они нам доступны? Значит, мы тоже можем их использовать.

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

инициализацию делать по какомунит onavatarloaded (точно не помню)

у меня так. все работает

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

прямо таки руки чешутся чето с этим сделать(

продолжаем тему..... (типа ЭДИТ ТУТ)

а зачем вообще нужна команда следовать?

а снять точки положения главного игрока (тем более если оно в группе это можно)?

и потом по ним проехатся?

и никакого тупого цепляния за камни и падений с аллодов)

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

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

я даже знаю че ее порезали)

я ее какраз приспособил вместо CastSpell ))))

деж они берутся то (

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

Тогда понятно.

Но они должны бы нам дать альтернативу, для обмена данными между аддонами. Что-нибудь вроде SendUserEvent(), и чтобы пользовательские сообщения ставились в отдельную очередь, обрабатываемую только аддонами... Удобно и безопасно.

P.S. Прощайте, всплывающие подсказки. Они работали на SendEvent().

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

Обрадовался!.. Не доступны конечно! Только что проверил...

ADD: И ресурсы тоже не перезагружаются, к сожалению (

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

Спасибо, так и сделаю :)

EDIT: Поясню для всех, чтобы было понятно, и чтобы поисковики находили это решение проблемы:

Событие называется EVENT_AVATAR_CREATED

До его наступления, нельзя работать с библиотекой avatar.

Иначе, например, если при инициализации аддона попробовать взять ID аватара - avatar.GetId() - выйдет дурацкая ошибка "main player not found":

Code:
Game::LuaAvatarGetId: main player not found, details: int __cdecl Game::LuaAvatarGetId(struct lua_State *)
Ссылка на комментарий
Поделиться на другие сайты

Ну и ладно. Хоть отладку нормальную сделали. Это уже первый шаг :)

Интересно, не выводятся ли ошибки XDB-файлов в MODS.TXT ? Завтра проверю.

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

Насчёт API будущих версий, загляните сюда: Нужен новый Агрометр + Хорошие новости

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

далее тема медленно переползает в лс)

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

такое впечатление, че луа апи ВООБЩЕ не имеет доступа к движению)

ну а остальные аспекты были изложены в потертой теме)

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

я об этом и говорю - двигацца низя со скриптов, вообще нет удобных способов перемещения.

можно только получить состояние - двигаюсь ли я и куда :)

и лс тут не причем :)

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

просто двигаться действительно нельзя.. а вот пися в чат комнду следовать можно было ходить за игроком.. другими словами можно было таскать за собой бота .. умеющего хилить или ДДшить. конечно же бегать по локам нельзя былобы .. а вот подцепив к себе двух ботов ДД и Хила играя танком.. можно было фармить героики ) и весь лут собирать себе.. а также с паломДД и Хилом ботом. лупить красных локбоссов .. при этом не делиться ни с кем лутом)

не мне вам рассказывать что с тем айпи которое нам дали в начале и с тем айпи которое дали вторым.. можно было сделать полноценных ботов.. которые применяли скилы вовремя и по назначению .. едиственный минус они (боты) не умели сами ходить)..

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

обе эти дырки прикрыли сразуже во втором айпи.

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

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

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

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

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

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

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

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

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

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