Add floor passing beep
This commit is contained in:
parent
8fc57f0535
commit
6152a079ab
@ -435,6 +435,8 @@ function celevator.controller.finish(pos,mem,changedinterrupts)
|
|||||||
celevator.drives[drivetype].movedoors(drivepos,"close")
|
celevator.drives[drivetype].movedoors(drivepos,"close")
|
||||||
elseif command.command == "resetfault" then
|
elseif command.command == "resetfault" then
|
||||||
celevator.drives[drivetype].resetfault(drivepos)
|
celevator.drives[drivetype].resetfault(drivepos)
|
||||||
|
elseif command.command == "pibeep" then
|
||||||
|
celevator.drives[drivetype].pibeep(drivepos)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -852,6 +852,8 @@ else
|
|||||||
mem.showrunning = false
|
mem.showrunning = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local oldpifloor = mem.pifloor
|
||||||
|
|
||||||
mem.pifloor = mem.params.floornames[getpos(true)]
|
mem.pifloor = mem.params.floornames[getpos(true)]
|
||||||
local hidepi = {
|
local hidepi = {
|
||||||
bfdemand = true,
|
bfdemand = true,
|
||||||
@ -863,6 +865,11 @@ local hidepi = {
|
|||||||
inspconflict = true,
|
inspconflict = true,
|
||||||
}
|
}
|
||||||
if hidepi[mem.carstate] then mem.pifloor = "--" end
|
if hidepi[mem.carstate] then mem.pifloor = "--" end
|
||||||
|
|
||||||
|
if mem.pifloor ~= oldpifloor and mem.carstate == "normal" then
|
||||||
|
drivecmd({command="pibeep"})
|
||||||
|
end
|
||||||
|
|
||||||
local arrowenabled = {
|
local arrowenabled = {
|
||||||
normal = true,
|
normal = true,
|
||||||
fs1 = true,
|
fs1 = true,
|
||||||
|
@ -563,6 +563,22 @@ function celevator.drives.entity.resetfault(pos)
|
|||||||
minetest.get_meta(pos):set_string("fault","")
|
minetest.get_meta(pos):set_string("fault","")
|
||||||
end
|
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)
|
local function carsearch(pos)
|
||||||
for i=1,500,1 do
|
for i=1,500,1 do
|
||||||
local searchpos = vector.subtract(pos,vector.new(0,i,0))
|
local searchpos = vector.subtract(pos,vector.new(0,i,0))
|
||||||
|
@ -234,3 +234,7 @@ end
|
|||||||
function celevator.drives.null.updatecopformspec()
|
function celevator.drives.null.updatecopformspec()
|
||||||
--No car means no COP
|
--No car means no COP
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function celevator.drives.null.pibeep()
|
||||||
|
--No car means no PI, no PI means no beep
|
||||||
|
end
|
||||||
|
BIN
sounds/celevator_pi_beep.ogg
Normal file
BIN
sounds/celevator_pi_beep.ogg
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user