
Originally Posted by
shadowseka
This is cool man, a very good way to make the machine more "human" as posible but
Ok you mean this can be set in the waypoints/nodes or in a hunt?
wont affect like not getting the most exp/hr? or will it go to some random leaving nodes?
Thanks.
This will be very difficult to configure for existing scripts, as it will likely require both Lua and XBST editing. You'll need to create multiple groups of nodes, each group being assigned to a specific path from point A to B, then randomly select one of those using the code I posted above. The Lua will do random number generation, pay attention to the fact that math.random(min, max) selects a number from min to max inclusive (meaning it can select min, max, or any number in between the two).
Regarding exp/h, if anything this might increase it. The fact is when you take the same path, you cover less ground, and pull less mobs. When you begin to vary that path, depending on how drastic you are you may draw more monsters in, increasing the amount of the spawn you reach out to, also increasing the time one circle of the spawn takes. The increased time means more respawn the next time you circle, and the increased spawn coverage generally means you'll find more creatures. All in all, it's a win win situation, unless you happen to be hunting in a spawn where you can guarantee that you won't find any creatures off from a certain path (possible in caves such as rotworms, since the cave is too narrow for spawn to be outside of the regular catchment area.
Here's a sample from XBST and Lua:
Code:
<item text="ToShopRnd:" tag="255"/>
<item text="ToShopRnd1:" tag="255"/>
<item text="WNode (32831, 31247, 7)" tag="5"/>
<item text="WNode (32829, 31236, 7)" tag="5"/>
<item text="WNode (32817, 31234, 7)" tag="5"/>
<item text="WNode (32807, 31234, 7)" tag="5"/>
<item text="WNode (32797, 31234, 7)" tag="5"/>
<item text="!cdataread" tag="254"><![CDATA[Walker.GotoLabel("AtShopRnd")]]></item>
<item text="ToShopRnd2:" tag="255"/>
<item text="WNode (32828, 31254, 7)" tag="5"/>
<item text="WNode (32816, 31254, 7)" tag="5"/>
<item text="WNode (32806, 31254, 7)" tag="5"/>
<item text="WNode (32800, 31244, 7)" tag="5"/>
<item text="WNode (32793, 31233, 7)" tag="5"/>
<item text="!cdataread" tag="254"><![CDATA[Walker.GotoLabel("AtShopRnd")]]></item>
<item text="ToShopRnd3:" tag="255"/>
<item text="Node (32790, 31237, 7)" tag="0"/>
<item text="!cdataread" tag="254"><![CDATA[Walker.GotoLabel("AtShopRnd")]]></item>
<item text="ToShopRnd4:" tag="255"/>
<item text="Node (32789, 31237, 7)" tag="0"/>
<item text="!cdataread" tag="254"><![CDATA[Walker.GotoLabel("AtShopRnd")]]></item>
<item text="ToShopRnd5:" tag="255"/>
<item text="Node (32791, 31239, 7)" tag="0"/>
<item text="!cdataread" tag="254"><![CDATA[Walker.GotoLabel("AtShopRnd")]]></item>
<item text="ToShopRnd6:" tag="255"/>
<item text="Node (32790, 31240, 7)" tag="0"/>
<item text="!cdataread" tag="254"><![CDATA[Walker.GotoLabel("AtShopRnd")]]></item>
<item text="ToShopRnd7:" tag="255"/>
<item text="Node (32792, 31238, 7)" tag="0"/>
<item text="!cdataread" tag="254"><![CDATA[Walker.GotoLabel("AtShopRnd")]]></item>
<item text="AtShopRnd:" tag="255"/>
lua code:
elseif (labelName == "ToShopRnd" then
shoprnd = math.random(1, 7)
print "Going to random shop spot number " .. shoprnd
Walker.GotoLabel("ToShopRnd" .. shoprnd)
And allow me to explain a little what happens here.
The walker reaches the waypoint "ToShopRnd", which triggers the Lua event above. At this point, a random number is generated between 1 and 7, it then prints the output to inform the end user which path will be taken, and Walker.GotoLabel sends the walker to the waypoint "ToShopRnd"..RandomNumber, where RandomNumber is the number between 1 and 7 which we have generated.
Pretty simple, right? Why the hell didn't anyone do it sooner? lol