Weapon and changing its state from DoEffect

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
Kzer-Za
Posts: 507
Joined: Sat Aug 19, 2017 11:52 pm
Operating System: Other Linux 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Weapon and changing its state from DoEffect

Post by Kzer-Za »

Is it possible to change a weapon state from DoEffect? I have a weapon that has a countdown function, so I wanted to decrement a variable in DoEffect and when it reaches 0, change the weapon state, but neither SetStateLabel, nor ResolveState have any effect.
Jarewill
Posts: 1324
Joined: Sun Jul 21, 2019 8:54 am

Re: Weapon and changing its state from DoEffect

Post by Jarewill »

Use Player.SetPSprite for that:

Code: Select all

owner.Player.SetPSprite(PSP_WEAPON,FindState("State")); 
This code will set the weapon's owner (the player) current HUD state to the state found with FindState.
This was taken straight from the DoEffect override in my mod, so it should work.
Kzer-Za
Posts: 507
Joined: Sat Aug 19, 2017 11:52 pm
Operating System: Other Linux 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: Weapon and changing its state from DoEffect

Post by Kzer-Za »

Thanks!

Return to “Scripting”