SHOW:
|
|
- or go back to the newest paste.
1 | modem = peripheral.find("modem") | |
2 | ||
3 | local mtable = {} | |
4 | local w, h = term.getSize() | |
5 | ||
6 | os.loadAPI("ea") | |
7 | ||
8 | function clear() | |
9 | ||
10 | ea.sbc(colors.white) | |
11 | term.clear() | |
12 | ||
13 | ea.stc(colors.blue) | |
14 | ea.scp(1,18) | |
15 | ea.sbc(colors.gray) | |
16 | write("<Type /help for help>") | |
17 | ea.sbc(colors.white) | |
18 | ea.scp(1,19) | |
19 | write("[::> ") | |
20 | ea.scp(6,19) | |
21 | ||
22 | end | |
23 | ||
24 | ||
25 | function start() | |
26 | ||
27 | ea.sbc(colors.white) | |
28 | ea.stc(colors.black) | |
29 | term.clear() | |
30 | ea.scp(16,9) | |
31 | print("Kosy Chat System") | |
32 | ea.scp(13,11) | |
33 | print("Username: ") | |
34 | ea.scp(13,12) | |
35 | print("Channel : ") | |
36 | ||
37 | ea.scp(22,11) | |
38 | us = io.read() | |
39 | ea.scp(22,12) | |
40 | ch = io.read() | |
41 | ||
42 | modem.open(tonumber(ch)) | |
43 | clear() | |
44 | chatgo() | |
45 | ||
46 | end | |
47 | ||
48 | ||
49 | ||
50 | function drawm() | |
51 | ||
52 | if(#mtable > h-2)then local tt = mtable[h-2] mtable = {} table.insert(mtable,tt) tt = "" end | |
53 | ||
54 | for i = 1, #mtable do | |
55 | ||
56 | ea.scp(1,i) | |
57 | print(mtable[i]) | |
58 | ||
59 | end | |
60 | ||
61 | end | |
62 | ||
63 | ||
64 | function receive() | |
65 | ||
66 | e = {os.pullEvent("modem_message")} | |
67 | ||
68 | ||
69 | table.insert(mtable, e[5]) | |
70 | ||
71 | end | |
72 | ||
73 | function send() | |
74 | ||
75 | ||
76 | ||
77 | ea.scp(7,19) | |
78 | readm = read() | |
79 | modem.transmit(tonumber(ch), tonumber(ch), "<"..us..">: "..readm) | |
80 | - | table.insert(mtable,"me > "..readm) |
80 | + | |
81 | ||
82 | ||
83 | ||
84 | end | |
85 | ||
86 | ||
87 | function chatgo() | |
88 | ||
89 | while true do | |
90 | ||
91 | drawm() | |
92 | parallel.waitForAny(send, receive) | |
93 | ||
94 | end | |
95 | ||
96 | end | |
97 | start() |