View difference between Paste ID: MH3E4QK7 and 0gcsPAxU
SHOW: | | - or go back to the newest paste.
1
function split(str, pat)
2
   local t = {}  -- NOTE: use {n = 0} in Lua-5.0
3
   local fpat = "(.-)" .. pat
4
   local last_end = 1
5
   local s, e, cap = str:find(fpat, 1)
6
   while s do
7
      if s ~= 1 or cap ~= "" then
8
         table.insert(t,cap)
9
      end
10
      last_end = e+1
11
      s, e, cap = str:find(fpat, last_end)
12
   end
13
   if last_end <= #str then
14
      cap = str:sub(last_end)
15
      table.insert(t, cap)
16
   end
17
   return t
18
end
19
term.clear()
20
term.setCursorPos(1,1)
21
print("CraftCoin Alpha 1.0 Mining Server")
22
modem = peripheral.wrap("bottom")
23
modem.open(1)
24
mining={}
25
while true do
26
	os.startTimer(0.05)
27
	event, a, b, c, d, f = os.pullEventRaw()
28
		if event == "timer" then
29
			print("Tick")
30
			for i,v in pairs(mining) do
31
				if mining[i]~= 1337 then
32
				mining[i]=v-1
33
				print(v)
34
				if mining[i]<0 then
35
					print("Finished A Mine")
36
					modem.transmit(1,1,"mined "..i)
37
					mining[i]=1337
38
				end
39
				end
40
			end
41
		elseif event == "modem_message" then
42
			msg = d
43
			msgp = split(msg," ")
44
			if msgp[1] == "startmine" then
45
			 if msgp[2] then
46
				mining[msgp[2]]= 1000/3.14*math.random(10,20)
47
			 end
48
			end
49
		end
50
end