Смотреть на свой контрольный бафф, и при его отсутствии или времени "< минуты" идти город ребаф, и снова на спот.

Chiter

New member
вот такое я собрал, оно делает сое, бежит к бафферу, ребафается, бежит на спот НО!!! убивает 1 моба( а может и не убить), снова делает сое и начинается дичь. Локация Дион, бежим в ЕГ. Хелпаните, плиз


C#:
using System;
using System.Linq;
using System.Collections.Generic;
using NewWidget.Core;
using NewWidget.Core.Native;
using NewWidget.Core.Scripting;


public class Script : ScriptBase {


    public override void OnStart() {
        base.OnStart();
        CreateTimer(1000, selfBuffs);
        CreateTimer(500, StatusDead);
        EnabledChanged(true, selfBuffs);
    }
   
    void StatusDead()
    {
        if(Me.IsDead)
        {
            Wait(3000);
            Client.Pve.Enabled = false;
            Client.RestartPoint(RestartPointTypes.Town);
            Wait(5000);
            selfBuffs();
        }}


    void selfBuffs()
    {      
        if (Me.Buffs.Any(b => Me.BuffEndtime(4323) < 0))
            Client.Pve.Enabled = false;
            Client.UseItem(736);
            Wait(30000);
            Client.MoveToLocation(18209, 145245, -3068, 0, 25000);
            Client.SetTarget(31077);
            Wait(800);
            NpcDialogOpen(31077);
            Wait(800);
            Client.DialogSelect(1);
            Wait(800);
            Client.DialogSelect(0);
            Wait(800);
            Client.MoveToLocation(19668, 145648, -3111, 0, 25000);
            Client.MoveToLocation(21512, 145832, -3152, 0, 25000);
            Client.MoveToLocation(24140, 146578, -3242, 0, 25000);
            Client.MoveToLocation(24426, 146605, -3209, 0, 15000);
            Client.MoveToLocation(25613, 146804, -3012, 0, 15000);
            Client.MoveToLocation(26866, 147045, -2790, 0, 15000);
            Client.MoveToLocation(28052, 147250, -2503, 0, 15000);
            Client.MoveToLocation(28968, 147456, -2165, 0, 15000);
            Client.MoveToLocation(29634, 147540, -2060, 0, 15000);
            Client.MoveToLocation(30358, 147553, -2272, 0, 15000);
            Client.MoveToLocation(31029, 147551, -2556, 0, 15000);
            Client.MoveToLocation(31527, 147540, -2961, 0, 15000);
            Client.MoveToLocation(33048, 147504, -3438, 0, 15000);
            Client.MoveToLocation(34257, 147667, -3502, 0, 15000);
            Client.MoveToLocation(35640, 147557, -3583, 0, 15000);
            Client.MoveToLocation(37221, 147422, -3681, 0, 15000);
            Client.MoveToLocation(38069, 147348, -3740, 0, 15000);
            Client.Pve.Enabled = true;
    }
   
    void NpcDialogOpen(int a){
        var NpcTarget = Npcs.FirstOrDefault(n => n.Id == a);
        if(NpcTarget != null)
        {
            Client.SetTarget(NpcTarget);
            if(Me.Target == NpcTarget)
            {
                Client.DialogOpen();
            }
        }
    }
}
 

jr

Administrator
Команда форума
C#:
if (Me.BuffEndtime(4323) < 10 * 60 * 1000) { // < 10 минут
    // ...
}
 

DeadLine

Member
Это получается он здыхает, встаёт в город и опять будет юзать сое, а как сделать чтобы встал и просто набафался без заюза сое?)
 

jr

Administrator
Команда форума
C#:
using System;
using System.Linq;
using System.Collections.Generic;
using NewWidget.Core;
using NewWidget.Core.Native;
using NewWidget.Core.Scripting;


public class Script : ScriptBase {


    public override void OnStart() {
        base.OnStart();
        CreateTimer(1000, selfBuffs);
        CreateTimer(500, StatusDead);
        EnabledChanged(true, selfBuffs);
    }
    
    void StatusDead()
    {
        if(Me.IsDead)
        {
            Wait(3000);
            Client.RestartPoint(RestartPointTypes.Town);
            Wait(5000);
            selfBuffs();
        }
        else if (Me.BuffEndtime(4323) < 10 * 60 * 1000) {
            Client.UseItem(736);
            Wait(5000);
            selfBuffs();
        }
    }

    void selfBuffs()
    {
        Client.Pve.Enabled = false;
        Wait(30000);
        Client.MoveToLocation(18209, 145245, -3068, 0, 25000);
        Client.SetTarget(31077);
        Wait(800);
        NpcDialogOpen(31077);
        Wait(800);
        Client.DialogSelect(1);
        Wait(800);
        Client.DialogSelect(0);
        Wait(800);
        Client.MoveToLocation(19668, 145648, -3111, 0, 25000);
        Client.MoveToLocation(21512, 145832, -3152, 0, 25000);
        Client.MoveToLocation(24140, 146578, -3242, 0, 25000);
        Client.MoveToLocation(24426, 146605, -3209, 0, 15000);
        Client.MoveToLocation(25613, 146804, -3012, 0, 15000);
        Client.MoveToLocation(26866, 147045, -2790, 0, 15000);
        Client.MoveToLocation(28052, 147250, -2503, 0, 15000);
        Client.MoveToLocation(28968, 147456, -2165, 0, 15000);
        Client.MoveToLocation(29634, 147540, -2060, 0, 15000);
        Client.MoveToLocation(30358, 147553, -2272, 0, 15000);
        Client.MoveToLocation(31029, 147551, -2556, 0, 15000);
        Client.MoveToLocation(31527, 147540, -2961, 0, 15000);
        Client.MoveToLocation(33048, 147504, -3438, 0, 15000);
        Client.MoveToLocation(34257, 147667, -3502, 0, 15000);
        Client.MoveToLocation(35640, 147557, -3583, 0, 15000);
        Client.MoveToLocation(37221, 147422, -3681, 0, 15000);
        Client.MoveToLocation(38069, 147348, -3740, 0, 15000);
        Client.Pve.Enabled = true;
    }
    
    void NpcDialogOpen(int a){
        var NpcTarget = Npcs.FirstOrDefault(n => n.Id == a);
        if(NpcTarget != null)
        {
            Client.SetTarget(NpcTarget);
            if(Me.Target == NpcTarget)
            {
                Client.DialogOpen();
            }
        }
    }
}
 
Сверху