Advertisement
Guest User

E2

a guest
Aug 31st, 2015
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. @name hoyo's android pattern lock
  2. @inputs EGP:wirelink E:entity Reset
  3. @outputs Out
  4. @outputs Player:entity V:vector2 Pattern_Now:string VS:array TI LI
  5. @persist Pattern:string Players:array Player:entity V:vector2
  6. @persist Pattern_Now:string Use VS:array TI LI CanReverse
  7. @trigger
  8. interval(50)
  9. if(first() | duped() | dupefinished())
  10. {
  11. # 7 8 9
  12. # 4 5 6
  13. # 1 2 3
  14. #Pattern = "987456321" #S
  15. Pattern = "1234" #G
  16. CanReverse = 0
  17. }
  18. if(EGP & changed(EGP))
  19. {
  20. EGP:egpClear()
  21. EGP:egpText(100,"Developer",vec2(256,20))
  22. EGP:egpAlign(100,1,1)
  23. EGP:egpCircle(1,vec2(100,412),vec2(40,40))
  24. EGP:egpCircle(2,vec2(100+(462/3),412),vec2(40,40))
  25. EGP:egpCircle(3,vec2(100+(462/3)*2,412),vec2(40,40))
  26. EGP:egpCircle(4,vec2(100,412-(462/3)),vec2(40,40))
  27. EGP:egpCircle(5,vec2(100+(462/3),412-(462/3)),vec2(40,40))
  28. EGP:egpCircle(6,vec2(100+(462/3)*2,412-(462/3)),vec2(40,40))
  29. EGP:egpCircle(7,vec2(100,412-(462/3)*2),vec2(40,40))
  30. EGP:egpCircle(8,vec2(100+(462/3),412-(462/3)*2),vec2(40,40))
  31. EGP:egpCircle(9,vec2(100+(462/3)*2,412-(462/3)*2),vec2(40,40))
  32. for(I=1,9)
  33. {
  34. EGP:egpColor(I,vec(50,50,50))
  35. EGP:egpAlpha(I,175)
  36. EGP:egpCircle(9+I,EGP:egpPos(I),vec2(20,20))
  37. EGP:egpColor(9+I,vec(70,70,70))
  38. EGP:egpAlpha(9+I,200)
  39. }
  40. }
  41. if(EGP & !Out)
  42. {
  43. if(!Use)
  44. {
  45. findByClass("player")
  46. Player = findClosest((E ? E : EGP:entity()):pos())
  47. }
  48. Use = Player:keyUse()
  49. if(Player:keyUse())
  50. {
  51. V = EGP:egpCursor(Player)
  52. for(I2=1,9,opcounter()<3000)
  53. {
  54. if(inrange(V,EGP:egpPos(I2)-vec2(40,40),EGP:egpPos(I2)+vec2(40,40)))
  55. {
  56. if(!Pattern_Now:find(I2:toString()))
  57. {
  58. Pattern_Now += I2:toString()
  59. EGP:egpColor(I2,vec(150,0,0))
  60. EGP:egpColor(I2+9,vec(150,150,150))
  61. TI = I2
  62. }
  63. }
  64. }
  65. }
  66. elseif($Use & !Use)
  67. {
  68. EGP:egpClear()
  69. EGP:egpText(100,"Developer",vec2(256,20))
  70. EGP:egpAlign(100,1,1)
  71. EGP:egpCircle(1,vec2(100,412),vec2(40,40))
  72. EGP:egpCircle(2,vec2(100+(462/3),412),vec2(40,40))
  73. EGP:egpCircle(3,vec2(100+(462/3)*2,412),vec2(40,40))
  74. EGP:egpCircle(4,vec2(100,412-(462/3)),vec2(40,40))
  75. EGP:egpCircle(5,vec2(100+(462/3),412-(462/3)),vec2(40,40))
  76. EGP:egpCircle(6,vec2(100+(462/3)*2,412-(462/3)),vec2(40,40))
  77. EGP:egpCircle(7,vec2(100,412-(462/3)*2),vec2(40,40))
  78. EGP:egpCircle(8,vec2(100+(462/3),412-(462/3)*2),vec2(40,40))
  79. EGP:egpCircle(9,vec2(100+(462/3)*2,412-(462/3)*2),vec2(40,40))
  80. for(I=1,9)
  81. {
  82. EGP:egpColor(I,vec(50,50,50))
  83. EGP:egpAlpha(I,175)
  84. EGP:egpCircle(9+I,EGP:egpPos(I),vec2(20,20))
  85. EGP:egpColor(9+I,vec(70,70,70))
  86. EGP:egpAlpha(9+I,200)
  87. }
  88. Pattern_Now = ""
  89. LI = 0
  90. VS = array()
  91. TI = 0
  92. }
  93. if(changed(TI) & TI)
  94. {
  95. VS:pushVector2(EGP:egpPos(TI))
  96. }
  97. if(VS:count() >= 2)
  98. {
  99. LI++
  100. EGP:egpLine(20+LI,VS[1,vector2],VS[2,vector2])
  101. EGP:egpSize(20+LI,20)
  102. EGP:egpAlpha(20+LI,100)
  103. VS:removeVector2(1)
  104. }
  105. }
  106. if(Pattern_Now == Pattern | (Pattern_Now:reverse() == Pattern & CanReverse))
  107. {
  108. Out = 1
  109. for(I=1,9)
  110. {
  111. EGP:egpColor(I,vec(0,150,0))
  112. }
  113. timer("reset",5000)
  114. }
  115. if(Reset & $Reset>0 | clk("reset"))
  116. {
  117. reset()
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement