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)
asked May 29 in Projects by ROBOTOO007 (99 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)
answered May 29 by supper_raptor (667 points)
selected May 29 by ROBOTOO007

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 How to use this Q&A? before posting your first questions.