-
Posts
7 -
Joined
-
Last visited
-
Feedback
0%
Posts posted by jamesst78
-
-
2 hours ago, BravoTaco said:
When you added your positions, you may have added them in a reversed order. Try recreating the array/list with the current positions reversed. Or you could do it through code at runtime with a quick Java call.
Collections.reverse(pathToAltar);
Edit:
Just tested the current list you have and it seems to walk correctly from the bank to the air altar, if that is what you are intending. If so than you may have an issue with another part of your script somewhere. Is their more to this script or is it just executing the walking from above?
I found a very weird issue in my code , when I have a list called "pathToBank" and I let it = pathToAltar , then I do Collections.reverse(pathToBank) it changes both pathToAltar and pathToBank to the reversed version of pathToAltar , does this have to do with Java refrencing? did I mess something up? to my knowledge , it shouldn't affect pathToAltar at all
switch(modeName[index]) { case("Air"):{ bankArea = new Area(3008, 3359, 3022, 3352); altarArea = new Area(2980, 3295, 2991, 3283); //rcArea = pathToAltar = new ArrayList<Position>(); pathToAltar.add(new Position(3013, 3356, 0)); pathToAltar.add(new Position(3010, 3360, 0)); pathToAltar.add(new Position(3006, 3360, 0)); pathToAltar.add(new Position(3005, 3356, 0)); pathToAltar.add(new Position(3006, 3348, 0)); pathToAltar.add(new Position(3006, 3339, 0)); pathToAltar.add(new Position(3005, 3326, 0)); pathToAltar.add(new Position(3006, 3314, 0)); pathToAltar.add(new Position(3006, 3308, 0)); pathToAltar.add(new Position(3004, 3302, 0)); pathToAltar.add(new Position(3002, 3298, 0)); pathToAltar.add(new Position(2995, 3295, 0)); pathToAltar.add(new Position(2989, 3292, 0)); pathToBank = pathToAltar; Collections.reverse(pathToBank); //this messes up both variables not only pathToBank break; } }
Quote1 minute ago, jamesst78 said:I found a very weird issue in my code , when I have a list called "pathToBank" and I let it = pathToAltar , then I do Collections.reverse(pathToBank) it changes both pathToAltar and pathToBank to the reversed version of pathToAltar , does this have to do with Java refrencing? did I mess something up? to my knowledge , it shouldn't affect pathToAltar at all
switch(modeName[index]) { case("Air"):{ bankArea = new Area(3008, 3359, 3022, 3352); altarArea = new Area(2980, 3295, 2991, 3283); //rcArea = pathToAltar = new ArrayList<Position>(); pathToAltar.add(new Position(3013, 3356, 0)); pathToAltar.add(new Position(3010, 3360, 0)); pathToAltar.add(new Position(3006, 3360, 0)); pathToAltar.add(new Position(3005, 3356, 0)); pathToAltar.add(new Position(3006, 3348, 0)); pathToAltar.add(new Position(3006, 3339, 0)); pathToAltar.add(new Position(3005, 3326, 0)); pathToAltar.add(new Position(3006, 3314, 0)); pathToAltar.add(new Position(3006, 3308, 0)); pathToAltar.add(new Position(3004, 3302, 0)); pathToAltar.add(new Position(3002, 3298, 0)); pathToAltar.add(new Position(2995, 3295, 0)); pathToAltar.add(new Position(2989, 3292, 0)); pathToBank = pathToAltar; Collections.reverse(pathToBank); //this messes up both variables not only pathToBank break; } }
I think what I'm lacking is maybe initialize pathToBank as a new ArrayList<Position> instead of making it just a reference pointer?
-
2 hours ago, BravoTaco said:
When you added your positions, you may have added them in a reversed order. Try recreating the array/list with the current positions reversed. Or you could do it through code at runtime with a quick Java call.
Collections.reverse(pathToAltar);
Edit:
Just tested the current list you have and it seems to walk correctly from the bank to the air altar, if that is what you are intending. If so than you may have an issue with another part of your script somewhere. Is their more to this script or is it just executing the walking from above?
Yes this is exactly what I intend , maybe I have an issue in my script in some other part ,I have a helper method that configures the script to a certain mode , for example "Air" and accordingly it replaces the "pathToAltar" with a new path , I'll try to check my code once more maybe the issue is there , thanks alot , I'm glad to hear its working so the issue is within my code
-
When I create a list of Positions as a path , and walk it , it walks the reversed path , any idea why is that?
pathToAltar.add(new Position(3013, 3356, 0)); pathToAltar.add(new Position(3010, 3360, 0)); pathToAltar.add(new Position(3006, 3360, 0)); pathToAltar.add(new Position(3005, 3356, 0)); pathToAltar.add(new Position(3006, 3348, 0)); pathToAltar.add(new Position(3006, 3339, 0)); pathToAltar.add(new Position(3005, 3326, 0)); pathToAltar.add(new Position(3006, 3314, 0)); pathToAltar.add(new Position(3006, 3308, 0)); pathToAltar.add(new Position(3004, 3302, 0)); pathToAltar.add(new Position(3002, 3298, 0)); pathToAltar.add(new Position(2995, 3295, 0)); pathToAltar.add(new Position(2989, 3292, 0)); walking.walkPath(pathToAltar);
-
22 minutes ago, ez11 said:
If its not obvious where that area is on the map just go there on the client and enable player debug to see your position. Often these areas are moved a few thousand on the y axis
Thanks alot for your help!
-
How can I get the area of the inside of a runecrafting altar? I'm currently using explv's Map plugin on github , is there a way to access the inside of an alter using this plugin? or any other way to do it in general?
Path works in reverese
in Scripting Help
Posted
Thanks alot! I fixed it by deep cloning instead of shallow cloning