Guest wait Posted April 8, 2010 Share Posted April 8, 2010 Обновлением 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 Quote Link to comment Share on other sites More sharing options...
SLA Posted April 8, 2010 Share Posted April 8, 2010 Ага, я заглянул в MODS.TXT, и офигел. Выводятся ошибки скриптов! Ну наконец-то!! УРА!!! =)) Правда, сыровато: Code: Error: addon Minimap: Game::LuaAvatarGetId: main player not found, details: int __cdecl Game::LuaAvatarGetId(struct lua_State *) Но это приколы их движка. Во время инициализации, он иногда "не находит" таких вещей, которые ДОЛЖНЫ быть. Во время смены зоны, может не найти названия новой зоны. Во время смены резолюции, может выдать неправильную новую резолюцию. Даже не знаю, как с этим бороться - неужели, ставить в инициализации таймер на 5 секунд, и по его истечении запускать инициализацию. Quote Link to comment Share on other sites More sharing options...
Guest KentAVr57 Posted April 8, 2010 Share Posted April 8, 2010 хотелось бы добавить что АватарЮзИнветори тоже не работает .. ((( .. ее теперь даже нет в офф айпи. вообще всю прелесть аддонов поубивали.. гады Quote Link to comment Share on other sites More sharing options...
Guest wait Posted April 8, 2010 Share Posted April 8, 2010 protectedActions.InventoryUseItem Quote Link to comment Share on other sites More sharing options...
merlok Posted April 8, 2010 Share Posted April 8, 2010 дааа а ChatSay им чем мешал? Quote Link to comment Share on other sites More sharing options...
SLA Posted April 8, 2010 Share Posted April 8, 2010 А без 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() Quote Link to comment Share on other sites More sharing options...
Guest wait Posted April 8, 2010 Share Posted April 8, 2010 у девелоперов свои плюшки есть developerAddon: "FinishAddon" "LoadAddon" "RunChildGame" "RunChildGameAbsolute" "IsChildGame" "LoadMobList" "LoadQuestList" "LoadTactics" "GetTacticsSize" "GetParams" "GetParam" "LogTest" "GetName" Quote Link to comment Share on other sites More sharing options...
Guest KentAVr57 Posted April 8, 2010 Share Posted April 8, 2010 Quote: а ChatSay им чем мешал? теоретически потомучто через чат сай можно было 1.Флудить2.Запускать команды типа "следовать" и таскать за собой твинка хила или твинка ДДУ меня правда так не получилось сделать т.к. в предыдущем патче они порезали данную команду.. думаю что в этом патче или следующем команду вернут .. а вот использовать ее уже нельзя будет..( Quote Link to comment Share on other sites More sharing options...
Guest Valltron Posted April 8, 2010 Share Posted April 8, 2010 Что это? откуда это? Quote Link to comment Share on other sites More sharing options...
Guest wait Posted April 8, 2010 Share Posted April 8, 2010 скриптовые функции, из клиента. Quote Link to comment Share on other sites More sharing options...
SLA Posted April 8, 2010 Share Posted April 8, 2010 УРА!!!!! Может, и перезагрузка аддона С РЕСУРСАМИ теперь работает? =) Ушёл читать API... - Ничего не нашёл. Теперь придётся САМИМ разбираться, что значат эти функции... А что, если эти функции НЕ для нас, а для игры, чтобы она работала с нашими аддонами? Мне эти RunChildGame очень смахивают на запуск виртуальных машин, песочниц, для "безопасной" работы аддонов. В принципе, Addon Developer и Developer Addon - разные вещи. Я тут, в радостной эйфории, не пригляделся. Addon Developer - это мы , а Developer Addon - это аддоны разработчиков игры, НЕ НАШИ. Так они нам доступны? Значит, мы тоже можем их использовать. Quote Link to comment Share on other sites More sharing options...
merlok Posted April 8, 2010 Share Posted April 8, 2010 инициализацию делать по какомунит onavatarloaded (точно не помню) у меня так. все работает Quote Link to comment Share on other sites More sharing options...
merlok Posted April 8, 2010 Share Posted April 8, 2010 прямо таки руки чешутся чето с этим сделать( продолжаем тему..... (типа ЭДИТ ТУТ) а зачем вообще нужна команда следовать? а снять точки положения главного игрока (тем более если оно в группе это можно)? и потом по ним проехатся? и никакого тупого цепляния за камни и падений с аллодов) Quote Link to comment Share on other sites More sharing options...
merlok Posted April 8, 2010 Share Posted April 8, 2010 А без SendEvent() вообще не представляю, как аддоны будут общаться между собой. Через конфиг-файл? Подарочек, блин. я даже знаю че ее порезали) я ее какраз приспособил вместо CastSpell )))) деж они берутся то ( Quote Link to comment Share on other sites More sharing options...
SLA Posted April 8, 2010 Share Posted April 8, 2010 Тогда понятно. Но они должны бы нам дать альтернативу, для обмена данными между аддонами. Что-нибудь вроде SendUserEvent(), и чтобы пользовательские сообщения ставились в отдельную очередь, обрабатываемую только аддонами... Удобно и безопасно. P.S. Прощайте, всплывающие подсказки. Они работали на SendEvent(). Quote Link to comment Share on other sites More sharing options...
Mankubus Posted April 8, 2010 Share Posted April 8, 2010 Обрадовался!.. Не доступны конечно! Только что проверил... ADD: И ресурсы тоже не перезагружаются, к сожалению ( Quote Link to comment Share on other sites More sharing options...
SLA Posted April 8, 2010 Share Posted April 8, 2010 Спасибо, так и сделаю 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 *) Quote Link to comment Share on other sites More sharing options...
SLA Posted April 8, 2010 Share Posted April 8, 2010 Ну и ладно. Хоть отладку нормальную сделали. Это уже первый шаг Интересно, не выводятся ли ошибки XDB-файлов в MODS.TXT ? Завтра проверю. Quote Link to comment Share on other sites More sharing options...
Guest wait Posted April 9, 2010 Share Posted April 9, 2010 некоторые выводятся Quote Link to comment Share on other sites More sharing options...
Guest wait Posted April 9, 2010 Share Posted April 9, 2010 и как ты собрался проезжать? Quote Link to comment Share on other sites More sharing options...
SLA Posted April 9, 2010 Share Posted April 9, 2010 Насчёт API будущих версий, загляните сюда: Нужен новый Агрометр + Хорошие новости Quote Link to comment Share on other sites More sharing options...
merlok Posted April 10, 2010 Share Posted April 10, 2010 далее тема медленно переползает в лс) а вообще конечно ниодной команды движения я не нашел, даже после того, как сильно поковырялся в коде такое впечатление, че луа апи ВООБЩЕ не имеет доступа к движению) ну а остальные аспекты были изложены в потертой теме) Quote Link to comment Share on other sites More sharing options...
Guest wait Posted April 11, 2010 Share Posted April 11, 2010 я об этом и говорю - двигацца низя со скриптов, вообще нет удобных способов перемещения. можно только получить состояние - двигаюсь ли я и куда и лс тут не причем Quote Link to comment Share on other sites More sharing options...
Guest KentAVr57 Posted April 14, 2010 Share Posted April 14, 2010 просто двигаться действительно нельзя.. а вот пися в чат комнду следовать можно было ходить за игроком.. другими словами можно было таскать за собой бота .. умеющего хилить или ДДшить. конечно же бегать по локам нельзя былобы .. а вот подцепив к себе двух ботов ДД и Хила играя танком.. можно было фармить героики ) и весь лут собирать себе.. а также с паломДД и Хилом ботом. лупить красных локбоссов .. при этом не делиться ни с кем лутом) не мне вам рассказывать что с тем айпи которое нам дали в начале и с тем айпи которое дали вторым.. можно было сделать полноценных ботов.. которые применяли скилы вовремя и по назначению .. едиственный минус они (боты) не умели сами ходить).. вот данная проблемма и решалась командой следовать и движением по щелчку мышки.. обе эти дырки прикрыли сразуже во втором айпи. Quote Link to comment Share on other sites More sharing options...
Recommended Posts