View difference between Paste ID: 6RsKS9b9 and cwhrL4F5
SHOW: | | - or go back to the newest paste.
1
tfm.exec.disableAfkDeath(false)
2
v=0
3
tfm.exec.setRoomMaxPlayers(15)
4
dp={}
5
function count()
6
	if runner<1 then
7
		tfm.exec.newGame(maps[math.random(#maps)])
8
	end
9
end
10
function vip(n)
11
	if n=="Fuzzyfirsdog#0000" or n=="Bodykudo#0000" or n=="Tortuegreen#0000" or n=="Bolodefchoco#0000" then
12
		data[n].def=212
13
		data[n].objects=data[n].def
14
		data[n].nyan=true
15
	end
16
	if n=="Reddeathnick#3204" or n=="Mariluiss#0000" or n=="Mugiwaraloffy#9866" or n=="Pratton#0000" or n=="Seaqueen2003#0000" then
17
		data[n].def=212
18
		data[n].objects=data[n].def
19
		data[n].nyan=true
20
	end
21
end
22
function add(n)
23
	if data[n].role=="Runner" then
24
		runner=runner+1
25
	elseif data[n].role=="Death" then
26
		death=death+1
27
	end
28
end
29
lag=0
30
Lives2=1000
31
icedMouseCost=400
32
cakeCost=200
33
companionCost=900
34
shamanCannonCost=1000
35
watermelonCost=500
36
mechAnvilCost=800
37
rockCost=400
38
ultraCannonCost=900
39
nyanCost=400
40
local toDespawn = {}
41
do
42
	local addShamanObject = tfm.exec.addShamanObject
43
		tfm.exec.addShamanObject = function(...)
44
		toDespawn[#toDespawn + 1] = {
45
		addShamanObject(...),
46
		os.time() + 3000
47
}
48
49
	return toDespawn[#toDespawn][1]
50
	end
51
end
52
53
tfm.exec.disableAllShamanSkills(true)
54
tfm.exec.disableMortCommand(true)
55
wonCountDown=1
56
57
58
maps={7455943,7458404,7459068,6238915,6321696,6321733,6335123}
59
powery=320
60
powerx=math.random(1600)
61
62
mice=0
63
64
function countMice()
65
	for n,player in pairs(tfm.get.room.playerList) do
66
		mice=mice+1
67
	end
68
end
69
70
Down=string.byte("S")
71
72
tfm.exec.disableAutoShaman(true)
73
tfm.exec.disableAutoNewGame(true)
74
75
76
tfm.exec.disableAutoShaman(true)
77
tfm.exec.disableAutoTimeLeft(true)
78
tfm.exec.disableAutoScore(true)
79
data={}
80
text={}
81
lang={}
82
lang.br={
83
	boughtNyan="<J>Você comprou Nyan Cat!",
84
	nyanInv="<p align='left'>Nyan Cat <J><a href='event:equipNyan'>[Equipar]</a></J>",
85
	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]",
86
	boughtUltraCannon="<J>Você comprou o ultra canhão!",
87
	ultraCannonInv="<p align='left'>Ultra Cannon <J><a href='event:equipUltraCannon'>[Equipar]</a></J>",
88
	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]",
89
	boughtRock="<J>Você comprou a bigorna de pedra!",
90
	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]",
91
	rockInv="<p align='left'>Rock Anvil <J><a href='event:equipRock'>[Equipar]</a></J>",
92
	mechAnvilInv="<p align='left'>Mechanical Anvil <J><a href='event:equipMechAnvil'>[Equipar]</a></J>",
93
	boughtMechAnvil="<J>Você comprou a bigorna mecânica!",
94
	watermelonInv="<p align='left'>Watermelon Cannon <J><a href='event:equipWatermelon'>[Equipar]</a></J>",
95
	boughtWatermelon="<J>Você comprou o canhão de melancia!",
96
	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]",
97
	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]",
98
	boughtShamanCannon="<J>Você comprou o canhão de shaman!",
99
	shamanCannonInv="<p align='left'>Shaman Cannon <J><a href='event:equipShamanCannon'>[Equipar]</a></J>",
100
	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]",
101
	equip="Equip",
102
	need2People="São necessários dois jogadores para jogar",
103
	nowHave2Lives="<J>Você agora tem duas vidas em cada rodada!",
104
	boughtIcedMouse="<J>Você comprou o objeto rato congelado!",
105
	boughtCake="<J>Você comprou o objeto bolo!",
106
	boughtCompanion="<J>Você comprou a caixa de companheiro!",
107
	companionInv="<p align='left'>Companion Crate <J><a href='event:equipCompanion'>[Equipar]</a></J>",
108
	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]",
109
	inventory2="Inventário",
110
	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>",
111
	icedMouseInv="<p align='left'>Iced mouse <J><a href='event:equipIcedMouse'>[Equipar]</a></J>",
112
	cakeInv="<p align='left'>Cake <J><a href='event:equipCake'>[Equipar]</a></J>",
113
	shop2="Loja",
114
	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]",
115
	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]",
116
	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]",
117
	description="Descrição",
118
	points="Pontos",
119
	winsAsRunner="Vitórias como fugitivo",
120
	winsAsDeath="Vitória como assassino",
121
	profile2="Perfil",
122
	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.",
123
	rules2="Regras",
124
	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)",
125
	commands2="Poderes",
126
	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 ^^",
127
	credits2="Créditos",
128
	killer="[Assassino] ",
129
	runner="[Fugitivo]",
130
	youCanAttack="<R>Assassino: <N>Você pode atacou",
131
	youCanNotAttack="<R>Assassino: <N>Voce não pode atacar",
132
	youCanUsePowerups="<VP>Fugitivo: <N>Você pode usar poderes",
133
	youCanNotUsePowerups="<VP>Fugitivo: <N>Você não pode usar poderes",
134
	attacked="ATACADO",
135
	youAreARunner="Você é um fugitivo",
136
	youAreADeath="Você é um assasino",
137
	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.",
138
	close="Fechar",
139
	help2="Ajuda",
140
	superJump="SUPER PULO",
141
	speed="VELOCIDADE",
142
	deathsWin="Vitória dos assassinos!",
143
	runnersWin="Vitória dos fugitivos!"
144
}
145
lang.fr={
146
	boughtNyan="<J>Vous avez acheté nyan cat !",
147
	nyanInv="<p align='left'>Nyan Cat <J><a href='event:equipNyan'>[Équiper]</a></J>",
148
	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]",
149
	boughtUltraCannon="<J>Vous avez acheté le super boulet !",
150
	ultraCannonInv="<p align='left'>Super Boulet <J><a href='event:equipUltraCannon'>[Équiper]</a></J>",
151
	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]",
152
	boughtRock="<J>Vous avez acheté l'enclume rocher !",
153
	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]",
154
	rockInv="<p align='left'>Enclume Rocher <J><a href='event:equipRock'>[Équiper]</a></J>",
155
	mechAnvilInv="<p align='left'>Enclume Mécanique <J><a href='event:equipMechAnvil'>[Équiper]</a></J>",
156
	boughtMechAnvil="<J>Vous avez acheté l'enclume mécanique !",
157
	watermelonInv="<p align='left'>Boulet Pastèque <J><a href='event:equipWatermelon'>[Équiper]</a></J>",
158
	boughtWatermelon="<J>Vous avez acheté le boulet pastèque !",
159
	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]",
160
	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]",
161
	boughtShamanCannon="<J>Vous avez acheté le boulet chamane !",
162
	shamanCannonInv="<p align='left'>Boulet Chamane <J><a href='event:equipShamanCannon'>[Équiper]</a></J>",
163
	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]",
164
	equip="Équiper",
165
	need2People="Vous devez être 2 pour jouer",
166
	nowHave2Lives="<J>Vous avez maintenant 2 vies à chaque tour !",
167
	boughtIcedMouse="<J>Vous venez d'acheter l'objet Souris gelée !",
168
	boughtCake="<J>Vous venez d'acheter l'objet Gâteau !",
169
	boughtCompanion="<J>Vous venez d'acheter la Caisse compagnon !",
170
	companionInv="<p align='left'>Caisse Compagnon <J><a href='event:equipCompanion'>[Équiper]</a></J>",
171
	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]",
172
	inventory2="Inventaire",
173
	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>",
174
	icedMouseInv="<p align='left'>Souris glacée <J><a href='event:equipIcedMouse'>[Équiper]</a></J>",
175
	cakeInv="<p align='left'>Gâteau <J><a href='event:equipCake'>[Équiper]</a></J>",
176
	shop2="Magasin",
177
	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]",
178
	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]",
179
	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]",
180
	description="Description",
181
	points="Points",
182
	winsAsRunner="Gaggne en étant un Coureur",
183
	winsAsDeath="Gagne en étant le tueur",
184
	profile2="Profil",
185
	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.",
186
	rules2="Règles",
187
	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)",
188
	commands2="Boosters",
189
	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 ^^",
190
	credits2="Crédits",
191
	killer="[Tueur] ",
192
	runner="[Coureur]",
193
	youCanAttack="<R>Tueur: <N>Vous pouvez attaquer",
194
	youCanNotAttack="<R>Tueur: <N>Vous ne pouvez pas attaquer",
195
	youCanUsePowerups="<VP>Coureur: <N>Vous pouvez utiliser des boosters",
196
	youCanNotUsePowerups="<VP>Coureur: <N>Vous ne pouvez pas utiliser de boosters",
197
	attacked="ATTAQUÉ",
198
	youAreARunner="Vous êtes un Coureur",
199
	youAreADeath="Vous êtes le tueur",
200
	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.",
201
	close="Fermer",
202
	help2="Aide",
203
	superJump="SUPER SAUT",
204
	speed="VITESSE",
205
	deathsWin="Tueurs ont gagné !",
206
	runnersWin="Les Coureurs ont gagné !"
207
}
208
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] ",runner="[Runner]"}
209
lang.ar={
210
	boughtNyan="<J>لقد اشتريت القطة نيان!",
211
	nyanInv="<p align='left'>القطة نيان <J><a href='event:equipNyan'>[ارتداء]</a></J>",
212
	nyan="القطة نيان<N> - القطة نيان سوف تظهر كأداة هجومك عندما تكون القاتل. <VP>تستحق %s نقطة.<J><a href='event:buyNyan'> [شراء]",
213
	boughtUltraCannon="<J>لقد اشتريت القذيفة الفائقة!",
214
	ultraCannonInv="<p align='left'>القذيفة الفائقة <J><a href='event:equipUltraCannon'>[ارتداء]</a></J>",
215
	ultraCannon="القذيفة الفائقة<N> - كُرتان فائقتان متوهجتان سوف يظهران كهجومك عندما تكون القاتل <VP>تستحق %s نقطة.<J><a href='event:buyUltraCannon'> [شراء]",
216
	boughtRock="<J>لقد اشتريت السندان الصخري!",
217
	rock="السندان الصخري<N> - السندان الصخري سوف يظهر كهجومك عندما تكون القاتل. <VP>يستحق %s نقطة.<J><a href='event:buyRock'> [شراء]",
218
	rockInv="<p align='left'>السندان الصخري <J><a href='event:equipRock'>[ارتداء]</a></J>",
219
	mechAnvilInv="<p align='left'>السندان الميكانيكي <J><a href='event:equipMechAnvil'>[ارتداء]</a></J>",
220
	boughtMechAnvil="<J>لقد اشتريت السندان الميكانيكي!",
221
	watermelonInv="<p align='left'>كرة البطيخ <J><a href='event:equipWatermelon'>[ارتداء]</a></J>",
222
	boughtWatermelon="<J>لقد اشتريت كرة البطيخ!",
223
	mechAnvil="السندان الميكانيكي<N> - سندانان ميكانيكيان سوف يظهران كهجوم عندما تكون القاتل. <VP>يستحق %s نقطة.<J><a href='event:buyMechAnvil'> [شراء]",
224
	watermelon="كرة البطيخ<N> - كرة البطيخ سوف تظهر كهجومك عندما تكون القاتل. <VP>تستحق %s نقطة.<J><a href='event:buyWatermelon'> [شراء]",
225
	boughtShamanCannon="<J>لقد اشتريت كرة الشامان!",
226
	shamanCannonInv="<p align='left'>كرة الشامان <J><a href='event:equipShamanCannon'>[ارتداء]</a></J>",
227
	shamanCannon="كرة الشامان<N> - 3 كرات شامان سوف تظهر كهجومك عندما تكون القاتل. <VP>تستحق %s نقاط.<J><a href='event:buyShamanCannon'> [شراء]",
228
	equip="ارتداء",
229
	need2People="أنت تحتاج لاعبيّن لكي تلعب",
230
	nowHave2Lives="<J>أنت الآن لديك حيواتان كل جولة",
231
	boughtIcedMouse="<J>لقد اشتريت الفأر المجمَد!",
232
	boughtCake="<J>لقد اشتريت صندوق الكعك!",
233
	boughtCompanion="<J>لقد اشتريت القفص!",
234
	companionInv="<p align='left'>القفص <J><a href='event:equipCompanion'>[ارتداء]</a></J>",
235
	companion="القفص<N> - القفص سوف يظهر كهجومك عندما تكون القاتل.<VP>يستحق %s نقطة.<J><a href='event:buyCompanion'> [شراء]",
236
	inventory2="المخزن",
237
	inventory="<p align='center'><font size='20'>المخزن</font><br><br><font size='12'><p align='left'>الصندوق العادي <a href='event:equipDefault'><J>[ارتداء]</J></a>",
238
	icedMouseInv="<p align='left'>الفأر المجمَد <J><a href='event:equipIcedMouse'>[ارتداء]</a></J>",
239
	cakeInv="<p align='left'>الكعكة <J><a href='event:equipCake'>[ارتداء]</a></J>",
240
	shop2="المتجر",
241
	cake="الكعكة<N> - الكعكة سوف تظهر كهجومك عندما تكون القاتل.<VP>تستحق %s نقطة.<J><a href='event:buyCake'> [شراء]",
242
	icedMouse="الفأر المجمَد<N> - الفأر المجمَد سوف يظهر كهجومك عندما تكون القاتل. <VP>يستحق %s نقطة.<J><a href='event:buyIcedMouse'> [شراء]",
243
	lives2="حياتان<N> - بعدما تموت لأول مرة في الجولة, سوف يتم إعطائك حياة أخرى فورًا. <VP>تستحق %s نقطة. <J><a href='event:buy2Lives'>[شراء]",
244
	description="الوصف",
245
	points="نقاط",
246
	winsAsRunner="مرات الفوز كراكض",
247
	winsAsDeath="مرات الفوز كقاتل",
248
	profile2="الملف الشخصي",
249
	rules="القواعد</font></font></u><font size='12'>\n\n• استخدام طرق لتخريب اللعبة ليس مسموحًا\n\n• ليس مسموحًا لك استخدام الهكر كباقي الألعاب.",
250
	rules2="القواعد",
251
	commands="المقويات\n\n<font size='11'>اضغط - Sلكي تطلق صندوقًا للهجوم عندما تكون <J>القاتل</J>.\n\nالمسافة - تجعلك تقفز طويلًا بالإضافة إلى قذيفة مخفية عندما تكون <J>راكضًا</J>. \n\nزر أسفل / زر S - تعطيك سرعة إضافية. (تعمل لدى القاتل والراكضين)",
252
	commands2="المقويِات",
253
	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>شكرًا لكم ^^",
254
	credits2="الائتمان",
255
	killer="[القاتل] ",
256
	runner="[الراكضين]",
257
	youCanAttack="<R>القاتل: <N>يمكنك الهجوم",
258
	youCanNotAttack="<R>القاتل: <N>لا يمكنك الهجوم",
259
	youCanUsePowerups="<VP>الراكض: <N>يمكنك استعمال المقويِّات",
260
	youCanNotUsePowerups="<VP>الراكض: <N>لا يمكنك استعمال المقويِّات",
261
	attacked="هجم",
262
	youAreARunner="أنت راكض",
263
	youAreADeath="أنت قاتل",
264
	help="في #deathrun يوجد <J>قاتلين</J> و <J>الراكضين</J>. القاتلين يجب أن يحاولوا قتل الراكضين عبر إطلاق أدوات عبر الضغط على الشاشة, إذا لم يفز أي راكض سيفوز القاتل! الراكضين يمكنهم استعمال المقويِّات. إذا وصل راكض واحد للجحر, يفوز الراكضين.",
265
	close="إغلاق",
266
	help2="المساعدة",
267
	superJump="القفزة الخارقة",
268
	speed="السرعة",
269
	deathsWin="فاز القاتل!",
270
	runnersWin="فاز الراكضين!"
271
}
272
roles={"Death","Runner"}
273
death=0
274
runner=0
275
miceInHole=0
276
function setLang(n)
277
	text[n]=lang[tfm.get.room.playerList[n].community] or lang.en
278
end
279
P=string.byte("P")
280
H=string.byte("H")
281
O=string.byte("O")
282
function bindMouse()
283
	for n,player in pairs(tfm.get.room.playerList) do
284
		tfm.exec.bindKeyboard(n, 0, true, true)
285
		tfm.exec.bindKeyboard(n, 1, true, true)
286
		tfm.exec.bindKeyboard(n, 2, true, true)
287
		tfm.exec.bindKeyboard(n, 3, true, true)
288
		tfm.exec.bindKeyboard(n, 32, true, true)
289
		tfm.exec.bindKeyboard(n, P, true, true)
290
		tfm.exec.bindKeyboard(n, O, true, true)
291
		tfm.exec.bindKeyboard(n, H, true, true)
292
		system.bindMouse(n,true)
293
	end
294
end
295
bindMouse()
296
names={}
297
theRole=1
298
currentRole=roles[math.floor(theRole)]
299
function showTabs(n)
300
	ui.addTextArea(130, "", n, -432, -865, 3625, 953, 0xffffff, 0xffffff, 0.008, true)
301
	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)
302
	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)
303
end
304
function setData(n)
305
	data[n] = {
306
		def=2,
307
		idTime=6,
308
		afk=true,
309
		description="",
310
		p=0,
311
		nyan=false,
312
		ultraCannon=false,
313
		rock=false,
314
		mechAnvil=false,
315
		watermelon=false,
316
		shamanCannon=false,
317
		ompanion=false,
318
		isInRoom=true,
319
		cake=false,
320
		objects=2,
321
		lives2=false,
322
		normalLives=1,
323
		lives=1,
324
		icedMouse=false,
325
		winsAsRunner=0,
326
		winsAsDeath=0,
327
		facingx=85,
328
		name=n,
329
		role="Runner",
330
		points=0,
331
		spawnLimit=-1,
332
		ableToShoot=0,
333
		ableToShoot2=0,
334
		pointsAndScore="",
335
		inventory=text[n].inventory
336
	}
337
	data[n].objects=data[n].def
338
end
339
function inventory(n)
340
	ui.addTextArea(152, "", n, 510, 96, 286, 290, 0x00ff6a, 0x047529, 1, true)
341
	ui.addTextArea(92, "<p align='center'><font size='20'>"..text[n].inventory.."</font>\n", n, 515, 101, 276, 279, 0x034511, 0x005219, 1, true)
342
	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)
343
end
344
for n,player in pairs(tfm.get.room.playerList) do
345
	setLang(n)
346
	table.insert(names,n)
347
	showTabs(n)
348
	setData(n)
349
	add(n)
350
	vip(n)
351
	data[n].pointsAndScore=data[n].name.." "..data[n].points
352
	showTabs(n)
353
	tfm.exec.lowerSyncDelay(n)
354
	table.insert(dp,n)
355
end
356
357
function Dp(name)
358
	name = name:sub(1,1):upper()..name:sub(2):lower()
359
	for i,dp in ipairs(dp) do
360
		if name==dp then
361
			return true
362
		end
363
	end
364
	return false
365
end
366
367
function shopPage1(n)
368
	ui.addTextArea(18, "", n, 494, 117, 282, 178, 0x59442c, 0x59442c, 1, true)
369
	ui.addTextArea(25, "<CE>"..text[n].runner.." "..string.format(text[n].lives2,Lives2), n, 500, 123, 270, 46, 0x302315, 0x59442c, 1, true)
370
	ui.addTextArea(19, "<CE>"..text[n].killer..string.format(text[n].icedMouse,icedMouseCost), n, 500, 182, 270, 46, 0x302315, 0x59442c, 1, true)
371
	ui.addTextArea(110, "<CE>"..text[n].killer..string.format(text[n].cake,cakeCost), n, 500, 241, 270, 47, 0x302315, 0x59442c, 1, true)
372
	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)
373
	ui.addTextArea(92, "<G><p align='center'>«", n, 498, 305, 19, 18, 0x324650, 0x000000, 1, true)
374
	ui.addTextArea(152, "<a href='event:nextTo2'><p align='center'>»", n, 752, 305, 19, 18, 0x324650, 0x000000, 1, true)
375
end
376
377
function shopPage2(n)
378
	ui.addTextArea(18, "", n, 494, 117, 282, 178, 0x59442c, 0x59442c, 1, true)
379
	ui.addTextArea(25, "<CE>"..text[n].killer..string.format(text[n].companion,companionCost), n, 500, 123, 270, 46, 0x302315, 0x59442c, 1, true)
380
	ui.addTextArea(19, "<CE>"..text[n].killer..string.format(text[n].shamanCannon,shamanCannonCost), n, 500, 182, 270, 46, 0x302315, 0x59442c, 1, true)
381
	ui.addTextArea(110, "<CE>"..text[n].killer..string.format(text[n].watermelon,watermelonCost), n, 500, 241, 270, 47, 0x302315, 0x59442c, 1, true)
382
	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)
383
	ui.addTextArea(92, "<a href='event:backTo1'><p align='center'>«", n, 498, 305, 19, 18, 0x324650, 0x000000, 1, true)
384
	ui.addTextArea(152, "<a href='event:nextTo3'><p align='center'>»", n, 752, 305, 19, 18, 0x324650, 0x000000, 1, true)
385
end
386
387
388
function shopPage3(n)
389
	ui.addTextArea(18, "", n, 494, 117, 282, 178, 0x59442c, 0x59442c, 1, true)
390
	ui.addTextArea(25, "<CE>"..text[n].killer..string.format(text[n].mechAnvil,mechAnvilCost), n, 500, 123, 270, 46, 0x302315, 0x59442c, 1, true)
391
	ui.addTextArea(19, "<CE>"..text[n].killer..string.format(text[n].rock,rockCost), n, 500, 182, 270, 46, 0x302315, 0x59442c, 1, true)
392
	ui.addTextArea(110, "<CE>"..text[n].killer..string.format(text[n].ultraCannon,ultraCannonCost), n, 500, 241, 270, 47, 0x302315, 0x59442c, 1, true)
393
	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)
394
	ui.addTextArea(92, "<a href='event:backTo2'><p align='center'>«", n, 498, 305, 19, 18, 0x324650, 0x000000, 1, true)
395
	ui.addTextArea(152, "<a href='event:nextTo4'><p align='center'>»", n, 752, 305, 19, 18, 0x324650, 0x000000, 1, true)
396
end
397
398
function shopPage4(n)
399
	ui.addTextArea(18, "", n, 494, 117, 282, 178, 0x59442c, 0x59442c, 1, true)
400
	ui.addTextArea(25, "<CE>"..text[n].killer..string.format(text[n].nyan,nyanCost), n, 500, 123, 270, 46, 0x302315, 0x59442c, 1, true)
401
	ui.addTextArea(19, "<CE>", n, 500, 182, 270, 46, 0x302315, 0x59442c, 1, true)
402
	ui.addTextArea(110, "<CE>", n, 500, 241, 270, 47, 0x302315, 0x59442c, 1, true)
403
	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)
404
	ui.addTextArea(92, "<a href='event:backTo3'><p align='center'>«", n, 498, 305, 19, 18, 0x324650, 0x000000, 1, true)
405
	ui.addTextArea(152, "<G><p align='center'>»", n, 752, 305, 19, 18, 0x324650, 0x000000, 1, true)
406
end
407
408
409
410
411
412
function findRoles(n)
413
	for n,player in pairs(tfm.get.room.playerList) do
414
		if data[n].role=="Death" then
415
			tfm.exec.movePlayer(n,150,30,false,0,0,false)
416
		elseif data[n].role=="Runner" then
417
			tfm.exec.movePlayer(n,150,300,false,0,0,false)
418
		end
419
	end
420
end
421
422
function findRolesNewPlayer(n)
423
	if data[n].role=="Death" then
424
		tfm.exec.movePlayer(n,150,30,false,0,0,false)
425
	elseif data[n].role=="Runner" then
426
		tfm.exec.movePlayer(n,150,300,false,0,0,false)
427
	end
428
end
429
a={}
430
function eventNewPlayer(n)
431
		for n,player in pairs(tfm.get.room.playerList) do
432
			names={}
433
			table.insert(names,n)
434
		end
435
	mice=0
436
	countMice()
437
	for n,player in pairs(tfm.get.room.playerList) do
438
		names={}
439
		table.insert(names,n)
440
	end
441
	mice=0
442
	countMice()
443
	id=tfm.exec.addImage("1642e105967.png","&0",190,146,n)
444
	setLang(n)
445
  	if not data[n] then
446
			tfm.exec.respawnPlayer(n)
447
			setData(n)
448
		end
449
  showTabs(n)
450
	bindMouse()
451
	countMice()
452
	table.insert(dp,n)
453
	vip(n)
454
	add(n)
455
	data[n].idTime=0
456
	data[n].isInRoom=true
457
	table.insert(names,n)
458
		if mice==1 then
459
			randomDeath=names[math.floor(math.random(mice))]
460
			data[randomDeath].role="Death"
461
			lastDeath=""
462
		end
463
	findRolesNewPlayer(n)
464
		if mice<2 then
465
			tfm.exec.newGame(7489132)
466
			tfm.exec.chatMessage("<R>"..text[n].need2People,n)
467
		end
468
		if mice>1 and curMap=="@7489132" then
469
			tfm.exec.newGame(maps[math.random(#maps)])
470
		end
471
end
472
473
474
475
476
477
function addToRoleNumber()
478
	for n,player in pairs(tfm.get.room.playerList) do
479
		if data[n].role=="Death" then
480
			death=death+1
481
		end
482
		if data[n].role=="Runner" then
483
			runner=runner+1
484
		end
485
		findRoles(n)
486
	end
487
end
488
tfm.exec.newGame(maps[math.random(#maps)])
489
amountInA=0
490
function punishGlitchers()
491
	if a then
492
		for i=1,amountInA do
493
			data[a[math.floor(amountInA)]].role="Runner"
494
		end
495
	end
496
end
497
498
curMap=0
499
function eventNewGame()
500
		for n,player in pairs(tfm.get.room.playerList) do
501
			names={}
502
			table.insert(names,n)
503
		end
504
	mice=0
505
	countMice()
506
	curMap=tfm.get.room.currentMap
507
	lag=0
508
	v=0
509
	mice=0
510
	countMice()
511
		local toDespawn = {}
512
		do
513
			local addShamanObject = tfm.exec.addShamanObject
514
				tfm.exec.addShamanObject = function(...)
515
				toDespawn[#toDespawn + 1] = {
516
				addShamanObject(...),
517
				os.time() + 3000
518
											}
519
			return toDespawn[#toDespawn][1]
520
		end
521
	end
522
	time=0
523
	theRole=1
524
	powerx=math.random(1600)
525
	runner=0
526
	death=0
527
		for n,player in pairs(tfm.get.room.playerList) do
528
			data[n].lives=data[n].normalLives
529
			data[n].role="Runner"
530
			data[n].ableToShoot=0
531
			data[n].ableToShoot2=0
532
			data[n].spawnLimit=-1
533
			data[n].afk=true
534
				if mice<2 then
535
					tfm.exec.newGame(7489132)
536
					tfm.exec.chatMessage("<R>"..text[n].need2People,n)
537
				end
538
		end
539
	mice=mice
540
		if lastDeath==randomDeath then
541
			randomDeath=names[math.random(math.floor(mice))]
542
		end
543
544
		if data[randomDeath].isInRoom==true then
545
			data[randomDeath].role="Death"
546
		elseif data[randomDeath].isInRoom==false then
547
			randomDeath=names[math.random(math.floor(mice))]
548
		end
549
550
	lastDeath=randomDeath
551
	addToRoleNumber()
552
	findRoles(n)
553
end
554
locationx=0
555
locationy=0
556
function eventMouse(n,x,y)
557
		if x>200 then
558
			if data[n].role=="Death" and (math.floor(time)>3) and lag<2 and data[n].spawnLimit<1 and mice>1 then
559
				lag=lag+1
560
					if lag>3 then
561
						randomDeath=names[math.floor(math.random(mice))]
562
						data[randomDeath].role="Death"
563
							local toDespawn = {}
564
								table.insert(a,n)
565
								amountInA=amountInA+1
566
							do
567
								local addShamanObject = tfm.exec.addShamanObject
568
									tfm.exec.addShamanObject = function(...)
569
									toDespawn[#toDespawn + 1] = {
570
									addShamanObject(...),
571
										os.time() + 0000
572
																}
573
									return toDespawn[#toDespawn][1]
574
								end
575
							end
576
577
578
						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)
579
						time=-0.5
580
						tfm.exec.newGame(maps[math.random(#maps)])
581
						eventNewGame()
582
					end
583
584
585
				data[n].spawnLimit=3
586
				attacked=0
587
			attacked=n
588
				for n,player in pairs(tfm.get.room.playerList) do
589
					ui.addTextArea(2, "<font color='#FF9000'><font size='30'><b>"..attacked.." "..text[n].attacked, n, x, y, 425, 100, 0x324650, 0x000000, 0, false)
590
				end
591
			locationx=x
592
			locationy=y
593
594
595
				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
596
					tfm.exec.addShamanObject(data[n].objects,locationx,locationy,0,0,20,false)
597
				end
598
				if data[n].objects==1704 then
599
					tfm.exec.addShamanObject(data[n].objects,locationx,locationy,180,0,20,false)
600
					tfm.exec.addShamanObject(data[n].objects,locationx-20,locationy,180,0,20,false)
601
					tfm.exec.addShamanObject(data[n].objects,locationx+20,locationy,180,0,20,false)
602
				elseif data[n].objects==1706 then
603
					tfm.exec.addShamanObject(data[n].objects,locationx,locationy,180,0,20,false)
604
				elseif data[n].objects==1709 then
605
					tfm.exec.addShamanObject(data[n].objects,locationx+5,locationy,170,10,120,false)
606
					tfm.exec.addShamanObject(data[n].objects,locationx-5,locationy,-170,10,20,false)
607
				elseif data[n].objects==1002 then
608
					tfm.exec.addShamanObject(data[n].objects,locationx-5,locationy,0,0,20,false)
609
					tfm.exec.addShamanObject(data[n].objects,locationx+5,locationy,0,0,20,false)
610
				end
611
			tfm.exec.displayParticle(3,locationx,locationy,0,0,0,0,nil)
612
			canShoot()
613
		end
614
	end
615
end 
616
time=0
617
function eventPlayerGetCheese(n)
618
	v=v+1
619
		if data[n].role=="Runner" and mice>1 and v==1 and data[n].afk==false then
620
			randomDeath=n
621
			time=119.5
622
			data[n].points=data[n].points+50
623
				for n,player in pairs(tfm.get.room.playerList) do
624
					ui.addTextArea(133, "<b><font size='40'><font color='#0ff164'>"..text[n].runnersWin, n, 296, 282, 351, 189, 0xd41717, 0x000000, 0, true)
625
						if data[n].role=="Runner" and data[n].afk==false then
626
							data[n].points=data[n].points+15
627
							data[n].winsAsRunner=data[n].winsAsRunner+1
628
							wonCountDown=-5
629
						end
630
				end
631
		end
632
end
633
634
635
636
637
638
639
function explosions()
640
	tfm.exec.displayParticle(0,locationx,locationy,0.5,0.5,0.5,0.5,nil)
641
	tfm.exec.displayParticle(0,locationx,locationy,-0.5,-0.5,-0.5,-0.5,nil)
642
	tfm.exec.displayParticle(2,locationx,locationy,3,-3,3,-3,nil)
643
	tfm.exec.displayParticle(2,locationx,locationy,-3,3,-3,3,nil)
644
	tfm.exec.displayParticle(0,locationx,locationy,-0.5,0.5,-0.5,0.5,nil)
645
	tfm.exec.displayParticle(0,locationx,locationy,0.5,-0.5,0.5,-0.5,nil)
646
	tfm.exec.displayParticle(2,locationx,locationy,1,-3,1,-3,nil)
647
	tfm.exec.displayParticle(2,locationx,locationy,1,1,3,1,nil)
648
	tfm.exec.displayParticle(2,locationx,locationy,-1,3,-1,3,nil)
649
	tfm.exec.displayParticle(2,locationx,locationy,-1,-1,-3,-1,nil)
650
	tfm.exec.displayParticle(5,locationx,locationy,0.5,0.5,0.5,0.5,nil)
651
	tfm.exec.displayParticle(5,locationx,locationy,-0.5,-0.5,-0.5,-0.5,nil)
652
	tfm.exec.displayParticle(5,locationx,locationy,-0.5,0.5,-0.5,0.5,nil)
653
	tfm.exec.displayParticle(5,locationx,locationy,0.5,-0.5,0.5,-0.5,nil)
654
	tfm.exec.explosion(locationx, locationy, 40, 40, false)
655
end
656
657
658
function canShoot()
659
	for n,player in pairs(tfm.get.room.playerList) do
660
		if data[n].spawnLimit<1 and data[n].role=="Death" then
661
			ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanAttack, n, 270, 23, 240, 46, 0x00a611, 0x338500, 1, true)
662
		end
663
		if not (data[n].spawnLimit<1) and data[n].role=="Death" then
664
			ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanNotAttack, n, 270, 23, 240, 46, 0x802c2c, 0x6e0000, 1, true)
665
		end
666
		if data[n].spawnLimit<1 and data[n].role=="Runner" then
667
			ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanUsePowerups, n, 270, 23, 240, 46, 0x00a611, 0x338500, 1, true)
668
		end
669
		if not (data[n].spawnLimit<1) and data[n].role=="Runner" then
670
			ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanNotUsePowerups, n, 270, 23, 240, 46, 0x802c2c, 0x6e0000, 1, true)
671
		end
672
	end
673
end
674
function removeObjectAfterTime()
675
	for k, v in ipairs(toDespawn) do
676
		if os.time() > v[2] then
677
			tfm.exec.removeObject(v[1])
678
			table.remove(toDespawn, k)
679
		end
680
	end
681
end
682
683
function eventLoop()
684
		for n,player in pairs(tfm.get.room.playerList) do
685
			data[n].idTime=data[n].idTime+0.5
686
				if data[n].idTime==5 then
687
					tfm.exec.removeImage(id)
688
				end
689
		end
690
	lag=0
691
	removeObjectAfterTime()
692
		if mice>1 then
693
			ui.removeTextArea(202,nil)
694
			wonCoundown=wonCountDown+0.5
695
			canShoot()
696
				for n,player in pairs(tfm.get.room.playerList) do
697
					data[n].spawnLimit=data[n].spawnLimit-0.5
698
						if tfm.get.room.playerList[n].y>100 and data[n].role=="Death" then
699
							tfm.exec.movePlayer(n,150,30,false,0,0,false)
700
						elseif tfm.get.room.playerList[n].y<100 and data[n].role=="Runner" then
701
							tfm.exec.movePlayer(n,70,300,false,0,0,false)
702
						elseif tfm.get.room.playerList[n].x>600 and time<5 then
703
							tfm.exec.killPlayer(n)
704
							tfm.exec.movePlayer(n,150,tfm.get.room.playerList[n].y,false,0,0,false)
705
							tfm.exec.respawnPlayer(n)
706
						end
707
708
					if data[n].spawnLimit==0 then
709
						ui.removeTextArea(2,nil)
710
						system.bindMouse(n, true)
711
						ui.removeTextArea(11,n)
712
					end
713
				end
714
			time=time+.5
715
				if time==120 then
716
					time=119.6
717
				end
718
				if time==120.1 then
719
					tfm.exec.newGame(maps[math.random(#maps)])
720
						for n,player in pairs(tfm.get.room.playerList) do
721
							if data[n].role=="Death" and data[n].afk==false then
722
								data[n].points=data[n].points+15
723
								ui.addTextArea(133, "<b><font size='40'><font color='#d40000'>"..text[n].deathsWin, n, 296, 282, 351, 189, 0xd41717, 0x000000, 0, true)
724
							end
725
						end
726
					time=-0.5
727
				elseif time==0 then
728
					for n,player in pairs(tfm.get.room.playerList) do
729
						findRoles(n)
730
					end
731
				elseif time==5 then
732
					for n,player in pairs(tfm.get.room.playerList) do
733
						ui.removeTextArea(0,nil)
734
						ui.removeTextArea(2,nil)
735
						system.bindMouse(n, true)
736
						ui.removeTextArea(133,n)
737
738
					end
739
				end
740
		end
741
end
742
743
function profile(n)
744
	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)
745
	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)
746
	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)
747
	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)
748
end
749
750
function removeTextAreas(n)
751
	ui.removeTextArea(18,n)
752
	ui.removeTextArea(19,n)
753
	ui.removeTextArea(110,n)
754
	ui.removeTextArea(222,n)
755
	ui.removeTextArea(25,n)
756
	ui.removeTextArea(152,n)
757
	ui.removeTextArea(92,n)
758
	ui.addPopup(0, 2, text[n].description, n, 8565, 290, 200, true)
759
end
760
function help(n)
761
	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)
762
	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)
763
end
764
function eventKeyboard(n, key, down, x,y)
765
	if tfm.get.room.playerList[n].isDead==false then
766
		data[n].afk=false
767
	end
768
--FACING
769
	if tfm.get.room.playerList[n].isDead==false and data[n].role=="Runner" then
770
	end
771
	if key==0 then
772
		data[n].facing=-85
773
	elseif key==2 then
774
		data[n].facing=85
775
	elseif key==P and data[n].p==0 then
776
		removeTextAreas(n)
777
		profile(n)
778
		data[n].p=1
779
	elseif key==P and data[n].p==1 then
780
		removeTextAreas(n)
781
		data[n].p=0
782
	elseif key==H and data[n].p==0 then
783
		removeTextAreas(n)
784
		data[n].p=1
785
	elseif key==H and data[n].p==1 then
786
		removeTextAreas(n)
787
		help(n)
788
		data[n].p=0
789
	elseif key==O and data[n].p==0 then
790
		removeTextAreas(n)
791
		data[n].p=1
792
	elseif key==O and data[n].p==1 then
793
		removeTextAreas(n)
794
		shopPage1(n)
795
		data[n].p=0
796
	end
797
	if time>3 and mice>1 then
798
799
--AUTOMATIC POWERUPS
800
801
		if key==32 and data[n].role=="Runner" and data[n].spawnLimit<0 then
802
			ui.addTextArea(11, "<b><font size='30'><font color='#F0F000'>"..text[n].superJump, n, x-50, y-50, 379, 67, 0x324650, 0x000000, 0, false)
803
			tfm.exec.movePlayer(n,0,0,false,0,-80,false)
804
			tfm.exec.displayParticle(10,x,y,3,-3,3,-3,nil)
805
			tfm.exec.displayParticle(10,x,y,-3,3,-3,3,nil)
806
			tfm.exec.displayParticle(10,x,y,-3,-3,-3,-3,nil)
807
			tfm.exec.displayParticle(10,x,y,3,3,3,3,nil)
808
			tfm.exec.bindKeyboard(n, 32, false, false)
809
			tfm.exec.addShamanObject(17,x,y,60,50,-10,true)
810
			data[n].spawnLimit=3.5
811
			data[n].ableToShoot=0
812
			canShoot()
813
		elseif (key==3) then
814
			if data[n].role=="Death" then
815
				if data[n].facing==-85 then
816
					tfm.exec.movePlayer(n,0,0,false,-50,0,true)
817
				elseif data[n].facing==85 then
818
					tfm.exec.movePlayer(n,0,0,false,50,0,true)
819
				end
820
			elseif data[n].spawnLimit<0 and data[n].role=="Runner" then
821
				tfm.exec.movePlayer(n,0,0,false,data[n].facing,0,true)
822
				ui.addTextArea(11, "<b><font size='30'><font color='#F0F000'>"..text[n].speed, n, x-50, y-50, 379, 67, 0x324650, 0x000000, 0, false)
823
				tfm.exec.displayParticle(10,x,y,3,-3,3,-3,nil)
824
				tfm.exec.displayParticle(10,x,y,-3,3,-3,3,nil)
825
				tfm.exec.displayParticle(10,x,y,-3,-3,-3,-3,nil)
826
				tfm.exec.displayParticle(10,x,y,3,3,3,3,nil)
827
				data[n].spawnLimit=3.5
828
				data[n].ableToShoot=0
829
				canShoot()
830
			end
831
		end
832
	end
833
end
834
n=0
835
system.disableChatCommandDisplay("profile",true)
836
function eventTextAreaCallback(id,p,a)
837
	n=p
838
		if a=="close" then
839
			data[n].p=0
840
			removeTextAreas(n)
841
		elseif a=="help" then
842
			data[n].p=0
843
			removeTextAreas(n)
844
			--TABS
845
			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)
846
			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)
847
		elseif a=="credits" then
848
			data[n].p=0
849
			removeTextAreas(n)
850
			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)
851
			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)
852
		elseif a=="commands" then
853
			data[n].p=0
854
			removeTextAreas(n)
855
			ui.addTextArea(18, "<p align='center'><font size='14'><font face='verdana'>"..text[n].commands, n, 545, 111, 220, 238, 0x4f4132, 0x695743, 1, true)
856
			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)
857
		elseif a=="rules" then
858
			data[n].p=0
859
			removeTextAreas(n)
860
			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)
861
			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)
862
		elseif a=="profile" then
863
			removeTextAreas(n)
864
			profile(n)
865
		elseif a=="description" then
866
			ui.addPopup(0, 2, text[n].description, n, 565, 290, 200, true)
867
		end
868
		if a=="inventory" then
869
			data[n].p=0
870
			removeTextAreas(n)
871
			ui.addTextArea(92, "<p align='center'><font size='20'>"..data[n].inventory, n, 515, 101, 276, 279, 0x4f4132, 0x695743, 1, true)
872
			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)
873
		end
874
		if a=="equipDefault" then
875
			data[n].objects=data[n].def
876
		elseif a=="equipNyan" then
877
			data[n].objects=212
878
		elseif a=="equipUltraCannon" then
879
			data[n].objects=1709
880
		elseif a=="equipCompanion" then
881
			data[n].objects=61
882
		elseif a=="equipShamanCannon" then
883
			data[n].objects=1704
884
		elseif a=="equipWatermelon" then
885
			data[n].objects=1706
886
		elseif a=="equipIcedMouse" then
887
			data[n].objects=54
888
		elseif a=="equipCake" then
889
			data[n].objects=207
890
		elseif a=="equipMechAnvil" then
891
			data[n].objects=1002
892
		elseif a=="equipRock" then
893
			data[n].objects=1003
894
		elseif a=="shop" then
895
			shopPage1(n)
896
			data[n].p=0
897
		elseif a=="backTo1" then
898
			shopPage1(n)
899
		elseif a=="nextTo2" then
900
			shopPage2(n)
901
		elseif a=="backTo2" then
902
			shopPage2(n)
903
		elseif a=="nextTo3" then
904
			shopPage3(n)
905
		elseif a=="backTo3" then
906
			shopPage3(n)
907
		elseif a=="nextTo4" then
908
			shopPage4(n)
909
		end
910
--SHOP ITEMS
911
		if a=="buyIcedMouse" and (data[n].points>icedMouseCost or data[n].points==icedMouseCost) and data[n].icedMouse==false then
912
			data[n].inventory = data[n].inventory.."\n"..text[n].icedMouseInv
913
			data[n].objects=54
914
			tfm.exec.chatMessage(text[n].boughtIcedMouse,n)
915
916
			data[n].icedMouse=true
917
			data[n].points=data[n].points-icedMouseCost
918
		elseif a=="buyNyan" and (data[n].points>nyanCost or data[n].points==nyanCost) and data[n].nyan==false then
919
			data[n].inventory = data[n].inventory.."\n"..text[n].nyanInv
920
			data[n].objects=212
921
			tfm.exec.chatMessage(text[n].boughtNyan,n)
922
			data[n].nyan=true
923
			data[n].points=data[n].points-nyanCost
924
		elseif a=="buyUltraCannon" and (data[n].points>ultraCannonCost or data[n].points==ultraCannonCost) and data[n].ultraCannon==false then
925
			data[n].inventory = data[n].inventory.."\n"..text[n].ultraCannonInv
926
			data[n].objects=1709
927
			tfm.exec.chatMessage(text[n].boughtUltraCannon,n)
928
			data[n].ultraCannon=true
929
			data[n].points=data[n].points-ultraCannonCost
930
		elseif a=="buyCake" and (data[n].points>cakeCost or data[n].points==cakeCost) and data[n].cake==false then
931
			data[n].inventory=data[n].inventory.."\n"..text[n].cakeInv
932
933
			data[n].objects=207
934
			tfm.exec.chatMessage(text[n].boughtCake,n)
935
			data[n].cake=true
936
			data[n].points=data[n].points-cakeCost
937
		elseif a=="buyMechAnvil" and (data[n].points>mechAnvilCost or data[n].points==mechAnvilCost) and data[n].mechAnvil==false then
938
			data[n].inventory=data[n].inventory.."\n"..text[n].mechAnvilInv
939
940
			data[n].objects=1002
941
			tfm.exec.chatMessage(text[n].boughtMechAnvil,n)
942
			data[n].mechAnvil=true
943
			data[n].points=data[n].points-mechAnvilCost
944
		elseif a=="buyRock" and (data[n].points>rockCost or data[n].points==rockCost) and data[n].rock==false then
945
			data[n].inventory=data[n].inventory.."\n"..text[n].rockInv
946
947
			data[n].objects=1003
948
			tfm.exec.chatMessage(text[n].boughtRock,n)
949
			data[n].rock=true
950
			data[n].points=data[n].points-rockCost
951
952
		elseif a=="buy2Lives" and (data[n].points>Lives2 or data[n].points==Lives2) and data[n].lives2==false then
953
			data[n].normalLives=2
954
			tfm.exec.chatMessage(text[n].nowHave2Lives,n)
955
956
			data[n].points=data[n].points-Lives2
957
			data[n].lives2=true
958
		elseif a=="buyCompanion" and (data[n].points>companionCost or data[n].points==companionCost) and data[n].companion==false then
959
			data[n].objects=61
960
			data[n].inventory = data[n].inventory.."\n"..text[n].companionInv
961
			data[n].companion=true
962
963
			data[n].points=data[n].points-companionCost
964
			tfm.exec.chatMessage(text[n].boughtCompanion,n)
965
		elseif a=="buyShamanCannon" and (data[n].points>shamanCannonCost or data[n].points==shamanCannonCost) and data[n].shamanCannon==false then
966
			data[n].objects=1704
967
			data[n].inventory = data[n].inventory.."\n"..text[n].shamanCannonInv
968
			data[n].shamanCannon=true
969
970
			data[n].points=data[n].points-shamanCannonCost
971
			tfm.exec.chatMessage(text[n].boughtshamanCannon,n)
972
		elseif a=="buyWatermelon" and (data[n].points>watermelonCost or data[n].points==watermelonCost) and data[n].watermelon==false then
973
			data[n].objects=1706
974
			data[n].inventory = data[n].inventory.."\n"..text[n].watermelonInv
975
			data[n].watermelon=true
976
977
			data[n].points=data[n].points-watermelonCost
978
			tfm.exec.chatMessage(text[n].boughtWatermelon,n)
979
980
		end
981
end
982
983
function eventPlayerDied(n)
984
	wonCountDown=-5
985
		if data[n].role=="Death" and data[n].afk==false then
986
			tfm.exec.respawnPlayer(n)
987
			tfm.exec.movePlayer(n,200,30,false,0,0,false)
988
		end
989
		if data[n].role=="Death" and data[n].afk==true or runner==0 then
990
			tfm.exec.newGame(maps[math.random(#maps)])
991
		end
992
			data[n].lives=data[n].lives-1
993
		if data[n].role=="Runner" and data[n].lives==1 then
994
			tfm.exec.respawnPlayer(n)
995
		end
996
		if data[n].role=="Runner" and data[n].lives==0 then
997
			runner=runner-1
998-
	names={}
998+
999-
		for n in pairs(tfm.get.room.playerList) do
999+
1000
end
1001
function eventPlayerLeft(n)
1002
		for n,player in pairs(tfm.get.room.playerList) do
1003
			names={}
1004
			table.insert(names,n)
1005
		end
1006
	mice=0
1007
	countMice()
1008
	data[n].isInRoom=false
1009
	mice=mice-1
1010
		if mice<2 then
1011
			tfm.exec.newGame(7489132)
1012
				for n,player in pairs(tfm.get.room.playerList) do
1013
					tfm.exec.chatMessage("<R>"..text[n].need2People,n)
1014
				end
1015
		end
1016
		if n==randomDeath then
1017
			randomDeath=names[math.random(math.floor(mice))]
1018
		end
1019
		if data[n].role=="Runner" then
1020
			runner=runner-1
1021
		elseif data[n].role=="Death" then
1022
			death=death-1
1023
		end
1024
end
1025
function eventSummoningEnd(n,id,x,y,angle,t)
1026
	tfm.exec.removeObject(t.id)
1027
end
1028
1029
system.disableChatCommandDisplay("p",true)
1030
function eventChatCommand(l,c)
1031
	if c=="profile" then
1032
		profile(n)
1033
	end
1034
	if c=="mice" then
1035
		print(runner)
1036
	end
1037
	if c:sub(0,7)=="profile" and Dp(c:sub(9)) then
1038
		n = c:sub(9,9):upper()..c:sub(10):lower()
1039
		removeTextAreas(l)
1040
		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)
1041
		ui.addTextArea(18, "<p align='left'><font size='13'><font face='calibri'><font color='#FFFFFF'>"..text[l].points..": <br>"..data[n].points.." <br><br>"..text[l].winsAsDeath..": <br>"..data[n].winsAsDeath.."<br><br>"..text[l].winsAsRunner..": <br>"..data[n].winsAsRunner, l, 557, 136, 105, 226, 0x695743, 0x695743, 1, true)
1042
		ui.addTextArea(19, "<p align='left'><font size='13'><font face='calibri'><font color='#FFFFFF'>"..text[l].description.."</a> : "..data[n].description, l, 675, 136, 104, 226, 0x695743, 0x695743, 1, true)
1043
		ui.addTextArea(25, "<p align='center'><font size='13'><a href='event:close'><font color='#909090'><VP>"..text[l].close, l, 551, 368, 233, 26, 0x4f4132, 0x30291a, 1, true)
1044
	end
1045
end
1046
1047
1048
1049
function eventPopupAnswer(id, n, a)
1050
	local click=a:match("<a href='")
1051
		if not click then
1052
			data[n].description = a
1053
			profile(n)
1054
			data[n].p=1
1055
		end
1056
end