Page 1 of 1

Force player to duck

Posted: Wed Apr 19, 2023 9:51 pm
by rovizon
How to force a player to duck? This code does not work.

Syntax: Select all

from listeners import OnPlayerRunCommand
from players.constants import PlayerButtons

@OnPlayerRunCommand
def on_player_run_command(player, user_cmd):
user_cmd.buttons = 0
user_cmd.buttons |= PlayerButtons.DUCK
pass

Re: Force player to duck

Posted: Wed Apr 19, 2023 10:16 pm
by rovizon

Syntax: Select all

player.set_property_bool('localdata.m_Local.m_bDucked', True)

Works for camera not for player model.

Found this post viewtopic.php?t=1274#p8311. Seems to work but player camera shaking and player model is still in a standing position.

Re: Force player to duck

Posted: Thu Apr 20, 2023 8:55 am
by cssbestrpg
Hi, just tested this code in css it seem to the trick:

Syntax: Select all

from listeners import OnPlayerRunCommand
from players.constants import PlayerButtons

@OnPlayerRunCommand
def on_player_run_command(player, user_cmd):
if player.dead:
return
user_cmd.buttons |= PlayerButtons.DUCK
player.set_property_bool('localdata.m_Local.m_bDucked', False)


Edit: Fixed the shaking from ducking

Re: Force player to duck

Posted: Thu Apr 20, 2023 9:32 am
by rovizon
cssbestrpg wrote:Hi, just tested this code in css it seem to the trick:

Syntax: Select all

from listeners import OnPlayerRunCommand
from players.constants import PlayerButtons

@OnPlayerRunCommand
def on_player_run_command(player, user_cmd):
if player.dead:
return
user_cmd.buttons |= PlayerButtons.DUCK
player.set_property_bool('localdata.m_Local.m_bDucked', False)


Edit: Fixed the shaking from ducking


Hi! The camera shakes a little while crouching, but it works. Thank you for help!

Re: Force player to duck

Posted: Thu Apr 20, 2023 10:06 am
by rovizon
Solved! Fixed camera shaking while ducking.

Syntax: Select all

from listeners import OnPlayerRunCommand
from players.constants import PlayerButtons

@OnPlayerRunCommand
def on_player_run_command(player, user_cmd):
if player.dead:
return
user_cmd.buttons |= PlayerButtons.DUCK
player.set_property_bool('localdata.m_Local.m_bDucked', True)
player.set_property_bool('localdata.m_Local.m_bDucking', False)