Guest truepassword Posted March 1, 2010 Share Posted March 1, 2010 Добрый привет! Начал ковырять этот api, но почему-то при чтении документации получаю больше вопросов, чем ответов. Поэтому решил создать тему, для задания вопросов и получения ответов. 1) Как получить имя своего персонажа. Например, для написания отладочной информации самому себе в приват. 2) Как просто открыть сумку с лутом не собирая автоматом все трофеи для последующего изучения содержимого. Во время написания вопросов нашёлся и один ответ: Как получить имя своего персонажа Code: local oldId = avatar.GetTarget() avatar.TargetSelf() Global("myId", avatar.GetTarget()) Global("myName", object.GetName(myId)) if oldId == nil then avatar.UnselectTarget() else avatar.SelectTarget(oldId) end Quote Link to comment Share on other sites More sharing options...
DarkMaster Posted March 2, 2010 Share Posted March 2, 2010 оооо а азчем так сложно ???? *))) или мы не ищем простых путей ? Как получить имя юнита ( и вчастности персонажа ) Code: local PlayerName = object.GetName( avatar.GetId() ) local CurrentTargetName if avatar.GetTarget() then CurrentTargetName = object.GetName( avatar.GetTarget() ) end Quote Link to comment Share on other sites More sharing options...
Guest poletaew Posted March 2, 2010 Share Posted March 2, 2010 Вообще нужно создавать отдельную ветку "Вопросы по API" или что-то в этом духе Quote Link to comment Share on other sites More sharing options...
Guest truepassword Posted March 2, 2010 Share Posted March 2, 2010 Совсем забыл о функции avatar.GetId() =) А вот с мешочками так и не разобрался. И id трупа с мешочком получил, и id мешочка получил, а как его заставить открыться - хз. Я так понял открывать нужно с помощью object.Use( objectId, filter ), но не получается.... Quote Link to comment Share on other sites More sharing options...
Guest truepassword Posted March 2, 2010 Share Posted March 2, 2010 3) как получить список объектов, предметов, игроков и т.п. в неком радиусе аватара? 4) было бы очень хорошо поиметь аналог функции LogInfo, но для записи данных в любой файл Quote Link to comment Share on other sites More sharing options...
DarkMaster Posted March 2, 2010 Share Posted March 2, 2010 2truepassword Хехе учимся копать мануалы *))))) EVENT_UNITS_CHANGED Событие посылается раз в кадр, если за этот кадр в зоне действия аватара появляется или исчезает юнит. -- поля: spawned: table of ObjectId - индексированная с 0 таблица идентификаторов появившихся юнитов despawned: table of ObjectId - индексированная с 0 таблица идентификаторов исчезнувших юнитов Quote Link to comment Share on other sites More sharing options...
Guest truepassword Posted March 2, 2010 Share Posted March 2, 2010 спасибо, годится. не поверишь, последние лет 5 занимаюсь именно копанием в манах.... кто ж знал что EVENT_UNITS_CHANGED подписан как "Событие посылается раз в кадр, если за этот кадр в зоне действия аватара появляется или исчезает юнит." А я искал что-то "в радиусе", "рядом", "вокруг" и .т.п. чувствую от нивала нормальных описаний не дождёмся. мб пора начать писать расширенный ман с большим кол-вом примеров =) Quote Link to comment Share on other sites More sharing options...
DarkMaster Posted March 2, 2010 Share Posted March 2, 2010 Этим уже занмаються - если не ощибаюсь комрады SLA Voltron. Quote Link to comment Share on other sites More sharing options...
Guest APXEOLOG Posted March 3, 2010 Share Posted March 3, 2010 Какие на данный момент есть классы? типа common, avatar etc Quote Link to comment Share on other sites More sharing options...
SLA Posted March 3, 2010 Share Posted March 3, 2010 Смотри аддоны AutoLoot и AutoPickupLoot. Quote Link to comment Share on other sites More sharing options...
SLA Posted March 3, 2010 Share Posted March 3, 2010 Человеческому учебнику БЫТЬ, как только я сам толком разберусь с API. С текстурами (и с их негуманным конвертером) уже, восновном, разобрался. Сейчас копаюсь в API... Так же, собираемся сделать мануал наподобие http://www.php.net/manual/en/. Чтобы все могли комментировать, дополнять человеческие описания функций и примеры использования кода Quote Link to comment Share on other sites More sharing options...
kosh Posted March 3, 2010 Share Posted March 3, 2010 СЛА(Славик, Владислав???), надо бы "организоваться" в этом вопросе... ибо у меня тоже есть "наработки" полезные всем модмейкерам которые известны только мне(на форуме и в релизах "аддов" я не увидел, использующих их, решений)... Quote Link to comment Share on other sites More sharing options...
Guest APXEOLOG Posted March 3, 2010 Share Posted March 3, 2010 какого типа должнв бытиь тгашки чтобы конвертироваться? у меня не конвертятся (failed) пробовал 16 бит и 24 бита Quote Link to comment Share on other sites More sharing options...
SLA Posted March 3, 2010 Share Posted March 3, 2010 TGA 16b не берёт ВООБЩЕ. Баг )) TGA 32b и TGA 24b должен брать. Конвертер особенно заточен под TGA 32b. ВАЖНО: Как написано в инструкции, конвертируемые TGA обязаны находиться где-то в одной из под-папок \data\Mods\. Если нет - то "failed"! Эпический маразм! Я как-нибудь напишу свой конвертер, удобный и интуитивно понятный. Quote Link to comment Share on other sites More sharing options...
SLA Posted March 3, 2010 Share Posted March 3, 2010 Слава, Вячеслав ОК, хорошо, свяжемся, чуть позже, через пару дней Quote Link to comment Share on other sites More sharing options...
Guest alexdfry Posted March 9, 2010 Share Posted March 9, 2010 привет, как идут дела с FAQ? =) Quote Link to comment Share on other sites More sharing options...
Guest APXEOLOG Posted March 11, 2010 Share Posted March 11, 2010 Мм работаю с динамикой. с WidgetPanel все проходит на ура, но вот WidgetTextView падает на этапе WidgetTextView:GetWidgetDesc() В апи написано что должно работать для всех виджетов. Это у меня руки кривые или оно и правдо не пашет? -- Отбой. Кривые руки детектед. Quote Link to comment Share on other sites More sharing options...
Guest APXEOLOG Posted March 12, 2010 Share Posted March 12, 2010 1. Заметил что при обработке событый проходит несколько миллисекунд прежде чем события доходят до моего аддона. Например EVENT_AVATAR_PRIMARY_TARGET_CHANGED основной ui обрабатывает влет а мне приходится ждать. Есть ли способы изменить очередность? и что делает RegisterLayoutManagedAddon( { type = ADDON_TYPE_HUD, side = SCREEN_SIDE_TOP } ) - может он и устанавливает приоритет? 2. Есть ли возможность динамического добавления вариантов для кнопки? Quote Link to comment Share on other sites More sharing options...
Guest sergm2005 Posted March 16, 2010 Share Posted March 16, 2010 Всем привет! Для выполнения контекстного действия есть avatar.RunContextAction, а как выполнить действие в определенном слоте панели действий? Заранее спасибо. Quote Link to comment Share on other sites More sharing options...
Guest Valltron Posted March 16, 2010 Share Posted March 16, 2010 Quote: Есть ли способы изменить очередность нет, нету. (можешь попробовать отключить оригинальный аддон )Вообще мне кажется что событие начинается везде одинаково, но из за разных задержек, пингов и прочих лагов игровых - обрабатывается по разному.Quote: что делает RegisterLayoutManagedAddon( { type = ADDON_TYPE_HUD, side = SCREEN_SIDE_TOP } ) Мне кажется это подключаются у них разные библиотеки, например так подключается "прятанье виджетов по esc". в котором задается очередность их прятанья, разные функции для управления, ну и всякие константы...Quote: 2. Есть ли возможность динамического добавления вариантов для кнопки? Вариантов чего? анимации? я не видел подобного. Вариантов названия? используй relatedtext Quote Link to comment Share on other sites More sharing options...
Guest mehael Posted March 28, 2010 Share Posted March 28, 2010 пофиксили вроде данные фичи ЗЫ юзай AutoHotKey ... Возможно ли запустить exe из lua? Было бы здорово если бы AutoHotkey макросы запускались по игровому событию.. Добавлено: нельзя, защита от вирусов =)) Quote Link to comment Share on other sites More sharing options...
Guest QuiteUnknown Posted March 29, 2010 Share Posted March 29, 2010 не подскажите, как сделать обработку события при месаге от определенного человека? Code: function OnEventChatMessage ( params ) local mes = common.GetAddonRelatedText( "message4" ) if params.sender == common.GetAddonRelatedText( "message2" ) group.ChatWhisper( object.GetName(avatar.GetId()), mes ) end end message2 - текстовый файл с именем персонажа message4 - текст, который я должен сам седбе сказать (просто проверяю таким образом, проходит ле условие или нет) Сам евент проходит (проверял, отключая условие if ). Тоесть без условия, при любой месаге в чат, скрипт Code: group.ChatWhisper( object.GetName(avatar.GetId()), mes ) выполняется. Что я сделал не так? Ткните меня носом, если не трудно. Quote Link to comment Share on other sites More sharing options...
Guest Valltron Posted March 29, 2010 Share Posted March 29, 2010 Quote: if params.sender == common.GetAddonRelatedText( "message2" ) это ты проверяешь на равенство два разных userdata? О.оCode: if common.CompareWString( params.sender, common.GetAddonRelatedText( "message2" ) ) == 0 ...и далее по тексту Quote Link to comment Share on other sites More sharing options...
Guest QuiteUnknown Posted March 29, 2010 Share Posted March 29, 2010 Огромное спасибо, просто в языках я не силен (даже по русскому у меня 3), пишу практически наугад =))) Quote Link to comment Share on other sites More sharing options...
Guest QuiteUnknown Posted March 29, 2010 Share Posted March 29, 2010 Странно, но с текстом Code: if common.CompareWString( params.sender, common.GetAddonRelatedText( "message2" ) ) == 0 аддон не работает, если закоментировать эти строки, то аддон остальные команды выполняет, а если раскоментировать - аддон не стартует.... Все, разобрался, сам дурак.... Я в проверке забыл добавить THEN =)))) Quote Link to comment Share on other sites More sharing options...
Recommended Posts