Relog

JokeR

New member
Добрый день. Как правильно прописать в скрипте релог и заход на следующего чара? Вот пример как я делаю. Он делает релог, но заходит не на сделующего чара, а на того-же.

C#:
using System;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using NewWidget.Core;
using NewWidget.Core.Native;
using NewWidget.Core.Scripting;
using NewWidget.Core.Chats;
using System.Windows.Forms;


public class Script : ScriptBase {


    int CharsCount = 7; // кол-во чаров


    public override void OnStart() {
        base.OnStart();
    }
    void Relog(){
        for (int i = 0; i < CharsCount; i++){
            Wait(1000);
            Client.Restart();
            Wait(3000); 
            Client.GameStart(i);
        }
    }
}
 

jr

Administrator
Команда форума
скрипт, как минимум, не полный, в этом виде вообще работать не должен -)
 

JokeR

New member
Вот полный скрипт

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 {
int CharsCount = 7; // кол-во чаров
    public override void OnStart() {
        base.OnStart();
        CreateTimer(300, skill);
        CreateTimer(200, checkrelog);
        }
    public void skill(){
        if(!Me.Buffs.Any(b => b.Id == 1515)){
        Client.FUseSkill(1515);
        }
        if(Me.Buffs.FindById(1515).EndTime <= 20 * 60 * 1000){
        Client.FUseSkill(1515);
        }
        }
    void checkrelog(){
        if(Me.Buffs.FindById(1515).EndTime == 40 * 60 * 1000){
        Relog();
        }
        }   
    void Relog(){
        for (int i = 0; i < CharsCount; i++){
        Wait(1000);
        Client.Restart();
        Wait(3000);   
        Client.GameStart(i);
        }
        }
}
 

devKomik

New member
Ты зачем то обходишь в функции всех чаров, т.е. каждый будешь заходить на нулевого перса.
Примерно так видится (код не проверял):
C#:
void checkrelog(){
        if(Me.Buffs.FindById(1515).EndTime == 40 * 60 * 1000){
                    int slot = Client.Account.Slot;
                    if (slot < 6) Relog(slot + 1);
        }
        }   
    void Relog(int slot){
        Wait(1000);
        Client.Restart();
        Wait(3000);   
        Client.GameStart(slot);       
        }
 
Последнее редактирование:

JokeR

New member
К сожалению - нет, так не работает.
Ты зачем то обходишь в функции всех чаров, т.е. каждый будешь заходить на нулевого перса.
Примерно так видится (код не проверял):
C#:
void checkrelog(){
        if(Me.Buffs.FindById(1515).EndTime == 40 * 60 * 1000){
                    int slot = Client.Account.Slot;
                    if (slot < 6) Relog(slot + 1);
        }
        }  
    void Relog(int slot){
        Wait(1000);
        Client.Restart();
        Wait(3000);  
        Client.GameStart(slot);      
        }
 

jr

Administrator
Команда форума
Примерно так видится (код не проверял):
это данные если аккаунт был запущен из автологина, не обновляется.
Вот полный скрипт
сдаётся мне, задержка 1 сек на вход в игру - это очень мало. секунд 10-15 хотя бы. и на релог 5-10. а может и больше.
 

JokeR

New member
это данные если аккаунт был запущен из автологина, не обновляется.

сдаётся мне, задержка 1 сек на вход в игру - это очень мало. секунд 10-15 хотя бы. и на релог 5-10. а может и больше.
Даже с такой задержкой скрипт функционирует нормально, но проблема в том, что он не заходит на нужного персонажа.
 

jr

Administrator
Команда форума
я проверил, всё работает нормально.
 
Сверху