Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name Hatchdoor
- @inputs [Door1]:entity Prop:entity Input1 Input2
- @outputs CD STATE
- @persist MOVE SOUND:string CD STATE
- @trigger
- SOUND = "DoorSound.DoorMove7"
- SOUND2 = "DoorSound.DoorStop6"
- if(first()){
- MOVE = 0
- CD = 0
- STATE = 0
- }
- if(Input1 & CD == 0){
- CD = 1
- if(STATE == 0)
- {
- STATE = 1
- timer("moveout", 50)
- entity():soundPlay(1, 0, SOUND)
- }elseif(STATE == 1){
- STATE = 0
- timer("movein", 50)
- entity():soundPlay(2, 0, SOUND)
- }
- }
- if(Input2 & CD == 0){
- CD = 1
- if(STATE == 0)
- {
- STATE = 1
- timer("moveout", 50)
- entity():soundPlay(1, 0, SOUND)
- }elseif(STATE == 1){
- STATE = 0
- timer("movein", 50)
- entity():soundPlay(2, 0, SOUND)
- }
- }
- if(clk("moveout")){
- #Door1:setPos(Door1:pos()+vec(0, 0, -1))
- Door1:setAng(Prop:angles()+ang(1, 0, 0))
- timer("moveout", 50)
- MOVE++
- if(MOVE == 50){
- stoptimer("moveout")
- MOVE = 0
- soundStop(1)
- entity():soundPlay(1, 0, SOUND2)
- CD = 0
- }
- }
- if(clk("movein")){
- #Door1:setPos(Door1:pos()+vec(0, 0, 1))
- Door1:setAng(Door1:toWorld(Prop:angles()+ang(-1, 0, 0))
- timer("movein", 50)
- MOVE++
- if(MOVE == 50){
- stoptimer("movein")
- MOVE = 0
- soundStop(2)
- entity():soundPlay(1, 0, SOUND2)
- CD = 0
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement