Some sort of a 'showvars' command would be nice, ie, something that listed all the variables that were currently initialized and their current values (useful for debugging and also if you forget all the variables you've used in a script).
Also, being able to look at the value of a variable in a variable. IE
Code: Select all
/varset v1 1
/varset v2 v1
/echo $$v2
would produce
as output.
Also, a few things to determine what a variable is. IE $is_int($v50), etc. Useful for starting a script up after ending it but -not- nuking variables. To check and see whats set already, and that its the right type... Would suggest possible $is_int(), $is_string(). /shrug
Theres a couple more things, but my thoughts have evaporated again.
(EDIT: adding more)
The following strings added to the food filter (or a new 'eating' filter)
- 'You take a bite out of a'
- 'You take a drink out of a'
- 'Ahh. That was tasty'
- 'Ahh. That was refreshing'
- 'You could not possibly eat any more, you would explode'
- 'You could not possibly drink any more, you would explode'
A $newui test, returns TRUE if loaded with the newUI, FALSE otherwise.
Array 'modifiers'
- a 'push' function which tacks an item onto the end of an array
- a 'pop' function which removes an item from the end of an array
- a 'reverse' function, which reverses the items in the array*
- an 'array copy' function, that just dupes an existing array
* = said reversal would be limited to size of array, not all 100 entries. IE, if you have a(0,0), a(0,1), a(0,2), a(0,3), it would 'flip' the array so that the new a(0,0) would be what a(0,3) used to be, new a(0,1) would be what a(0,2) used to be, etc.
Admittedly, on the array functions, we can write MQ# that will do it, however, if added to the engine it would go faster. /shrug Throwing it out there for comments. (And yes, I can think of at least 2 uses for it...)
I could find a use or two for a turbo toggle (instead of just script-wide on or off), but thats really not important.
When storing strings into a variable, case is currently auto-converted to lower
Code: Select all
/varset v1 "This is a STRING"
/echo $v1
produces
. Text variables set from events (Event_Chat and custom events) seem to be unaffected (capitals stored just fine), but if you varset, it'll be tolower()'d. Again, not too important, just for looks...
The ability to escape (with a \) $'s to prevent variable substitution would be nice
The ability to get the length of a string ($strlen()) and the ability to look at a string one char at a time...
Code: Select all
/varset v1 "This is a STRING"
/for v2 0 to $calc($strlen($v1)-1)
/mqlog v1[$v2] is $v1[$v2]
/next v2
produces
Code: Select all
v1[0] is t
v1[1] is h
...
v1[14]n
v1[15]g
(note: example uses all lowercase because currently strings set in variables are tolower()'d as mentioned above).
Some sort of a test to see if a spell gem is available, similar to what happened with the doability / etc. IE, $char(gem,1,down) is TRUE or FALSE. As a note: thankyouthankyouthankyou for the existing spellbook support.
Might be useful to add a test for keys that are down, or a function that will report all the keys that are down. I occasionally get 'stuck' keys, keys that should be up (having gone through two /sendkey up's), again, something that could be used for debugging. /shrug
Also wanted to say thanks (again?) for putting all the work you have into MQ. Its appreciated.