MantisBT - Zandronum
View Issue Details
0002119Zandronum[All Projects] Bugpublic2015-03-07 16:112018-09-30 23:38
haxmurderer 
Dusk 
normalminoralways
closedfixed 
MicrosoftWindowsXP/Vista/7
1.3 
1.41.4 
0002119: Server doesn't inform the client of actor TIDs with ACS Spawn/SpawnSpawn functions
When spawning an actor with Spawn() or SpawnSpot() in ACS, one of the parameters you can pass is the "newtid" parameter, which automatically assigns the newly spawned actor the given TID.

However, this TID is not sent to the client, and if used in any clientside scripts, ACS functions will behave as if the TID doesn't exist.

A workaround is to immediately call Thing_ChangeTID(newtid, newtid) after using Spawn() or SpawnSpot(). I've confirmed that this does inform the client that the actor has the new TID.
In a server-side script, call Spawn("Imp", 8, 8, 8, 1).
In a client-side script, call Print(d:GetActorX(1)) in a timer loop.

Try this in multiplayer. The client-side script will always print 0, even as the imp walks around and changes its X coordinate.

To test the workaround, add a Thing_ChangeTID(1, 1) after the Spawn() call on the server-side.
No tags attached.
? bug2119.wad (3,805) 2015-03-07 16:30
/tracker/file_download.php?file_id=1426&type=bug
Issue History
2015-03-07 16:11haxmurdererNew Issue
2015-03-07 16:29DuskAssigned To => Dusk
2015-03-07 16:29DuskStatusnew => assigned
2015-03-07 16:30haxmurdererFile Added: bug2119.wad
2015-03-09 06:15DuskNote Added: 0011801
2015-03-09 06:15DuskStatusassigned => needs review
2015-03-09 10:34DuskNote Edited: 0011801bug_revision_view_page.php?bugnote_id=11801#r6745
2015-03-09 20:52cobaltStatusneeds review => needs testing
2015-03-09 20:52cobaltTarget Version => 1.4
2015-03-09 20:52cobaltDescription Updatedbug_revision_view_page.php?rev_id=6747#r6747
2015-03-09 20:52cobaltSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=6749#r6749
2015-03-09 20:52cobaltNote Added: 0011805
2015-03-16 01:23DuskStatusneeds testing => resolved
2015-03-16 01:23DuskFixed in Version => 1.4
2015-03-16 01:23DuskResolutionopen => fixed
2018-09-30 23:38Blzut3Statusresolved => closed

Notes
(0011801)
Dusk   
2015-03-09 06:15   
(edited on: 2015-03-09 10:34)
This should fix that

Patch here

(0011805)
cobalt   
2015-03-09 20:52   
Issue addressed by commit d5f445e1ffce: - fixed: Spawn() and friends did not update the spawned actor(s)'s TID to clients (fixes 2119)
Committed by Teemu Piippo [Dusk] on Monday 09 March 2015 08:16:40

Changes in files:
 docs/zandronum-history.txt | 1 +
 src/p_acs.cpp | 4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)