SHOW:
|
|
- or go back to the newest paste.
1 | - | owner = "nobody" -- replace with your username |
1 | + | owner = "nobody" -- replace with your username |
2 | ||
3 | interval = 10 | |
4 | cannonInfo = {} | |
5 | difficulty = 8 | |
6 | ||
7 | maps = {3107377,305748,1539148,4543602,390649,495880,1463332,1492805,292678,305753,1545834,3175437,2964900,1812056,852617,799141,1794907,2939549,459284,1519483,1794873,811211,306360,489829,479091,3419948,290546,276534,3220945,1754355,281649,390657,311496,295988,802958,2643833} | |
8 | ||
9 | function main() | |
10 | tfm.exec.disableAutoNewGame(true) | |
11 | tfm.exec.disableAutoShaman(true) | |
12 | tfm.exec.disableAutoTimeLeft(true) | |
13 | tfm.exec.newGame(maps[math.random(#maps)]) | |
14 | end | |
15 | ||
16 | function eventNewGame() | |
17 | interval = 10 | |
18 | end | |
19 | ||
20 | function eventNewPlayer(name) | |
21 | ui.addTextArea(1, "<a href='event:easy'><VP><font size='14'>E", name, 728, 21, nil, nil, 0x000001, nil, 0.7) | |
22 | ui.addTextArea(2, "<a href='event:medium'><J><font size='14'>M", name, 753, 21, nil, nil, 0x000001, nil, 0.7) | |
23 | ui.addTextArea(3, "<a href='event:hard'><R><font size='14'>H", name, 781, 21, nil, nil, 0x000001, nil, 0.7) | |
24 | end | |
25 | ||
26 | function eventTextAreaCallback(id, name, cb) | |
27 | if (owner==name or owner=="nobody") and interval > 6 then | |
28 | interval = 10 | |
29 | if cb == "easy" then | |
30 | difficulty = 7 | |
31 | elseif cb == "medium" then | |
32 | difficulty = 8 | |
33 | elseif cb == "hard" then | |
34 | difficulty = 9 | |
35 | end | |
36 | end | |
37 | end | |
38 | ||
39 | function eventLoop(time, remaining) | |
40 | if time>3000 then | |
41 | interval = interval - 1 | |
42 | if interval == difficulty then | |
43 | ui.removeTextArea(4) | |
44 | local users = {} | |
45 | for name,p in pairs(tfm.get.room.playerList) do | |
46 | if not p.isDead then | |
47 | users[#users+1] = name | |
48 | end | |
49 | end | |
50 | cannonInfo = spawnCannon(users[math.random(#users)]) | |
51 | interval = 11 | |
52 | elseif interval<=5 then | |
53 | tfm.exec.setUIMapName("<ROSE>The next map will start in "..interval) | |
54 | if interval == 0 then | |
55 | tfm.exec.newGame(maps[math.random(#maps)]) | |
56 | end | |
57 | elseif interval == 10 then | |
58 | tfm.exec.addShamanObject(17, cannonInfo[1], cannonInfo[2], cannonInfo[3]-90) | |
59 | cannonInfo={} | |
60 | end | |
61 | end | |
62 | if remaining<=0 then | |
63 | ui.addTextArea(4, "<VP><p align='center'><B>CONGRATULATIONS</B>\n\n<CH><i>you beat the CPU!", nil, 290, 22, 180, nil, 0x000001, 0xCA0805, 0.8) | |
64 | tfm.exec.newGame(maps[math.random(#maps)]) | |
65 | end | |
66 | end | |
67 | ||
68 | function eventPlayerDied(name) | |
69 | if playerCount() < 1 then | |
70 | interval = 6 | |
71 | end | |
72 | end | |
73 | ||
74 | function playerCount() | |
75 | local n=0 | |
76 | for name, player in pairs(tfm.get.room.playerList) do | |
77 | if not player.isDead then | |
78 | n=n+1 | |
79 | end | |
80 | end | |
81 | return n | |
82 | end | |
83 | ||
84 | function spawnCannon(name) | |
85 | local info = {} | |
86 | local px = tfm.get.room.playerList[name].x | |
87 | local py = tfm.get.room.playerList[name].y | |
88 | local cnnx = math.random()*800 | |
89 | local cnny = math.random()*400 | |
90 | if cnny > py then | |
91 | cnny = py-math.random(50)-20 | |
92 | end | |
93 | if math.abs(cnnx-px) > 300 then | |
94 | cnnx = px + math.random(-50, 50) | |
95 | end | |
96 | local ang = math.deg(math.atan2(cnny-py, cnnx-px)) | |
97 | tfm.exec.addShamanObject(0, cnnx, cnny, ang+90) | |
98 | info[1] = cnnx | |
99 | info[2] = cnny | |
100 | info[3] = ang | |
101 | return info | |
102 | end | |
103 | ||
104 | - | function eventChatCommand(name, cmd) |
104 | + | |
105 | - | if cmd == "easy" then |
105 | + | |
106 | - | difficulty = 8 |
106 | + | |
107 | - | easy = true |
107 | + | |
108 | main() |