
My question probably has a very simple answer. I'm trying to make a double jump plugin, and I'm stuck at two things.
First beeing, how can i check if the player is holding down the space key?
Second beeing, how do I go about boosting a player upwards?
This is what i have so far, if that helps getting the bigger picture.
Syntax: Select all
from events import Event
from listeners import OnPlayerRunCommand
from players.helpers import index_from_userid
from players.constants import PlayerStates, PlayerButtons
from messages import SayText2
settings = {}
dj_commands = ["!doublejump", "!dj"]
@OnPlayerRunCommand
def PlayerRunCommand(player, cmd):
userid = player.userid
if not userid in settings:
settings[userid] = {'djump':0, 'jumpdone':0, 'jumpdonetick':0}
if player.dead:
return
if player.flags & PlayerStates.ONGROUND:
settings[userid]['jumpdonetick'] = 0
settings[userid]['jumpdone'] = 0
return
#if settings[userid]['jumpdone'] == 1:
# return
#JUMPING FUNCTION
SayText2('doublejump!' + str(settings[userid]['jumpdonetick']) + " " + str(settings[userid]['jumpdone'])).send()
settings[userid]['jumpdonetick'] += 1
settings[userid]['jumpdone'] = 1
@Event('player_say')
def on_player_say(event):
text = event['text']
userid = event['userid']
index = index_from_userid(userid)
# Makes sure userid is a string
str_userid = str(userid)
if text in dj_commands:
if not settings[str_userid]['jump']:
SayText2('\x05Doublejump: \x01ON').send(index)
settings[str_userid]['djump'] = 1
else:
SayText2('\x05Doublejump: \x01OFF').send(index)
settings[str_userid]['djump'] = 0
Thanks!