Guest Saddenly Posted February 17, 2012 Share Posted February 17, 2012 Задумал написать аддон, помогающий в ПвП, в основном аддоны под ПвЕ сделаны. Да и сама игра тоже встроенные команды скорее на ПвЕ ориентирует. Для начала захотел модифицировать автоселекцию [tab], чтобы она хватала не вражеского пета, например, а нацелившегося на меня дамагера. В стандартной функции используется определение позиции цели с помощью функции local targetPos = protectedMission.InteractiveObjectGetPos( targetId ) protectedMission.GetPos( Id ) упоминается в пользовательской документации по созданию аддонов в примерах. Но когда я ее поставил у себя, вышла ошибка: protectedMission не определен. Самой этой функции в перечне доступных пользователю нет. Видимо, она закрыта. Object.GetPos( Id ) дает ошибку AccessDenied. В описании функций сказано, что доступ у функции есть только к транспорту и объектам, отслеживаемым с помощью специального умения игрока. Положение аватара определяется нормально avatar.GetPos() Вопрос: Как определить положение других игроков в игре? Quote Link to comment Share on other sites More sharing options...
Setras Posted February 17, 2012 Share Posted February 17, 2012 Пригласить их в пати или рейд. Можно определять только свои координаты, или координаты членов пати/рейда. Плюс некоторые типы НПЦ (вендоры, квестгиверы и т.п.). Quote Link to comment Share on other sites More sharing options...
Guest Saddenly Posted February 18, 2012 Share Posted February 18, 2012 Не, нацелившегося на меня врага я в рейд пригласить не смогу. Так что значит никак ... Потестил на другой подходящей для определения расстояния до противника функции. В описании все было хорошо, но не работает local TargetId = avatar.GetTarget() if TargetId then LogInfo("TargetId ",TargetId,object.GetName(TargetId)) object.AddToProjected( TargetId, ATTACHED_OBJECT_POS_UP ) local TargetProjectedInfo = object.GetProjectedInfo(TargetId) if TargetProjectedInfo then local TargetDistance = TargetProjectedInfo.PlayerDistance if TargetDistance then LogInfo("TargetDistance ",TargetDistance) end else LogInfo("TargetInfo nil") end end Для некоторых объектов (вендоры и т.п.) возвращается непустое значение GetProjectedInfo, но и для них поле расстояния пустое. Quote Link to comment Share on other sites More sharing options...
Setras Posted February 20, 2012 Share Posted February 20, 2012 Добавить точку проектирования можно только для детектируемых объектов - патимемберов, рейдмемберов, супруг(а), вендоры, квестгиферы-ресиверы. И еще. При2Даттачить виджет можно только к детектируемым объектам - патимемерам, вендорам, т.п. т.д. Забудь о свойствах недетектируемых объектов. Они либо есть такие какие есть, либо их нет никаких. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.