Zandronum Chat on our Discord Server Get the latest version: 3.2
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003157Zandronum[All Projects] Bugpublic2017-06-19 03:592017-06-26 14:54
ReporterDark-Assassin 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionno change required 
PlatformOSOS Version
Product Version3.0-beta 
Target VersionFixed in Version 
Summary0003157: Having a problem with a clientsided ACS script with a clientsided actor online
DescriptionI've been having this problem with custom particle actors not staying spawned if the relevant limit check script is clientsided.

The actor compares the amount of spawned particles using a global variable with r_maxparticles and determines if it should stay spawned or destroy itself. If the script is clientsided and the game is online, it always fails. The other checks such as small, round or smooth particles work as intended.
Steps To ReproduceSee attached file.
Additional InformationI'd like to know if it's actually a bug rather than the possibility of my coding being at fault.
Attached Files? file icon particle.pk3 [^] (5,518 bytes) 2017-06-19 03:59
? file icon particle2.pk3 [^] (5,523 bytes) 2017-06-19 13:50
? file icon particlespawner.pk3 [^] (5,612 bytes) 2017-06-20 13:43

- Relationships

-  Notes
User avatar (0017842)
Fused (reporter)
2017-06-19 06:02

A clientsided actor+script combination should always behave the same offline/online, since technically there's no difference for them. I can't check your PK3, but you should check if there's anything serversided involved, like accidental serversided parts or functions that are serverside, but you put clientside.
User avatar (0017843)
Dark-Assassin (administrator)
2017-06-19 06:25
edited on: 2017-06-19 06:26

The actors have +CLIENTSIDEONLY, check use A_JumpIf with ACS_NamedExecuteWithResult and all scripts are CLIENTSIDE. Other similar scripts in here work fine though.

If I remove CLIENTSIDE from one specific script, it'll work fine. It's commented in the ACS source in the pk3.

User avatar (0017844)
Korshun (reporter)
2017-06-19 12:46
edited on: 2017-06-19 12:47

Your ACS has 7 clientsided named scripts, but the disassembly shows this:

script=-1 flags=clientside
script=-2 flags=clientside
script=-3 flags=clientside
script=-6 flags=clientside
script=-7 flags=clientside

scripts -4 (RegisterParticle) and -5 (UnRegisterParticle) are not clientside. And calling a serverside script clientside will return 0 without executing the script.

Recompiling the script with ACC yields this:

script=-1 flags=clientside
script=-2 flags=clientside
script=-3 flags=clientside
script=-4 flags=clientside
script=-5 flags=clientside
script=-6 flags=clientside
script=-7 flags=clientside

User avatar (0017845)
Dark-Assassin (administrator)
2017-06-19 13:09

I swear I recompiled it just before I uploaded.

So, is there no way to make global variables clientsided? I want the particles to spawn based on the client's r_particles count rather than the server's.
User avatar (0017846)
Korshun (reporter)
2017-06-19 13:14
edited on: 2017-06-19 13:15

Global variables ARE clientsided. Your compiler is broken. What compiler do you use?

The server and the client have separate copies of global variables.

User avatar (0017848)
Dark-Assassin (administrator)
2017-06-19 13:50
edited on: 2017-06-19 13:51

I use acc v1.55

Either way, if said scripts are clientsided, it simply does not work.
When they are not clientsided, they do work.

I just screwed up with the attached pk3, that's all.
I reattached it with the compiled script matching the source as particle2.pk3

User avatar (0017849)
Korshun (reporter)
2017-06-19 13:59

How do I spawn the particles using this example wad?

Using "summon" is not an option, as "summon" spawns the actor serverside regardless of its flags.
User avatar (0017852)
Dark-Assassin (administrator)
2017-06-20 02:05

This one is summon. In the mod it's used in: A_SpawnItemEx("ParticleActor",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)

If I have the flag SFX_CLIENTSIDE, it'll just not spawn at all, even with all the destroying checks commented out.
User avatar (0017854)
Korshun (reporter)
2017-06-20 13:43

It works if the particle is spawned clientside. See example wad (summon ParticleSpawner).

Also, SXF_CLIENTSIDE is useless with +CLIENTSIDEONLY actors. It's only useful to force-spawn clientside an actor that is normally serverside.
User avatar (0017935)
Dark-Assassin (administrator)
2017-06-26 07:34

This can be closed. It was a user error much deeper in my code.

Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2017-06-19 03:59 Dark-Assassin New Issue
2017-06-19 03:59 Dark-Assassin File Added: particle.pk3
2017-06-19 06:02 Fused Note Added: 0017842
2017-06-19 06:25 Dark-Assassin Note Added: 0017843
2017-06-19 06:26 Dark-Assassin Note Edited: 0017843 View Revisions
2017-06-19 12:46 Korshun Note Added: 0017844
2017-06-19 12:46 Korshun Note Edited: 0017844 View Revisions
2017-06-19 12:47 Korshun Note Edited: 0017844 View Revisions
2017-06-19 13:09 Dark-Assassin Note Added: 0017845
2017-06-19 13:14 Korshun Note Added: 0017846
2017-06-19 13:14 Korshun Note Edited: 0017846 View Revisions
2017-06-19 13:15 Korshun Note Edited: 0017846 View Revisions
2017-06-19 13:50 Dark-Assassin Note Added: 0017848
2017-06-19 13:50 Dark-Assassin File Added: particle2.pk3
2017-06-19 13:51 Dark-Assassin Note Edited: 0017848 View Revisions
2017-06-19 13:59 Korshun Note Added: 0017849
2017-06-20 02:05 Dark-Assassin Note Added: 0017852
2017-06-20 13:43 Korshun Note Added: 0017854
2017-06-20 13:43 Korshun File Added: particlespawner.pk3
2017-06-26 07:34 Dark-Assassin Note Added: 0017935
2017-06-26 14:54 Ru5tK1ng Status new => closed
2017-06-26 14:54 Ru5tK1ng Resolution open => no change required






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker