Add floor passing beep

This commit is contained in:
cheapie 2024-04-14 15:55:08 -05:00
parent 8fc57f0535
commit 6152a079ab
5 changed files with 29 additions and 0 deletions

View File

@ -435,6 +435,8 @@ function celevator.controller.finish(pos,mem,changedinterrupts)
celevator.drives[drivetype].movedoors(drivepos,"close")
elseif command.command == "resetfault" then
celevator.drives[drivetype].resetfault(drivepos)
elseif command.command == "pibeep" then
celevator.drives[drivetype].pibeep(drivepos)
end
end
end

View File

@ -852,6 +852,8 @@ else
mem.showrunning = false
end
local oldpifloor = mem.pifloor
mem.pifloor = mem.params.floornames[getpos(true)]
local hidepi = {
bfdemand = true,
@ -863,6 +865,11 @@ local hidepi = {
inspconflict = true,
}
if hidepi[mem.carstate] then mem.pifloor = "--" end
if mem.pifloor ~= oldpifloor and mem.carstate == "normal" then
drivecmd({command="pibeep"})
end
local arrowenabled = {
normal = true,
fs1 = true,

View File

@ -563,6 +563,22 @@ function celevator.drives.entity.resetfault(pos)
minetest.get_meta(pos):set_string("fault","")
end
function celevator.drives.entity.pibeep(drivepos)
local drivemeta = minetest.get_meta(drivepos)
local origin = minetest.string_to_pos(drivemeta:get_string("origin"))
if not origin then
minetest.log("error","[celevator] [entity drive] Invalid origin for drive at "..minetest.pos_to_string(drivepos))
drivemeta:set_string("fault","badorigin")
return
end
local apos = tonumber(drivemeta:get_string("apos")) or 0
local beeppos = vector.add(origin,vector.new(0,apos+2,0))
minetest.sound_play("celevator_pi_beep",{
pos = beeppos,
gain = 1,
},true)
end
local function carsearch(pos)
for i=1,500,1 do
local searchpos = vector.subtract(pos,vector.new(0,i,0))

View File

@ -234,3 +234,7 @@ end
function celevator.drives.null.updatecopformspec()
--No car means no COP
end
function celevator.drives.null.pibeep()
--No car means no PI, no PI means no beep
end

Binary file not shown.