agraellee
Member
- Joined
- May 31, 2016
- Messages
- 43
- Reaction score
- 17
获取神木指环(核眼)buff的代码如下:(Get OculusBuff code is as follows:)
[HIDE]
[/HIDE]
[HIDE]
Code:
/// <summary>
/// 得到距离目标位置position最大范围maxRange与最小范围minRange中的核眼地板,根据asc为true返回最近的,false返回最远的。
/// </summary>
/// <param name="position">目标位置。</param>
/// <param name="minRange">最小范围。</param>
/// <param name="maxRange">最大范围。</param>
/// <param name="asc">为true返回最近的,false返回最远的</param>
/// <returns>核眼的Dia对象,如果没有返回null。</returns>
internal static DiaObject GetOculusBuffDiaObject(Vector3 position, float minRange = 1, float maxRange = 60f, bool asc = false)
{
if (!Environment.checkPermission())
{
if (Environment.permissionLog)
{
Logger.Log(Environment.NO_PERMISSION_MSG + "不能获取核眼Buff位置。");
}
return null;
}
var objects = asc ? ZetaDia.Actors.GetActorsOfType<DiaObject>()
.Where(o => (o.ActorSnoId == 433966) && position.Distance(o.Position) >= minRange && position.Distance(o.Position) <= maxRange)
.OrderBy(o => position.Distance(o.Position)) : ZetaDia.Actors.GetActorsOfType<DiaObject>()
.Where(o => o.ActorSnoId == 433966 && position.Distance(o.Position) >= minRange && position.Distance(o.Position) <= maxRange)
.OrderByDescending(o => position.Distance(o.Position));
foreach (DiaObject o in objects)
{
if (o == null || !o.IsValid)
{
continue;
}
return o;
}
return null;
}
Last edited: