Code:
//########################################################################################
//## Handle Variables //##
//## By KaTTaNa //##
//## Requires the Global Game Cache Variable "HandleVars" (udg_HandleVars) //##
//########################################################################################
function HV_H2I takes handle h returns integer
return h
return 0
endfunction
function LocalVars takes nothing returns gamecache
if udg_HandleVars == null then
call FlushGameCache (udg_HandleVars)
set udg_HandleVars = InitGameCache ("jasslocalvars")
endif
return udg_HandleVars
endfunction
function SetHandleHandle takes handle subject, string name, handle value returns nothing
if value == null then
call FlushStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
else
call StoreInteger (LocalVars(),I2S(HV_H2I(subject)),name,HV_H2I(value))
endif
endfunction
function SetHandleInt takes handle subject, string name, integer value returns nothing
if value == null or value == 0 then
call FlushStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
else
call StoreInteger (LocalVars(),I2S(HV_H2I(subject)),name,value)
endif
endfunction
function SetHandleBoolean takes handle subject, string name, boolean value returns nothing
if value == null or value == false then
call FlushStoredBoolean (LocalVars(),I2S(HV_H2I(subject)),name)
else
call StoreBoolean (LocalVars(),I2S(HV_H2I(subject)),name,value)
endif
endfunction
function SetHandleReal takes handle subject, string name, real value returns nothing
if value == null or value == 0.00 then
call FlushStoredReal (LocalVars(),I2S(HV_H2I(subject)),name)
else
call StoreReal (LocalVars(),I2S(HV_H2I(subject)),name,value)
endif
endfunction
function SetHandleString takes handle subject, string name, string value returns nothing
if value == null or value == "" then
call FlushStoredString (LocalVars(),I2S(HV_H2I(subject)),name)
else
call StoreString (LocalVars(),I2S(HV_H2I(subject)),name,value)
endif
endfunction
function GetHandleHandle takes handle subject, string name returns handle
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
return null
endfunction
function GetHandleInt takes handle subject, string name returns integer
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
endfunction
function GetHandleBoolean takes handle subject, string name returns boolean
return GetStoredBoolean (LocalVars(),I2S(HV_H2I(subject)),name)
endfunction
function GetHandleReal takes handle subject, string name returns real
return GetStoredReal (LocalVars(),I2S(HV_H2I(subject)),name)
endfunction
function GetHandleString takes handle subject, string name returns string
return GetStoredString (LocalVars(),I2S(HV_H2I(subject)),name)
endfunction
function GetHandleUnit takes handle subject, string name returns unit
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
return null
endfunction
function GetHandleTimer takes handle subject, string name returns timer
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
return null
endfunction
function GetHandleTrigger takes handle subject, string name returns trigger
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
return null
endfunction
function GetHandleEffect takes handle subject, string name returns effect
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
return null
endfunction
function GetHandleGroup takes handle subject, string name returns group
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
return null
endfunction
function GetHandleLightning takes handle subject, string name returns lightning
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
return null
endfunction
function GetHandleWidget takes handle subject, string name returns widget
return GetStoredInteger (LocalVars(),I2S(HV_H2I(subject)),name)
return null
endfunction
function FlushHandleLocals takes handle subject returns nothing
call FlushStoredMission (LocalVars(),I2S(HV_H2I(subject)))
endfunction
//##########################################################################################
Share This Thread