func _create(_data) if(isdef(Max)) return('rand()') else return('(rand()%' && Max && ')') end end func doRandom(_data) if(linked(Result)) lng.decl_loc_var(rnd, 'int') println(rnd, ' = ', _create(_data), ';') event(onRandom, rnd) else event(onRandom, _create(_data)) end end func Result() if(linked(doRandom)) return(rnd) else return(_create(_data)) end end