fix issue

This commit is contained in:
Elkien3 2022-01-27 12:22:02 -06:00
parent 874321fa8a
commit f1c85ef6b2
2 changed files with 9 additions and 11 deletions

View File

@ -14,17 +14,13 @@ local function setSprinting(playerName, sprinting) --Sets the state of a player
local player = minetest.get_player_by_name(playerName) local player = minetest.get_player_by_name(playerName)
if players[playerName] then if players[playerName] then
players[playerName]["sprinting"] = sprinting players[playerName]["sprinting"] = sprinting
local currentPhy = player:get_physics_override() local newPhy = player:get_physics_override()
local newPhy = currentPhy
if playercontrol then
newPhy = {speed = 1, jump = 1}
end
local privs = minetest.get_player_privs(playerName) local privs = minetest.get_player_privs(playerName)
if sprinting == true then if sprinting == true then
if playercontrol then if playercontrol then
newPhy.speed = playercontrol.set_effect(playerName, "speed", (1+SPRINT_SPEED), "sprint", false) newPhy.speed = playercontrol.set_effect(playerName, "speed", (1+SPRINT_SPEED), "sprint", true)
newPhy.jump = playercontrol.set_effect(playerName, "speed", (1+SPRINT_JUMP), "sprint", false) newPhy.jump = playercontrol.set_effect(playerName, "jump", (1+SPRINT_JUMP), "sprint", true)
else else
newPhy.speed = newPhy.speed + SPRINT_SPEED newPhy.speed = newPhy.speed + SPRINT_SPEED
newPhy.jump = newPhy.jump + SPRINT_JUMP newPhy.jump = newPhy.jump + SPRINT_JUMP
@ -44,8 +40,8 @@ local function setSprinting(playerName, sprinting) --Sets the state of a player
end end
elseif sprinting == false then elseif sprinting == false then
if playercontrol then if playercontrol then
newPhy.speed = playercontrol.set_effect(playerName, "speed", nil, "sprint", false) newPhy.speed = playercontrol.set_effect(playerName, "speed", nil, "sprint", true)
newPhy.jump = playercontrol.set_effect(playerName, "jump", nil, "sprint", false) newPhy.jump = playercontrol.set_effect(playerName, "jump", nil, "sprint", true)
else else
newPhy.speed = newPhy.speed - SPRINT_SPEED newPhy.speed = newPhy.speed - SPRINT_SPEED
newPhy.jump = newPhy.jump - SPRINT_JUMP newPhy.jump = newPhy.jump - SPRINT_JUMP
@ -66,7 +62,9 @@ local function setSprinting(playerName, sprinting) --Sets the state of a player
end) end)
end end
player:set_physics_override(newPhy) if not playercontrol then
player:set_physics_override(newPhy)
end
return true return true
end end
return false return false

View File

@ -105,7 +105,7 @@ local function set_physics(player, amount)
if playercontrol then if playercontrol then
playercontrol.set_effect(player:get_player_name(), "speed", amount, "spriteguns", true) playercontrol.set_effect(player:get_player_name(), "speed", amount, "spriteguns", true)
else else
player:set_physics_override({speed = amount}) player:set_physics_override({speed = amount or 1})
end end
end end