Can you key off the system messages?
I don't know if there are messages for every criminal action that resets the timer...
It would require some testing if someone is in the mood for it
The conditions are the following (quote from uoguide):
- Stealing from a NPC or player (assuming you're caught!).
- Healing or otherwise buffing a gray or red character.
- Attacking and/or killing another blue character.
- Looting a corpse you do not have the rights to.
- Casting the Polymorph spell.
with poly it shouldn't be a problem (since you should be a criminal while the effect is active), looting if there are no messages is a big problem, same for stealing. Attacking or buffing should be detectable.
I wasn't getting the bar for most of the red spawn during that event, only about 4 bars were showing up :/
I was able to test the event, the main problem with that many mobiles (the peak was 214), is that the client cannot retrieve the info for all of them (there is some kind of internal cap), so no data = no bars... By filtering only the red I was able to get most of them tho...
Besides that, I checked the FPS difference with default and there is NO DIFFERENCE. For what I could see, the lag was a sum of 2 factors:
- Too many effects, even by activating the particle filter, the client process them, so they are there but invisible I think.
- Too many UI elements. Each and every mobile on screen has the name window created automatically (cannot be avoided or the speech for that mobile won't work). Each of those window has 3 more pieces, so for 214 mobiles is 856 UI elements standing there and being draw (even if there is no text to show) + all the elements you create (hotbars, chat, containers, etc...), you end up with an insane amount of UI elements that suddenly kills the performance. The worst performance that you can get is when everyone speaks or cast spells, because then other than staying still those UI elements also needs to be updated. If you notice, by having the names set to "Approaching", you get MASSIVE lag spikes by entering the portals, just because all those UI elements have something to be updated with.
I tried to block the names completely and stuff like that, but the main problem is that those elements are created, and even if they are not updated they are there. Then count that everytime you change area, they are destroyed and re-created...
IMHO the problem needs to be addessed inside the client somehow... it would require some tinkering because there is no easy solution... probably by creating those elements 1 every 0.1s instead of all of them at once it will improve the performance, but it will cause other problems like delayed chat messages and stuff like that. Also I think that another improvement would be to create the chat elements only for players, since in this cases we have MANY pets, summons, etc... we would get less lag in general since there will be less elements. In fact if you notice, on champion spawns you don't have lag, because the monsters don't talk (even if they are FAR less than 200 anyway)
Besides that I manage to fix a couple of bugs, like the scrolling position that keeps reset on public loots