This site is currently in read-only mode during migration to a new platform.
You cannot post questions, answers or comments, as they would be lost during the migration otherwise.
0 votes

Hey! basically i have a multiplayer game running and i can see the players move on either computers and i implemented this simple sprinting code in the code for walking but for some reason the player doesn't sprint on the other computer
here's the code:

sync func calculateVelocity(direction1) -> void:
    if Input.is_action_pressed("Shift"):
        speed = speed * 2
    velocity = direction1 * speed
    move_and_slide(velocity)
in Engine by (120 points)

1 Answer

0 votes
Best answer

It is because Input.is_action_pressed("Shift") is only pressed in your computer.
Try this

func takeInputs():
    var speed_mul = 1
    #code to take input
    #get direction and all 
    #
    if Input.is_action_pressed("Shift"):
        speed_mul = 2

    rpc("calculateVelocity",direction1, speed_mul)


sync func calculateVelocity(direction1, mul) -> void:
    velocity = direction1 * speed
    move_and_slide(velocity)
by (753 points)
selected by

THANKS ! that worked perfectly

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.