Relog to needed character
With this function, you can make a relog to any character on account
function Relog(CharIndex: integer = -1): boolean; // relog to the character with the specified number var i: integer; // (by default it comes on the same as it was) begin result:= false; if (CharIndex > 6) then exit; // quit if character index is incorrect while (User.InCombat) do delay(99); // wait until we quit the combat
// if we have a thread to disconnect, then we change the global variable, // so that it stops working for the time of relog // gBlockDisconnectThread:= true; if Engine.Restart then // if you managed to restart, then while (Engine.Status = lsOnline) do delay(999); // wait until we get to the character selection panel Delay(5000); // wait an additional 5 seconds for loading if (CharIndex = -1) then begin // if character index was not specified, then if Engine.GameStart() then // go to the same character as was while (Engine.Status <> lsOnline) do delay(999); // and look forward to entering the game end else begin // if the character index was specified, then if Engine.GameStart(CharIndex) then // go to the character with the specified number while (Engine.Status <> lsOnline) do delay(999); // and similarly waiting for the entrance to the game end; Delay(5000); // waiting for extra time for loading // gBlockDisconnectThread:= false; // turn on disconnect check thread back if there is one result:= true; end;
begin // code ... Relog(); // will relog to the same character // or Relog(3); // will relog to the 4th character (indexes 0-6) end.