Okay, I'm trying to create new methods for storing struct data, but my current won't work! It only displays the "lol".
Grr?
JASS:
library DAS initializer Init
//! textmacro DAS_make takes TYPE,NAME,SCOPE
private keyword $NAME$DATA
globals
$SCOPE$ string array $NAME$STR[400000]
$SCOPE$ string array $NAME$DUMMYSTR[400000]
$SCOPE$ integer $NAME$N=-1
$SCOPE$ $NAME$DATA $NAME$store
endglobals
private struct $NAME$DATA
$TYPE$ dat
method operator[] takes string s returns $TYPE$
return .dat
endmethod
method operator[]= takes string s, $TYPE$ data returns nothing
set .dat=data
endmethod
endstruct
$SCOPE$ function Get$NAME$ takes handle h returns integer
local integer r
local integer j=-1
local boolean b=false
loop
set j=j+1
if $NAME$DUMMYSTR[j]=="stored" then
set r=$NAME$store[$NAME$STR[$NAME$N]]
set $NAME$STR[$NAME$N]=""
set $NAME$DUMMYSTR[$NAME$N]="available"
set $NAME$N=$NAME$N-1
set b=true
endif
if j>$NAME$N then
debug call BJDebugMsg("DAS: please store data before getting it!")
endif
exitwhen b==true or j>$NAME$N
endloop
return r
endfunction
$SCOPE$ function Store$NAME$ takes handle h, integer xxx returns nothing
if $NAME$DUMMYSTR[$NAME$N]=="available" then
set $NAME$N=$NAME$N+1
set $NAME$STR[$NAME$N]=I2S(xxx)
set $NAME$DUMMYSTR[$NAME$N]="stored"
set $NAME$store[$NAME$STR[$NAME$N]]=xxx
call BJDebugMsg($NAME$STR[$NAME$N])
call BJDebugMsg("lolh")
endif
endfunction
$SCOPE$ function InitStrings_DASGENERATED$NAME$ takes nothing returns nothing
local integer j=-1
loop
set j=j+1
exitwhen j>399999
set $NAME$DUMMYSTR[j]="available"
set $NAME$STR[j]=""
endloop
call BJDebugMsg("lolz")
endfunction
//! endtextmacro
//! runtextmacro DAS_make("integer","Struct"," ")
private function Init takes nothing returns nothing
call BJDebugMsg("lol")
call InitStrings_DASGENERATEDStruct()
endfunction
endlibrary
JASS:
library tst
struct d
timer t
string str
endstruct
function Lulz takes nothing returns nothing
local d y=GetStruct(GetExpiredTimer())
call BJDebugMsg(y.str)
endfunction
function Trig_TEST_Actions takes nothing returns nothing
local d y=d.create()
set y.str="hi"
set y.t=CreateTimer()
call StoreStruct(y.t,y)
call TimerStart(y.t,0.25,false,function Lulz)
endfunction
//===========================================================================
function InitTrig_TEST takes nothing returns nothing
set gg_trg_TEST = CreateTrigger( )
call TimerStart(CreateTimer(),0.03,false,function Trig_TEST_Actions)
//call TriggerAddAction( gg_trg_TEST, function Trig_TEST_Actions )
endfunction
endlibrary
Grr?