First, I would like to say, I have NO IDEA how your code is written, in what it was written nor how it works. I am also not a guru with programming.
With that said, your resurrection box is that, a box. It is normally referenced in code as a list box or something similar (Java:Jlist(), Visual C++: LB_*, C++:ListBox, VisualBasic:Listbox…you see the pattern?). Every one of these compilers and interpreters has a function or method that allows you to get the size of the listbox. You guys are currently using this ability in your code because when a rez from a healer happens, you place it into the listbox at the end. Now this may occur through and array which you import into the listbox or you are using the listbox to hold the “array.”
I keep hearing that someone at FunCom said “it is too hard” to fix the bug with the rez box.
(The bug: When a healer / conq puts a rez on someone the listbox reorders/reloads and goes to the first resurrection point in the list box. This if fine but if another rez comes through when you are paging to the end of the list box and you hit the “Resurrect Button” at that time, you rez out of an instance to a World Resurrection Point.)
This “bug” is super easy to fix. As I said, every compiler/interpreter that has a listbox tool has a function or method that returns the integer size of the listbox. (If there are 7 items, the size returned is INT 7) At the point after you reorder/reload the listbox, run the associated function or method needed to get the size of the listbox and set it to a local variable. Then use the listbox selection function or method to set the selected item to <listbox size variable> -1. (Most (All of the ones I have seen) use “0” as the first item in the listbox so you need to go to one less than the size of the listbox)
No other coding is needed. You just need to do this AFTER you repopulate the list box after rezes go out (And you can make this resurrection dependent. A simple “if” statement, if resurrection, run this code. This way it doesn’t mess with how you have set all the world resurrection points). I would recommend that you put this code in at the end of your repopulation function/method or make this its own function/method and just call it as the last thing that happens after you repopulate a resurrection box.
Much obliged,
Tankzo