Coh3n
2010-11-22 14:45:55
_______________________________________
[ADMIN]Anything below here is old, and is what was originally planned for this feature![/ADMIN]
If you haven't already, please read MSI & Reflection.
MSI intends to use reflection as a backup for color.
Here we will discuss all the planning for the hybrid system. Where do you think it should be used? How do you think it should be done? How do you think it should be organized?
Here's my thoughts so far:
- Will first be used for waiting functions (WaitWhileMining, WaitWhileChopping, etc.) and then expanded into item/object finding, and maybe eventually into walking. There are some possible scenarios for this:
- Color thinks we're chopping, so we check with reflection. Reflection says we're chopping; therefore, the color routines work and we're still chopping.
- Color thinks we're chopping, so we check with reflection. Reflection says we're not chopping; therefore, the color routines failed and we gather extensive debug information - screenshots, colors, etc. - and update them during runtime.
- Color thinks we aren't chopping, so we check with reflection. Reflection says we are chopping; therefore, the color routines failed.
- Both color and reflection say we aren't chopping; therefore, we aren't chopping.
- We'll create a new function in Debug.simba that handles extensive color information gathering - screenshots, mostly - to be called upon when color routines fail.
We'll use MSI's tracking system more so we can see how the color routines are doing, and update them if needed. I also think we can use Reflection to improve this system as well. We can track the tile that was clicked and make sure the color tracking is still tracking that tile. If it's not, we adjust it accordingly.- An ID attribute will be added to the TItem & TMSObject records. An ID array will need to be added to the TScript record to hold the default IDs for each script.
- Since there are different animations for different pickaxes, hatchets, etc., I think we should use a global 2D array that holds the different animations.
MSI_Animations[SKILL_WOODCUTTING] := [123, 456, 789];
MSI_Animations[SKILL_MINING] := [987, 654, 321];