SHOW:
|
|
- or go back to the newest paste.
1 | -----------------PASTEBINs-------------------------- | |
2 | installer = "WGtZnprm" | |
3 | ||
4 | player_module = "CLRGuTJF" | |
5 | - | installer = "Q8ah3K9S" |
5 | + | redstone_module = "3zQtT16q" |
6 | fluid_module = "JkEcyGuK" | |
7 | - | player_module = "rWp0GXDW" |
7 | + | energy_module = "1GbuLFFe" |
8 | - | redstone_module = "KkCYWkSU" |
8 | + | |
9 | - | fluid_module = "x7K3zUAC" |
9 | + | |
10 | - | energy_module = "RxLuZWHp" |
10 | + | |
11 | --------------------------------------------- | |
12 | term.clear() | |
13 | local token = '' | |
14 | local module_name = '' | |
15 | local username = '' | |
16 | local type = '' | |
17 | local updating = false | |
18 | ||
19 | function draw_text_term(x, y, text, text_color, bg_color) | |
20 | term.setTextColor(text_color) | |
21 | term.setBackgroundColor(bg_color) | |
22 | term.setCursorPos(x,y) | |
23 | write(text) | |
24 | end | |
25 | ||
26 | function draw_line_term(x, y, length, color) | |
27 | term.setBackgroundColor(color) | |
28 | term.setCursorPos(x,y) | |
29 | term.write(string.rep(" ", length)) | |
30 | end | |
31 | ||
32 | function bars() | |
33 | draw_line_term(1, 1, 51, colors.lime) | |
34 | draw_line_term(1, 19, 51, colors.lime) | |
35 | draw_text_term(12, 1, 'CraftNanny 2 Module Installer', colors.gray, colors.lime) | |
36 | draw_text_term(17, 19, 'craftnanny.skynetcloud.xyz', colors.gray, colors.lime) | |
37 | end | |
38 | - | draw_text_term(12, 1, 'CraftNanny Module Installer', colors.gray, colors.lime) |
38 | + | |
39 | - | draw_text_term(17, 19, 'craftnanny.org', colors.gray, colors.lime) |
39 | + | |
40 | function save_config() | |
41 | sw = fs.open("config.txt", "w") | |
42 | sw.writeLine(token) | |
43 | sw.writeLine(module_name) | |
44 | sw.writeLine(username) | |
45 | sw.writeLine(type) | |
46 | sw.close() | |
47 | end | |
48 | ||
49 | function load_config() | |
50 | sr = fs.open("config.txt", "r") | |
51 | token = sr.readLine() | |
52 | module_name = sr.readLine() | |
53 | username = sr.readLine() | |
54 | type = sr.readLine() | |
55 | sr.close() | |
56 | end | |
57 | ||
58 | function launch_module() | |
59 | shell.run("CN_module") | |
60 | end | |
61 | ||
62 | function install_module() | |
63 | if type == '1' then | |
64 | pastebin = player_module | |
65 | else if type == '2' then | |
66 | pastebin = energy_module | |
67 | else if type == '3' then | |
68 | pastebin = fluid_module | |
69 | else if type == '4' then | |
70 | pastebin = redstone_module | |
71 | end | |
72 | end | |
73 | end | |
74 | end | |
75 | ||
76 | term.clear() | |
77 | bars() | |
78 | draw_text_term(1, 3, 'successfully logged in', colors.lime, colors.black) | |
79 | sleep(0.5) | |
80 | draw_text_term(1, 4, 'installing...', colors.white, colors.black) | |
81 | sleep(0.5) | |
82 | ||
83 | draw_text_term(1, 5, 'removing old versions', colors.white, colors.black) | |
84 | if fs.exists("CN_module") then | |
85 | fs.delete("CN_module") | |
86 | end | |
87 | sleep(0.5) | |
88 | ||
89 | draw_text_term(1, 6, 'fetch from pastebin', colors.white, colors.black) | |
90 | term.setCursorPos(1,7) | |
91 | term.setTextColor(colors.white) | |
92 | shell.run("pastebin get "..pastebin.." CN_module") | |
93 | sleep(0.5) | |
94 | ||
95 | draw_text_term(1, 9, 'create startup file', colors.white, colors.black) | |
96 | term.setCursorPos(1,10) | |
97 | term.setTextColor(colors.white) | |
98 | if fs.exists("startup") then | |
99 | fs.delete("startup") | |
100 | end | |
101 | shell.run("pastebin get "..startup.." startup") | |
102 | sleep(1) | |
103 | ||
104 | draw_text_term(1, 13, 'Setup Complete', colors.lime, colors.black) | |
105 | ||
106 | draw_text_term(1, 14, 'press enter to continue', colors.lightGray, colors.black) | |
107 | ||
108 | if updating then | |
109 | ||
110 | else | |
111 | input = read() | |
112 | end | |
113 | ||
114 | launch_module() | |
115 | end | |
116 | ||
117 | function hash(password) | |
118 | shell.run("pastebin get "..hash_api.." sha1_api") | |
119 | os.loadAPI('sha1_api') | |
120 | response = http.post( | |
121 | "https://craftnanny.skynetcloud.xyz/code/salt.php", | |
122 | "user="..user) | |
123 | salt = response.readAll() | |
124 | - | "http://craftnanny.org/code/salt.php", |
124 | + | |
125 | return hash | |
126 | end | |
127 | ||
128 | function login() | |
129 | term.clear() | |
130 | bars() | |
131 | draw_text_term(1, 3, 'Register module to your CraftNanny 2 account.', colors.lime, colors.black) | |
132 | draw_text_term(1, 4, 'Create an account at craftnanny.skynetcloud.xyz', colors.lightGray, colors.black) | |
133 | ||
134 | - | draw_text_term(1, 3, 'Register module to your CraftNanny account.', colors.lime, colors.black) |
134 | + | |
135 | - | draw_text_term(1, 4, 'Create an account at www.craftnanny.org', colors.lightGray, colors.black) |
135 | + | |
136 | user = read() | |
137 | draw_text_term(1, 7, 'Password: ', colors.lime, colors.black) | |
138 | term.setTextColor(colors.white) | |
139 | pass = read("*") | |
140 | ||
141 | password = hash(pass) | |
142 | ||
143 | response = http.post( | |
144 | "https://craftnanny.skynetcloud.xyz/code/signin.php", | |
145 | "user="..user.."&pass="..password.."&id="..os.getComputerID().."&name="..module_name.."&module_type="..type) | |
146 | token = response.readAll() | |
147 | - | "http://craftnanny.org/code/signin.php", |
147 | + | |
148 | if token == 'error' then | |
149 | draw_text_term(1, 8, 'login failed', colors.red, colors.black) | |
150 | sleep(2) | |
151 | login() | |
152 | else | |
153 | username = user | |
154 | save_config() | |
155 | install_module() | |
156 | end | |
157 | end | |
158 | ||
159 | function name() | |
160 | term.clear() | |
161 | bars() | |
162 | ||
163 | draw_text_term(1, 3, 'Give this module a unique name:', colors.lime, colors.black) | |
164 | term.setCursorPos(2,4) | |
165 | term.setTextColor(colors.white) | |
166 | module_name = read() | |
167 | os.setComputerLabel(string.gsub(module_name, "%s+", "")) | |
168 | login() | |
169 | end | |
170 | ||
171 | function player_tracker() | |
172 | ||
173 | -- code to check that openperipheral sensor is present. give relavent error | |
174 | ||
175 | type = '1' | |
176 | name() | |
177 | end | |
178 | ||
179 | function choose_module(input) | |
180 | if input == '1' then | |
181 | player_tracker() | |
182 | elseif input == '2' then | |
183 | type = '2' | |
184 | name() | |
185 | elseif input == '3' then | |
186 | type = '3' | |
187 | name() | |
188 | elseif input == '4' then | |
189 | type = '4' | |
190 | name() | |
191 | elseif input == '5' then | |
192 | ||
193 | end | |
194 | ||
195 | end | |
196 | ||
197 | function install_select() | |
198 | term.clear() | |
199 | bars() | |
200 | draw_text_term(15, 3, 'Welcome to CraftNanny 2!', colors.lime, colors.black) | |
201 | draw_text_term(1, 5, 'What module would you like to install?', colors.white, colors.black) | |
202 | ||
203 | - | draw_text_term(15, 3, 'Welcome to CraftNanny!', colors.lime, colors.black) |
203 | + | |
204 | draw_text_term(2, 8, '2. Energy Monitor', colors.white, colors.black) | |
205 | draw_text_term(2, 9, '3. Fluid Monitor', colors.white, colors.black) | |
206 | draw_text_term(2, 10, '4. Redstone Controls', colors.white, colors.black) | |
207 | draw_text_term(2, 11, '5. Rednet Controls', colors.white, colors.black) | |
208 | draw_text_term(1, 13, 'Enter number:', colors.white, colors.black) | |
209 | term.setCursorPos(1,14) | |
210 | term.setTextColor(colors.white) | |
211 | input = read() | |
212 | ||
213 | choose_module(input) | |
214 | end | |
215 | ||
216 | function start() | |
217 | term.clear() | |
218 | if fs.exists("config.txt") then | |
219 | load_config() | |
220 | updating = true | |
221 | install_module() | |
222 | else | |
223 | install_select() | |
224 | end | |
225 | end | |
226 | ||
227 | start() |