Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name hoyo's android pattern lock
- @inputs EGP:wirelink E:entity Reset
- @outputs Out
- @outputs Player:entity V:vector2 Pattern_Now:string VS:array TI LI
- @persist Pattern:string Players:array Player:entity V:vector2
- @persist Pattern_Now:string Use VS:array TI LI CanReverse
- @trigger
- interval(50)
- if(first() | duped() | dupefinished())
- {
- # 7 8 9
- # 4 5 6
- # 1 2 3
- #Pattern = "987456321" #S
- Pattern = "1234" #G
- CanReverse = 0
- }
- if(EGP & changed(EGP))
- {
- EGP:egpClear()
- EGP:egpText(100,"Developer",vec2(256,20))
- EGP:egpAlign(100,1,1)
- EGP:egpCircle(1,vec2(100,412),vec2(40,40))
- EGP:egpCircle(2,vec2(100+(462/3),412),vec2(40,40))
- EGP:egpCircle(3,vec2(100+(462/3)*2,412),vec2(40,40))
- EGP:egpCircle(4,vec2(100,412-(462/3)),vec2(40,40))
- EGP:egpCircle(5,vec2(100+(462/3),412-(462/3)),vec2(40,40))
- EGP:egpCircle(6,vec2(100+(462/3)*2,412-(462/3)),vec2(40,40))
- EGP:egpCircle(7,vec2(100,412-(462/3)*2),vec2(40,40))
- EGP:egpCircle(8,vec2(100+(462/3),412-(462/3)*2),vec2(40,40))
- EGP:egpCircle(9,vec2(100+(462/3)*2,412-(462/3)*2),vec2(40,40))
- for(I=1,9)
- {
- EGP:egpColor(I,vec(50,50,50))
- EGP:egpAlpha(I,175)
- EGP:egpCircle(9+I,EGP:egpPos(I),vec2(20,20))
- EGP:egpColor(9+I,vec(70,70,70))
- EGP:egpAlpha(9+I,200)
- }
- }
- if(EGP & !Out)
- {
- if(!Use)
- {
- findByClass("player")
- Player = findClosest((E ? E : EGP:entity()):pos())
- }
- Use = Player:keyUse()
- if(Player:keyUse())
- {
- V = EGP:egpCursor(Player)
- for(I2=1,9,opcounter()<3000)
- {
- if(inrange(V,EGP:egpPos(I2)-vec2(40,40),EGP:egpPos(I2)+vec2(40,40)))
- {
- if(!Pattern_Now:find(I2:toString()))
- {
- Pattern_Now += I2:toString()
- EGP:egpColor(I2,vec(150,0,0))
- EGP:egpColor(I2+9,vec(150,150,150))
- TI = I2
- }
- }
- }
- }
- elseif($Use & !Use)
- {
- EGP:egpClear()
- EGP:egpText(100,"Developer",vec2(256,20))
- EGP:egpAlign(100,1,1)
- EGP:egpCircle(1,vec2(100,412),vec2(40,40))
- EGP:egpCircle(2,vec2(100+(462/3),412),vec2(40,40))
- EGP:egpCircle(3,vec2(100+(462/3)*2,412),vec2(40,40))
- EGP:egpCircle(4,vec2(100,412-(462/3)),vec2(40,40))
- EGP:egpCircle(5,vec2(100+(462/3),412-(462/3)),vec2(40,40))
- EGP:egpCircle(6,vec2(100+(462/3)*2,412-(462/3)),vec2(40,40))
- EGP:egpCircle(7,vec2(100,412-(462/3)*2),vec2(40,40))
- EGP:egpCircle(8,vec2(100+(462/3),412-(462/3)*2),vec2(40,40))
- EGP:egpCircle(9,vec2(100+(462/3)*2,412-(462/3)*2),vec2(40,40))
- for(I=1,9)
- {
- EGP:egpColor(I,vec(50,50,50))
- EGP:egpAlpha(I,175)
- EGP:egpCircle(9+I,EGP:egpPos(I),vec2(20,20))
- EGP:egpColor(9+I,vec(70,70,70))
- EGP:egpAlpha(9+I,200)
- }
- Pattern_Now = ""
- LI = 0
- VS = array()
- TI = 0
- }
- if(changed(TI) & TI)
- {
- VS:pushVector2(EGP:egpPos(TI))
- }
- if(VS:count() >= 2)
- {
- LI++
- EGP:egpLine(20+LI,VS[1,vector2],VS[2,vector2])
- EGP:egpSize(20+LI,20)
- EGP:egpAlpha(20+LI,100)
- VS:removeVector2(1)
- }
- }
- if(Pattern_Now == Pattern | (Pattern_Now:reverse() == Pattern & CanReverse))
- {
- Out = 1
- for(I=1,9)
- {
- EGP:egpColor(I,vec(0,150,0))
- }
- timer("reset",5000)
- }
- if(Reset & $Reset>0 | clk("reset"))
- {
- reset()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement