Dude, what a mess. o_O
The Mechanic, on 02 October 2015 - 11:40 PM, said:
D'oh !

Yes, that is what I need, I thought I'd searched the wiki thoroughly, it just didn't click that it'd be a per-player thing which, of course, now seems obvious. Cheers ! Yes, I want (in theory at least) to be able to have infinite respawns, I think it may be of encouraging players not to revisit an area too often which they can take as a hint they are going the wrong way. After all, if Duke has cleared an area, why wouldn't the aliens send in re-inforcements?
If you want RESPAWNs to continue working after being activated, use this:
appendevent EVENT_KILLIT
ifactor RESPAWN
{
setvar RETURN -1
setactor[THISACTOR].extra 0
}
endevent
The Mechanic, on 02 October 2015 - 11:40 PM, said:
Anyhow, when I detect a player triggering one of my respawns alls I'll know is the player's THISACTOR value. How would I convert this to the relevent index into the player structures ? Or is the script system smart enough such that getplayer[THISACTOR] will re-interpret THISACTOR for me ? Or should I just ignore multiplayer and use getplayer[0] ? (I don't play multiplayer and I'm sure I read somewhere that current Eduke versions aren't multiplayer anyway?).
Yes, it will re-interpret THISACTOR. If you use it for getactor, THISACTOR returns the current actor ID, for getplayer it will be the nearest player ID, and for getsector it will be the current actor sector ID.
It's tricky, but in multiplayer you would have to change the value of max_actors_killed for all players...
The Mechanic, on 02 October 2015 - 11:40 PM, said:
Currently my main game loop looks like this:
[...]
It has happened this way because I'm not confident about when, or what happens, should my sprites get marked by Eduke as zombied because the player hasn't seen them in a while (however they are _not_ useractors). Also unless I've missed something there is no event that fires once per game tick - plus I dont know the interval of a game tick.
TTFN,
Jon
Not sure where you are getting with this. First of all, EVENT_GAME runs every tic for all existing sprites in the map, including sleeping (zombie) actors. So a global gamevar would be overwritten.
If you want to prevent an actor from ever sleeping, I believe this would work:
onevent EVENT_GAME
ifactor MYACTOR
setactor[THISACTOR].httimetosleep 0
endevent