Quote Originally Posted by SUCCESSOR View Post
I didn't say, DON't TALK ABOUT ZS EVARRR! I said the discussion of it's hypothetical future, as in things that aren't in anyway certain yet weren't constructive or relevant. And yes, I do support AS replacing ZS. I have used ZS for over 5 years now and I would take anything over it.
Well, that's more reasonable, I guess.

Quote Originally Posted by SUCCESSOR View Post
Half of all extant scripts? You got a source on that? Last I heard, Gleeok *estimated* 98% compatibility with a conversion tool and DD stated keeping the interpreter for legacy quests so, 100% compatibility. Far off from 50%. And I have never seen that array thing in a script until Moosh posted that snippet so it can't be a significant chunk of extant code. And what does it work around? What limitation is it working around that can't be done in a safer way? Moosh's example came to personal preference.
Like I said, ghost.zh uses that trick. I'd estimate that half of all scripts in use are ghost scripts. In any case, it's a big chunk of them. And I know several users who hack into their copy of the ghost library itself to fix perceived bugs, making it rather difficult for them to update to whatever new version fixes this issue. I'd estimate the workaround at around 50 lines of code.
In any case, I'd estimate that every recent moderately script heavy quest uses it somewhere or else. (Maybe not LaZ? That was mostly developed independent of everything else. I'd have to ask about that.)

As for what it's used for - like I said, it emulates pointers. So you can use it for whatever kinda thing you'd normally use pointers for. Ghost uses it to stuff 20 or so data values into a single npc->Misc slot. (That particular workaround is dynamically assigning an id in a dedicated global array. You're moving into psuedo-memory management at that point, though). I've used it for a malloc/free system, linked lists, hashmaps, etc. (Though I haven't really released anything...)