Closed GoogleCodeExporter closed 8 years ago
It is unlikely I will implement something like this. One reason is, as you
mentioned, the ability to easily identify when cloaked/hidden characters are on
the screen. I realize that there are already ways of doing this by reading the
log output, but I do not want to implement it as part of the AI.
Another reason is that there's not really a clean, easy way to do it. Sending
up a message when a particular actor or type of actor isn't the problem. The
problem is that causing a box to appear also has the side-effect of restarting
the AI. The only way to have the AI send up a box is with the built-in Lua
function error(). When any error in the AI occurs, the Ragnarok client reloads
the entire AI. The problem is that if Phreeoni is on the screen, the error box
would just keep notifying you. I don't think you want infinite notices that
Phreeoni (in your example) is around, do you? It'd be pretty hard to MVP him
like that.
So of course, it is possible to write data out to a file before throwing the
error. Then the initialization would check for data in that specific file
before allowing the AI to toss another error. But the problem is what data
should be written? And to which file? (Probably state-file; but then there's a
chance homu+merc will each notify the players, which is undesirable for people
who use both.) Once that's figured out, how should the AI know that the data is
old/expired and a new notification is needed?
As you can see, it starts to get ugly really fast. For a feature with limited
legitimate use, with a great potential for rules-abuse or even rule-breaking, I
just think that the amount of work is too great to justify implementation.
So at this point, I won't implement it. I may reconsider later.
Original comment by faithful...@gmail.com
on 9 Dec 2010 at 2:03
I fully understand the concern, though this could be implemented just as easily
by anyone else. Still, I respect your decision to not implement it for the
reasons discussed, though its unfortunate a useful feature has to be killed
because of potential abuse.
There is not a clean, easy way to do it, perhaps, but:
rail_state["ActorOptions"]["ByType"][1159]["Notify"]
could changed from 'true' to a tick count. It is certainly possible, but not
necessarily clean.
Original comment by landstei...@gmail.com
on 9 Dec 2010 at 3:55
Original issue reported on code.google.com by
landstei...@gmail.com
on 9 Dec 2010 at 12:41