SRL Archive - MSI Bugs

Problems.. :(


P3rs0nal1ty

2011-02-01 00:22:08

Okay, so i just updated my msi folder in includes.. and now when i try to walk to Seers yews, or mages, it SUPER UBER LAGS… and idk…
my comp has 3.25 gb ram.. 3.0 ghz intel pentium d processor.. and a nvidia 8800 gtx g card.. so it shouldnt lag? ive tried color, hybrid , and reflection.. all do this.. color seems to work better but still uber lags til i log.. :( help please?

Coh3n

2011-02-01 01:24:10

Odd, I can't recall anything being changed that may cause this. Does your debug say anything? I'd like to see what procedure being run when this happens.

Is anyone else experiencing this?

P3rs0nal1ty

2011-02-01 08:19:11

its when it says "points being generated on map (xxxx, xxxx)" or something like that. its when it walks :( i can give you exactly what debug box says if u want, if thats not specific enough. but… im experiencing the amazing duels atm (: so tell me if u want me to stop slackin

Coh3n

2011-02-01 10:23:53

From: donkey60000
its when it says "points being generated on map (xxxx, xxxx)" or something like that. its when it walks :( i can give you exactly what debug box says if u want, if thats not specific enough. but… im experiencing the amazing duels atm (: so tell me if u want me to stop slackin

Did it just start when the hybrid walking was introduced?

P3rs0nal1ty

2011-02-01 21:53:10

From: Coh3n
Did it just start when the hybrid walking was introduced?


i believe so , yes. but ive tried hybrid ref and color. color seems to not be as bad, but still messes up.

Coh3n

2011-02-02 01:33:01

That doesn't make sense, really. =\

There's nothing that I know of that could really cause an excessive amount of lag other than the object tracking, and that's not called during the walking.

I'm assuming this happens with any script you've tried?

P3rs0nal1ty

2011-02-02 02:50:27

From: Coh3n
That doesn't make sense, really. =\

There's nothing that I know of that could really cause an excessive amount of lag other than the object tracking, and that's not called during the walking.

I'm assuming this happens with any script you've tried?


idk, ill check in morning, its midnight, i have second day of 2nd sem. tomorrow, and i need to be there. .. prolly wont check til afterschool, cuz someone got my PW today even tho i changed it LAST NIGHT.. so im not gonna leave bot on tomorrow morning while im at school. ill keep u posted, thanks for all the help to both me and the community (:

EDIT: would have +reped but i think i gave some to u last time.. says i need to spread it aroun.

Coh3n

2011-02-02 03:51:30

Sorry to hear that. :(

I hope it starts working for you because I honestly have no idea what could be the problem. :unsure:

P3rs0nal1ty

2011-02-03 01:51:49

From: Coh3n
Sorry to hear that. :(

I hope it starts working for you because I honestly have no idea what could be the problem. :unsure:


Okay so i tried to run it, and it seems to have massive lag when it says
Generating point from tile (xxxx, xxxx) and then it seems (not sure) that it generates a lot of lag also at the point when it scans for randoms.
(this is with ALL MSI&REF&SRL updated) and when i start at treees, it gets a load, then goes to walk, and thats when the lag starts. so the lag MUST start during the walking process. this is where all the lag is. plz help.. :( i have no idea whats going on and considering i have ABSOLUTELY no coding xp i cant do anything myself.. im stuck.

Coh3n

2011-02-03 02:23:26

From: donkey60000
Okay so i tried to run it, and it seems to have massive lag when it says
Generating point from tile (xxxx, xxxx) and then it seems (not sure) that it generates a lot of lag also at the point when it scans for randoms.
(this is with ALL MSI&REF&SRL updated) and when i start at treees, it gets a load, then goes to walk, and thats when the lag starts. so the lag MUST start during the walking process. this is where all the lag is. plz help.. :( i have no idea whats going on and considering i have ABSOLUTELY no coding xp i cant do anything myself.. im stuck.

Hm, have you tried using just color or reflection walking instead of hybrid?

P3rs0nal1ty

2011-02-03 13:22:10

From: Coh3n
Hm, have you tried using just color or reflection walking instead of hybrid?


yes i have, i forgot to include that in my post.

EDIT: and coh3n, im using ur guide for beginners simba, cause i want to learn how to script, and im haveing problems with this line… /:

Writeln('We have chopped' + IntToStr(Logs) + 'logs this session!);


everytime i try and run it, and everything looks like it does in the example, debug says this

[Error] (17:46): String error at line 16
[Error] (17:46): Syntax error at line 16
Compiling failed.

and ive tried putting spaces in the +'s and everything.. and i have NO idea whats wrong.. everything matches.. its weird..
is this coding obsolete…?

Coh3n

2011-02-03 17:28:11

From: donkey60000
yes i have, i forgot to include that in my post.

EDIT: and coh3n, im using ur guide for beginners simba, cause i want to learn how to script, and im haveing problems with this line… /:

Writeln('We have chopped' + IntToStr(Logs) + 'logs this session!);


everytime i try and run it, and everything looks like it does in the example, debug says this

[Error] (17:46): String error at line 16
[Error] (17:46): Syntax error at line 16
Compiling failed.

and ive tried putting spaces in the +'s and everything.. and i have NO idea whats wrong.. everything matches.. its weird..
is this coding obsolete…?

I honestly have no idea why you would all of the sudden be experiencing lag, especially when you just use reflection walking. Nothing about it was changes when I implemented the hybrid walking. :unsure:

For the error, add a ' after "session!". ;)

Writeln('We have chopped' + IntToStr(Logs) + 'logs this session!');

P3rs0nal1ty

2011-02-03 17:31:16

From: Coh3n
I honestly have no idea why you would all of the sudden be experiencing lag, especially when you just use reflection walking. Nothing about it was changes when I implemented the hybrid walking. :unsure:

For the error, add a ' after "session!". ;)

Writeln('We have chopped' + IntToStr(Logs) + 'logs this session!');


haha i think NCDS helped with the operator error here. considering im a tard.

From: NCDS
Yes, the form is the "box that pops up". Change your walking method on there and see if it helps.


LOLOLOLOLOLOLOLOL

i didnt even see the walking method on first tab.. *facepalm* :duh:
wow.. ill try that LMFAO

EDIT: using the reflection method now, and works much better, however there is still uber lag. ill try color next to see if there is lag. keep in mind this is only happening during the walking process.
okay so there is no color walking for the SV mages / SV yews scripts. SOO, ill just stick to reflection, it may be laggy but at least it works now. in the hybrid version it would lag, and while it was lagging the desired point wouldnt be on map, so i think it gets ahead of it self, and the point that should be more south is what its trying to look for, and if it doesnt see it, it just sits there.. if u see what im saying. while its lagging it thinks its walking to the next point. but its not.. so it looks for the point after that.. etc. so on and so forth.


Also, ill try adding the ' but that might have just been a copy/paste error. Sec.

EDIT: wow.. its amazing how a simple ' can cause failure. LOL

Coh3n

2011-02-03 18:55:14

In the form, do you have the AntiBan and Randoms Wait edits set to 15+ seconds? Can you provide the debug for when the lagging occurs?

P3rs0nal1ty

2011-02-03 19:04:59

From: Coh3n
In the form, do you have the AntiBan and Randoms Wait edits set to 15+ seconds? Can you provide the debug for when the lagging occurs?


yes they're set to there default. i havent touched those options.

and here is when the lagging occurs sir.

[PHP][1:21:07]: [ Ony ] —- MSI_ReflectionWalk << starts lag
[1:21:07]: [ Ony ] ——– MSI_MirrorATPA: New ATPA [[(2714, 3464), (2719, 3463), (2720, 3431), (2720, 3443), (2725, 3468), (2725, 3477), (2725, 3485), (2725, 3493)]]
[1:21:07]: [ Ony ] ——– Loaded tile path: [[(2714, 3464), (2719, 3463), (2720, 3431), (2720, 3443), (2725, 3468), (2725, 3477), (2725, 3485), (2725, 3493)]]
[1:21:07]: [ Ony ] —— Tile(2725, 3493) is not on the minimap
[1:21:07]: [ Ony ] —— Tile(2725, 3485) is not on the minimap
[1:21:07]: [ Ony ] —— Tile(2725, 3477) is not on the minimap
[1:21:07]: [ Ony ] —— Tile(2725, 3468) is not on the minimap
[1:21:07]: [ Ony ] —— Tile(2720, 3443) is not on the minimap
[1:21:07]: [ Ony ] —— Tile(2720, 3431) is not on the minimap
[1:21:07]: [ Ony ] —— Tile(2719, 3463) is on the minimap
[1:21:14]: [ Ony ] ——– MSI_AntiBan
[1:21:17]: [ Ony ] ——– Scanning for randoms…
[1:21:23]: [ Ony ] —— Tile(2725, 3493) is not on the minimap
[1:21:23]: [ Ony ] —— Tile(2725, 3485) is not on the minimap
[1:21:23]: [ Ony ] —— Tile(2725, 3477) is not on the minimap
[1:21:23]: [ Ony ] —— Tile(2725, 3468) is on the minimap
[1:21:23]: [ Ony ] —— Tile(2725, 3493) is not on the minimap
[1:21:23]: [ Ony ] —— Tile(2725, 3485) is not on the minimap
[1:21:24]: [ Ony ] —— Tile(2725, 3477) is on the minimap
[1:21:30]: [ Ony ] ——– MSI_AntiBan
[1:21:31]: [ Ony ] —— Tile(2725, 3493) is not on the minimap
[1:21:31]: [ Ony ] —— Tile(2725, 3485) is on the minimap
[1:21:32]: [ Ony ] ——– Scanning for randoms…
[1:21:47]: [ Ony ] ——– MSI_AntiBan
[1:21:49]: [ Ony ] —— Tile(2725, 3493) is on the minimap
[1:21:50]: [ Ony ] ——– Scanning for randoms…
[1:21:50]: [ Ony ] ——– Flag distance: 35 << stops lag
[1:21:51]: [ Ony ] ——– Flag distance: 27
[1:21:52]: [ Ony ] ——– Flag distance: -1
[/PHP]

and that the point where i marked that it stops lag, it is now at the bank.

heres the walk back to the yews.


[PHP][1:22:30]: [ Ony ] —- Player's Location = Seers Village Bank
[1:22:30]: [ Ony ] —- MSI_ReflectionWalk <<< starts lagging
[1:22:30]: [ Ony ] ——– Loaded tile path: [[(2725, 3493), (2725, 3485), (2725, 3477), (2725, 3468), (2720, 3443), (2720, 3431), (2719, 3463), (2714, 3464)]]
[1:22:30]: [ Ony ] —— Tile(2714, 3464) is not on the minimap
[1:22:30]: [ Ony ] —— Tile(2719, 3463) is not on the minimap
[1:22:30]: [ Ony ] —— Tile(2720, 3431) is not on the minimap
[1:22:30]: [ Ony ] —— Tile(2720, 3443) is not on the minimap
[1:22:30]: [ Ony ] —— Tile(2725, 3468) is not on the minimap
[1:22:30]: [ Ony ] —— Tile(2725, 3477) is on the minimap
[1:22:31]: [ Ony ] ——– Scanning for randoms…
[1:22:31]: [ Ony ] ——– MSI_AntiBan
[1:22:34]: [ Ony ] —— Tile(2714, 3464) is not on the minimap
[1:22:34]: [ Ony ] —— Tile(2719, 3463) is not on the minimap
[1:22:34]: [ Ony ] —— Tile(2720, 3431) is not on the minimap
[1:22:34]: [ Ony ] —— Tile(2720, 3443) is not on the minimap
[1:22:34]: [ Ony ] —— Tile(2725, 3468) is on the minimap
[1:22:46]: [ Ony ] ——– Scanning for randoms…
[1:22:49]: [ Ony ] ——– MSI_AntiBan
[1:22:50]: [ Ony ] —— Tile(2714, 3464) is on the minimap
[1:22:52]: [ Ony ] ——– Flag distance: 54
[1:22:53]: [ Ony ] ——– Flag distance: 48
[1:22:53]: [ Ony ] ——– Flag distance: 31
[1:22:54]: [ Ony ] ——– Flag distance: 16
[1:22:57]: [ Ony ] ——– Distance from player to location: 14
[1:22:57]: [ Ony ] ——– Player is at Seers Village Yews
[1:22:57]: [ Ony ] —- MSI_ReflectionWalk: True
[1:22:57]: [ Ony ] – MSI_Walk: True
[1:22:57]: [ Ony ] – MSI_AutoObjects
[1:22:57]: [ Ony ] —- MSI_FindObjectsIn [14]
[1:22:57]: [ Ony ] —— 9 objects found!
[1:22:58]: [ Ony ] —— MSI_Track Object
[1:23:13]: [ Ony ] ———- MSI_FindObjectsTPA: No colors found!
[1:23:13]: [ Ony ] ———- MSI_FindObjectsTPA: No colors found!
[1:23:14]: [ Ony ] ——– Lost track of object
[1:23:14]: [ Ony ] ——– ~ Track Record
[1:23:14]: [ Ony ] ——– ~ ~ TrackObject
[1:23:14]: [ Ony ] ——– ~ ~ Searches: 105
[1:23:14]: [ Ony ] ——– ~ ~ Successes: 85
[1:23:14]: [ Ony ] ——– ~ ~ Success %: 80
[1:23:14]: [ Ony ] —— MSI_TrackObject: False
[1:23:14]: [ Ony ] —- MSI_FindObjectsIn: True
[1:23:14]: [ Ony ] —- MSI_WaitWhileChopping
[1:23:14]: [ Ony ] —— Entering loop
[1:23:14]: [ Ony ] ———- Scanning for randoms…
[1:23:15]: [ Ony ] ——– We are not moving!
[1:23:15]: [ Ony ] ——– Looking for tree
[1:23:15]: [ Ony ] ——– Track box distance: 310
[1:23:15]: [ Ony ] ——– Tracking box is over the maximum distance
[1:23:15]: [ Ony ] —— Out of loop
[1:23:15]: [ Ony ] —- MSI_WaitWhileChopping: Finished
[1:23:15]: [ Ony ] —- MSI_FindObjectsIn [14]
[1:23:15]: [ Ony ] ——– MSI_FindObjectsTPA: No colors found!
[1:23:16]: [ Ony ] —- MSI_FindObjectsIn: False
[1:23:16]: [ Ony ] —- MSI_Relocate
[1:23:17]: [ Ony ] —— Walking to Point(614, 85)
[1:23:18]: [ Ony ] ——– Flag distance: 9 << stops lagging
[1:23:19]: [ Ony ] ——– Flag distance: -1
[/PHP]

and once again, stops lagging once at the yews.

Coh3n

2011-02-04 02:54:30

Well I guess I'd have to agree that it's something in the walking. :p Also, it looks to me that the tile path from SV Bank to the Yews should be a lot shorter. I'll have to look at that also.

Lastly, I think I you already said this, but this started right after the hybrid update, correct?

P3rs0nal1ty

2011-02-07 00:55:03

From: Coh3n
Well I guess I'd have to agree that it's something in the walking. :p Also, it looks to me that the tile path from SV Bank to the Yews should be a lot shorter. I'll have to look at that also.

Lastly, I think I you already said this, but this started right after the hybrid update, correct?


yes it did. and this is also rather depressing.. this problem is with ALL scripts…
:(

i am using bobzilla's ratinator and it too is lagging out when it trys to walk from lumby square to rats.. ….. this is quite a downer. i cant bot LOL. well, so now its not just with phoenix, but with everything. possibly reflection..? idk.. but i even just now uninstalled simba, deleted the extra files in the simba directory and the directory itself on my harddrive, re-installed the most recent version, made sure MSI, Reflection, and SRL all updated correctly, and successfully, and it STILL doesnt work.. im stuck.

EDIT: IT IS REFLECTION! it has to be, because Train's gnome agility course script WORKS, which is all color, even though it doesnt walk very much , it walks after going through the pipes. which it doesnt lag out at. so im quite sure that it's reflection.. hmm.

Coh3n

2011-02-07 02:32:16

From: donkey60000

EDIT: IT IS REFLECTION! it has to be, because Train's gnome agility course script WORKS, which is all color, even though it doesnt walk very much , it walks after going through the pipes. which it doesnt lag out at. so im quite sure that it's reflection.. hmm.

That's weird though because Bob's script and MSI use completely different tile walking algorithms. Try this for MSI:
  1. Open Setup.simba (MSI/MSI/Core/Setup.simba) and comment out the line that includes reflection ({$include_once reflection/reflection.simba}).
  2. Set your player up to use a script that uses strictly color walking (VE Miner, VE Trees, VE Oaks, don't remember the rest).
  3. See if you still lag. What you're doing is completely excluding reflection from MSI so it uses 100% color for everything.
Let me know how it goes.

P.S. I've been running MSI for the last 4 hours with reflection, and no lag for me. :unsure:

P3rs0nal1ty

2011-02-07 10:15:53

From: Coh3n
That's weird though because Bob's script and MSI use completely different tile walking algorithms. Try this for MSI:
  1. Open Setup.simba (MSI/MSI/Core/Setup.simba) and comment out the line that includes reflection ({$include_once reflection/reflection.simba}).
  2. Set your player up to use a script that uses strictly color walking (VE Miner, VE Trees, VE Oaks, don't remember the rest).
  3. See if you still lag. What you're doing is completely excluding reflection from MSI so it uses 100% color for everything.
Let me know how it goes.

P.S. I've been running MSI for the last 4 hours with reflection, and no lag for me. :unsure:



No lag whatsoever. it works like a charm.. >_> so it has to be reflection. ):

Coh3n

2011-02-07 11:50:43

From: donkey60000
No lag whatsoever. it works like a charm.. >_> so it has to be reflection. ):

The question is which part of reflection. It has to be something that's common in Reflection's WalkPath (which is what Bob calls in his script) and MSI's WalkPath. I have an idea. Can you open MSI's Walking_Reflection.simba, and replace your MSI_WalkTilePath with this, then run MSI using the reflection walking?

function MSI_WalkTilePath(tPath: TPointArray): Boolean;
{$IFDEF REFLECTION}
var
h, i, t: Integer;
mPos: TPoint;
stopMoving: Boolean;
{$ENDIF}
begin
{$IFDEF REFLECTION}
with MSI_Players[CurrentPlayer] do
begin
t := GetSystemTime + (Length(tPath) * 60 + 180) * 1000; // A minute for each tile + 3 minutes
h := High(tPath);

repeat
for i := h downto 0 do
begin
stopMoving := (i = h);

if (not MSI_ClickTile(tPath[i])) then
begin
if (i = 0) then
Exit;

Continue;
end else
if (stopMoving) then
MSI_Flag(0)
else
MSI_Flag(MIN_FLAG_DISTANCE);

mPos := GetMyPos;
Result := (Distance(mPos.x, mPos.y, tPath[h].x, tPath[h].y) <= 10);
Break;
end;
until(Result or (GetSystemTime > t));
end;
{$ENDIF}
end;
I added a WaitTile procedure when I added the hybrid walking, which could be causing the lag. It's the only thing I can think of that was changed. If that doesn't help, I'll have to compare MSI's function with Reflection's.

P3rs0nal1ty

2011-02-07 12:34:22

From: Coh3n
The question is which part of reflection. It has to be something that's common in Reflection's WalkPath (which is what Bob calls in his script) and MSI's WalkPath. I have an idea. Can you open MSI's Walking_Reflection.simba, and replace your MSI_WalkTilePath with this, then run MSI using the reflection walking?

function MSI_WalkTilePath(tPath: TPointArray): Boolean;
{$IFDEF REFLECTION}
var
h, i, t: Integer;
mPos: TPoint;
stopMoving: Boolean;
{$ENDIF}
begin
{$IFDEF REFLECTION}
with MSI_Players[CurrentPlayer] do
begin
t := GetSystemTime + (Length(tPath) * 60 + 180) * 1000; // A minute for each tile + 3 minutes
h := High(tPath);

repeat
for i := h downto 0 do
begin
stopMoving := (i = h);

if (not MSI_ClickTile(tPath[i])) then
begin
if (i = 0) then
Exit;

Continue;
end else
if (stopMoving) then
MSI_Flag(0)
else
MSI_Flag(MIN_FLAG_DISTANCE);

mPos := GetMyPos;
Result := (Distance(mPos.x, mPos.y, tPath[h].x, tPath[h].y) <= 10);
Break;
end;
until(Result or (GetSystemTime > t));
end;
{$ENDIF}
end;
I added a WaitTile procedure when I added the hybrid walking, which could be causing the lag. It's the only thing I can think of that was changed. If that doesn't help, I'll have to compare MSI's function with Reflection's.


Alright, ill do that as soon as i get home from school, because im at school now.
ETA: 5 1/2 hours
hope it works /:
EDIT: but will that only fix MSI? cuz ur saying thats in MSI folder? but the problem is with reflection as well? because of bobzillas script too, we know that its reflection thats messing up.

EDIT2: So, i did what u told me to do, and now it wont even do reflection. at all. what happens is the message saying there is no color for this script or whatever error message will come up, thats for SV mages/yews. so then i went GE yews, and it uses color to walk. thus not using ref at all. heres what debug says.

[PHP][0:00:24]: [ Ony ] —- Player's Location = Grand Exchange bank
[0:00:24]: [ Ony ] —- MSI_ColorWalk
[0:00:24]: [ Ony ] ——– Loaded color path: [[50, 53]][/PHP]

soo… idk.
also, when it walks to other tree in GE yews, this is what debug says

[PHP]][0:01:00]: [ Ony ] —- MSI_FindObjectsIn [14]
[0:01:00]: [ Ony ] ——– No colors found!
[0:01:01]: [ Ony ] —- MSI_FindObjectsIn: False
[0:01:01]: [ Ony ] —- MSI_Relocate
[0:01:01]: [ Ony ] —— Relocate attempts: 1
[0:01:01]: [ Ony ] —- MSI_Relocate: False
[0:01:01]: [ Ony ] – MSI_AutoObjects: False
[0:01:01]: [ Ony ] – MSI_HandleBreaking
[0:01:01]: [ Ony ] —- Taking a short break[/PHP]

So it tries to break upon relocating, tried it twice. it walks over to the yew, doesnt start cutting, and breaks instead.
So i guess at least color walking walks me to the trees and logs out? LAWL

i put the coding that u told me to put in at line 230. is that where i was supposed to paste it in at?

Also, im very appreciative about how much your helping me in this situation coh3n.
and im surprised nobody else has posted or has any idea whats going on. but anyways, thanks.

Coh3n

2011-02-07 19:58:00

Did you take out the comments in Setup.simba? Earlier in the thread I told you to comment out the part that includes reflection. You want to include it again, so reverse what I told you earlier.

You should just replace your MSI_WalkTilePath with the one I posted (delete yours, and paste the one I posted in its place).

I'm actually not sure what happened with the color walking at GE; something I'll have to look into later. And I'm testing with just MSI first because if I can figure out what the problem is, I can see if Reflection uses the same method.

P3rs0nal1ty

2011-02-07 20:17:10

From: Coh3n
Did you take out the comments in Setup.simba? Earlier in the thread I told you to comment out the part that includes reflection. You want to include it again, so reverse what I told you earlier.

You should just replace your MSI_WalkTilePath with the one I posted (delete yours, and paste the one I posted in its place).

I'm actually not sure what happened with the color walking at GE; something I'll have to look into later. And I'm testing with just MSI first because if I can figure out what the problem is, I can see if Reflection uses the same method.


i need u to paste what i need to paste in there here. cuz i dont have it saved/duplicated. so what do i need to paste in, and where? or you could just give me the whole coding for setup.simba. that would be easier. than telling me what line etc.

Coh3n

2011-02-07 20:21:59

From: P3rs0nal1ty
i need u to paste what i need to paste in there here. cuz i dont have it saved/duplicated. so what do i need to paste in, and where? or you could just give me the whole coding for setup.simba. that would be easier. than telling me what line etc.

Open Walking_Reflection.simba. Ctrl + A, then hit Delete. Then paste this entire thing and Save.

(*
Walking_Reflection
==================

The Reflection Walking file includes functions & procedures that have anything
to do with reflection walking. You'll notice the defines ({$IFDEF REFLECTION})
used throughout these methods; these are used so MSI will still compile if the
user decides to exclude reflection or if reflection is broken.

*)

(*
MSI_WaitTile
~~~~~~~~~~~~

.. code-block:: pascal

function MSI_WaitTile(Tile: TPoint): Boolean;

Simple, yet effective function used as a substitute for Flag functions.
MSI_WaitTile returns true with 'Tile' is on the minimap. See MSI_WalkTile to
see exactly how it's used.

.. note::

| Author: Coh3n
| Last Updated: 26 January 2011 by Coh3n

Example:

.. code-block:: pascal

if (MSI_ClickTile(i)) then
MSI_WaitTile(i + 1); // Waits for the next tile in the path
*)
function MSI_WaitTile(Tile: TPoint): Boolean;
{$IFDEF REFLECTION}
var
t: Integer;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

{$IFDEF REFLECTION}
t := GetSystemTime + 15000; // Maximum wait time is 15 seconds
repeat
if (LeaveDangerZone) then
MSI_Debug('Left danger zone');

Result := TileOnMM(Tile);

MSI_FindRandoms(False);
MSI_AntiBan(RandomRange(200, 800), ANTI_BAN_CHANCE);
until(Result or (GetSystemTime > t));
{$ENDIF}
end;

(*
MSI_ClickTile
~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_ClickTile(Tile: TPoint): Boolean;

Checks to see if the player is near 'Tile', if so, returns true, otherwise it
will verify the tile is on the minimap and return true when clicked.

.. note::

| Author: marpis
| Last Updated: 26 January 2011 by Coh3n

Example:

.. code-block:: pascal

if (MSI_ClickTile(Point(1234, 4321))) then
MSI_Debug('Clicked tile');
*)
function MSI_ClickTile(Tile: TPoint): Boolean;
{$IFDEF REFLECTION}
var
MP: TPoint;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

{$IFDEF REFLECTION}
MP := TileToMM(Tile);

if (Distance(MP.X, MP.Y, MMCX, MMCY) <= 5) then
begin
MSI_Debug('Already near tile');
Result := True;
Exit;
end;

if (TileOnMM(Tile)) then
begin
MSI_Debug('Tile('+IntToStr(Tile.x)+', '+IntToStr(Tile.y)+') is on the minimap');
Mouse(MP.X, MP.Y, 5, 5, True);
Result := True;
end else
MSI_Debug('Tile('+IntToStr(Tile.x)+', '+IntToStr(Tile.y)+') is not on the minimap');
{$ENDIF}
end;

(*
MSI_AtLocation
~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_AtLocation(Loc: Integer): Boolean;

Returns true if the player is at the location 'Loc'.

.. note::

| Author: Coh3n
| Last Updated: 01 November 2010 by Coh3n

Example:

.. code-block:: pascal

if (MSI_AtLocation(LOC_VE_BANK)) then
MSI_Debug('We are at Varrock East Bank');
*)
function MSI_Relocate(Loc: Integer): Boolean; forward;
function MSI_AtLocation(Loc: Integer): Boolean;
{$IFDEF REFLECTION}
var
i, d: Integer;
t: TPoint;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

if (Loc = LOC_POWER_SKILL) then
begin
MSI_SubDebug('We are powerskilling, we have no specific location');
Result := True;
end;

{$IFDEF REFLECTION}
with MSI_Locations[Loc] do
begin
for i := 0 to High(RelocatePoints) do
if (TileOnMM(RelocatePoints[i])) then
begin
t := TileToMM(RelocatePoints[i]);
d := Distance(t.x, t.y, MMCX, MMCY);
MSI_SubDebug('Distance from player to location: ' + IntToStr(d));

if (d <= 30) then
begin
Result := True;
Break;
end else
Result := MSI_Relocate(Loc);
end;

if (Result) then
begin
MSI_SubDebug('Player is at ' + Name);
MSI_Players[CurrentPlayer].Location := Loc;
end;
end;
{$ENDIF}
end;

(*
MSI_LoadTilePath
~~~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_LoadTilePath(sLoc, eLoc: Integer): T2DPointArray;

Returns the tile path from the starting location (sLoc) to the ending location
(eLoc). Paths are read depending on the users current script.

.. note::

| Author: Coh3n
| Last Updated: 30 November 2010 by Coh3n

Example:

.. code-block:: pascal

// Loads the path from VE bank to trees, assuming the player is using SCRIPT_VE_TREES
MSI_LoadTilePath(LOC_VE_BANK, LOC_VE_TREES);
*)
function MSI_LoadTilePath(sLoc, eLoc: Integer): T2DPointArray;
var
Script: TScript;
begin
if (not LoggedIn) then
Exit;

Script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];

if (sLoc = Script.PathInfo.StartLoc) then
Result := Script.PathInfo.Reflection
else
if (sLoc = Script.PathInfo.EndLoc) then
Result := MSI_MirrorATPA(Script.PathInfo.Reflection);

MSI_SubDebug('Loaded tile path: '+ToStr(Result));
end;

(*
MSI_WalkTilePath
~~~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_WalkTilePath(tPath: TPointArray): Boolean;

Walks the entire tile path (tPath). Uses MSI_WaitTile for every tile except the
last one (uses MSI_Flag(0) instead) to ensure the player has stopped moving
before searching for objects on the mainscreen.

.. note::

| Author: marpis & Coh3n
| Last Updated: 26 January 2011 by Coh3n

Example:

.. code-block:: pascal

if (MSI_WalkTilePath(TilePathHere)) then
MSI_Debug('Walked path');
*)
function MSI_WalkTilePath(tPath: TPointArray): Boolean;
{$IFDEF REFLECTION}
var
h, i, t: Integer;
mPos: TPoint;
stopMoving: Boolean;
{$ENDIF}
begin
{$IFDEF REFLECTION}
with MSI_Players[CurrentPlayer] do
begin
t := GetSystemTime + (Length(tPath) * 60 + 180) * 1000; // A minute for each tile + 3 minutes
h := High(tPath);

repeat
for i := h downto 0 do
begin
stopMoving := (i = h);

if (not MSI_ClickTile(tPath[i])) then
begin
if (i = 0) then
Exit;

Continue;
end else
if (stopMoving) then
MSI_Flag(0)
else
MSI_Flag(MIN_FLAG_DISTANCE);

mPos := GetMyPos;
Result := (Distance(mPos.x, mPos.y, tPath[h].x, tPath[h].y) <= 10);
Break;
end;
until(Result or (GetSystemTime > t));
end;
{$ENDIF}
end;

(*
MSI_ReflectionWalk
~~~~~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_ReflectionWalk(sLoc, eLoc: Integer): Boolean;

Walks the entire path from start (sLoc) to finish (eLoc), including obstacles.
Returns true if the player is at the ending location.

.. note::

| Author: marpis & Coh3n
| Last Updated: 26 January 2011 by Coh3n

Example:

.. code-block:: pascal

// Walks to VE mine only if your player is set to use SCRIPT_VE_MINER
MSI_ReflectionWalk(LOC_VE_BANK, LOC_VE_MINE);
*)
function MSI_ReflectionWalk(sLoc, eLoc: Integer): Boolean;
{$IFDEF REFLECTION}
var
tPath: T2DPointArray;
i, t, h, obsLen, pathLen: Integer;
script: TScript;
obsSolved: TBooleanArray;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

{$IFDEF REFLECTION}
script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];
SetLength(obsSolved, Length(Script.PathInfo.Obstacles));

MSI_AddHeader('MSI_ReflectionWalk');

tPath := MSI_LoadTilePath(sLoc, eLoc);
t := GetSystemTime + (Length(tPath) * 60 + 180) * 1000; // A minute for each tile + 3 minutes
obsLen := High(Script.PathInfo.Obstacles);
pathLen := High(tPath);

repeat
for i := 0 to pathLen do
with MSI_Players[CurrentPlayer] do
begin
// Walk the leg of the path
if (not (MSI_WalkTilePath(tPath[i]))) then
begin
MSI_Debug('Failed to walk leg '+IntToStr(i)+' of script: '+Capitalize(Script.Name));
ReportInfo.FalseReason := 'Failed to walk to ' + MSI_Locations[eLoc].Name;
MSI_CloseHeader('MSI_ReflectionWalk: ' + BoolToStr(Result));
Location := LOC_LOST;
Exit;
end;

// Handle the obstacle
if (MSI_HandleObstacle(script, sLoc, h)) then
begin
obsSolved[h] := True;
if (h <> obsLen) then
Inc(h);
end;

// Return true if the player is at the ending location
if (MSI_AtLocation(eLoc)) then
begin
Result := True;
Break;
end;
end;
until(Result or (GetSystemTime > t));

MSI_CloseHeader('MSI_ReflectionWalk: ' + BoolToStr(Result));
{$ENDIF}
end;

(*
MSI_HybridWalk
~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_HybridWalk(StartLoc, EndLoc: Integer): Boolean;

Walks the entire path from start (sLoc) to finish (eLoc), including obstacles,
using MSI's hybrid system. It uses color walking and checks with reflection. If
the color part fails, a new point will be automatically generated (see
Walking_Color.simba). If a color path for the script being used doesn't exist,
a new path with be generated. Returns true if the player is at the ending
location.

.. note::

| Author: Coh3n
| Last Updated: 29 January 2011 by Coh3n

Example:

.. code-block:: pascal

MSI_HybridWalk(LOC_VE_BANK, LOC_VE_MINE);
*)
function MSI_HybridWalk(StartLoc, EndLoc: Integer): Boolean;
{$IFDEF REFLECTION}
var
h, hi, i, j: Integer;
cPath: T2DIntegerArray;
rPath, dupPath: T2DPointArray;
obsSolved: TBooleanArray;
cPoint, rPoint: TPoint;
pointDistance, obsHi: Integer;
script: TScript;
pName: string;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

{$IFDEF REFLECTION}
MSI_AddHeader('MSI_HybridWalk: '+IntToStr(StartLoc)+' to '+IntToStr(EndLoc));

// Declare the color and reflection paths
cPath := MSI_FillColorPath(MSI_LoadColorPath(StartLoc, EndLoc));
rPath := MSI_LoadTilePath(StartLoc, EndLoc);
script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];
SetLength(obsSolved, Length(Script.PathInfo.Obstacles));
obsHi := High(Script.PathInfo.Obstacles);
hi := High(rPath);

// Check the length of the paths
if (Length(cPath) <> Length(rPath)) then
begin
MSI_Debug('Path lengths do not match');
MSI_Debug('Generating new color path');
pName := Capitalize(MSI_Locations[StartLoc].Name) + ' to ' + Capitalize(MSI_Locations[EndLoc].Name);

// Generate and set the script's color paths
with MSI_Players[CurrentPlayer].Scripts[CurrentScript] do
if (StartLoc = MSI_Scripts[Name].PathInfo.StartLoc) then
MSI_Scripts[Name].PathInfo.ColorTo := MSI_AddWalkPoints(rPath, pName)
else
if (StartLoc = MSI_Scripts[Name].PathInfo.EndLoc) then
MSI_Scripts[Name].PathInfo.ColorFrom := MSI_AddWalkPoints(rPath, pName);

Wait(RandomRange(500, 1000));
Result := MSI_AtLocation(EndLoc);

MSI_CloseHeader('MSI_HybridWalk: '+BoolToStr(Result));
Exit;
end;

// Duplicate the path so the global paths aren't reset
dupPath := CopyATPA(rPath);

for i := 0 to hi do
begin
MSI_DeletePointInTPA(dupPath[i], 0);
Writeln(ToStr(dupPath[i]));

// Check the length of the legs of the paths
if (Length(cPath[i]) <> Length(dupPath[i])) then
begin
MSI_Debug('Path leg lengths do not match');
MSI_CloseHeader('MSI_HybridWalk: '+BoolToStr(Result));
Exit;
end;

for j := 0 to High(dupPath[i]) do
begin
// Get the minimap coord for the reflection and color points
cPoint := MSI_GetWalkCoords(MSI_WalkPoints[cPath[i][j]]);
rPoint := TileToMM(dupPath[i][j]);

MSI_Debug('Color Point: '+IntToStr(cPoint.x)+', '+IntToStr(cPoint.y));
MSI_Debug('Reflection Point: '+IntToStr(rPoint.x)+', '+IntToStr(rPoint.y));

pointDistance := Distance(cPoint.x, cPoint.y, rPoint.x, rPoint.y);
MSI_Debug('Distance between points: '+IntToStr(pointDistance));

if (pointDistance > MAX_POINT_DIST) then
begin
// Create and set the new color point
MSI_WalkPoints[cPath[i][j]] := MSI_GenerateWalkPoint(dupPath[i][j]);
MSI_SaveWalkPoint(cPath[i][j]);

// Walk to the tile
if (not MSI_ClickTile(dupPath[i][j])) then
begin
MSI_Debug('Failed to walk leg '+IntToStr(i)+' of script: '+Capitalize(Script.Name));
MSI_Players[CurrentPlayer].ReportInfo.FalseReason := 'Failed to walk to ' + MSI_Locations[EndLoc].Name;
MSI_Players[CurrentPlayer].Location := LOC_LOST;
Exit;
end else
MSI_Flag(MIN_FLAG_DISTANCE);
end else
MSI_WalkToPoint(cPoint, cPath[i][j]);
end;

// Handle the obstacle if there is one
if (MSI_HandleObstacle(script, StartLoc, h)) then
begin
obsSolved[h] := True;
if (h <> obsHi) then
Inc(h);
end;

Result := MSI_AtLocation(EndLoc);
end;

MSI_CloseHeader('MSI_HybridWalk: '+BoolToStr(Result));
{$ENDIF}
end;

(*
MSI_PerformWalk
~~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_PerformWalk(startLoc, endLoc: Integer): Boolean;

This is the function that is called in MSI_Walk (Mainloop.simba). It takes into
consideration both color and reflection paths depending on the user's preference
as well as the current state of reflection.

.. note::

| Author: Coh3n
| Last Updated: 04 August 2010 by Coh3n

Example:

.. code-block:: pascal

// Walks to VE mine only if your player is set to use SCRIPT_VE_MINER
MSI_PerformWalk(LOC_VE_BANK, LOC_VE_MINE);
*)
function MSI_PerformWalk(startLoc, endLoc: Integer): Boolean;
var
Script: TScript;
begin
if (not LoggedIn) then
Exit;

Script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];

MakeCompass('n');
RunEnergy(20);

// If reflection is broken, then use color walking
if (ReflectionBroken) then
begin
Result := MSI_ColorWalk(startLoc, endLoc);
Exit;
end;

case Lowercase(MSI_SetupVars[SETUP_WALKING]) of
'reflection': Result := MSI_ReflectionWalk(startLoc, endLoc);
'color': Result := MSI_ColorWalk(startLoc, endLoc);
'hybrid': Result := MSI_HybridWalk(startLoc, endLoc);

else
Result := MSI_HybridWalk(startLoc, endLoc);
end;
end;
Do the same for Setup.simba and this.

{==============================================================================\
| MSI Group Scripting Include |
| Setup.scar |
|==============================================================================|
| For All MSI Setuping up needs that are not skill-related |
| |
| * procedure SetupMSI; * by The MSI Team |
\_____________________________________________________________________________}

///SRL Includes
{$include_once srl/srl/misc/smart.scar}
{$include_once srl/srl.scar}
{$include_once reflection/reflection.simba}

{$include_once srl/srl/misc/Reports.scar}
{$include_once srl/srl/misc/PaintSmart.scar}
{$include_once srl/srl/misc/Stats.simba}

{$include_once srl/srl/skill/magic.scar}

//MSI Script
{$include_once MSI/MSI/Core/Globals.simba}
{$include_once MSI/MSI/Core/Debug.simba}
{$include_once MSI/MSI/Core/Manipulation.simba}
{$include_once MSI/MSI/Core/Track.simba}
{$include_once MSI/MSI/Core/Antiban.simba}
{$include_once MSI/MSI/Core/Items.simba}
{$include_once MSI/MSI/Core/Locations.simba}
{$include_once MSI/MSI/Core/Walking_Color.simba}
{$include_once MSI/MSI/Core/Walking_Reflection.simba}
{$include_once MSI/MSI/Core/Objects.simba}
{$include_once MSI/MSI/Core/Obstacles.simba}
{$include_once MSI/MSI/Core/Relocate.simba}
{$include_once MSI/MSI/Core/Skills.simba}
{$include_once MSI/MSI/Core/Banking.simba}

//MSI Skill Files
{$include_once MSI/MSI/Skills/Woodcutting.simba}
{$include_once MSI/MSI/Skills/Mining.simba}
{$include_once MSI/MSI/Skills/Fishing.simba}
{$include_once MSI/MSI/Skills/Cooking.simba}
{$include_once MSI/MSI/Skills/Magic.simba}

{$include_once MSI/MSI/Core/Reports.simba}
{$include_once MSI/MSI/Core/Scripts.simba}

//Extras
{$include_once MSI/MSI/Extras/Example.simba}
{include_once MSI/MSI/Extras/WorldWalker_cstrike.simba} // It wont work without changes because of the new extras system.

{$include_once MSI/MSI/Core/Extras.simba}

//MSI Skill Loops, AI and Mainloop
{$include_once MSI/MSI/Core/MainLoop.simba}

{$include_once MSI/MSI/Form/MSI_Form.simba}

procedure SetupMSI;
var
Timer: integer;
begin
MarkTime(Timer);

MSI_LoadAllLocations;
MSI_LoadAllScripts;
MSI_LoadAllObjects;
MSI_LoadAllItems;
MSI_LoadAllObstacles;
MSI_LoadAllColorAreas;
MSI_LoadAllWalkPoints;
//MSI_LoadAllExtras;
Track_LoadNames;

Writeln('Setting up MSI took '+IntToStr(TimeFromMark(Timer))+' ms.');
end;


function MSI_SetupReflection(Terminate: Boolean): boolean;
begin
Result := False;

{$IFDEF REFLECTION}
SetupConstants;
Result := true;
if(SmartGetFieldInt(0, hook_static_LoginIndex) = -1) then
begin
Result := False;
if (Terminate) then
begin
Writeln('***** Hooks are outdated; terminating *****');
TerminateScript;
end else
Writeln('******** HOOKS ARE OUTDATED ********');
end;
{$ENDIF}
end;


P3rs0nal1ty

2011-02-07 20:50:15

now i get this error… >_>

[PHP][Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(329:3): Variable 'I' never used at line 328
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(329:3): Variable 'CTS' never used at line 328
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(330:3): Variable 'P' never used at line 329
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(331:3): Variable 'OBJS' never used at line 330
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(332:3): Variable 'DONE' never used at line 331
[Error] F:\Games\Simba\Includes\MSI/MSI/Core/Walking_Reflection.simba(54:26): Invalid number of parameters at line 53
Compiling failed.[/PHP]

hmm.

Coh3n

2011-02-08 01:46:02

From: P3rs0nal1ty
now i get this error… >_>

[PHP][Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(329:3): Variable 'I' never used at line 328
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(329:3): Variable 'CTS' never used at line 328
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(330:3): Variable 'P' never used at line 329
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(331:3): Variable 'OBJS' never used at line 330
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(332:3): Variable 'DONE' never used at line 331
[Error] F:\Games\Simba\Includes\MSI/MSI/Core/Walking_Reflection.simba(54:26): Invalid number of parameters at line 53
Compiling failed.[/PHP]

hmm.

Okay wow this shouldn't be this difficult. :p

Open Walking_Reflection.simba. REPLACE line 274 with this

MSI_Flag(10);
Line 274 should be

MSI_WaitTile(tPath[i + 1]);

Then try.

I'm also moving this to Bugs, Proggys, and Suggestions.

P3rs0nal1ty

2011-02-08 10:11:51

From: Coh3n
Okay wow this shouldn't be this difficult. :p

Open Walking_Reflection.simba. REPLACE line 274 with this

MSI_Flag(10);
Line 274 should be

MSI_WaitTile(tPath[i + 1]);

Then try.

I'm also moving this to Bugs, Proggys, and Suggestions.


Hmm, at like 274 this is whats there, i think its the wrong line?

[PHP]Result := (Distance(mPos.x, mPos.y, tPath[h].x, tPath[h].y) <= 10);[/PHP]

Coh3n

2011-02-08 11:42:39


MSI_WaitTile(tPath[i + 1]);
^ That line is like 3 lines above your line 274… Just replace your line that says MSI_WaitTile.

P3rs0nal1ty

2011-02-08 18:34:28

From: Coh3n

MSI_WaitTile(tPath[i + 1]);
^ That line is like 3 lines above your line 274… Just replace your line that says MSI_WaitTile.


i hhit ctrl f for that, and it doesnt match anything in the script, and theres nothing even similiar that's close to line 274.
heres my walking_reflection.simba

[PHP](*
Walking_Reflection
==================

The Reflection Walking file includes functions & procedures that have anything
to do with reflection walking. You'll notice the defines ({$IFDEF REFLECTION})
used throughout these methods; these are used so MSI will still compile if the
user decides to exclude reflection or if reflection is broken.

*)

(*
MSI_WaitTile
~~~~~~~~~~~~

.. code-block:: pascal

function MSI_WaitTile(Tile: TPoint): Boolean;

Simple, yet effective function used as a substitute for Flag functions.
MSI_WaitTile returns true with 'Tile' is on the minimap. See MSI_WalkTile to
see exactly how it's used.

.. note::

| Author: Coh3n
| Last Updated: 26 January 2011 by Coh3n

Example:

.. code-block:: pascal

if (MSI_ClickTile(i)) then
MSI_WaitTile(i + 1); // Waits for the next tile in the path
*)
function MSI_WaitTile(Tile: TPoint): Boolean;
{$IFDEF REFLECTION}
var
t: Integer;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

{$IFDEF REFLECTION}
t := GetSystemTime + 15000; // Maximum wait time is 15 seconds
repeat
if (LeaveDangerZone) then
MSI_Debug('Left danger zone');

Result := TileOnMM(Tile);

MSI_FindRandoms(True);
MSI_AntiBan(RandomRange(200, 800), ANTI_BAN_CHANCE);
until(Result or (GetSystemTime > t));
{$ENDIF}
end;

(*
MSI_ClickTile
~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_ClickTile(Tile: TPoint): Boolean;

Checks to see if the player is near 'Tile', if so, returns true, otherwise it
will verify the tile is on the minimap and return true when clicked.

.. note::

| Author: marpis
| Last Updated: 26 January 2011 by Coh3n

Example:

.. code-block:: pascal

if (MSI_ClickTile(Point(1234, 4321))) then
MSI_Debug('Clicked tile');
*)
function MSI_ClickTile(Tile: TPoint): Boolean;
{$IFDEF REFLECTION}
var
MP: TPoint;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

{$IFDEF REFLECTION}
MP := TileToMM(Tile);

if (Distance(MP.X, MP.Y, MMCX, MMCY) <= 5) then
begin
MSI_Debug('Already near tile');
Result := True;
Exit;
end;

if (TileOnMM(Tile)) then
begin
MSI_Debug('Tile('+IntToStr(Tile.x)+', '+IntToStr(Tile.y)+') is on the minimap');
Mouse(MP.X, MP.Y, 5, 5, True);
Result := True;
end else
MSI_Debug('Tile('+IntToStr(Tile.x)+', '+IntToStr(Tile.y)+') is not on the minimap');
{$ENDIF}
end;

(*
MSI_AtLocation
~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_AtLocation(Loc: Integer): Boolean;

Returns true if the player is at the location 'Loc'.

.. note::

| Author: Coh3n
| Last Updated: 01 November 2010 by Coh3n

Example:

.. code-block:: pascal

if (MSI_AtLocation(LOC_VE_BANK)) then
MSI_Debug('We are at Varrock East Bank');
*)
function MSI_Relocate(Loc: Integer): Boolean; forward;
function MSI_AtLocation(Loc: Integer): Boolean;
{$IFDEF REFLECTION}
var
i, d: Integer;
t: TPoint;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

if (Loc = LOC_POWER_SKILL) then
begin
MSI_SubDebug('We are powerskilling, we have no specific location');
Result := True;
end;

{$IFDEF REFLECTION}
with MSI_Locations[Loc] do
begin
for i := 0 to High(RelocatePoints) do
if (TileOnMM(RelocatePoints)) then
begin
t := TileToMM(RelocatePoints);
d := Distance(t.x, t.y, MMCX, MMCY);
MSI_SubDebug('Distance from player to location: ' + IntToStr(d));

if (d <= 30) then
begin
Result := True;
Break;
end else
Result := MSI_Relocate(Loc);
end;

if (Result) then
begin
MSI_SubDebug('Player is at ' + Name);
MSI_Players[CurrentPlayer].Location := Loc;
end;
end;
{$ENDIF}
end;

(*
MSI_LoadTilePath
~~~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_LoadTilePath(sLoc, eLoc: Integer): T2DPointArray;

Returns the tile path from the starting location (sLoc) to the ending location
(eLoc). Paths are read depending on the users current script.

.. note::

| Author: Coh3n
| Last Updated: 30 November 2010 by Coh3n

Example:

.. code-block:: pascal

// Loads the path from VE bank to trees, assuming the player is using SCRIPT_VE_TREES
MSI_LoadTilePath(LOC_VE_BANK, LOC_VE_TREES);
*)
function MSI_LoadTilePath(sLoc, eLoc: Integer): T2DPointArray;
var
Script: TScript;
begin
if (not LoggedIn) then
Exit;

Script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];

if (sLoc = Script.PathInfo.StartLoc) then
Result := Script.PathInfo.Reflection
else
if (sLoc = Script.PathInfo.EndLoc) then
Result := MSI_MirrorATPA(Script.PathInfo.Reflection);

MSI_SubDebug('Loaded tile path: '+ToStr(Result));
end;

(*
MSI_WalkTilePath
~~~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_WalkTilePath(tPath: TPointArray): Boolean;

Walks the entire tile path (tPath). Uses MSI_WaitTile for every tile except the
last one (uses MSI_Flag(0) instead) to ensure the player has stopped moving
before searching for objects on the mainscreen.

.. note::

| Author: marpis & Coh3n
| Last Updated: 26 January 2011 by Coh3n

Example:

.. code-block:: pascal

if (MSI_WalkTilePath(TilePathHere)) then
MSI_Debug('Walked path');
*)
function MSI_WalkTilePath(tPath: TPointArray): Boolean;
{$IFDEF REFLECTION}
var
h, i, t: Integer;
mPos: TPoint;
stopMoving: Boolean;
{$ENDIF}
begin
{$IFDEF REFLECTION}
with MSI_Players[CurrentPlayer] do
begin
t := GetSystemTime + (Length(tPath) * 60 + 180) * 1000; // A minute for each tile + 3 minutes
h := High(tPath);

repeat
for i := h downto 0 do
begin
stopMoving := (i = h);

if (not MSI_ClickTile(tPath)) then
begin
if (i = 0) then
Exit;

Continue;
end else
if (stopMoving) then
MSI_Flag(0)
else
MSI_Flag(MIN_FLAG_DISTANCE);

mPos := GetMyPos;
Result := (Distance(mPos.x, mPos.y, tPath[h].x, tPath[h].y) <= 10);
Break;
end;
until(Result or (GetSystemTime > t));
end;
{$ENDIF}
end;

(*
MSI_ReflectionWalk
~~~~~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_ReflectionWalk(sLoc, eLoc: Integer): Boolean;

Walks the entire path from start (sLoc) to finish (eLoc), including obstacles.
Returns true if the player is at the ending location.

.. note::

| Author: marpis & Coh3n
| Last Updated: 26 January 2011 by Coh3n

Example:

.. code-block:: pascal

// Walks to VE mine only if your player is set to use SCRIPT_VE_MINER
MSI_ReflectionWalk(LOC_VE_BANK, LOC_VE_MINE);
*)
function MSI_ReflectionWalk(sLoc, eLoc: Integer): Boolean;
{$IFDEF REFLECTION}
var
tPath: T2DPointArray;
i, t, h, obsLen, pathLen: Integer;
script: TScript;
obsSolved: TBooleanArray;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

{$IFDEF REFLECTION}
script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];
SetLength(obsSolved, Length(Script.PathInfo.Obstacles));

MSI_AddHeader('MSI_ReflectionWalk');

tPath := MSI_LoadTilePath(sLoc, eLoc);
t := GetSystemTime + (Length(tPath) * 60 + 180) * 1000; // A minute for each tile + 3 minutes
obsLen := High(Script.PathInfo.Obstacles);
pathLen := High(tPath);

repeat
for i := 0 to pathLen do
with MSI_Players[CurrentPlayer] do
begin
// Walk the leg of the path
if (not (MSI_WalkTilePath(tPath))) then
begin
MSI_Debug('Failed to walk leg '+IntToStr(i)+' of script: '+Capitalize(Script.Name));
ReportInfo.FalseReason := 'Failed to walk to ' + MSI_Locations[eLoc].Name;
MSI_CloseHeader('MSI_ReflectionWalk: ' + BoolToStr(Result));
Location := LOC_LOST;
Exit;
end;

// Handle the obstacle
if (MSI_HandleObstacle(script, sLoc, h)) then
begin
obsSolved[h] := True;
if (h <> obsLen) then
Inc(h);
end;

// Return true if the player is at the ending location
if (MSI_AtLocation(eLoc)) then
begin
Result := True;
Break;
end;
end;
until(Result or (GetSystemTime > t));

MSI_CloseHeader('MSI_ReflectionWalk: ' + BoolToStr(Result));
{$ENDIF}
end;

(*
MSI_HybridWalk
~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_HybridWalk(StartLoc, EndLoc: Integer): Boolean;

Walks the entire path from start (sLoc) to finish (eLoc), including obstacles,
using MSI's hybrid system. It uses color walking and checks with reflection. If
the color part fails, a new point will be automatically generated (see
Walking_Color.simba). If a color path for the script being used doesn't exist,
a new path with be generated. Returns true if the player is at the ending
location.

.. note::

| Author: Coh3n
| Last Updated: 29 January 2011 by Coh3n

Example:

.. code-block:: pascal

MSI_HybridWalk(LOC_VE_BANK, LOC_VE_MINE);
*)
function MSI_HybridWalk(StartLoc, EndLoc: Integer): Boolean;
{$IFDEF REFLECTION}
var
h, hi, i, j: Integer;
cPath: T2DIntegerArray;
rPath, dupPath: T2DPointArray;
obsSolved: TBooleanArray;
cPoint, rPoint: TPoint;
pointDistance, obsHi: Integer;
script: TScript;
pName: string;
{$ENDIF}
begin
if (not LoggedIn) then
Exit;

{$IFDEF REFLECTION}
MSI_AddHeader('MSI_HybridWalk: '+IntToStr(StartLoc)+' to '+IntToStr(EndLoc));

// Declare the color and reflection paths
cPath := MSI_FillColorPath(MSI_LoadColorPath(StartLoc, EndLoc));
rPath := MSI_LoadTilePath(StartLoc, EndLoc);
script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];
SetLength(obsSolved, Length(Script.PathInfo.Obstacles));
obsHi := High(Script.PathInfo.Obstacles);
hi := High(rPath);

// Check the length of the paths
if (Length(cPath) <> Length(rPath)) then
begin
MSI_Debug('Path lengths do not match');
MSI_Debug('Generating new color path');
pName := Capitalize(MSI_Locations[StartLoc].Name) + ' to ' + Capitalize(MSI_Locations[EndLoc].Name);

// Generate and set the script's color paths
with MSI_Players[CurrentPlayer].Scripts[CurrentScript] do
if (StartLoc = MSI_Scripts[Name].PathInfo.StartLoc) then
MSI_Scripts[Name].PathInfo.ColorTo := MSI_AddWalkPoints(rPath, pName)
else
if (StartLoc = MSI_Scripts[Name].PathInfo.EndLoc) then
MSI_Scripts[Name].PathInfo.ColorFrom := MSI_AddWalkPoints(rPath, pName);

Wait(RandomRange(500, 1000));
Result := MSI_AtLocation(EndLoc);

MSI_CloseHeader('MSI_HybridWalk: '+BoolToStr(Result));
Exit;
end;

// Duplicate the path so the global paths aren't reset
dupPath := CopyATPA(rPath);

for i := 0 to hi do
begin
MSI_DeletePointInTPA(dupPath, 0);
Writeln(ToStr(dupPath));

// Check the length of the legs of the paths
if (Length(cPath) <> Length(dupPath)) then
begin
MSI_Debug('Path leg lengths do not match');
MSI_CloseHeader('MSI_HybridWalk: '+BoolToStr(Result));
Exit;
end;

for j := 0 to High(dupPath) do
begin
// Get the minimap coord for the reflection and color points
cPoint := MSI_GetWalkCoords(MSI_WalkPoints[cPath[j]]);
rPoint := TileToMM(dupPath[j]);

MSI_Debug('Color Point: '+IntToStr(cPoint.x)+', '+IntToStr(cPoint.y));
MSI_Debug('Reflection Point: '+IntToStr(rPoint.x)+', '+IntToStr(rPoint.y));

pointDistance := Distance(cPoint.x, cPoint.y, rPoint.x, rPoint.y);
MSI_Debug('Distance between points: '+IntToStr(pointDistance));

if (pointDistance > MAX_POINT_DIST) then
begin
// Create and set the new color point
MSI_WalkPoints[cPath[j]] := MSI_GenerateWalkPoint(dupPath[j]);
MSI_SaveWalkPoint(cPath[j]);

// Walk to the tile
if (not MSI_ClickTile(dupPath[j])) then
begin
MSI_Debug('Failed to walk leg '+IntToStr(i)+' of script: '+Capitalize(Script.Name));
MSI_Players[CurrentPlayer].ReportInfo.FalseReason := 'Failed to walk to ' + MSI_Locations[EndLoc].Name;
MSI_Players[CurrentPlayer].Location := LOC_LOST;
Exit;
end else
MSI_Flag(MIN_FLAG_DISTANCE);
end else
MSI_WalkToPoint(cPoint, cPath[j]);
end;

// Handle the obstacle if there is one
if (MSI_HandleObstacle(script, StartLoc, h)) then
begin
obsSolved[h] := True;
if (h <> obsHi) then
Inc(h);
end;

Result := MSI_AtLocation(EndLoc);
end;

MSI_CloseHeader('MSI_HybridWalk: '+BoolToStr(Result));
{$ENDIF}
end;

(*
MSI_PerformWalk
~~~~~~~~~~~~~~~

.. code-block:: pascal

function MSI_PerformWalk(startLoc, endLoc: Integer): Boolean;

This is the function that is called in MSI_Walk (Mainloop.simba). It takes into
consideration both color and reflection paths depending on the user's preference
as well as the current state of reflection.

.. note::

| Author: Coh3n
| Last Updated: 04 August 2010 by Coh3n

Example:

.. code-block:: pascal

// Walks to VE mine only if your player is set to use SCRIPT_VE_MINER
MSI_PerformWalk(LOC_VE_BANK, LOC_VE_MINE);
*)
function MSI_PerformWalk(startLoc, endLoc: Integer): Boolean;
var
Script: TScript;
begin
if (not LoggedIn) then
Exit;

Script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];

MakeCompass('n');
RunEnergy(20);

// If reflection is broken, then use color walking
if (ReflectionBroken) then
begin
Result := MSI_ColorWalk(startLoc, endLoc);
Exit;
end;

case Lowercase(MSI_SetupVars[SETUP_WALKING]) of
'reflection': Result := MSI_ReflectionWalk(startLoc, endLoc);
'color': Result := MSI_ColorWalk(startLoc, endLoc);
'hybrid': Result := MSI_HybridWalk(startLoc, endLoc);

else
Result := MSI_HybridWalk(startLoc, endLoc);
end;
end; [/PHP]

Could u please point it out >_> im truly lost.
thanks coh3n.

Coh3n

2011-02-08 18:47:58

You already have the line changed to what I told you..

If you still experience lag with that, I'll have to look into it more.

P3rs0nal1ty

2011-02-08 19:16:38

From: Coh3n
You already have the line changed to what I told you..

If you still experience lag with that, I'll have to look into it more.


after i changed it when u told me to it gave me and error. im still getting this error.

[PHP][Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(329:3): Variable 'I' never used at line 328
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(329:3): Variable 'CTS' never used at line 328
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(330:3): Variable 'P' never used at line 329
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(331:3): Variable 'OBJS' never used at line 330
[Hint] F:\Games\Simba\Includes\SRL/SRL/core/antirandoms/forester.scar(332:3): Variable 'DONE' never used at line 331
[Error] F:\Games\Simba\Includes\MSI/MSI/Core/Walking_Reflection.simba(54:26): Invalid number of parameters at line 53
Compiling failed.[/PHP]

Be back in an hour. gonna run to a friends house.

Coh3n

2011-02-08 20:48:01

Jesus. Okay, if this doesn't work, I have no idea what you've done wrong. Delete you Walking_Reflection.simba. Save the attached file to MSI/MSI/Core/. If you still get an error, something's wrong with your copy of MSI.

P3rs0nal1ty

2011-02-08 22:34:26

From: Coh3n
Jesus. Okay, if this doesn't work, I have no idea what you've done wrong. Delete you Walking_Reflection.simba. Save the attached file to MSI/MSI/Core/. If you still get an error, something's wrong with your copy of MSI.


Coh3n, all i have to say is your the best (:
thanks for all the help, it worked. YAY! lol.
So, now you know whats wrong with reflection?

3Garrett3

2011-02-08 22:46:09

From: P3rs0nal1ty
Coh3n, all i have to say is your the best (:
thanks for all the help, it worked. YAY! lol.
So, now you know whats wrong with reflection?


It's a rather quick fix while someone (likely Coh3n, he wrote most if not all of the Hybrid system) figures out what is fudged up in MSI_WaitTile. This will simply watch the flag, rather than using the really cool system Cohen thought of (iirc) which waits the perfect amount of time for each tile :)

P3rs0nal1ty

2011-02-08 22:49:58

From: 3Garrett3
It's a rather quick fix while someone (likely Coh3n, he wrote most if not all of the Hybrid system) figures out what is fudged up in MSI_WaitTile. This will simply watch the flag, rather than using the really cool system Cohen thought of (iirc) which waits the perfect amount of time for each tile :)


yeah i thought the hybrid system was gonna be pretty legit - it still is, but im sad that it won't work on my computer. its alright tho, at least everything is working (: thanks to the devs and coh3n for all the help, making the scripts, etc. i hope to be joinin y'all soon.

Coh3n

2011-02-09 00:34:30

From: P3rs0nal1ty
yeah i thought the hybrid system was gonna be pretty legit - it still is, but im sad that it won't work on my computer. its alright tho, at least everything is working (: thanks to the devs and coh3n for all the help, making the scripts, etc. i hope to be joinin y'all soon.

Once I can figure out what's causing the lag, it should. Since you were having it with other reflection scripts, I should be able to narrow it down by comparing the reflection and msi functions.

E: I think it may be because there's no wait in MSI_WaitTile. What you can do is add a Wait(RandomRange(200, 500)); somewhere in the repeat..until loop in MSI_WalkTile, and try it that way. Actually you know what, just delete your Walking_Reflection.simba and replace it with the one attached again. :p

P3rs0nal1ty

2011-02-09 10:25:33

From: Coh3n
Once I can figure out what's causing the lag, it should. Since you were having it with other reflection scripts, I should be able to narrow it down by comparing the reflection and msi functions.

E: I think it may be because there's no wait in MSI_WaitTile. What you can do is add a Wait(RandomRange(200, 500)); somewhere in the repeat..until loop in MSI_WalkTile, and try it that way. Actually you know what, just delete your Walking_Reflection.simba and replace it with the one attached again. :p



LUL, now it doesnt work after pasting that in .. :( haha it comes up with the "there is no color path for this script" error.
LUL

Coh3n

2011-02-09 12:47:57

From: P3rs0nal1ty
LUL, now it doesnt work after pasting that in .. :( haha it comes up with the "there is no color path for this script" error.
LUL

…

Did you set your walking method to reflection? Or hybrid?

P3rs0nal1ty

2011-02-09 18:51:22

From: Coh3n
…

Did you set your walking method to reflection? Or hybrid?


i just tried reflection, and it just sits there at the bank now. and doesnt move >_>

Coh3n

2011-02-09 19:42:23

From: P3rs0nal1ty
i just tried reflection, and it just sits there at the bank now. and doesnt move >_>

Honestly, this is ridiculous. The file I uploaded at literally 1 line changed because for whatever reason when you try to change the line, something goes wrong.

You should just redownload MSI and start over. When you've done that, open Walking_Reflection.simba. Go to MSI_WaitTile. You'll see a repeat..until loop. Add this line ANYWHERE in that loop.

Wait(RandomRange(200, 500));
If it still lags, but not as much, increase the wait time.

P3rs0nal1ty

2011-02-09 20:24:05

From: Coh3n
Honestly, this is ridiculous. The file I uploaded at literally 1 line changed because for whatever reason when you try to change the line, something goes wrong.

You should just redownload MSI and start over. When you've done that, open Walking_Reflection.simba. Go to MSI_WaitTile. You'll see a repeat..until loop. Add this line ANYWHERE in that loop.

Wait(RandomRange(200, 500));
If it still lags, but not as much, increase the wait time.


Alright i will in a bit, i have some applications to go turn in.
Sorry that ur so frustrated coh3n. keep up the good work.

Coh3n

2011-02-09 20:36:39

From: P3rs0nal1ty
Alright i will in a bit, i have some applications to go turn in.
Sorry that ur so frustrated coh3n. keep up the good work.

I'm not frustrated with you, just so you know. It's the situation. :p It's really frustrating when there are bugs that only seem to happen for a couple people (don't worry, this is not the first time it's happened).

P3rs0nal1ty

2011-02-13 16:29:02

From: Coh3n
I'm not frustrated with you, just so you know. It's the situation. :p It's really frustrating when there are bugs that only seem to happen for a couple people (don't worry, this is not the first time it's happened).



THANK YOU SO MUCH! it works flawlessly coh3n <3 i added

Wait(RandomRange(200, 500));

into where u told me to and now its working perfectly. (:

(after i redownloaded msi after i deleted it all) so yeah, that fixed it. it works on hybrid now (:

heres what debug looks like.

[PHP][0:00:35]: [ Ony ] – Cleared file: F:\Games\Simba\Includes\MSI\Remote.txt
[0:00:35]: [ Ony ] – MSI_SetupPlayer
[0:00:35]: [ Ony ] —— Current GameTab: 23
[0:00:36]: [ Ony ] —— Scanning for randoms…
[0:00:38]: [ Ony ] —- MSI_SetSkillLevels
[0:00:39]: [ Ony ] —— Woodcutting level hasn't changed
[0:00:39]: [ Ony ] —- MSI_SetSkillLevels: Finished
[0:00:39]: [ Ony ] —- MSI_SetupWoodcutting
[0:00:39]: [ Ony ] —— Best tool for Woodcutting is Dragon Hatchet
[0:00:40]: [ Ony ] —— MSI_FindTool
[0:00:40]: [ Ony ] ——– Searching Equipment Tab
[0:00:40]: [ Ony ] ——– Found DTM of Dragon Hatchet
[0:00:40]: [ Ony ] —— MSI_FindTool: True
[0:00:40]: [ Ony ] —- MSI_SetupWoodcutting: True
[0:00:40]: [ Ony ] – MSI_SetupPlayer: True
[0:00:40]: [ Ony ] —- Distance from player to location: 8
[0:00:40]: [ Ony ] —- Player is at Seers Village Bank
[0:00:40]: [ Ony ] —- Distance from player to location: 8
[0:00:40]: [ Ony ] —- Player is at Seers Village Bank
[0:00:41]: [ Ony ] – MSI_Walk
[0:00:41]: [ Ony ] —— MSI_WaitWhileResting
[0:00:41]: [ Ony ] —- Player's Location = Seers Village Bank
[0:00:41]: [ Ony ] —— Scanning for randoms…
[0:00:41]: [ Ony ] —- MSI_HybridWalk: 101 to 100
[0:00:41]: [ Ony ] ——– Loaded color path: []
[0:00:41]: [ Ony ] ——– Filled color path: []
[0:00:41]: [ Ony ] ——– Loaded tile path: [[(2724, 3492), (2724, 3479), (2721, 3471), (2719, 3459), (2719, 3447), (2716, 3439), (2716, 3427), (2715, 3418), (2715, 3406), (2713, 3397), (2704, 3392), (2701, 3399)]]
[0:00:41]: [ Ony ] —— Path lengths do not match
[0:00:41]: [ Ony ] —— Generating new color path
[0:00:41]: [ Ony ] —— MSI_AddWalkPoints
[0:00:41]: [ Ony ] ———- Radial: 180 degrees
[0:00:41]: [ Ony ] ———- Point generated from tile: (2724, 3479)
[0:00:44]: [ Ony ] ———- Radial: 198 degrees
[0:00:44]: [ Ony ] ———- Point generated from tile: (2721, 3471)
[0:00:48]: [ Ony ] ———- Radial: 198 degrees
[0:00:48]: [ Ony ] ———- Point generated from tile: (2719, 3459)
[0:00:52]: [ Ony ] ———- Radial: 180 degrees
[0:00:52]: [ Ony ] ———- Point generated from tile: (2719, 3447)
[0:00:54]: [ Ony ] ———- MSI_AntiBan
[0:00:56]: [ Ony ] ———- Scanning for randoms…
[0:00:58]: [ Ony ] ———- Radial: 198 degrees
[0:00:58]: [ Ony ] ———- Point generated from tile: (2716, 3439)
[0:01:02]: [ Ony ] ———- Radial: 162 degrees
[0:01:02]: [ Ony ] ———- Point generated from tile: (2716, 3427)
[0:01:05]: [ Ony ] ———- Radial: 162 degrees
[0:01:05]: [ Ony ] ———- Point generated from tile: (2715, 3418)
[0:01:08]: [ Ony ] ———- Radial: 180 degrees
[0:01:08]: [ Ony ] ———- Point generated from tile: (2715, 3406)
[0:01:12]: [ Ony ] ———- Scanning for randoms…
[0:01:12]: [ Ony ] ———- Radial: 180 degrees
[0:01:12]: [ Ony ] ———- Point generated from tile: (2713, 3397)
[0:01:14]: [ Ony ] ———- Radial: 220 degrees
[0:01:14]: [ Ony ] ———- Point generated from tile: (2704, 3392)
[0:01:15]: [ Ony ] ———- Radial: 259 degrees
[0:01:15]: [ Ony ] ———- Point generated from tile: (2701, 3399)
[0:01:16]: [ Ony ] ———- Flag distance: 59
[0:01:17]: [ Ony ] ———- Flag distance: 61
[0:01:18]: [ Ony ] ———- Flag distance: 57
[0:01:18]: [ Ony ] ———- Flag distance: 48
[0:01:19]: [ Ony ] ———- Flag distance: 38
[0:01:20]: [ Ony ] ———- Flag distance: 32
[0:01:21]: [ Ony ] ———- Flag distance: 20
[0:01:22]: [ Ony ] ———- MSI_AntiBan
[0:01:23]: [ Ony ] ———- Flag distance: -1
[0:01:24]: [ Ony ] ——– Added WalkPoints [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90]
[0:01:24]: [ Ony ] ———- Saved walk point: 80
[0:01:24]: [ Ony ] ———- Saved walk point: 81
[0:01:24]: [ Ony ] ———- Saved walk point: 82
[0:01:24]: [ Ony ] ———- Saved walk point: 83
[0:01:24]: [ Ony ] ———- Saved walk point: 84
[0:01:24]: [ Ony ] ———- Saved walk point: 85
[0:01:24]: [ Ony ] ———- Saved walk point: 86
[0:01:24]: [ Ony ] ———- Saved walk point: 87
[0:01:24]: [ Ony ] ———- Saved walk point: 88
[0:01:24]: [ Ony ] ———- Saved walk point: 89
[0:01:24]: [ Ony ] ———- Saved walk point: 90
[0:01:24]: [ Ony ] —— MSI_AddWalkPoints: [[80, 90]]
[0:01:25]: [ Ony ] ——– Distance from player to location: 8
[0:01:25]: [ Ony ] ——– Player is at Seers Village Magic trees
[0:01:25]: [ Ony ] —- MSI_HybridWalk: True
[0:01:25]: [ Ony ] – MSI_Walk: True
[0:01:25]: [ Ony ] – MSI_AutoObjects
[0:01:25]: [ Ony ] —- MSI_FindObjectsIn [15]
[0:01:25]: [ Ony ] —— 4 objects found!
[0:01:26]: [ Ony ] —— Uptext found!
[0:01:26]: [ Ony ] —— MSI_Track Object
[0:01:26]: [ Ony ] ———- Not enough points: 16
[0:01:27]: [ Ony ] ———- Point in bad box
[0:01:27]: [ Ony ] ———- Point in bad box[/PHP]

Coh3n

2011-02-13 19:42:17

Perfect, glad it's working. :)

I'm going to add that wait in the actual function so people don't have the same problem in the future.

P3rs0nal1ty

2011-02-14 14:01:40

From: Coh3n
Perfect, glad it's working. :)

I'm going to add that wait in the actual function so people don't have the same problem in the future.


good, so that means reflection will be getting that added to it as well? (:

Coh3n

2011-02-14 19:34:36

From: P3rs0nal1ty
good, so that means reflection will be getting that added to it as well? (:

No, I'd have to look in reflection, see what the problem was, fix it, then send a pull request. You would be better off explaining the situation by reporting a bug in the reflection forum section.