MantisBT - Zandronum
View Issue Details
0000818Zandronum[All Projects] Bugpublic2012-04-26 22:232024-03-22 17:06
MediumTank 
 
normalminoralways
resolvedfixed 
MicrosoftWindowsXP/Vista/7
98d 
 
0000818: CLIENTSIDE script can grab actor data if it's there from the map start, but not if it's spawned from the ACS Spawn(...);
If you have an object in the map with a TID of 123 (placed in DoomBuilder) at a certain position, invoking the script to print it's data clientside will be successful, you are able to gets its X/Y/Z/angle/pitch, but that's all.

If you spawn an item with:
Spawn("UnitHere", x, y, z, 456, angle); // Tid 456

And then proceed to GetActorX/Y/Z/Pitch/Angle(456), it will not work and return zero.

Furthermore, if you move Actor 123 around with a server side script, the clientside puked script will be able to grab the correct data of where it is from actor 123 (the one there from the start).
If you do the same to the spawned actor 456 (the spawned one), it will still return X/Y/Z...etc, as zero.

If you try and tell the server to grab the data, it will successfully return all the values, showing that it is processed on the server side... but considering the client *has* to know its X/Y/Z/angle...etc for it to be rendered, it's already got to have the data yet returns zero.


In addition: If you join with a player after it has moved, the player will be able to use GetActorX..., on the actor that was there from the map start and he will be able to successfully grab the data



Therefore, for some reason [NET] CLIENTSIDE scripts cannot gather data from units spawned with the Spawn function.
1. Run wad

--> It will tell you to type puke -100, do so and sit back + watch (try it online, and even better yet try it with another person in the server, will yield the same results as described in the Description category)
My solution for my mod if this isn't fixed, would be to just pre-generate all the actors I need and then move them into position... simulating Spawn(...), but I'd save much more time if I could just call them on the fly as need be instead of pre-creating them *all*... if you know what I mean.



Please don't consider removing it though. This helps me do some awesome ACS stuff that I can only do clientside without busting the servers bandwidth up.
No tags attached.
? ClientsideGetActorProblem.wad (4,404) 2012-04-26 22:23
/tracker/file_download.php?file_id=585&type=bug
Issue History
2012-04-26 22:23MediumTankNew Issue
2012-04-26 22:23MediumTankFile Added: ClientsideGetActorProblem.wad
2012-06-09 13:22Torr SamahoCategoryGeneral => Bug
2014-06-11 21:29WatermelonStatusnew => confirmed
2024-03-22 17:06Ru5tK1ngNote Added: 0023465
2024-03-22 17:06Ru5tK1ngStatusconfirmed => resolved
2024-03-22 17:06Ru5tK1ngResolutionopen => fixed

Notes
(0023465)
Ru5tK1ng   
2024-03-22 17:06   
Tested this with 3.1 online and GetActorX/Y/Z seem to work properly. The values online matched with the values received offline.