@Laiev: So this is a system that calls hashtables but just makes it more efficient? Are there any specific types of instances where a hashtable would not work, or is it just me making mistakes? I used to use hashtables to store data using unit ID and call it the same way, but it didn't work for something I tried to do.
call SaveInteger(udg_Hashtable_Global, StringHash("blahblah"), GetHandleId(u), i)
library someLib initializer init
globals
private Table t //declare the table
endglobals
private function init takes nothing returns nothing
set t = Table.create() //create the table
endfunction
set t[GetHandleId(u)] = i //use it inside this library
if t[GetHandleId(u)] == 10 then //restore the value to something, for example inside a if
// note:
// to you understand easily
//
// SaveInteger(private hashtable that you never see, this is the instance of table - in this case 't', value inside [], i)
//
// by default, table save integer, but you can save other things too, ie:
// set t.unit[some key] = u
// set t.boolean[some key] = true
// set t.string[some key] = "hello"
//
// If you need other line of any type already used, create another table
endlibrary