Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function printToScreenWithBrackets(monitor,block,width,key_words,marginX,marginY)
- monitor.clear()
- local x = marginX or 1
- local y = marginY or 1
- for word in string.gmatch(block,"%S+") do
- if x + string.len(word) > width then
- x=marginX or 1
- y=y+1
- end
- local clean_word = word:match("%w+")
- local isKeyword = nil
- for i,entry in ipairs(key_words) do
- if clean_word == entry.word then
- isKeyword = i
- break
- end
- end
- if isKeyword then
- new_word = string.gsub(word,clean_word,"["..clean_word.."]")
- clean_word = "["..string.upper(clean_word).."]"
- print(new_word)
- monitor.setTextColor(colors.white)
- monitor.setCursorPos(x,y)
- monitor.write(new_word)
- monitor.setTextColor(colors[key_words[isKeyword].color])
- monitor.setCursorPos(x,y)
- monitor.write(clean_word)
- x = x + string.len(word) + 3
- else
- monitor.setCursorPos(x,y)
- monitor.setTextColor(colors.white)
- monitor.write(word)
- x = x + string.len(word) + 1
- end
- sleep(0.1)
- end
- end
- function printToScreen(monitor,block,width,key_words,marginX,marginY)
- monitor.clear()
- local x = marginX or 1
- local y = marginY or 1
- for word in string.gmatch(block,"%S+") do
- if x + string.len(word) > width then
- x=marginX or 1
- y=y+1
- elseif word == "/n" then
- x=marginX or 1
- y=y+1
- end
- local clean_word = word:match("%w+")
- local isKeyword = nil
- for i,entry in ipairs(key_words) do
- if clean_word == entry.word then
- isKeyword = i
- break
- end
- end
- if word == '/n' then
- --do nothing
- elseif isKeyword then
- print(word)
- monitor.setTextColor(colors.white)
- monitor.setCursorPos(x,y)
- monitor.write(word)
- monitor.setTextColor(colors[key_words[isKeyword].color])
- monitor.setCursorPos(x,y)
- monitor.write(clean_word)
- x = x + string.len(word) + 1
- else
- print(word)
- monitor.setCursorPos(x,y)
- monitor.setTextColor(colors.white)
- monitor.write(word)
- x = x + string.len(word) + 1
- end
- sleep(0.1)
- end
- end
- function printToScreenColor(monitor,block,width,key_words,marginX,marginY, color)
- monitor.clear()
- local x = marginX or 1
- local y = marginY or 1
- for word in string.gmatch(block,"%S+") do
- if x + string.len(word) > width then
- x=marginX or 1
- y=y+1
- elseif word == "/n" then
- x=marginX or 1
- y=y+1
- end
- local clean_word = word:match("([%w_|,.-/]+)") --patterns in lua http://wiki.garrysmod.com/page/Patterns
- local isKeyword = nil
- for i,entry in ipairs(key_words) do
- if clean_word == entry.word then
- isKeyword = i
- break
- end
- end
- if word == '/n' then
- --do nothing
- elseif isKeyword then
- print(word)
- monitor.setTextColor(colors[key_words[isKeyword].color])
- monitor.setCursorPos(x,y)
- monitor.write(word)
- monitor.setTextColor(colors[key_words[isKeyword].color])
- monitor.setCursorPos(x,y)
- monitor.write(clean_word)
- x = x + string.len(word) + 1
- else
- print(word)
- monitor.setCursorPos(x,y)
- monitor.setTextColor(color)
- monitor.write(word)
- x = x + string.len(word) + 1
- end
- sleep(0.1)
- end
- end
- function printToScreenOneColor(monitor,block,width,color,marginX,marginY)
- monitor.clear()
- local x = marginX or 1
- local y = marginY or 1
- for word in string.gmatch(block,"%S+") do
- if x + string.len(word) > width then
- x=marginX or 1
- y=y+1
- elseif word == "/n" then
- x=marginX or 1
- y=y+1
- end
- if word == '/n' then
- --do nothing
- else
- monitor.setCursorPos(x,y)
- monitor.setTextColor(color)
- monitor.write(word)
- x = x + string.len(word) + 1
- end
- sleep(0.1)
- end
- end
Add Comment
Please, Sign In to add comment