Getting a handle on survivors - findsurvivors.nut
Just a sample you can use in your own code to find survivors. You need to call if after a delay of 10 seconds or so with a logic_auto
Something like
logic_auto > onmapspawn "logic_script_name" runscriptcode with a value of "FindSurvivors()"
Then you can iterate (loop) through the survivors like so...
UPDATE:, as of The Passing, you can actually reference survivors using a syntax similar to !activator, !nick, !rochelle, !ellis, !coach, !louis, etc
Something like
logic_auto > onmapspawn "logic_script_name" runscriptcode with a value of "FindSurvivors()"
Then you can iterate (loop) through the survivors like so...
foreach(s,m in survivors){
//s = name (nick, etc) //m = entity ref if (m.IsValid()){ //do something } }
// Or by name
survivors.nick.GetOrigin()
UPDATE:, as of The Passing, you can actually reference survivors using a syntax similar to !activator, !nick, !rochelle, !ellis, !coach, !louis, etc
/* findsurvivors.nut author: Lee Pumphret https://www.leeland.info The survivors table, once initialized, holds an entity reference to all survivors To reference a specific survivor, you can say survivors.nick (etc...) */ survivors <-{ coach = "models/survivors/survivor_coach.mdl", ellis = "models/survivors/survivor_mechanic.mdl", nick = "models/survivors/survivor_gambler.mdl", rochelle = "models/survivors/survivor_producer.mdl" } survivors_found <- 0 // flag set to true once survivors are found /* Find survivors, this needs to be called after a delay. If you call it immediately, it will fail as they have not been loaded yet, 10 sec after map load should be good. You can call it with a logic_auto output, runscriptcode FindSurvivors() */ function FindSurvivors(){ foreach(s,m in survivors){ printl ("looking for "+s+" mdl:"+m); survivor <- Entities.FindByModel(null, m) if (survivor){ printl(s+" found: "+survivor); survivors[s] = survivor survivors_found++ }else{ printl(s+" NOT FOUND!: "+survivor); survivors[s] = null } } }