illuminatiswag
2012-02-07 19:03:20
Is there a way to add to a script so it logs into a specified world and if so would someone be able to tell me what i have to add to the code please and thank you ahead of time.
2012-02-07 19:03:20
2012-02-07 19:09:00
(*
SelectWorld
~~~~~~~~~~~~~~~
.. code-block:: pascal
Function SelectWorld(W: Integer): Boolean;
Switches to the specified world. Returns true if successful.
..note::
by Narcle & ZephyrsFury
Example:
.. code-block:: pascal
*)
function SelectWorld(W: integer): boolean;
var
x, y, xx, yy, T, CurW: integer;
WRec: TWorld;
begin
if OpenWorldScreen then
begin
T := GetSystemTime + 60000;
Repeat
Wait(100+random(100));
until InRange(CountColorTolerance(SRL_WS_ARROWCOLOR, 0, 0, 716, 240, 1), 550, 650) or (GetSystemTime > T);
if (GetSystemTime > T) then
begin
Writeln('World screen did not load after a minute, please refreash.');
Exit;
end;
WS_CurrentWorld(CurW);
if (W = CurW) then
begin
Result := True;
WriteLn('Already on world ' + IntToStr(W));
Exit;
end;
if FindWorld(W) then
begin
wait(100+random(100));
if GetWorldInfo(W, WRec) then
begin
Writeln('World: '+inttostr(WRec.Number)+', Players: '+inttostr(WRec.PlayerNo)+', Members: '+Booltostr(WRec.Members)+', PvP: '+Booltostr(WRec.PVP));
if FindText(x, y, ' '+inttostr(W)+' ', StatChars, 84, 134, 140, 440) then
begin
MMouse(x, y, 500, 4);
GetMousePos(x, y);
wait(400+random(100));
if FindColor(xx, yy, 6316128, x-20, y-2, x+20, y+2) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, mouse_left);
if FindColor(xx, yy, 19890, x-20, y-2, x+20, y+2) then
begin
Writeln('World '+inttostr(W)+' selected.');
Result := true;
end;
end;
end;
end else
if WRec.PlayerNo = -2 then
WriteLn('World ' + IntToStr(W) + ' is FULL.')
else
WriteLn('World ' + IntToStr(W) + ' is OFFLINE.')
end else
WriteLn('Failed to find World ' + IntToStr(W) + '!');
if (not(Result)) then TypeByte(vk_Escape);
end;
end;
2012-02-07 19:13:51
2012-02-07 19:20:10