rmgrimm / ro-rail

Rampage AI Lite - Homunculus and Mercenary AI Script for Ragnarok Online
2 stars 2 forks source link

Delay on Load #42

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What feature would enhance usability or efficiency?
Efficiency

What revision of the product are you using?
Latest.

It would be nice if we could have a Tick option that delays the AI from 
processing on load, specifically because the homunculus gathers Actors and 
starts doing options immediately on load. When MVPing, you teleport around all 
the time. With this AI, you sacrafice (or your homunc) sacrifice those few 
seconds of invulnerability.

Original issue reported on code.google.com by landstei...@gmail.com on 14 Oct 2010 at 12:47

GoogleCodeExporter commented 9 years ago
This is implemented in revision 175 or later. An example of delaying for 5 
seconds is as follows:

rail_state["DelayFirstAction"] = 5000

Please verify that this works for you.

Original comment by faithful...@gmail.com on 21 Nov 2010 at 10:53

GoogleCodeExporter commented 9 years ago
Not working as intended. The Homuculus freezes and does not process mobs for 
the time limit, as implemented, however mobs still attack immediately after a 
teleport or map entry.

I'm not sure, but I believe this is because Mobs take notice after a call to 
GetActors, so the delay has to occur before this. For the time being, I've set 
this to 0.

Original comment by landstei...@gmail.com on 24 Nov 2010 at 7:09

GoogleCodeExporter commented 9 years ago
I'm pretty sure that it is working as intended. When the homunculus gathers 
data about Actors, no packets are sent to the server. So the data collection 
shouldn't have any impact on the few seconds of invulnerability.

Actually, I think the homunculus does not receive invulnerability at all 
because its ID is not in the player-range. It's akin to monsters not receiving 
invulnerable time when they spawn. Instead, by delaying the first movement of 
the homunculus the AI does not sacrifice the alchemist's invulnerable time. 
(Because the controlling commands originate from the client of the alchemist, I 
think that packets received from the AI cause the alchemist to become 
vulnerable.)

For testing purposes, you can create a new AI.lua file with the following line:
function AI() end

This will cause the homunculus to do absolutely nothing, and I'm pretty sure it 
will be attacked right away. If you find otherwise, please let me know.

Original comment by faithful...@gmail.com on 25 Nov 2010 at 2:50

GoogleCodeExporter commented 9 years ago
After looking into this further, you're absolutely right. This is working as 
intended.

Original comment by landstei...@gmail.com on 29 Nov 2010 at 7:42