Jump to content
Alloder.pro: about Allods with love
Search In
  • More options...
Find results that contain...
Find results in...

New program for writers

We turn from quantity to quality and tell you how we will supplement the Allods Team program with rewards in rubles.

More

The new Updater

Let us to introduce the new addon updater software and to share the details

Read more

Alloder 2.0

We have started the process of project evolve, and this relates not only, and not even primarily of the site's view

Read more

Как определить положение другого игрока?


Guest Saddenly
 Share

Recommended Posts

Guest Saddenly

Задумал написать аддон, помогающий в ПвП, в основном аддоны под ПвЕ сделаны.

Да и сама игра тоже встроенные команды скорее на ПвЕ ориентирует.

Для начала захотел модифицировать автоселекцию [tab], чтобы она хватала не вражеского пета, например, а нацелившегося на меня дамагера.

В стандартной функции используется определение позиции цели с помощью функции

local targetPos = protectedMission.InteractiveObjectGetPos( targetId )

protectedMission.GetPos( Id ) упоминается в пользовательской документации по созданию аддонов в примерах. Но когда я ее поставил у себя, вышла ошибка: protectedMission не определен. Самой этой

функции в перечне доступных пользователю нет. Видимо, она закрыта.

Object.GetPos( Id ) дает ошибку AccessDenied. В описании функций сказано, что доступ у функции есть только к транспорту и объектам, отслеживаемым с помощью специального умения игрока.

Положение аватара определяется нормально avatar.GetPos()

Вопрос:

Как определить положение других игроков в игре?

Link to comment
Share on other sites

Пригласить их в пати или рейд. Можно определять только свои координаты, или координаты членов пати/рейда. Плюс некоторые типы НПЦ (вендоры, квестгиверы и т.п.).

Link to comment
Share on other sites

Guest Saddenly

Не, нацелившегося на меня врага я в рейд пригласить не смогу.

Так что значит никак ...

Потестил на другой подходящей для определения расстояния до противника функции.

В описании все было хорошо, но не работает

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, но и для них поле расстояния пустое.

Link to comment
Share on other sites

Добавить точку проектирования можно только для детектируемых объектов - патимемберов, рейдмемберов, супруг(а), вендоры, квестгиферы-ресиверы.

И еще.

При2Даттачить виджет можно только к детектируемым объектам - патимемерам, вендорам, т.п. т.д.

Забудь о свойствах недетектируемых объектов. Они либо есть такие какие есть, либо их нет никаких.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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