как можно сделать так чтобы скрипт брал старый таргет?

3gtrterter

New member
суть такова, как можно сделать скрипт каторрый даст агр на таргет каторрый я писал в скрипте и патом вернеться на старрый таргет каторрый я атаковал?
чтото такое
все гатово но как можно сделать так чтобы он брал старрый таргет?

using System;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using NewWidget.Core;
using NewWidget.Core.Native;
using NewWidget.Core.Scripting;

public class Script : ScriptBase {


string[] targetNicknames = new string[] { "ник", "ник2", "ник3", "ник4" };

public override void OnStart() {
base.OnStart();
// Set a timer to call flash() every 250 ms.
CreateTimer(250, flash);
}

void flash(){
// Define an array of cast IDs that you want to counter.
int[] counterSkillIds = new int[] { 1222};

// ---------- Branch 1: Cardinal Targets (class ID 97) ----------
var cardinalTarget = Players.FirstOrDefault(p =>
p != Me &&
!p.IsDead &&
!p.IsPartyMate &&
!p.IsClanMate &&
p.IsAttackable &&
p.DistanceToUser < 700 &&
targetNicknames.Contains(p.Name, StringComparer.OrdinalIgnoreCase) &&
counterSkillIds.Contains(p.Cast.Id)
);

if (cardinalTarget != null && !cardinalTarget.IsDead && !cardinalTarget.IsCelestialed && !cardinalTarget.IsMedused && !cardinalTarget.IsInUD) {
if (Me.Skills.Any(s => s.Id == 28)) {
if (!Me.IsDisabled && Me.SkillCooltime(28) < 150) {
if (cardinalTarget.DistanceToUser < 700) {
Client.SetTarget(cardinalTarget);
Client.FUseSkill(28); // агр
}
}
}
 
Последнее редактирование:

MAPMEJLADOB

New member
Что за нейросеть тебе такое дерьмо написала? Создай переменную и положи в нее текую цель , потом ищи биша по своим неебейшим фильтрам не нашел делаешь ретёрн, Затем берешь цель и кастуешь агр, вроде как метод UseSkill возвращает bool, если true то возьми обратно свой таргет который положил в переменную в начале, ну и в таймере сделай условие на готовность скила/чтобы ты мертвый не валялся.
 
Сверху