Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. # Created by AlexALX (c) 2011
  2. # Modified for optimised dialing
  3. # For addon Stargate Carter Addon Pack
  4. # http://sg-carterpack.com/
  5. @name stargate fast-slow dial 2 wl
  6. @inputs Start SG:wirelink Address:string #Ring_Symbol:string Chevron Active Inbound Earth_Point_of_Origin
  7. @outputs #Close Rotate_Ring Chevron_Encode Chevron_7_Lock Ring_Speed_Mode
  8. @persist Address:string Stop Dialling LastSymbol:string
  9. @trigger
  10.  
  11. RingSymsCW="#DVY27WCO58UA4E1SFQ@?LPGI96H*XZBM3RTNKJ0"
  12. if(!SG["Earth Point of Origin",number]){RingSymsCW="?DVY27WCO58UA4E1SFQ@#LPGI96H*XZBM3RTNKJ0"}
  13.  
  14. if (!Address) {
  15. Address = "H5C?W#3E*"
  16. }
  17. runOnTick(1)
  18. SG["Disable Autoclose",number] = 0
  19. SG["Ring Speed Mode",number] = 3
  20. SG["Chevron Encode",number] = 0
  21. SG["Chevron 7 Lock",number] = 0
  22. SG["Set Point of Origin",number] = 1
  23. SG:stargateSetLocal(0)
  24. SG:stargateSetAddress("ASURND")
  25. SG:stargateSetName("ASURAN")
  26. SG:stargateSetBlocked(0)
  27. I = SG["Chevron",number]+1
  28. if (Start == 1) {
  29. if(Dialling!=1){
  30. if(clk("stdly")){#Rotate_Ring =0
  31. Dialling = 1} #ready to dial
  32. elseif(!SG["Rotate Ring",number]&&!Dialling){
  33. if(SG["Ring Symbol",string]!=""){Dialling=1} #check ring position before dialing
  34. else{
  35. SG["Rotate Ring",number]=1
  36. Dialling = -1
  37. }
  38. }
  39. elseif(SG["Ring Symbol",string]!=""){
  40. SG["Rotate Ring",number] =0
  41. timer("stdly",80) #some delay for ring sound failure workaround
  42. #Dialling = 1
  43. }
  44. #if(clk("dly1")
  45.  
  46. #Dialling = 1
  47. }elseif(Dialling){
  48.  
  49. if (clk("delay")) {
  50. SG["Chevron Encode",number] = 1
  51. timer("delay2", 2600)
  52. }
  53. if (clk("delay2")) {
  54. Stop = 0
  55. }
  56. if (clk("delay3")) {
  57. SG["Chevron 7 Lock",number] = 1
  58. }
  59. if (Stop == 0) {
  60.  
  61. L=RingSymsCW:find(LastSymbol)
  62. N=RingSymsCW:find(Address[I])
  63. if(N>=L){
  64. if(N-L<RingSymsCW:length()/2){SG["Rotate Ring",number]=2}
  65. else{SG["Rotate Ring",number]=3}
  66. }
  67. else
  68. {
  69. if(L-N<RingSymsCW:length()/2){SG["Rotate Ring",number]=3}
  70. else{SG["Rotate Ring",number]=2}
  71. }
  72.  
  73. # Rotate_Ring = 1
  74. }
  75. if (I < Address:length() & SG["Ring Symbol",string]==Address[I] && Stop == 0) {
  76. SG["Rotate Ring",number] = 0
  77. Stop = 1
  78. timer("delay", 50)
  79. } elseif (I == Address:length() & SG["Ring Symbol",string]==Address[I] && Stop == 0) {
  80. SG["Rotate Ring",number] = 0
  81. Stop = 1
  82. timer("delay3", 50)
  83. }
  84. }
  85. } elseif (!Start) {
  86. if (SG["Active",number] & Dialling) {
  87. SG["Close",number] = 1
  88. }
  89. SG["Rotate Ring",number] = 0
  90. Stop = 0
  91. Dialling = 0
  92. timer("close", 1000)
  93. if (clk("close")) {
  94. SG["Close",number] = 0
  95. }
  96. }
  97.  
  98. if(SG["Ring Symbol",string]!=""){LastSymbol=SG["Ring Symbol",string]}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement