View difference between Paste ID: jcaAiCwc and u518uRRC
SHOW: | | - or go back to the newest paste.
1
tfm.exec.disableAfkDeath(false)
2
v=0
3
o=0
4
tfm.exec.setRoomMaxPlayers(15)
5
dp={}
6
function count()
7
if runner<1 then
8
tfm.exec.newGame(maps[math.random(#maps)])
9
end
10
end
11
function vip(n)
12
if n=="Fuzzyfirsdog#0000" or n=="Bodykudo#0000" or n=="Tortuegreen#0000" or n=="Bolodefchoco#0000" then
13
14
data[n].def=212
15
data[n].objects=data[n].def
16
data[n].nyan=true
17
end
18
if n=="Reddeathnick#3204" or n=="Mariluiss#0000" or n=="Mugiwaraloffy#9866" or n=="Pratton#0000" or n=="Seaqueen2003#0000" then
19
data[n].def=212
20
data[n].objects=data[n].def
21
data[n].nyan=true
22
end
23
end
24
25
function add(n)
26
if data[n].role=="Runner" then
27
runner=runner+1
28
elseif data[n].role=="Death" then
29
death=death+1
30
end
31
end
32
33
34
35
lag=0
36
Lives2=1000
37
icedMouseCost=400
38
cakeCost=200
39
companionCost=900
40
shamanCannonCost=1000
41
watermelonCost=500
42
mechAnvilCost=800
43
rockCost=400
44
ultraCannonCost=900
45
nyanCost=400
46
local toDespawn = {}
47
48
do
49
	local addShamanObject = tfm.exec.addShamanObject
50
	tfm.exec.addShamanObject = function(...)
51
		toDespawn[#toDespawn + 1] = {
52
			addShamanObject(...),
53
			os.time() + 3000
54
		}
55
56
		return toDespawn[#toDespawn][1]
57
	end
58
end
59
60
tfm.exec.disableAllShamanSkills(true)
61
tfm.exec.disableMortCommand(true)
62
wonCountDown=1
63
64
65
maps={7455943,7458404,7459068,6238915,6321696,6321733,6335123}
66
powery=320
67
powerx=math.random(1600)
68
69
mice=0
70
71
function countMice()
72
for n,player in pairs(tfm.get.room.playerList) do
73
74
mice=mice+1
75
end
76
end
77
78
Down=string.byte("S")
79
80
tfm.exec.disableAutoShaman(true)
81
tfm.exec.disableAutoNewGame(true)
82
83
84
tfm.exec.disableAutoShaman(true)
85
tfm.exec.disableAutoTimeLeft(true)
86
tfm.exec.disableAutoScore(true)
87
data={}
88
text={}
89
lang={}
90
lang.br={
91
boughtNyan="<J>Você comprou Nyan Cat!",
92
nyanInv="<p align='left'>Nyan Cat <J><a href='event:equipNyan'>[Equipar]</a></J>",
93
nyan="Nyan Cat<N> - Nyan Cat aparecerá como seu objeto de ataque quando você é o assassino. <VP>Worth %s points.<J><a href='event:buyNyan'> [Compra]",
94
boughtUltraCannon="<J>Você comprou o ultra canhão!",
95
ultraCannonInv="<p align='left'>Ultra Cannon <J><a href='event:equipUltraCannon'>[Equipar]</a></J>",
96
ultraCannon="Ultra Cannon<N> - Dois ultra canhões brilhantes aparecerão com oseu objeto de ataque quando você é o assassino. <VP>Worth %s points.<J><a href='event:buyUltraCannon'> [Compra]",
97
boughtRock="<J>Você comprou a bigorna de pedra!",
98
rock="Rock Anvil<N> - A bigorna de pedra aparece como seu objeto de ataque quando você é o assassino. <VP>Worth %s points.<J><a href='event:buyRock'> [Compra]",
99
rockInv="<p align='left'>Rock Anvil <J><a href='event:equipRock'>[Equipar]</a></J>",
100
mechAnvilInv="<p align='left'>Mechanical Anvil <J><a href='event:equipMechAnvil'>[Equipar]</a></J>",
101
boughtMechAnvil="<J>Você comprou a bigorna mecânica!",
102
watermelonInv="<p align='left'>Watermelon Cannon <J><a href='event:equipWatermelon'>[Equipar]</a></J>",
103
boughtWatermelon="<J>Você comprou o canhão de melancia!",
104
mechAnvil="Mechanical Anvil<N> - Duas bigornas mecânicas aparecerãocomo seu objeto de ataque quando você é o assassino. <VP>Worth %s points.<J><a href='event:buyMechAnvil'> [Compra]",
105
watermelon="Watermelon Cannon<N> - Um canhão de melancia aparecerá como seu objeto de ataque quando você é o assassino. <VP>Worth %s points.<J><a href='event:buyWatermelon'> [Compra]",
106
boughtShamanCannon="<J>Você comprou o canhão de shaman!",
107
shamanCannonInv="<p align='left'>Shaman Cannon <J><a href='event:equipShamanCannon'>[Equipar]</a></J>",
108
shamanCannon="Shaman Cannon<N> - Três canhões de shaman aparecerão como seu objeto de ataque quando você é o assassino. <VP>Worth %s points.<J><a href='event:buyShamanCannon'> [Compra]",
109
equip="Equip",
110
need2People="São necessários dois jogadores para jogar",
111
nowHave2Lives="<J>Você agora tem duas vidas em cada rodada!",
112
boughtIcedMouse="<J>Você comprou o objeto rato congelado!",
113
boughtCake="<J>Você comprou o objeto bolo!",
114
boughtCompanion="<J>Você comprou a caixa de companheiro!",
115
companionInv="<p align='left'>Companion Crate <J><a href='event:equipCompanion'>[Equipar]</a></J>",
116
companion="Companion Crate<N> - A caixa de companheiro aparecerá como seu objeto de ataquequando você é o assassino. <VP>Worth %s points.<J><a href='event:buyCompanion'> [Compra]",
117
inventory2="Inventário",
118
inventory="<p align='center'><font size='20'>INVENTORY</font><br><br><font size='12'><p align='left'>Default Box <a href='event:equipDefault'><J>[Equipar]</J></a>",
119
icedMouseInv="<p align='left'>Iced mouse <J><a href='event:equipIcedMouse'>[Equipar]</a></J>",
120
cakeInv="<p align='left'>Cake <J><a href='event:equipCake'>[Equipar]</a></J>",
121
shop2="Aloja",
122
cake="Cake Object<N> - Um bolo aparecerá como seu objeto de ataque quando você é o assassino. <VP>Worth %s points.<J><a href='event:buyCake'> [Compra]",
123
icedMouse="Iced Mouse Object<N> - Um rato congelado aparecerá como seu objeto de ataque quando você é o assassino. <VP>Worth %s points.<J><a href='event:buyIcedMouse'> [Compra]",
124
lives2="2 Lives<N> - Após você morrer pela primeira vez em uma rodada, receberá outra vida apenas uma vez. <VP>Worth %s points. <J><a href='event:buy2Lives'>[Compra]",
125
description="Descrição",
126
points="Pontos",
127
winsAsRunner="Vitórias como fugitivo",
128
winsAsDeath="Vitória como assassino",
129
profile2="Perfil",
130
rules="Regras</font></font></u><font size='12'>\n\n• Não é permitido o uso de truques para bugar o jogo \n\n• O uso de hack não é permitido, assim como qualquer outro jogo.",
131
rules2="Regras",
132
commands="Poderes\n\n<font size='11'>Click - Spawna um objeto de shaman aleatório quando vocçe é um <J>Assassino</J>.\n\nBarra de espaço - Faz um pulo grande seguido de um canhão invisível quando você é um<J>Fugitivo</J>. \n\nSeta para baixo/ Tecla S - Te dá um boost de velocidade (Tanto para fugitivos quanto para assassinos)",
133
commands2="Poderes",
134
credits="Créditos</font></font><font face='verdana'><font size='11'>\n\n<N>Programação - Fuzzyfirsdog#0000\n\nIdeia do Module - Reddeathnick#3204\n\nTradução para árabe - Bodykudo#0000\n\nTradução para FR - Tortuegreen#0000\n\nTradução para BR - Pratton#0000\n\nPowerup Sugestões - Reddeathnick#3204, Seaqueen2003#0000, Mugiwaraloffy#9866\n\nAchando maneiras de remover hacks - Mariluiss#0000 \n\n<VP>Obrigado ^^",
135
credits2="Créditos",
136
killer="[Assassino] ",
137
youCanAttack="<R>Assassino: <N>Você pode atacar",
138
youCanNotAttack="<R>Assassino: <N>Voce não pode atacar",
139
youCanUsePowerups="<VP>Fugitivo: <N>Você pode usar poderes",
140
youCanNotUsePowerups="<VP>Fugitivo: <N>Você não pode usar poderes",
141
attacked="ATACADO",
142
youAreARunner="Você é um fugitivo",
143
youAreADeath="Você é um assasino",
144
help="No #deathrun existem <J>Assassinos</J> e <J>Fugitivos</J>. Assassinos devem tentar matar os ratos spawnando objetos. Se nenhum fugitivo entra na toca, os assassinos ganham! Os fugitivos devem usar os poderes dados a eles para escapar dos assassinos e chegar a toca. Se um fugitivo entra na toca, a vitória é dos fugitivos.",
145
close="Fechar",
146
help2="Ajuda",
147
superJump="SUPER PULO",
148
speed="VELOCIDADE",
149
deathsWin="Vitória dos assassinos!",
150
runnersWin="Vitória dos fugitivos!"
151
}
152
lang.fr={
153
boughtNyan="<J>Vous avez acheté nyan cat !",
154
nyanInv="<p align='left'>Nyan Cat <J><a href='event:equipNyan'>[Équiper]</a></J>",
155
nyan="Nyan Cat<N> - Nyan cat sera utilisé pour attaquer lorsque vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyNyan'> [Acheter]",
156
boughtUltraCannon="<J>Vous avez acheté le super boulet !",
157
ultraCannonInv="<p align='left'>Super Boulet <J><a href='event:equipUltraCannon'>[Équiper]</a></J>",
158
ultraCannon="Super Boulet<N> - 2 magnifiques super boulets seront utilisés pour attaquer lorsque vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyUltraCannon'> [Acheter]",
159
boughtRock="<J>Vous avez acheté l'enclume rocher !",
160
rock="Emclume Rocher<N> - Un rocher sera utilisé pour attaquer lorsuqe vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyRock'> [Acheter]",
161
rockInv="<p align='left'>Enclume Rocher <J><a href='event:equipRock'>[Équiper]</a></J>",
162
mechAnvilInv="<p align='left'>Enclume Mécanique <J><a href='event:equipMechAnvil'>[Équiper]</a></J>",
163
boughtMechAnvil="<J>Vous avez acheté l'enclume mécanique !",
164
watermelonInv="<p align='left'>Boulet Pastèque <J><a href='event:equipWatermelon'>[Équiper]</a></J>",
165
boughtWatermelon="<J>Vous avez acheté le boulet pastèque !",
166
mechAnvil="Emclume Mécanique<N> - 2 enclumes mécaniques seront utilisées pour attaquer lorsque vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyMechAnvil'> [Acheter]",
167
watermelon="Watermelon Cannon<N> - Un boulet pastèque sera utilisé pour attaquer lorsque vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyWatermelon'> [Acheter]",
168
boughtShamanCannon="<J>Vous avez acheté le boulet chamane !",
169
shamanCannonInv="<p align='left'>Boulet Chamane <J><a href='event:equipShamanCannon'>[Équiper]</a></J>",
170
shamanCannon="Shaman Cannon<N> - 3 boulets chamane seront utilisés pour attaquer lorsque vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyShamanCannon'> [Acheter]",
171
equip="Équiper",
172
need2People="Vous devez être 2 pour jouer",
173
nowHave2Lives="<J>Vous avez maintenant 2 vies à chaque tour !",
174
boughtIcedMouse="<J>Vous venez d'acheter l'objet Souris gelée !",
175
boughtCake="<J>Vous venez d'acheter l'objet Gâteau !",
176
boughtCompanion="<J>Vous venez d'acheter la Caisse compagnon !",
177
companionInv="<p align='left'>Caisse Compagnon <J><a href='event:equipCompanion'>[Équiper]</a></J>",
178
companion="Caisse Compagnon<N> - Une caisse compagnon sera utilisée pour attaquer lorsque vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyCompanion'> [Acheter]",
179
inventory2="Inventaire",
180
inventory="<p align='center'><font size='20'>INVENTAIRE</font><br><br><font size='12'><p align='left'>Caisse par défaut <a href='event:equipDefault'><J>[Équiper]</J></a>",
181
icedMouseInv="<p align='left'>Souris glacée <J><a href='event:equipIcedMouse'>[Équiper]</a></J>",
182
cakeInv="<p align='left'>Gâteau <J><a href='event:equipCake'>[Équiper]</a></J>",
183
shop2="Magasin",
184
cake="Objet Gâteau<N> - Un gâteau sera utilisé pour attaquer lorsque vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyCake'> [Acheter]",
185
icedMouse="Objet Souris glacée<N> - Une souris glacée sera utilisé pour attaquer lorsque vous serez le tueur. <VP>Coûte %s points.<J><a href='event:buyIcedMouse'> [Acheter]",
186
lives2="2 Vies<N> - Lorsque vous mourrez pour la première fois durant un tour, vous obtiendrez une nouvelle vie. <VP>Coûte %s points. <J><a href='event:buy2Lives'>[Acheter]",
187
description="Description",
188
points="Points",
189
winsAsRunner="Gaggne en étant un Coureur",
190
winsAsDeath="Gagne en étant le tueur",
191
profile2="Profil",
192
rules="Règles</font></font></u><font size='12'>\n\n• Utiliser des techniques pour faire buguer le jeu n'est pas autorisé\n\n• Vous n'avez pas le droit de tricher, comme dans tout autre jeu.",
193
rules2="Règles",
194
commands="Boosters\n\n<font size='11'><b>Cliquer</b> - Fait apparaître un objet chamane aléatoire lorsque vous le rôle de <J>le tueur<J>.\n\n<b>Barre d'espace</b> - Fait un grand saut suivi d'un boulet invisible lorsque vous êtes un <J>Coureur</J>. \n\n<b>Flèche du basw / touche S</b> - Vous donne un bonus de vitesse. (Fonctione pour tueurs et les Coureurs)",
195
commands2="Boosters",
196
credits="Crédits</font></font><font face='verdana'><font size='11'>\n\n<N>Code - Fuzzyfirsdog#0000\n\Idée du module - Reddeathnick#3204\n\nTraductions Arabe - Bodykudo#0000\n\nTraduction française - Tortuegreen#0000\n\nTraductions en Portugais - Pratton#0000\n\nSuggestions des boosters - Reddeathnick#3204, Seaqueen2003#0000, Mugiwaraloffy#9866\n\nAnti-triche - Mariluiss#0000 \n\n<VP>Merci ^^",
197
credits2="Crédits",
198
killer="[Tueur] ",
199
youCanAttack="<R>Tueur: <N>Vous pouvez attaquer",
200
youCanNotAttack="<R>Tueur: <N>Vous ne pouvez pas attaquer",
201
youCanUsePowerups="<VP>Coureur: <N>Vous pouvez utiliser des boosters",
202
youCanNotUsePowerups="<VP>Coureur: <N>Vous ne pouvez pas utiliser de boosters",
203
attacked="ATTAQUÉ",
204
youAreARunner="Vous êtes un Coureur",
205
youAreADeath="Vous êtes le tueur",
206
help="Dans #deathrun, il y a <J>tueurs</J> et <J>les Coureurs</J>. le tueur doit tuer les souris en cliquant pour faire apparaître des objets. Si aucun Coureur ne rentre dans le trou avec le fromage, tueurs gagnent! Les Coureurs peuvent utiliser des boosters à leur disposition pour rentrer dans le trou et échaper aux tueurs. Si un Coureur réussit à rentrer dans le trou, les Coureurs gagnent.",
207
close="Fermer",
208
help2="Aide",
209
superJump="SUPER SAUT",
210
speed="VITESSE",
211
deathsWin="Tueurs ont gagné !",
212
runnersWin="Les Coureurs ont gagné !"
213
}
214
lang.en={boughtNyan="<J>You bought nyan cat!",nyanInv="<p align='left'>Nyan Cat <J><a href='event:equipNyan'>[Equip]</a></J>",nyan="Nyan Cat<N> - Nyan cat will appear as your attack object. <VP>Worth %s points.<J><a href='event:buyNyan'> [Buy]",boughtUltraCannon="<J>You bought the ultra cannon!",ultraCannonInv="<p align='left'>Ultra Cannon <J><a href='event:equipUltraCannon'>[Equip]</a></J>",ultraCannon="Ultra Cannon<N> - 2 glowing ultra cannons will appear as your attack object. <VP>Worth %s points.<J><a href='event:buyUltraCannon'> [Buy]",boughtRock="<J>You bought the rock anvil!",rock="Rock Anvil<N> - A rock anvil appear as your attack object. <VP>Worth %s points.<J><a href='event:buyRock'> [Buy]",rockInv="<p align='left'>Rock Anvil <J><a href='event:equipRock'>[Equip]</a></J>",mechAnvilInv="<p align='left'>Mechanical Anvil <J><a href='event:equipMechAnvil'>[Equip]</a></J>",boughtMechAnvil="<J>You bought the mechanical anvil!",watermelonInv="<p align='left'>Watermelon Cannon <J><a href='event:equipWatermelon'>[Equip]</a></J>",boughtWatermelon="<J>You bought the watermelon cannon!",mechAnvil="Mechanical Anvil<N> - 2 mechanical anvils will appear as your attack object. <VP>Worth %s points.<J><a href='event:buyMechAnvil'> [Buy]",watermelon="Watermelon Cannon<N> - A watermelon cannon will appear as your attack object. <VP>Worth %s points.<J><a href='event:buyWatermelon'> [Buy]",boughtShamanCannon="<J>You bought the shaman cannon!",shamanCannonInv="<p align='left'>Shaman Cannon <J><a href='event:equipShamanCannon'>[Equip]</a></J>",shamanCannon="Shaman Cannon<N> - 3 shaman cannons will appear as your attack object. <VP>Worth %s points.<J><a href='event:buyShamanCannon'> [Buy]",equip="Equip",need2People="You need 2 people to play",nowHave2Lives="<J>You now have 2 lives on each round!",boughtIcedMouse="<J>You just bought the iced mouse object!",boughtCake="<J>You just bought the cake object!",boughtCompanion="<J>You just bought the companion crate!",companionInv="<p align='left'>Companion Crate <J><a href='event:equipCompanion'>[Equip]</a></J>",companion="Companion Crate<N> - A companion crate will appear as your attack object. <VP>Worth %s points.<J><a href='event:buyCompanion'> [Buy]",inventory2="Inventory",inventory="<p align='center'><font size='20'>INVENTORY</font><br><br><font size='12'><p align='left'>Default Box <a href='event:equipDefault'><J>[Equip]</J></a>",icedMouseInv="<p align='left'>Iced mouse <J><a href='event:equipIcedMouse'>[Equip]</a></J>",cakeInv="<p align='left'>Cake <J><a href='event:equipCake'>[Equip]</a></J>",shop2="Shop",cake="Cake Object<N> - A cake will appear as your attack object. <VP>Worth %s points.<J><a href='event:buyCake'> [Buy]",icedMouse="Iced Mouse Object<N> - An iced mouse will appear as your attack object. <VP>Worth %s points.<J><a href='event:buyIcedMouse'> [Buy]",lives2="2 Lives<N> - After you die your first time on a round, you'll be given another live once. <VP>Worth %s points. <J><a href='event:buy2Lives'>[Buy]",description="Description",points="Points",winsAsRunner="Wins as runner",winsAsDeath="Wins as Killer",profile2="Profile",rules="Rules</font></font></u><font size='12'>\n\n• Using tricks to glitch the game is not allowed\n\n• You are not allowed to hack just like in any other game.",rules2="Rules",commands="Powerups\n\n<font size='11'><b>Click</b> - Spawns a random shaman object when you have the role of being a <J>Killer</J>.\n\n<b>Spacebar</b> - Makes a large jump followed with an invisible cannon when you have the role of being a <J>Runner</J>. \n\n<b>Down Arrow / S key</b> - Gives you a boost of speed. (Works for both Killers and Runners)",commands2="Powerups",credits="Credits</font></font><font face='verdana'><font size='11'>\n\n<N>Programming - Fuzzyfirsdog#0000\n\nModule Idea - Reddeathnick#3204\n\nArabic Translations - Bodykudo#0000\n\nFrench Translations - Tortuegreen#0000\n\nPortuguese Translations - Pratton#0000\n\nPowerup Suggestions - Reddeathnick#3204, Seaqueen2003#0000, Mugiwaraloffy#9866\n\nFinding Ways To Remove Hacks - Mariluiss#0000 \n\n<VP>Thank you ^^",credits2="Credits",youCanAttack="<R>Killer: <N>You can attack",youCanNotAttack="<R>Killer: <N>You can not attack",youCanUsePowerups="<VP>Runner: <N>You can use powerups",youCanNotUsePowerups="<VP>Runner: <N>You can not use powerups",attacked="ATTACKED",youAreARunner="You are a runner",youAreADeath="You are a Killer",help="In #deathrun there are <J>Killers</J> and <J>Runners</J>. Killers should try to kill the mice by clicking to spawn objects, if no runners get into the hole then Killers win! Runners are supposed to use the powerups they are given to get into the hole and escape Killers. If one runner gets into the hole, runners win.",close="Close",help2="Help",superJump="SUPER JUMP",speed="SPEED",deathsWin="Killers win!",runnersWin="Runners win!",killer="[Killer] "}
215
lang.ar={
216
boughtNyan="<J>لقد اشتريت القطة نيان!",
217
nyanInv="<p align='left'>القطة نيان <J><a href='event:equipNyan'>[ارتداء]</a></J>",
218
nyan="القطة نيان<N> - القطة نيان سوف تظهر كأداة هجومك عندما تكون القاتل. <VP>تستحق %s نقطة.<J><a href='event:buyNyan'> [شراء]",
219
boughtUltraCannon="<J>لقد اشتريت القذيفة الفائقة!",
220
ultraCannonInv="<p align='left'>القذيفة الفائقة <J><a href='event:equipUltraCannon'>[ارتداء]</a></J>",
221
ultraCannon="القذيفة الفائقة<N> - كُرتان فائقتان متوهجتان سوف يظهران كهجومك عندما تكون القاتل <VP>تستحق %s نقطة.<J><a href='event:buyUltraCannon'> [شراء]",
222
boughtRock="<J>لقد اشتريت السندان الصخري!",
223
rock="السندان الصخري<N> - السندان الصخري سوف يظهر كهجومك عندما تكون القاتل. <VP>يستحق %s نقطة.<J><a href='event:buyRock'> [شراء]",
224
rockInv="<p align='left'>السندان الصخري <J><a href='event:equipRock'>[ارتداء]</a></J>",
225
mechAnvilInv="<p align='left'>السندان الميكانيكي <J><a href='event:equipMechAnvil'>[ارتداء]</a></J>",
226
boughtMechAnvil="<J>لقد اشتريت السندان الميكانيكي!",
227
watermelonInv="<p align='left'>كرة البطيخ <J><a href='event:equipWatermelon'>[ارتداء]</a></J>",
228
boughtWatermelon="<J>لقد اشتريت كرة البطيخ!",
229
mechAnvil="السندان الميكانيكي<N> - سندانان ميكانيكيان سوف يظهران كهجوم عندما تكون القاتل. <VP>يستحق %s نقطة.<J><a href='event:buyMechAnvil'> [شراء]",
230
watermelon="كرة البطيخ<N> - كرة البطيخ سوف تظهر كهجومك عندما تكون القاتل. <VP>تستحق %s نقطة.<J><a href='event:buyWatermelon'> [شراء]",
231
boughtShamanCannon="<J>لقد اشتريت كرة الشامان!",
232
shamanCannonInv="<p align='left'>كرة الشامان <J><a href='event:equipShamanCannon'>[ارتداء]</a></J>",
233
shamanCannon="كرة الشامان<N> - 3 كرات شامان سوف تظهر كهجومك عندما تكون القاتل. <VP>تستحق %s نقاط.<J><a href='event:buyShamanCannon'> [شراء]",
234
	equip="ارتداء",
235
	need2People="أنت تحتاج لاعبيّن لكي تلعب",
236
	nowHave2Lives="<J>أنت الآن لديك حيواتان كل جولة",
237
	boughtIcedMouse="<J>لقد اشتريت الفأر المجمَد!",
238
	boughtCake="<J>لقد اشتريت صندوق الكعك!",
239
	boughtCompanion="<J>لقد اشتريت القفص!",
240
	companionInv="<p align='left'>القفص <J><a href='event:equipCompanion'>[ارتداء]</a></J>",
241
	companion="القفص<N> - القفص سوف يظهر كهجومك عندما تكون القاتل.<VP>يستحق %s نقطة.<J><a href='event:buyCompanion'> [شراء]",
242
	inventory2="المخزن",
243
	inventory="<p align='center'><font size='20'>المخزن</font><br><br><font size='12'><p align='left'>الصندوق العادي <a href='event:equipDefault'><J>[ارتداء]</J></a>",
244
	icedMouseInv="<p align='left'>الفأر المجمَد <J><a href='event:equipIcedMouse'>[ارتداء]</a></J>",
245
	cakeInv="<p align='left'>الكعكة <J><a href='event:equipCake'>[ارتداء]</a></J>",
246
	shop2="المتجر",
247
	cake="الكعكة<N> - الكعكة سوف تظهر كهجومك عندما تكون القاتل.<VP>تستحق %s نقطة.<J><a href='event:buyCake'> [شراء]",
248
	icedMouse="الفأر المجمَد<N> - الفأر المجمَد سوف يظهر كهجومك عندما تكون القاتل. <VP>يستحق %s نقطة.<J><a href='event:buyIcedMouse'> [شراء]",
249
	lives2="حياتان<N> - بعدما تموت لأول مرة في الجولة, سوف يتم إعطائك حياة أخرى فورًا. <VP>تستحق %s نقطة. <J><a href='event:buy2Lives'>[شراء]",
250
	description="الوصف",
251
	points="نقاط",
252
	winsAsRunner="مرات الفوز كراكض",
253
	winsAsDeath="مرات الفوز كقاتل",
254
	profile2="الملف الشخصي",
255
	rules="القواعد</font></font></u><font size='12'>\n\n• استخدام طرق لتخريب اللعبة ليس مسموحًا\n\n• ليس مسموحًا لك استخدام الهكر كباقي الألعاب.",
256
	rules2="القواعد",
257
	commands="المقويات\n\n<font size='11'>اضغط - Sلكي تطلق صندوقًا للهجوم عندما تكون <J>القاتل</J>.\n\nالمسافة - تجعلك تقفز طويلًا بالإضافة إلى قذيفة مخفية عندما تكون <J>راكضًا</J>. \n\nزر أسفل / زر S - تعطيك سرعة إضافية. (تعمل لدى القاتل والراكضين)",
258
	commands2="المقويِات",
259
	credits="ائتمان</font></font><font face='verdana'><font size='11'>\n\n<N>البرمجة - Fuzzyfirsdog#0000\n\n الترجمة العربية - Bodykudo#0000\n\nترجمة فرنسية - Tortuegreen#0000\n\nترجمات البرتغالية\n\nفكرة النمط - Reddeathnick#3204\n\nاقتراح المقويِّات - Reddeathnick#3204, Seaqueen2003#0000, Mugiwaraloffy#9866\n\nإيجاد طريق لمنع الهكرز - Mariluiss#0000 \n\n<VP>شكرًا لكم ^^",
260
	credits2="الائتمان",
261
 killer="[القاتل] ",
262
	youCanAttack="<R>القاتل: <N>يمكنك الهجوم",
263
	youCanNotAttack="<R>القاتل: <N>لا يمكنك الهجوم",
264
	youCanUsePowerups="<VP>الراكض: <N>يمكنك استعمال المقويِّات",
265
	youCanNotUsePowerups="<VP>الراكض: <N>لا يمكنك استعمال المقويِّات",
266
	attacked="هجم",
267
	youAreARunner="أنت راكض",
268
	youAreADeath="أنت قاتل",
269
	help="في #deathrun يوجد <J>قاتلين</J> و <J>الراكضين</J>. القاتلين يجب أن يحاولوا قتل الراكضين عبر إطلاق أدوات عبر الضغط على الشاشة, إذا لم يفز أي راكض سيفوز القاتل! الراكضين يمكنهم استعمال المقويِّات. إذا وصل راكض واحد للجحر, يفوز الراكضين.",
270
	close="إغلاق",
271
	help2="المساعدة",
272
	superJump="القفزة الخارقة",
273
	speed="السرعة",
274
	deathsWin="فاز القاتل!",
275
	runnersWin="فاز الراكضين!"
276
}
277
278
roles={"Death","Runner"}
279
280
281
death=0
282
runner=0
283
miceInHole=0
284
285
function setLang(n)
286
287
text[n]=lang[tfm.get.room.playerList[n].community] or lang.en
288
289
end
290
291
P=string.byte("P")
292
H=string.byte("H")
293
O=string.byte("O")
294
function bindMouse()
295
for n,player in pairs(tfm.get.room.playerList) do
296
297
tfm.exec.bindKeyboard(n, 0, true, true)
298
299
tfm.exec.bindKeyboard(n, 1, true, true)
300
301
tfm.exec.bindKeyboard(n, 2, true, true)
302
303
tfm.exec.bindKeyboard(n, 3, true, true)
304
305
tfm.exec.bindKeyboard(n, 32, true, true)
306
307
tfm.exec.bindKeyboard(n, P, true, true)
308
309
tfm.exec.bindKeyboard(n, O, true, true)
310
311
tfm.exec.bindKeyboard(n, H, true, true)
312
system.bindMouse(n,true)
313
end
314
end
315
bindMouse()
316
317
tfm.exec.newGame(maps[math.random(#maps)])
318
names={}
319
320
theRole=1
321
currentRole=roles[math.floor(theRole)]
322
323
function changeCurrentRole()
324
325
end
326
numbs={1,2}
327
328
function showTabs(n)
329
ui.addTextArea(130, "", n, -432, -865, 3625, 953, 0xffffff, 0xffffff, 0.008, true)
330
331
ui.addTextArea(15, "<VP><a href='event:help'><font size='12'>"..text[n].help2.."</a> | <a href='event:credits'>"..text[n].credits2.." </a>|<a href='event:commands'> "..text[n].commands2.." </a>|<a href='event:rules'> "..text[n].rules2, n, 30, 30, 264, 26, 0x00aaff, 0x00eeff, 0, true)
332
ui.addTextArea(155, "<font size='12'><VP><a href='event:inventory'>"..text[n].inventory2.."</a> | <a href='event:shop'>"..text[n].shop2.." | <a href='event:profile'>"..text[n].profile2, n, 600, 30, 264, 26, 0x00aaff, 0x00eeff, 0, true)
333
334
end
335
function setData(n)
336
data[n]=
337
{
338
def=2,
339
idTime=6,
340
afk=true,
341
description="",
342
p=0,
343
nyan=false,
344
ultraCannon=false,
345
rock=false,
346
mechAnvil=false,
347
watermelon=false,
348
shamanCannon=false,
349
companion=false,
350
isInRoom=true,
351
cake=false,
352
objects=2,
353
lives2=false,
354
normalLives=1,
355
lives=1,
356
icedMouse=false,
357
winsAsRunner=0,
358
winsAsDeath=0,
359
facingx=85,
360
name=n,
361
role="Runner",
362
points=0,
363
spawnLimit=-1,
364
ableToShoot=0,
365
ableToShoot2=0,
366
pointsAndScore="",
367
inventory=text[n].inventory
368
}
369
data[n].objects=data[n].def
370
end
371
function inventory(n)
372
373
ui.addTextArea(152, "", n, 510, 96, 286, 290, 0x00ff6a, 0x047529, 1, true)
374
ui.addTextArea(92, "<p align='center'><font size='20'>"..text[n].inventory.."</font>\n", n, 515, 101, 276, 279, 0x034511, 0x005219, 1, true)
375
ui.addTextArea(222, "<p align='center'><font size='13'><a href='event:close'><font color='#808080'>\n"..text[n].close, n, 515, 343, 276, 36, 0x034511, 0x005219, 1, true)
376
377
end
378
for n,player in pairs(tfm.get.room.playerList) do
379
380
setLang(n)
381
changeCurrentRole()
382
383
table.insert(names,n)
384
385
showTabs(n)
386
setData(n)
387
add(n)
388
vip(n)
389
390
data[n].pointsAndScore=data[n].name.." "..data[n].points
391
392
showTabs(n)
393
tfm.exec.lowerSyncDelay(n)
394
table.insert(dp,n)
395
end
396
397
function Dp(name)
398
	name = name:sub(1,1):upper()..name:sub(2):lower()
399
	for i,dp in ipairs(dp) do
400
		if name==dp then
401
			return true
402
		end
403
	end
404
	return false
405
end
406
407
function shopPage1(n)
408
ui.addTextArea(18, "", n, 494, 117, 282, 178, 0x59442c, 0x59442c, 1, true)
409
ui.addTextArea(25, "<CE>"..text[n].killer..string.format(text[n].lives2,Lives2), n, 500, 123, 270, 46, 0x302315, 0x59442c, 1, true)
410
ui.addTextArea(19, "<CE>"..text[n].killer..string.format(text[n].icedMouse,icedMouseCost), n, 500, 182, 270, 46, 0x302315, 0x59442c, 1, true)
411
ui.addTextArea(110, "<CE>"..text[n].killer..string.format(text[n].cake,cakeCost), n, 500, 241, 270, 47, 0x302315, 0x59442c, 1, true)
412
ui.addTextArea(222, "<p align='center'><font size='13'><a href='event:close'><font color='#909090'><VP>"..text[n].close, n, 494, 300, 282, 26, 0x59442c, 0x302315, 1, true)
413
ui.addTextArea(92, "<G><p align='center'>«", n, 498, 305, 19, 18, 0x324650, 0x000000, 1, true)
414
ui.addTextArea(152, "<a href='event:nextTo2'><p align='center'>»", n, 752, 305, 19, 18, 0x324650, 0x000000, 1, true)
415
416
417
end
418
419
function shopPage2(n)
420
ui.addTextArea(18, "", n, 494, 117, 282, 178, 0x59442c, 0x59442c, 1, true)
421
ui.addTextArea(25, "<CE>"..text[n].killer..string.format(text[n].companion,companionCost), n, 500, 123, 270, 46, 0x302315, 0x59442c, 1, true)
422
ui.addTextArea(19, "<CE>"..text[n].killer..string.format(text[n].shamanCannon,shamanCannonCost), n, 500, 182, 270, 46, 0x302315, 0x59442c, 1, true)
423
ui.addTextArea(110, "<CE>"..text[n].killer..string.format(text[n].watermelon,watermelonCost), n, 500, 241, 270, 47, 0x302315, 0x59442c, 1, true)
424
ui.addTextArea(222, "<p align='center'><font size='13'><a href='event:close'><font color='#909090'><VP>"..text[n].close, n, 494, 300, 282, 26, 0x59442c, 0x302315, 1, true)
425
ui.addTextArea(92, "<a href='event:backTo1'><p align='center'>«", n, 498, 305, 19, 18, 0x324650, 0x000000, 1, true)
426
ui.addTextArea(152, "<a href='event:nextTo3'><p align='center'>»", n, 752, 305, 19, 18, 0x324650, 0x000000, 1, true)
427
428
429
end
430
431
432
function shopPage3(n)
433
ui.addTextArea(18, "", n, 494, 117, 282, 178, 0x59442c, 0x59442c, 1, true)
434
ui.addTextArea(25, "<CE>"..text[n].killer..string.format(text[n].mechAnvil,mechAnvilCost), n, 500, 123, 270, 46, 0x302315, 0x59442c, 1, true)
435
ui.addTextArea(19, "<CE>"..text[n].killer..string.format(text[n].rock,rockCost), n, 500, 182, 270, 46, 0x302315, 0x59442c, 1, true)
436
ui.addTextArea(110, "<CE>"..text[n].killer..string.format(text[n].ultraCannon,ultraCannonCost), n, 500, 241, 270, 47, 0x302315, 0x59442c, 1, true)
437
ui.addTextArea(222, "<p align='center'><font size='13'><a href='event:close'><font color='#909090'><VP>"..text[n].close, n, 494, 300, 282, 26, 0x59442c, 0x302315, 1, true)
438
ui.addTextArea(92, "<a href='event:backTo2'><p align='center'>«", n, 498, 305, 19, 18, 0x324650, 0x000000, 1, true)
439
ui.addTextArea(152, "<a href='event:nextTo4'><p align='center'>»", n, 752, 305, 19, 18, 0x324650, 0x000000, 1, true)
440
441
442
end
443
444
function shopPage4(n)
445
ui.addTextArea(18, "", n, 494, 117, 282, 178, 0x59442c, 0x59442c, 1, true)
446
ui.addTextArea(25, "<CE>"..text[n].killer..string.format(text[n].nyan,nyanCost), n, 500, 123, 270, 46, 0x302315, 0x59442c, 1, true)
447
ui.addTextArea(19, "<CE>", n, 500, 182, 270, 46, 0x302315, 0x59442c, 1, true)
448
ui.addTextArea(110, "<CE>", n, 500, 241, 270, 47, 0x302315, 0x59442c, 1, true)
449
ui.addTextArea(222, "<p align='center'><font size='13'><a href='event:close'><font color='#909090'><VP>"..text[n].close, n, 494, 300, 282, 26, 0x59442c, 0x302315, 1, true)
450
ui.addTextArea(92, "<a href='event:backTo3'><p align='center'>«", n, 498, 305, 19, 18, 0x324650, 0x000000, 1, true)
451
ui.addTextArea(152, "<G><p align='center'>»", n, 752, 305, 19, 18, 0x324650, 0x000000, 1, true)
452
453
454
end
455
456
457
458
459
460
function findRoles(n)
461
for n,player in pairs(tfm.get.room.playerList) do
462
if data[n].role=="Death" then
463
464
tfm.exec.movePlayer(n,150,30,false,0,0,false)
465
466
elseif data[n].role=="Runner" then
467
468
tfm.exec.movePlayer(n,150,300,false,0,0,false)
469
470
end
471
end
472
end
473
474
function findRolesNewPlayer(n)
475
if data[n].role=="Death" then
476
tfm.exec.movePlayer(n,150,30,false,0,0,false)
477
478
elseif data[n].role=="Runner" then
479
480
tfm.exec.movePlayer(n,150,300,false,0,0,false)
481
482
483
 
484
end
485
end
486
487
488
489
a={}
490
491
function eventNewPlayer(n)
492
id=tfm.exec.addImage("1642e105967.png","&0",190,146,n)
493
494
setLang(n)
495
496
bindMouse()
497
mice=0
498
countMice()
499
if not data[n] then
500
tfm.exec.respawnPlayer(n)
501
502
setData(n)
503
end
504
table.insert(dp,n)
505
vip(n)
506
add(n)
507
data[n].idTime=0
508
509
data[n].isInRoom=true
510
511
showTabs(n)
512
table.insert(names,n)
513
findRolesNewPlayer(n)
514
if mice<2 then
515
tfm.exec.chatMessage("<R>"..text[n].need2People,n)
516
end
517
518
end
519
520
521
522
523
524
function addToRoleNumber()
525
for n,player in pairs(tfm.get.room.playerList) do
526
if data[n].role=="Death" then
527
death=death+1
528
end
529
if data[n].role=="Runner" then
530
runner=runner+1
531
532
533
end
534
findRoles(n)
535
536
537
end
538
end
539
540
541
542
tfm.exec.newGame(maps[math.random(#maps)])
543
amountInA=0
544
545
function punishGlitchers()
546
if a then
547
for i=1,amountInA do
548
data[a[math.floor(amountInA)]].role="Runner"
549
end
550
end
551
end
552
553
randomDeath=names[math.floor(math.random(mice))]
554
data[randomDeath].role="Death"
555
lastDeath=""
556
function eventNewGame()
557
lag=0
558
v=0
559
560
local toDespawn = {}
561
562
do
563
	local addShamanObject = tfm.exec.addShamanObject
564
	tfm.exec.addShamanObject = function(...)
565
		toDespawn[#toDespawn + 1] = {
566
			addShamanObject(...),
567
			os.time() + 3000
568
		}
569
570
		return toDespawn[#toDespawn][1]
571
	end
572
end
573
time=0
574
theRole=1
575
powerx=math.random(1600)
576
runner=0
577
death=0
578
mice=0
579
countMice()
580
for n,player in pairs(tfm.get.room.playerList) do
581
582
data[n].lives=data[n].normalLives
583
584
changeCurrentRole()
585
data[n].role="Runner"
586
data[n].ableToShoot=0
587
data[n].ableToShoot2=0
588
data[n].spawnLimit=-1
589
data[n].afk=true
590
if mice<2 then
591
tfm.exec.chatMessage("<R>"..text[n].need2People,n)
592
end
593
end
594
mice=mice
595
if lastDeath==randomDeath then
596
randomDeath=names[math.random(math.floor(mice))]
597
end
598
599
if data[randomDeath].isInRoom==true then
600
data[randomDeath].role="Death"
601
elseif data[randomDeath].isInRoom==false then
602
randomDeath=names[math.random(math.floor(mice))]
603
end
604
605
lastDeath=randomDeath
606
607
addToRoleNumber()
608
findRoles(n)
609
610
611
end
612
613
614
615
616
617
618
619
locationx=0
620
locationy=0
621
622
623
objects={54}
624
625
function eventMouse(n,x,y)
626
if x>200 then
627
628
629
if data[n].role=="Death" and (math.floor(time)>3) and lag<2 and data[n].spawnLimit<1 and mice>1 then
630
lag=lag+1
631
if lag>3 then
632
randomDeath=names[math.floor(math.random(mice))]
633
data[randomDeath].role="Death"
634
local toDespawn = {}
635
table.insert(a,n)
636
amountInA=amountInA+1
637
do
638
	local addShamanObject = tfm.exec.addShamanObject
639
	tfm.exec.addShamanObject = function(...)
640
		toDespawn[#toDespawn + 1] = {
641
			addShamanObject(...),
642
			os.time() + 0000
643
		}
644
645
		return toDespawn[#toDespawn][1]
646
	end
647
end
648
649
650
ui.addTextArea(133, "<R><font size='17'><b>USING LAG TRICKS OR HACKS ARE NOT ALLOWED IN THIS ROOM", n, 143, 150, 534, 91, 0x324650, 0x000000, 1, true)
651
time=-0.5
652
653
tfm.exec.newGame(maps[math.random(#maps)])
654
eventNewGame()
655
end
656
657
658
data[n].spawnLimit=3
659
attacked=0
660
attacked=n
661
for n,player in pairs(tfm.get.room.playerList) do
662
ui.addTextArea(2, "<font color='#FF9000'><font size='30'><b>"..attacked.." "..text[n].attacked, n, x, y, 425, 100, 0x324650, 0x000000, 0, false)
663
end
664
locationx=x
665
locationy=y
666
667
668
if not (data[n].objects==1704) and not (data[n].objects==1002) and not (data[n].objects==1706) and not (data[n].objects==1709) then
669
tfm.exec.addShamanObject(data[n].objects,locationx,locationy,0,0,20,false)
670
end
671
if data[n].objects==1704 then
672
tfm.exec.addShamanObject(data[n].objects,locationx,locationy,180,0,20,false)
673
674
tfm.exec.addShamanObject(data[n].objects,locationx-20,locationy,180,0,20,false)
675
tfm.exec.addShamanObject(data[n].objects,locationx+20,locationy,180,0,20,false)
676
elseif data[n].objects==1706 then
677
tfm.exec.addShamanObject(data[n].objects,locationx,locationy,180,0,20,false)
678
elseif data[n].objects==1709 then
679
tfm.exec.addShamanObject(data[n].objects,locationx+5,locationy,170,10,120,false)
680
tfm.exec.addShamanObject(data[n].objects,locationx-5,locationy,-170,10,20,false)
681
elseif data[n].objects==1002 then
682
tfm.exec.addShamanObject(data[n].objects,locationx-5,locationy,0,0,20,false)
683
tfm.exec.addShamanObject(data[n].objects,locationx+5,locationy,0,0,20,false)
684
end
685
       tfm.exec.displayParticle(3,locationx,locationy,0,0,0,0,nil)
686
      canShoot()
687
end
688
end
689
end 
690
691
692
time=0
693
694
number1=0
695
number2=0
696
number3=0
697
698
699
function eventPlayerGetCheese(n)
700
randomDeath=n
701
v=v+1
702
703
if data[n].role=="Runner" and mice>1 and v==1 and data[n].afk==false and o>0 then
704
705
706
time=119.5
707
data[n].points=data[n].points+50
708
709
for n,player in pairs(tfm.get.room.playerList) do
710
if data[n].role=="Runner" and data[n].afk==false and o>0 then
711
data[n].points=data[n].points+15
712
data[n].winsAsRunner=data[n].winsAsRunner+1
713
wonCountDown=-5
714
end
715
end
716
717
ui.addTextArea(133, "<b><font size='40'><font color='#0ff164'>"..text[n].runnersWin, n, 296, 282, 351, 189, 0xd41717, 0x000000, 0, true)
718
719
720
721
end
722
end
723
724
725
726
727
728
729
function explosions()
730
       tfm.exec.displayParticle(0,locationx,locationy,0.5,0.5,0.5,0.5,nil)
731
       tfm.exec.displayParticle(0,locationx,locationy,-0.5,-0.5,-0.5,-0.5,nil)
732
       tfm.exec.displayParticle(2,locationx,locationy,3,-3,3,-3,nil)
733
       tfm.exec.displayParticle(2,locationx,locationy,-3,3,-3,3,nil)
734
 
735
       tfm.exec.displayParticle(0,locationx,locationy,-0.5,0.5,-0.5,0.5,nil)
736
       tfm.exec.displayParticle(0,locationx,locationy,0.5,-0.5,0.5,-0.5,nil)
737
       tfm.exec.displayParticle(2,locationx,locationy,1,-3,1,-3,nil)
738
       tfm.exec.displayParticle(2,locationx,locationy,1,1,3,1,nil)
739
       tfm.exec.displayParticle(2,locationx,locationy,-1,3,-1,3,nil)
740
       tfm.exec.displayParticle(2,locationx,locationy,-1,-1,-3,-1,nil)
741
       tfm.exec.displayParticle(5,locationx,locationy,0.5,0.5,0.5,0.5,nil)
742
       tfm.exec.displayParticle(5,locationx,locationy,-0.5,-0.5,-0.5,-0.5,nil)
743
 
744
       tfm.exec.displayParticle(5,locationx,locationy,-0.5,0.5,-0.5,0.5,nil)
745
       tfm.exec.displayParticle(5,locationx,locationy,0.5,-0.5,0.5,-0.5,nil)
746
		tfm.exec.explosion(locationx, locationy, 40, 40, false)
747
end
748
749
750
function canShoot()
751
for n,player in pairs(tfm.get.room.playerList) do
752
if data[n].spawnLimit<1 and data[n].role=="Death" then
753
ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanAttack, n, 270, 23, 240, 46, 0x00a611, 0x338500, 1, true)
754
755
end
756
if not (data[n].spawnLimit<1) and data[n].role=="Death" then
757
ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanNotAttack, n, 270, 23, 240, 46, 0x802c2c, 0x6e0000, 1, true)
758
759
end
760
if data[n].spawnLimit<1 and data[n].role=="Runner" then
761
ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanUsePowerups, n, 270, 23, 240, 46, 0x00a611, 0x338500, 1, true)
762
763
end
764
if not (data[n].spawnLimit<1) and data[n].role=="Runner" then
765
ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanNotUsePowerups, n, 270, 23, 240, 46, 0x802c2c, 0x6e0000, 1, true)
766
767
end
768
end
769
end
770
771
function removeObjectAfterTime()
772
	for k, v in ipairs(toDespawn) do
773
		if os.time() > v[2] then
774
			tfm.exec.removeObject(v[1])
775
			table.remove(toDespawn, k)
776
		end
777
	end
778
end
779
780
function eventLoop()
781
for n,player in pairs(tfm.get.room.playerList) do
782
data[n].idTime=data[n].idTime+0.5
783
if data[n].idTime==5 then
784
tfm.exec.removeImage(id)
785
end
786
end
787
lag=0
788
removeObjectAfterTime()
789
790
if mice>1 then
791
ui.removeTextArea(202,nil)
792
793
wonCoundown=wonCountDown+0.5
794
795
796
797
canShoot()
798
for n,player in pairs(tfm.get.room.playerList) do
799
800
data[n].spawnLimit=data[n].spawnLimit-0.5
801
802
if tfm.get.room.playerList[n].y>100 and data[n].role=="Death" then
803
804
tfm.exec.movePlayer(n,150,30,false,0,0,false)
805
806
elseif tfm.get.room.playerList[n].y<100 and data[n].role=="Runner" then
807
tfm.exec.movePlayer(n,70,300,false,0,0,false)
808
elseif tfm.get.room.playerList[n].x>600 and time<5 then
809
tfm.exec.killPlayer(n)
810
tfm.exec.movePlayer(n,150,tfm.get.room.playerList[n].y,false,0,0,false)
811
tfm.exec.respawnPlayer(n)
812
end
813
814
815
816
817
if data[n].spawnLimit==0 then
818
ui.removeTextArea(2,nil)
819
system.bindMouse(n, true)
820
ui.removeTextArea(11,n)
821
end
822
end
823
time=time+.5
824
if time==120 then
825
time=119.6
826
end
827
if time==120.1 then
828
tfm.exec.newGame(maps[math.random(#maps)])
829
for n,player in pairs(tfm.get.room.playerList) do
830
if data[n].role=="Death" and data[n].afk==false and o>0 then
831
data[n].points=data[n].points+15
832
ui.addTextArea(133, "<b><font size='40'><font color='#d40000'>"..text[n].deathsWin, n, 296, 282, 351, 189, 0xd41717, 0x000000, 0, true)
833
834
end
835
836
end
837
838
time=-0.5
839
elseif time==0 then
840
for n,player in pairs(tfm.get.room.playerList) do
841
findRoles(n)
842
end
843
elseif time==5 then
844
for n,player in pairs(tfm.get.room.playerList) do
845
ui.removeTextArea(0,nil)
846
ui.removeTextArea(2,nil)
847
system.bindMouse(n, true)
848
ui.removeTextArea(133,n)
849
850
end
851
end
852
end
853
end
854
855
function profile(n)
856
ui.addTextArea(110, "<p align='center'><font size='12'><font color='#FFFFFF'><font face='calibri'>"..n, n, 551, 89, 233, 278, 0x4f4132, 0x695743, 1, true)
857
ui.addTextArea(18, "<p align='left'><font size='13'><font face='calibri'><font color='#FFFFFF'>"..text[n].points..": <br>"..data[n].points.." <br><br>"..text[n].winsAsDeath..": <br>"..data[n].winsAsDeath.."<br><br>"..text[n].winsAsRunner..": <br>"..data[n].winsAsRunner, n, 557, 136, 105, 226, 0x695743, 0x695743, 1, true)
858
ui.addTextArea(19, "<p align='left'><font size='13'><font face='calibri'><font color='#FFFFFF'><a href='event:description'>"..text[n].description.."</a> : "..data[n].description, n, 675, 136, 104, 226, 0x695743, 0x695743, 1, true)
859
ui.addTextArea(25, "<p align='center'><font size='13'><a href='event:close'><font color='#909090'><VP>"..text[n].close, n, 551, 368, 233, 26, 0x4f4132, 0x30291a, 1, true)
860
end
861
862
function removeTextAreas(n)
863
ui.removeTextArea(18,n)
864
ui.removeTextArea(19,n)
865
ui.removeTextArea(110,n)
866
ui.removeTextArea(222,n)
867
ui.removeTextArea(25,n)
868
ui.removeTextArea(152,n)
869
ui.removeTextArea(92,n)
870
ui.addPopup(0, 2, text[n].description, n, 8565, 290, 200, true)
871
end
872
function help(n)
873
ui.addTextArea(18, "<font size='13'><font face='verdana'><font size='20'><font color='#30A9DE'>#DEATHRUN</font></font>\n\n"..text[n].help, n, 504, 122, 254, 209, 0x4f4132, 0x695743, 1, true)
874
ui.addTextArea(19, "<p align='center'><font size='14'><a href='event:close'><VP>"..text[n].close, n, 504, 338, 254, 26, 0x4f4132, 0x30291a, 1, true)
875
end
876
function eventKeyboard(n, key, down, x,y)
877
if tfm.get.room.playerList[n].isDead==false then
878
data[n].afk=false
879
end
880
--FACING
881
if tfm.get.room.playerList[n].isDead==false and data[n].role=="Runner" then
882
o=o+1
883
end
884
885
if key==0 then
886
data[n].facing=-85
887
elseif key==2 then
888
data[n].facing=85
889
890
elseif key==P and data[n].p==0 then
891
removeTextAreas(n)
892
profile(n)
893
data[n].p=1
894
elseif key==P and data[n].p==1 then
895
removeTextAreas(n)
896
data[n].p=0
897
elseif key==H and data[n].p==0 then
898
removeTextAreas(n)
899
data[n].p=1
900
elseif key==H and data[n].p==1 then
901
removeTextAreas(n)
902
help(n)
903
data[n].p=0
904
elseif key==O and data[n].p==0 then
905
removeTextAreas(n)
906
907
data[n].p=1
908
elseif key==O and data[n].p==1 then
909
removeTextAreas(n)
910
shopPage1(n)
911
data[n].p=0
912
end
913
if time>3 and mice>1 then
914
915
--AUTOMATIC POWERUPS
916
917
if key==32 and data[n].role=="Runner" and data[n].spawnLimit<0 then
918
ui.addTextArea(11, "<b><font size='30'><font color='#F0F000'>"..text[n].superJump, n, x-50, y-50, 379, 67, 0x324650, 0x000000, 0, false)
919
920
		tfm.exec.movePlayer(n,0,0,false,0,-80,false)
921
922
923
924
925
926
       tfm.exec.displayParticle(10,x,y,3,-3,3,-3,nil)
927
       tfm.exec.displayParticle(10,x,y,-3,3,-3,3,nil)
928
 
929
       tfm.exec.displayParticle(10,x,y,-3,-3,-3,-3,nil)
930
       tfm.exec.displayParticle(10,x,y,3,3,3,3,nil)
931
932
933
934
tfm.exec.bindKeyboard(n, 32, false, false)
935
tfm.exec.addShamanObject(17,x,y,60,50,-10,true)
936
data[n].spawnLimit=3.5
937
data[n].ableToShoot=0
938
canShoot()
939
elseif (key==3) then
940
if data[n].role=="Death" then
941
if data[n].facing==-85 then
942
tfm.exec.movePlayer(n,0,0,false,-50,0,true)
943
elseif data[n].facing==85 then
944
tfm.exec.movePlayer(n,0,0,false,50,0,true)
945
end
946
elseif data[n].spawnLimit<0 and data[n].role=="Runner" then
947
tfm.exec.movePlayer(n,0,0,false,data[n].facing,0,true)
948
ui.addTextArea(11, "<b><font size='30'><font color='#F0F000'>"..text[n].speed, n, x-50, y-50, 379, 67, 0x324650, 0x000000, 0, false)
949
950
951
952
953
       tfm.exec.displayParticle(10,x,y,3,-3,3,-3,nil)
954
       tfm.exec.displayParticle(10,x,y,-3,3,-3,3,nil)
955
 
956
       tfm.exec.displayParticle(10,x,y,-3,-3,-3,-3,nil)
957
       tfm.exec.displayParticle(10,x,y,3,3,3,3,nil)
958
959
960
961
data[n].spawnLimit=3.5
962
data[n].ableToShoot=0
963
canShoot()
964
end
965
end
966
end
967
end
968
969
970
n=0
971
system.disableChatCommandDisplay("profile",true)
972
function eventTextAreaCallback(id,p,a)
973
n=p
974
if a=="close" then
975
data[n].p=0
976
removeTextAreas(n)
977
elseif a=="help" then
978
data[n].p=0
979
removeTextAreas(n)
980
--TABS
981
982
983
ui.addTextArea(18, "<font size='13'><font face='verdana'><font size='20'><font color='#30A9DE'>#DEATHRUN</font></font>\n\n"..text[n].help, n, 504, 122, 254, 209, 0x4f4132, 0x695743, 1, true)
984
ui.addTextArea(19, "<p align='center'><font size='14'><a href='event:close'><VP>"..text[n].close, n, 504, 338, 254, 26, 0x4f4132, 0x30291a, 1, true)
985
elseif a=="credits" then
986
data[n].p=0
987
removeTextAreas(n)
988
ui.addTextArea(18, "<p align='center'><font size='16'><font face='verdana'><J>"..text[n].credits, n, 504, 72, 254, 304, 0x4f4132, 0x695743, 1, true)
989
ui.addTextArea(19, "<p align='center'><font size='13'><a href='event:close'><VP>"..text[n].close, n, 504, 363, 254, 26, 0x4f4132, 0x30291a, 1, true)
990
elseif a=="commands" then
991
data[n].p=0
992
removeTextAreas(n)
993
ui.addTextArea(18, "<p align='center'><font size='14'><font face='verdana'>"..text[n].commands, n, 545, 111, 220, 238, 0x4f4132, 0x695743, 1, true)
994
ui.addTextArea(19, "<p align='center'><font size='13'><a href='event:close'><VP>"..text[n].close, n, 545, 346, 220, 26, 0x4f4132, 0x30291a, 1, true)
995
elseif a=="rules" then
996
data[n].p=0
997
removeTextAreas(n)
998
ui.addTextArea(18, "<p align='center'><u><font size='17'><font face='calibri'>"..text[n].rules, n, 562, 132, 201, 230, 0x4f4132, 0x695743, 1, true)
999
ui.addTextArea(19, "<p align='center'><font size='13'><a href='event:close'><VP>"..text[n].close, n, 562, 349, 201, 26, 0x4f4132, 0x30291a, 1, true)
1000
elseif a=="profile" then
1001
removeTextAreas(n)
1002
profile(n)
1003
elseif a=="description" then
1004
ui.addPopup(0, 2, text[n].description, n, 565, 290, 200, true)
1005
1006
end
1007
if a=="inventory" then
1008
data[n].p=0
1009
removeTextAreas(n)
1010
1011
ui.addTextArea(92, "<p align='center'><font size='20'>"..data[n].inventory, n, 515, 101, 276, 279, 0x4f4132, 0x695743, 1, true)
1012
ui.addTextArea(222, "<p align='center'><font size='13'><a href='event:close'><font color='#808080'><VP>"..text[n].close, n, 515, 363, 276, 26, 0x4f4132, 0x30291a, 1, true)
1013
end
1014
1015
if a=="equipDefault" then
1016
data[n].objects=data[n].def
1017
elseif a=="equipNyan" then
1018
data[n].objects=212
1019
elseif a=="equipUltraCannon" then
1020
data[n].objects=1709
1021
elseif a=="equipCompanion" then
1022
data[n].objects=61
1023
elseif a=="equipShamanCannon" then
1024
data[n].objects=1704
1025
elseif a=="equipWatermelon" then
1026
data[n].objects=1706
1027
elseif a=="equipIcedMouse" then
1028
data[n].objects=54
1029
elseif a=="equipCake" then
1030
data[n].objects=207
1031
elseif a=="equipMechAnvil" then
1032
data[n].objects=1002
1033
elseif a=="equipRock" then
1034
data[n].objects=1003
1035
1036
elseif a=="shop" then
1037
shopPage1(n)
1038
data[n].p=0
1039
elseif a=="backTo1" then
1040
shopPage1(n)
1041
elseif a=="nextTo2" then
1042
1043
shopPage2(n)
1044
elseif a=="backTo2" then
1045
shopPage2(n)
1046
elseif a=="nextTo3" then
1047
shopPage3(n)
1048
elseif a=="backTo3" then
1049
shopPage3(n)
1050
elseif a=="nextTo4" then
1051
shopPage4(n)
1052
end
1053
--SHOP ITEMS
1054
1055
if a=="buyIcedMouse" and (data[n].points>icedMouseCost or data[n].points==icedMouseCost) and data[n].icedMouse==false then
1056
data[n].inventory = data[n].inventory.."\n"..text[n].icedMouseInv
1057
data[n].objects=54
1058
tfm.exec.chatMessage(text[n].boughtIcedMouse,n)
1059
1060
data[n].icedMouse=true
1061
data[n].points=data[n].points-icedMouseCost
1062
elseif a=="buyNyan" and (data[n].points>nyanCost or data[n].points==nyanCost) and data[n].nyan==false then
1063
data[n].inventory = data[n].inventory.."\n"..text[n].nyanInv
1064
data[n].objects=212
1065
tfm.exec.chatMessage(text[n].boughtNyan,n)
1066
1067
data[n].nyan=true
1068
data[n].points=data[n].points-nyanCost
1069
1070
elseif a=="buyUltraCannon" and (data[n].points>ultraCannonCost or data[n].points==ultraCannonCost) and data[n].ultraCannon==false then
1071
data[n].inventory = data[n].inventory.."\n"..text[n].ultraCannonInv
1072
data[n].objects=1709
1073
tfm.exec.chatMessage(text[n].boughtUltraCannon,n)
1074
1075
data[n].ultraCannon=true
1076
data[n].points=data[n].points-ultraCannonCost
1077
elseif a=="buyCake" and (data[n].points>cakeCost or data[n].points==cakeCost) and data[n].cake==false then
1078
data[n].inventory=data[n].inventory.."\n"..text[n].cakeInv
1079
1080
data[n].objects=207
1081
tfm.exec.chatMessage(text[n].boughtCake,n)
1082
data[n].cake=true
1083
data[n].points=data[n].points-cakeCost
1084
elseif a=="buyMechAnvil" and (data[n].points>mechAnvilCost or data[n].points==mechAnvilCost) and data[n].mechAnvil==false then
1085
data[n].inventory=data[n].inventory.."\n"..text[n].mechAnvilInv
1086
1087
data[n].objects=1002
1088
tfm.exec.chatMessage(text[n].boughtMechAnvil,n)
1089
data[n].mechAnvil=true
1090
data[n].points=data[n].points-mechAnvilCost
1091
elseif a=="buyRock" and (data[n].points>rockCost or data[n].points==rockCost) and data[n].rock==false then
1092
data[n].inventory=data[n].inventory.."\n"..text[n].rockInv
1093
1094
data[n].objects=1003
1095
tfm.exec.chatMessage(text[n].boughtRock,n)
1096
data[n].rock=true
1097
data[n].points=data[n].points-rockCost
1098
1099
elseif a=="buy2Lives" and (data[n].points>Lives2 or data[n].points==Lives2) and data[n].lives2==false then
1100
data[n].normalLives=2
1101
tfm.exec.chatMessage(text[n].nowHave2Lives,n)
1102
1103
data[n].points=data[n].points-Lives2
1104
data[n].lives2=true
1105
elseif a=="buyCompanion" and (data[n].points>companionCost or data[n].points==companionCost) and data[n].companion==false then
1106
data[n].objects=61
1107
data[n].inventory = data[n].inventory.."\n"..text[n].companionInv
1108
data[n].companion=true
1109
1110
data[n].points=data[n].points-companionCost
1111
tfm.exec.chatMessage(text[n].boughtCompanion,n)
1112
elseif a=="buyShamanCannon" and (data[n].points>shamanCannonCost or data[n].points==shamanCannonCost) and data[n].shamanCannon==false then
1113
data[n].objects=1704
1114
data[n].inventory = data[n].inventory.."\n"..text[n].shamanCannonInv
1115
data[n].shamanCannon=true
1116
1117
data[n].points=data[n].points-shamanCannonCost
1118
tfm.exec.chatMessage(text[n].boughtshamanCannon,n)
1119
elseif a=="buyWatermelon" and (data[n].points>watermelonCost or data[n].points==watermelonCost) and data[n].watermelon==false then
1120
data[n].objects=1706
1121
data[n].inventory = data[n].inventory.."\n"..text[n].watermelonInv
1122
data[n].watermelon=true
1123
1124
data[n].points=data[n].points-watermelonCost
1125
tfm.exec.chatMessage(text[n].boughtWatermelon,n)
1126
1127
end
1128
end
1129
1130
function eventPlayerDied(n)
1131
1132
if data[n].role=="Death" and data[n].afk==false then
1133
1134
tfm.exec.respawnPlayer(n)
1135
tfm.exec.movePlayer(n,200,30,false,0,0,false)
1136
end
1137
if data[n].role=="Death" and data[n].afk==true then
1138
1139
tfm.exec.newGame(maps[math.random(#maps)])
1140
end
1141
data[n].lives=data[n].lives-1
1142
if data[n].role=="Runner" and data[n].lives==1 then
1143
tfm.exec.respawnPlayer(n)
1144
end
1145
if data[n].role=="Runner" and data[n].lives==0 then
1146
runner=runner-1
1147
1148
count()
1149
end
1150
1151
1152
1153
wonCountDown=-5
1154
1155
end
1156
if runner<1 then
1157
tfm.exec.newGame(maps[math.random(#maps)])
1158
end
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
function eventPlayerLeft(n)
1169
mice=0
1170
countMice()
1171
names={}
1172
for n in pairs(tfm.get.room.playerList) do
1173
table.insert(names,n)
1174
end
1175
1176
data[n].isInRoom=false
1177
mice=mice-1
1178
if mice<2 then
1179
for n,player in pairs(tfm.get.room.playerList) do
1180
tfm.exec.chatMessage("<R>"..text[n].need2People,n)
1181
end
1182
end
1183
if n==randomDeath then
1184
randomDeath=names[math.random(math.floor(mice))]
1185
end
1186
if data[n].role=="Runner" then
1187
runner=runner-1
1188
elseif data[n].role=="Death" then
1189
death=death-1
1190
end
1191
end
1192
1193
1194
1195
1196
for n,player in pairs(tfm.get.room.playerList) do
1197
data[n].pointsAndScore=data[n].points.." "..data[n].name
1198
end
1199
1200
function eventSummoningEnd(n,id,x,y,angle,t)
1201
1202
tfm.exec.removeObject(t.id)
1203
end
1204
1205
system.disableChatCommandDisplay("p",true)
1206-
function eventChatCommand(n, c)
1206+
function eventChatCommand(l,c)
1207
if c=="profile" then
1208
profile(n)
1209
end
1210
if c=="mice" then
1211
print(runner)
1212
end
1213
	if c:sub(0,7)=="profile" and Dp(c:sub(9)) then
1214
1215-
		l = c:sub(9,9):upper()..c:sub(10):lower()
1215+
		n = c:sub(9,9):upper()..c:sub(10):lower()
1216
1217
removeTextAreas(l)
1218-
ui.addTextArea(110, "<p align='center'><font size='12'><font color='#000000'><font face='calibri'>"..l, n, 551, 89, 233, 278, 0xffd900, 0x075214, 1, true)
1218+
ui.addTextArea(110, "<p align='center'><font size='12'><font color='#FFFFFF'><font face='calibri'>"..n, l, 551, 89, 233, 278, 0x4f4132, 0x695743, 1, true)
1219-
ui.addTextArea(18, "<p align='left'><font size='13'><font face='calibri'><font color='#FFFFFF'>"..text[n].points..": <br>"..data[l].points.." <br><br>"..text[n].winsAsDeath..": <br>"..data[l].winsAsDeath.."<br><br>"..text[n].winsAsRunner..": <br>"..data[l].winsAsRunner, n, 557, 136, 105, 226, 0x966a03, 0x294d12, 1, true)
1219+
ui.addTextArea(18, "<p align='left'><font size='13'><font face='calibri'><font color='#FFFFFF'>"..text[n].points..": <br>"..data[n].points.." <br><br>"..text[n].winsAsDeath..": <br>"..data[n].winsAsDeath.."<br><br>"..text[n].winsAsRunner..": <br>"..data[n].winsAsRunner, l, 557, 136, 105, 226, 0x695743, 0x695743, 1, true)
1220-
ui.addTextArea(19, "<p align='left'><font size='13'><font face='calibri'><font color='#FFFFFF'>"..text[n].description..": "..data[l].description, n, 675, 136, 104, 226, 0x966a03, 0x294d12, 1, true)
1220+
ui.addTextArea(19, "<p align='left'><font size='13'><font face='calibri'><font color='#FFFFFF'>"..text[n].description.."</a> : "..data[n].description, l, 675, 136, 104, 226, 0x695743, 0x695743, 1, true)
1221-
ui.addTextArea(25, "<p align='center'><font size='13'><a href='event:close'><font color='#505050'>\n"..text[n].close, n, 551, 368, 233, 36, 0xffd900, 0x075214, 1, true)
1221+
ui.addTextArea(25, "<p align='center'><font size='13'><a href='event:close'><font color='#909090'><VP>"..text[n].close, l, 551, 368, 233, 26, 0x4f4132, 0x30291a, 1, true)
1222
1223
end
1224
end
1225
1226
1227
1228
function eventPopupAnswer(id, n, a)
1229
local click=a:match("<a href='")
1230
if not click then
1231
data[n].description = a
1232
1233
profile(n)
1234
data[n].p=1
1235
end
1236
end