I had thought about that... but probably not going to go that route. I did, after much debuging and testing come up with a solution (its mixed with my RPG Counter Script so try to ignore that)...
The only downside I see with this method is plays with item jinx times, but I don't ever use enemies that cause item Jinx in game as its too easy to render Link completely helpless if both types of jinxers are in the same room, so in my case not much of a downside.Code:import "std.zh" const int CR_LIFEMIRRORMAX = 8; //Life Mirror for Max HP display on SS script 2 const int CR_MAGICMIRRORMAX = 9; //Magic Mirror for Max MP display on SS script 3 const int CR_LIFECUR = 10; //Life Current Mirror Script 4 const int CR_MAGICCUR = 11; //Magic Current Mirror Script 5 const int CR_SARROW = 18;// Silver Arrow Counter set to Script 12 //MaxHP and MaxMP for max values global script Active { void run() { while(true) { GetEquipmentA(); GetEquipmentB(); SilverArrowStatus(); CounterUpdate(); Waitdraw(); Waitframe(); } } } void SilverArrowStatus() { int j; for(int i = Screen->NumLWeapons(); i>0; i--) { lweapon w=Screen->LoadLWeapon(i); if (w->ID==LW_ARROW){j++;} } if (UsingItem(14)==true) { if (Game->Counter[CR_SARROW] < 1) { Link->ItemJinx = -1; } if (j > 0) { Link->ItemJinx = -1; } } else { Link->ItemJinx = 0; } } void CounterUpdate() { Game->Counter[CR_LIFEMIRRORMAX]=Link->MaxHP; Game->Counter[CR_LIFECUR]=Link->HP; Game->Counter[CR_MAGICMIRRORMAX]=Link->MaxMP; Game->Counter[CR_MAGICCUR]=Link->MP; } item script SilverArrow { void run() { Game->Counter[CR_SARROW]--; Game->Counter[CR_ARROWS]++; } }