antonsavov

Untitled

Feb 1st, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.68 KB | None | 0 0
  1. function printToScreenWithBrackets(monitor,block,width,key_words,marginX,marginY)
  2. monitor.clear()
  3. local x = marginX or 1
  4. local y = marginY or 1
  5. for word in string.gmatch(block,"%S+") do
  6. if x + string.len(word) > width then
  7. x=marginX or 1
  8. y=y+1
  9. end
  10. local clean_word = word:match("%w+")
  11. local isKeyword = nil
  12. for i,entry in ipairs(key_words) do
  13. if clean_word == entry.word then
  14. isKeyword = i
  15.  
  16. break
  17. end
  18. end
  19.  
  20. if isKeyword then
  21. new_word = string.gsub(word,clean_word,"["..clean_word.."]")
  22. clean_word = "["..string.upper(clean_word).."]"
  23. print(new_word)
  24. monitor.setTextColor(colors.white)
  25. monitor.setCursorPos(x,y)
  26. monitor.write(new_word)
  27. monitor.setTextColor(colors[key_words[isKeyword].color])
  28. monitor.setCursorPos(x,y)
  29. monitor.write(clean_word)
  30. x = x + string.len(word) + 3
  31. else
  32. monitor.setCursorPos(x,y)
  33. monitor.setTextColor(colors.white)
  34. monitor.write(word)
  35. x = x + string.len(word) + 1
  36. end
  37.  
  38.  
  39.  
  40. sleep(0.1)
  41. end
  42. end
  43.  
  44. function printToScreen(monitor,block,width,key_words,marginX,marginY)
  45. monitor.clear()
  46. local x = marginX or 1
  47. local y = marginY or 1
  48. for word in string.gmatch(block,"%S+") do
  49. if x + string.len(word) > width then
  50. x=marginX or 1
  51. y=y+1
  52. elseif word == "/n" then
  53. x=marginX or 1
  54. y=y+1
  55. end
  56. local clean_word = word:match("%w+")
  57. local isKeyword = nil
  58. for i,entry in ipairs(key_words) do
  59. if clean_word == entry.word then
  60. isKeyword = i
  61.  
  62. break
  63. end
  64. end
  65.  
  66. if word == '/n' then
  67. --do nothing
  68. elseif isKeyword then
  69. print(word)
  70. monitor.setTextColor(colors.white)
  71. monitor.setCursorPos(x,y)
  72. monitor.write(word)
  73. monitor.setTextColor(colors[key_words[isKeyword].color])
  74. monitor.setCursorPos(x,y)
  75. monitor.write(clean_word)
  76. x = x + string.len(word) + 1
  77. else
  78. print(word)
  79. monitor.setCursorPos(x,y)
  80. monitor.setTextColor(colors.white)
  81. monitor.write(word)
  82. x = x + string.len(word) + 1
  83. end
  84.  
  85.  
  86.  
  87. sleep(0.1)
  88. end
  89. end
  90.  
  91. function printToScreenColor(monitor,block,width,key_words,marginX,marginY, color)
  92. monitor.clear()
  93. local x = marginX or 1
  94. local y = marginY or 1
  95. for word in string.gmatch(block,"%S+") do
  96. if x + string.len(word) > width then
  97. x=marginX or 1
  98. y=y+1
  99. elseif word == "/n" then
  100. x=marginX or 1
  101. y=y+1
  102. end
  103. local clean_word = word:match("([%w_|,.-/]+)") --patterns in lua http://wiki.garrysmod.com/page/Patterns
  104. local isKeyword = nil
  105. for i,entry in ipairs(key_words) do
  106. if clean_word == entry.word then
  107. isKeyword = i
  108.  
  109. break
  110. end
  111. end
  112.  
  113. if word == '/n' then
  114. --do nothing
  115. elseif isKeyword then
  116. print(word)
  117. monitor.setTextColor(colors[key_words[isKeyword].color])
  118. monitor.setCursorPos(x,y)
  119. monitor.write(word)
  120. monitor.setTextColor(colors[key_words[isKeyword].color])
  121. monitor.setCursorPos(x,y)
  122. monitor.write(clean_word)
  123. x = x + string.len(word) + 1
  124. else
  125. print(word)
  126. monitor.setCursorPos(x,y)
  127. monitor.setTextColor(color)
  128. monitor.write(word)
  129. x = x + string.len(word) + 1
  130. end
  131.  
  132.  
  133.  
  134. sleep(0.1)
  135. end
  136. end
  137.  
  138. function printToScreenOneColor(monitor,block,width,color,marginX,marginY)
  139. monitor.clear()
  140. local x = marginX or 1
  141. local y = marginY or 1
  142. for word in string.gmatch(block,"%S+") do
  143. if x + string.len(word) > width then
  144. x=marginX or 1
  145. y=y+1
  146. elseif word == "/n" then
  147. x=marginX or 1
  148. y=y+1
  149. end
  150.  
  151.  
  152. if word == '/n' then
  153. --do nothing
  154. else
  155. monitor.setCursorPos(x,y)
  156. monitor.setTextColor(color)
  157. monitor.write(word)
  158. x = x + string.len(word) + 1
  159. end
  160.  
  161.  
  162.  
  163. sleep(0.1)
  164. end
  165. end
Add Comment
Please, Sign In to add comment