I've decided to try to make a list of what all of the variables are used for, or atleast those of them that I know how to use. I'll take them in the order they're listed, ignoring those that I don't know how to use.

The events are used in the Exiva EXP message, the "show EXP in Title" text, and in certain cavebot scripts.

There are two types of returns. Strings and numbers. I'm not sure what events that returns what, so you'll have to experiment a bit. As far as I know, all values are only numbers unless otherwise is written.

Whatever the type of the return, they can all be used with "sayMessage" in the cavebot or as actions in the cond. events. The difference is that you can do math with numbers but not with strings.
Code:
$expleft$
Pretty easy, this one returns the amount of EXP left to the next level.

Code:
$nextlevel$
Returns what your next level is.

Code:
$exph$
Returns the amount of EXP you get each hour.

Code:
$timeleft$
Returns the time left for the next level at the current EXP/h rate.

Code:
$played$
Returns how long you have been online. (I believe this is only a string)

Code:
$expgained$
EXP gained since you logged in.

Code:
$charactername$
Returns your charactername. String.

Code:
$lastsender$
Returns the name of the character that last said something to you, I believe this is only for default and PMs tho. String.

Code:
$lastmsg$
Returns the last message recieved, I believe this also is only for default and PMs. Useful when talking to NPCs; example:
Code:
IfTrue ($lastmsg$#string=#Hiho $charactername$.) Goto $nlineoflabel:label$
This would only become true if the NPC said "Hiho" followed by the name of your current character.

Code:
$myhp$
Returns the current amount of HP.

Code:
$myhppercent$
Returns the current amount of HP in percent.

Code:
$mymana$
Returns the current amount of mana.

Code:
$mylevel$
Returns your current level.

Code:
$mysoulpoints$
Returns your current amount of soul points.

Code:
$myexp$
Returns your current amount of EXP.
Code:
$lastpkname$
Returns the name of the monster or player that attacked you that was not on the runemaker friend list or in the cavebot's kill list. String.

Code:
$lastgmname$
Returns the name of the last GM seen. String.

Code:
$date$
Returns the current date in DD-MM-YYYY. Only string I believe.

Code:
$time$
Returns current time in HH:MM:SS. Only string I believe.

Code:
$shorttime$
Returns current time in HH:MM. This might be both string and number.

Code:
$mycap$
Returns your current cap.

Code:
$mystamina$
Returns current stamina in minutes.

Code:
$randomlineof:*.txt$
Returns a random line of the textfile named *. Needs to be saved in the "randline" folder of BlackD Proxy. Useful for answering players/GMs.

Code:
$nlineoflabel:labelname$
Returns what line the label "labelname" is on. Useful when using "IfTrues" in the cavebot.

Code:
$hex-equiped-item:01$
The hex of the item equipped in slot 01. The slots are:
01: Head
02: Necklace
03: Backpack
04: Armor
05: Shield
06:Weapon
07: Legs
08: Boots
09: Ring
0A: Ammo
Useful when creating custom hexes for moving items to/from the EQ slots.

Code:
$hex-equiped-ammount:01$
Returns the amount, in hex, of items equipped in the specified slot. Same use as above.

Code:
$num-equiped-ammount:01$
Returns a numerical value on the amount of equipped items in the specified slot.

Code:
$hex-tibiastr:*$
Returns what the hex of the text * is.

Code:
$numbertohex1:*$
Returns what the number * is in hex. Can only count to 255.

Code:
$numbertohex2:*$
Same as above, but can count to 65535.

Code:
$hex1tonumber:**$
Returns what the hex of * is. Largest hex is FF.

Code:
$hex2tonumber:** **$
Returns what the hex of ** ** is. Must be four letters with a space in the middle. Largest hex is FF FF.

Code:
$numericalexp:A(+ - / *)B$
Returns what the value of A plus, minus, divided by or mulitplied by B is. Other events can be used by replacing A and/or B with {$event$}. You can use several numericalexp in the same calculation, but be sure to have enough $'s and {}.

Code:
$myx$, $myy$ and $myz$
Returns your current X, Y and Z coordinates. Remember that they are always used in this order in the cavebot and when sending hexes.

Code:
$comboorder$
Returns what the current order to use a combo is.

Code:
$comboleader$
Returns who the current combo leader is.

Code:
$pksonrelativefloor:0$
Returns the amount of players, NPCs and creatures currently detected at your floor. It only detects beings that are not on the friend list or the kill list. Change the zero to -* to see * floors below you, or number greater than zero to see floors above. Remember that it can not detect above or below if that floor is the "ground" floor, 7.

Code:
$gmsonrelativefloor:0$
Same as above, but only detects GMs.

Code:
$pksandgmsonrelativefloor:0$
Returns the amount of both GMs and "PKs".

Code:
$statusbit:*$
Returns 0 if you are not affected by status *, or 1 if you are.
Poison: 8
Attack sign: 1
Paralyze: 3

Code:
$_customvariable$
Creates a variable that returns whatever is specified in it. You create it by saying "exiva _customvariable = *" or in the cavebot using either sayMessage or fastExiva, where * is what the value should be. Maybe a numericalexp?

Code:
$__customglobalvariable$
Same as above, but this variable can be used and edited by all currently logged in characters. There are pretty few uses for this variable!

And... that is all!