function actor_on_first_update() local pool = { ["val_endless_night_spawn_01"] = { pos = vector():set(-58.37699508667, -0.39553779363632, -374.03778076172), smart = "val_smart_terrain_3_0", }, ["val_endless_night_spawn_02"] = { pos = vector():set(-134.28462219238, -1.4056015014648, -330.41253662109), smart = "val_smart_terrain_5_8", }, ["val_endless_night_spawn_03"] = { pos = vector():set(-47.002891540527, -3.0274252891541, -145.11131286621), smart = "val_smart_terrain_6_5", } } for sec,v in pairs(pool) do local se = get_story_se_item(sec) if not (se) then local pos = v.pos local vid = level.vertex_id(pos) local gid = SIMBOARD.smarts_by_names[v.smart].m_game_vertex_id se = alife():create(sec,pos,vid,gid) end end end function on_game_start() RegisterScriptCallback("actor_on_first_update",actor_on_first_update) end