View difference between Paste ID: cwhrL4F5 and 9kQA8Yna
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
	id=tfm.exec.addImage("1642e105967.png","&0",190,146,n)
438
	setLang(n)
439
  	if not data[n] then
440
			tfm.exec.respawnPlayer(n)
441
			setData(n)
442
		end
443
  showTabs(n)
444
	bindMouse()
445
	countMice()
446
	table.insert(dp,n)
447
	vip(n)
448
	add(n)
449
	data[n].idTime=0
450
	data[n].isInRoom=true
451
	table.insert(names,n)
452
		if mice==1 then
453
			randomDeath=names[math.floor(math.random(mice))]
454
			data[randomDeath].role="Death"
455
			lastDeath=""
456
		end
457
	findRolesNewPlayer(n)
458
		if mice<2 then
459
			tfm.exec.newGame(7489132)
460
			tfm.exec.chatMessage("<R>"..text[n].need2People,n)
461
		end
462
		if mice>1 and curMap=="@7489132" then
463
			tfm.exec.newGame(maps[math.random(#maps)])
464
		end
465
end
466
467
468
469
470
471
function addToRoleNumber()
472
	for n,player in pairs(tfm.get.room.playerList) do
473
		if data[n].role=="Death" then
474
			death=death+1
475
		end
476
		if data[n].role=="Runner" then
477
			runner=runner+1
478
		end
479
		findRoles(n)
480
	end
481
end
482
tfm.exec.newGame(maps[math.random(#maps)])
483
amountInA=0
484
function punishGlitchers()
485
	if a then
486
		for i=1,amountInA do
487
			data[a[math.floor(amountInA)]].role="Runner"
488
		end
489
	end
490
end
491
492
curMap=0
493
function eventNewGame()
494
	curMap=tfm.get.room.currentMap
495
	lag=0
496
	v=0
497
	mice=0
498
	countMice()
499
		local toDespawn = {}
500
		do
501
			local addShamanObject = tfm.exec.addShamanObject
502
				tfm.exec.addShamanObject = function(...)
503
				toDespawn[#toDespawn + 1] = {
504
				addShamanObject(...),
505
				os.time() + 3000
506
											}
507
			return toDespawn[#toDespawn][1]
508
		end
509
	end
510
	time=0
511
	theRole=1
512
	powerx=math.random(1600)
513
	runner=0
514
	death=0
515
		for n,player in pairs(tfm.get.room.playerList) do
516
			data[n].lives=data[n].normalLives
517
			data[n].role="Runner"
518
			data[n].ableToShoot=0
519
			data[n].ableToShoot2=0
520
			data[n].spawnLimit=-1
521
			data[n].afk=true
522
				if mice<2 then
523
					tfm.exec.newGame(7489132)
524
					tfm.exec.chatMessage("<R>"..text[n].need2People,n)
525
				end
526
		end
527
	mice=mice
528
		if lastDeath==randomDeath then
529
			randomDeath=names[math.random(math.floor(mice))]
530
		end
531
532
		if data[randomDeath].isInRoom==true then
533
			data[randomDeath].role="Death"
534
		elseif data[randomDeath].isInRoom==false then
535
			randomDeath=names[math.random(math.floor(mice))]
536
		end
537
538
	lastDeath=randomDeath
539
	addToRoleNumber()
540
	findRoles(n)
541
end
542
locationx=0
543
locationy=0
544
function eventMouse(n,x,y)
545
		if x>200 then
546
			if data[n].role=="Death" and (math.floor(time)>3) and lag<2 and data[n].spawnLimit<1 and mice>1 then
547
				lag=lag+1
548
					if lag>3 then
549
						randomDeath=names[math.floor(math.random(mice))]
550
						data[randomDeath].role="Death"
551
							local toDespawn = {}
552
								table.insert(a,n)
553
								amountInA=amountInA+1
554
							do
555
								local addShamanObject = tfm.exec.addShamanObject
556
									tfm.exec.addShamanObject = function(...)
557
									toDespawn[#toDespawn + 1] = {
558
									addShamanObject(...),
559
										os.time() + 0000
560
																}
561
									return toDespawn[#toDespawn][1]
562
								end
563
							end
564
565
566
						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)
567
						time=-0.5
568
						tfm.exec.newGame(maps[math.random(#maps)])
569
						eventNewGame()
570
					end
571
572
573
				data[n].spawnLimit=3
574
				attacked=0
575
			attacked=n
576
				for n,player in pairs(tfm.get.room.playerList) do
577
					ui.addTextArea(2, "<font color='#FF9000'><font size='30'><b>"..attacked.." "..text[n].attacked, n, x, y, 425, 100, 0x324650, 0x000000, 0, false)
578
				end
579
			locationx=x
580
			locationy=y
581
582
583
				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
584
					tfm.exec.addShamanObject(data[n].objects,locationx,locationy,0,0,20,false)
585
				end
586
				if data[n].objects==1704 then
587
					tfm.exec.addShamanObject(data[n].objects,locationx,locationy,180,0,20,false)
588
					tfm.exec.addShamanObject(data[n].objects,locationx-20,locationy,180,0,20,false)
589
					tfm.exec.addShamanObject(data[n].objects,locationx+20,locationy,180,0,20,false)
590
				elseif data[n].objects==1706 then
591
					tfm.exec.addShamanObject(data[n].objects,locationx,locationy,180,0,20,false)
592
				elseif data[n].objects==1709 then
593
					tfm.exec.addShamanObject(data[n].objects,locationx+5,locationy,170,10,120,false)
594
					tfm.exec.addShamanObject(data[n].objects,locationx-5,locationy,-170,10,20,false)
595
				elseif data[n].objects==1002 then
596
					tfm.exec.addShamanObject(data[n].objects,locationx-5,locationy,0,0,20,false)
597
					tfm.exec.addShamanObject(data[n].objects,locationx+5,locationy,0,0,20,false)
598
				end
599
			tfm.exec.displayParticle(3,locationx,locationy,0,0,0,0,nil)
600
			canShoot()
601
		end
602
	end
603
end 
604
time=0
605
function eventPlayerGetCheese(n)
606
	v=v+1
607
		if data[n].role=="Runner" and mice>1 and v==1 and data[n].afk==false then
608
			randomDeath=n
609
			time=119.5
610
			data[n].points=data[n].points+50
611
				for n,player in pairs(tfm.get.room.playerList) do
612
					ui.addTextArea(133, "<b><font size='40'><font color='#0ff164'>"..text[n].runnersWin, n, 296, 282, 351, 189, 0xd41717, 0x000000, 0, true)
613
						if data[n].role=="Runner" and data[n].afk==false then
614
							data[n].points=data[n].points+15
615
							data[n].winsAsRunner=data[n].winsAsRunner+1
616
							wonCountDown=-5
617
						end
618
				end
619
		end
620
end
621
622
623
624
625
626
627
function explosions()
628
	tfm.exec.displayParticle(0,locationx,locationy,0.5,0.5,0.5,0.5,nil)
629
	tfm.exec.displayParticle(0,locationx,locationy,-0.5,-0.5,-0.5,-0.5,nil)
630
	tfm.exec.displayParticle(2,locationx,locationy,3,-3,3,-3,nil)
631
	tfm.exec.displayParticle(2,locationx,locationy,-3,3,-3,3,nil)
632
	tfm.exec.displayParticle(0,locationx,locationy,-0.5,0.5,-0.5,0.5,nil)
633
	tfm.exec.displayParticle(0,locationx,locationy,0.5,-0.5,0.5,-0.5,nil)
634
	tfm.exec.displayParticle(2,locationx,locationy,1,-3,1,-3,nil)
635
	tfm.exec.displayParticle(2,locationx,locationy,1,1,3,1,nil)
636
	tfm.exec.displayParticle(2,locationx,locationy,-1,3,-1,3,nil)
637
	tfm.exec.displayParticle(2,locationx,locationy,-1,-1,-3,-1,nil)
638
	tfm.exec.displayParticle(5,locationx,locationy,0.5,0.5,0.5,0.5,nil)
639
	tfm.exec.displayParticle(5,locationx,locationy,-0.5,-0.5,-0.5,-0.5,nil)
640
	tfm.exec.displayParticle(5,locationx,locationy,-0.5,0.5,-0.5,0.5,nil)
641
	tfm.exec.displayParticle(5,locationx,locationy,0.5,-0.5,0.5,-0.5,nil)
642
	tfm.exec.explosion(locationx, locationy, 40, 40, false)
643
end
644
645
646
function canShoot()
647
	for n,player in pairs(tfm.get.room.playerList) do
648
		if data[n].spawnLimit<1 and data[n].role=="Death" then
649
			ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanAttack, n, 270, 23, 240, 46, 0x00a611, 0x338500, 1, true)
650
		end
651
		if not (data[n].spawnLimit<1) and data[n].role=="Death" then
652
			ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanNotAttack, n, 270, 23, 240, 46, 0x802c2c, 0x6e0000, 1, true)
653
		end
654
		if data[n].spawnLimit<1 and data[n].role=="Runner" then
655
			ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanUsePowerups, n, 270, 23, 240, 46, 0x00a611, 0x338500, 1, true)
656
		end
657
		if not (data[n].spawnLimit<1) and data[n].role=="Runner" then
658
			ui.addTextArea(12, "\n<p align='center'>"..text[n].youCanNotUsePowerups, n, 270, 23, 240, 46, 0x802c2c, 0x6e0000, 1, true)
659
		end
660
	end
661
end
662
function removeObjectAfterTime()
663
	for k, v in ipairs(toDespawn) do
664
		if os.time() > v[2] then
665
			tfm.exec.removeObject(v[1])
666
			table.remove(toDespawn, k)
667
		end
668
	end
669
end
670
671
function eventLoop()
672-
		for, n,player in pairs(tfm.get.room.playerList) do
672+
673
			names={}
674
			table.insert(names,n)
675
		end
676
	mice=0
677
	countMice()
678
		for n,player in pairs(tfm.get.room.playerList) do
679
			data[n].idTime=data[n].idTime+0.5
680
				if data[n].idTime==5 then
681
					tfm.exec.removeImage(id)
682
				end
683
		end
684
	lag=0
685
	removeObjectAfterTime()
686
		if mice>1 then
687
			ui.removeTextArea(202,nil)
688
			wonCoundown=wonCountDown+0.5
689
			canShoot()
690
				for n,player in pairs(tfm.get.room.playerList) do
691
					data[n].spawnLimit=data[n].spawnLimit-0.5
692
						if tfm.get.room.playerList[n].y>100 and data[n].role=="Death" then
693
							tfm.exec.movePlayer(n,150,30,false,0,0,false)
694
						elseif tfm.get.room.playerList[n].y<100 and data[n].role=="Runner" then
695
							tfm.exec.movePlayer(n,70,300,false,0,0,false)
696
						elseif tfm.get.room.playerList[n].x>600 and time<5 then
697
							tfm.exec.killPlayer(n)
698
							tfm.exec.movePlayer(n,150,tfm.get.room.playerList[n].y,false,0,0,false)
699
							tfm.exec.respawnPlayer(n)
700
						end
701
702
					if data[n].spawnLimit==0 then
703
						ui.removeTextArea(2,nil)
704
						system.bindMouse(n, true)
705
						ui.removeTextArea(11,n)
706
					end
707
				end
708
			time=time+.5
709
				if time==120 then
710
					time=119.6
711
				end
712
				if time==120.1 then
713
					tfm.exec.newGame(maps[math.random(#maps)])
714
						for n,player in pairs(tfm.get.room.playerList) do
715
							if data[n].role=="Death" and data[n].afk==false then
716
								data[n].points=data[n].points+15
717
								ui.addTextArea(133, "<b><font size='40'><font color='#d40000'>"..text[n].deathsWin, n, 296, 282, 351, 189, 0xd41717, 0x000000, 0, true)
718
							end
719
						end
720
					time=-0.5
721
				elseif time==0 then
722
					for n,player in pairs(tfm.get.room.playerList) do
723
						findRoles(n)
724
					end
725
				elseif time==5 then
726
					for n,player in pairs(tfm.get.room.playerList) do
727
						ui.removeTextArea(0,nil)
728
						ui.removeTextArea(2,nil)
729
						system.bindMouse(n, true)
730
						ui.removeTextArea(133,n)
731
732
					end
733
				end
734
		end
735
end
736
737
function profile(n)
738
	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)
739
	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)
740
	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)
741
	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)
742
end
743
744
function removeTextAreas(n)
745
	ui.removeTextArea(18,n)
746
	ui.removeTextArea(19,n)
747
	ui.removeTextArea(110,n)
748
	ui.removeTextArea(222,n)
749
	ui.removeTextArea(25,n)
750
	ui.removeTextArea(152,n)
751
	ui.removeTextArea(92,n)
752
	ui.addPopup(0, 2, text[n].description, n, 8565, 290, 200, true)
753
end
754
function help(n)
755
	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)
756
	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)
757
end
758
function eventKeyboard(n, key, down, x,y)
759
	if tfm.get.room.playerList[n].isDead==false then
760
		data[n].afk=false
761
	end
762
--FACING
763
	if tfm.get.room.playerList[n].isDead==false and data[n].role=="Runner" then
764
	end
765
	if key==0 then
766
		data[n].facing=-85
767
	elseif key==2 then
768
		data[n].facing=85
769
	elseif key==P and data[n].p==0 then
770
		removeTextAreas(n)
771
		profile(n)
772
		data[n].p=1
773
	elseif key==P and data[n].p==1 then
774
		removeTextAreas(n)
775
		data[n].p=0
776
	elseif key==H and data[n].p==0 then
777
		removeTextAreas(n)
778
		data[n].p=1
779
	elseif key==H and data[n].p==1 then
780
		removeTextAreas(n)
781
		help(n)
782
		data[n].p=0
783
	elseif key==O and data[n].p==0 then
784
		removeTextAreas(n)
785
		data[n].p=1
786
	elseif key==O and data[n].p==1 then
787
		removeTextAreas(n)
788
		shopPage1(n)
789
		data[n].p=0
790
	end
791
	if time>3 and mice>1 then
792
793
--AUTOMATIC POWERUPS
794
795
		if key==32 and data[n].role=="Runner" and data[n].spawnLimit<0 then
796
			ui.addTextArea(11, "<b><font size='30'><font color='#F0F000'>"..text[n].superJump, n, x-50, y-50, 379, 67, 0x324650, 0x000000, 0, false)
797
			tfm.exec.movePlayer(n,0,0,false,0,-80,false)
798
			tfm.exec.displayParticle(10,x,y,3,-3,3,-3,nil)
799
			tfm.exec.displayParticle(10,x,y,-3,3,-3,3,nil)
800
			tfm.exec.displayParticle(10,x,y,-3,-3,-3,-3,nil)
801
			tfm.exec.displayParticle(10,x,y,3,3,3,3,nil)
802
			tfm.exec.bindKeyboard(n, 32, false, false)
803
			tfm.exec.addShamanObject(17,x,y,60,50,-10,true)
804
			data[n].spawnLimit=3.5
805
			data[n].ableToShoot=0
806
			canShoot()
807
		elseif (key==3) then
808
			if data[n].role=="Death" then
809
				if data[n].facing==-85 then
810
					tfm.exec.movePlayer(n,0,0,false,-50,0,true)
811
				elseif data[n].facing==85 then
812
					tfm.exec.movePlayer(n,0,0,false,50,0,true)
813
				end
814
			elseif data[n].spawnLimit<0 and data[n].role=="Runner" then
815
				tfm.exec.movePlayer(n,0,0,false,data[n].facing,0,true)
816
				ui.addTextArea(11, "<b><font size='30'><font color='#F0F000'>"..text[n].speed, n, x-50, y-50, 379, 67, 0x324650, 0x000000, 0, false)
817
				tfm.exec.displayParticle(10,x,y,3,-3,3,-3,nil)
818
				tfm.exec.displayParticle(10,x,y,-3,3,-3,3,nil)
819
				tfm.exec.displayParticle(10,x,y,-3,-3,-3,-3,nil)
820
				tfm.exec.displayParticle(10,x,y,3,3,3,3,nil)
821
				data[n].spawnLimit=3.5
822
				data[n].ableToShoot=0
823
				canShoot()
824
			end
825
		end
826
	end
827
end
828
n=0
829
system.disableChatCommandDisplay("profile",true)
830
function eventTextAreaCallback(id,p,a)
831
	n=p
832
		if a=="close" then
833
			data[n].p=0
834
			removeTextAreas(n)
835
		elseif a=="help" then
836
			data[n].p=0
837
			removeTextAreas(n)
838
			--TABS
839
			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)
840
			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)
841
		elseif a=="credits" then
842
			data[n].p=0
843
			removeTextAreas(n)
844
			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)
845
			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)
846
		elseif a=="commands" then
847
			data[n].p=0
848
			removeTextAreas(n)
849
			ui.addTextArea(18, "<p align='center'><font size='14'><font face='verdana'>"..text[n].commands, n, 545, 111, 220, 238, 0x4f4132, 0x695743, 1, true)
850
			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)
851
		elseif a=="rules" then
852
			data[n].p=0
853
			removeTextAreas(n)
854
			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)
855
			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)
856
		elseif a=="profile" then
857
			removeTextAreas(n)
858
			profile(n)
859
		elseif a=="description" then
860
			ui.addPopup(0, 2, text[n].description, n, 565, 290, 200, true)
861
		end
862
		if a=="inventory" then
863
			data[n].p=0
864
			removeTextAreas(n)
865
			ui.addTextArea(92, "<p align='center'><font size='20'>"..data[n].inventory, n, 515, 101, 276, 279, 0x4f4132, 0x695743, 1, true)
866
			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)
867
		end
868
		if a=="equipDefault" then
869
			data[n].objects=data[n].def
870
		elseif a=="equipNyan" then
871
			data[n].objects=212
872
		elseif a=="equipUltraCannon" then
873
			data[n].objects=1709
874
		elseif a=="equipCompanion" then
875
			data[n].objects=61
876
		elseif a=="equipShamanCannon" then
877
			data[n].objects=1704
878
		elseif a=="equipWatermelon" then
879
			data[n].objects=1706
880
		elseif a=="equipIcedMouse" then
881
			data[n].objects=54
882
		elseif a=="equipCake" then
883
			data[n].objects=207
884
		elseif a=="equipMechAnvil" then
885
			data[n].objects=1002
886
		elseif a=="equipRock" then
887
			data[n].objects=1003
888
		elseif a=="shop" then
889
			shopPage1(n)
890
			data[n].p=0
891
		elseif a=="backTo1" then
892
			shopPage1(n)
893
		elseif a=="nextTo2" then
894
			shopPage2(n)
895
		elseif a=="backTo2" then
896
			shopPage2(n)
897
		elseif a=="nextTo3" then
898
			shopPage3(n)
899
		elseif a=="backTo3" then
900
			shopPage3(n)
901
		elseif a=="nextTo4" then
902
			shopPage4(n)
903
		end
904
--SHOP ITEMS
905
		if a=="buyIcedMouse" and (data[n].points>icedMouseCost or data[n].points==icedMouseCost) and data[n].icedMouse==false then
906
			data[n].inventory = data[n].inventory.."\n"..text[n].icedMouseInv
907
			data[n].objects=54
908
			tfm.exec.chatMessage(text[n].boughtIcedMouse,n)
909
910
			data[n].icedMouse=true
911
			data[n].points=data[n].points-icedMouseCost
912
		elseif a=="buyNyan" and (data[n].points>nyanCost or data[n].points==nyanCost) and data[n].nyan==false then
913
			data[n].inventory = data[n].inventory.."\n"..text[n].nyanInv
914
			data[n].objects=212
915
			tfm.exec.chatMessage(text[n].boughtNyan,n)
916
			data[n].nyan=true
917
			data[n].points=data[n].points-nyanCost
918
		elseif a=="buyUltraCannon" and (data[n].points>ultraCannonCost or data[n].points==ultraCannonCost) and data[n].ultraCannon==false then
919
			data[n].inventory = data[n].inventory.."\n"..text[n].ultraCannonInv
920
			data[n].objects=1709
921
			tfm.exec.chatMessage(text[n].boughtUltraCannon,n)
922
			data[n].ultraCannon=true
923
			data[n].points=data[n].points-ultraCannonCost
924
		elseif a=="buyCake" and (data[n].points>cakeCost or data[n].points==cakeCost) and data[n].cake==false then
925
			data[n].inventory=data[n].inventory.."\n"..text[n].cakeInv
926
927
			data[n].objects=207
928
			tfm.exec.chatMessage(text[n].boughtCake,n)
929
			data[n].cake=true
930
			data[n].points=data[n].points-cakeCost
931
		elseif a=="buyMechAnvil" and (data[n].points>mechAnvilCost or data[n].points==mechAnvilCost) and data[n].mechAnvil==false then
932
			data[n].inventory=data[n].inventory.."\n"..text[n].mechAnvilInv
933
934
			data[n].objects=1002
935
			tfm.exec.chatMessage(text[n].boughtMechAnvil,n)
936
			data[n].mechAnvil=true
937
			data[n].points=data[n].points-mechAnvilCost
938
		elseif a=="buyRock" and (data[n].points>rockCost or data[n].points==rockCost) and data[n].rock==false then
939
			data[n].inventory=data[n].inventory.."\n"..text[n].rockInv
940
941
			data[n].objects=1003
942
			tfm.exec.chatMessage(text[n].boughtRock,n)
943
			data[n].rock=true
944
			data[n].points=data[n].points-rockCost
945
946
		elseif a=="buy2Lives" and (data[n].points>Lives2 or data[n].points==Lives2) and data[n].lives2==false then
947
			data[n].normalLives=2
948
			tfm.exec.chatMessage(text[n].nowHave2Lives,n)
949
950
			data[n].points=data[n].points-Lives2
951
			data[n].lives2=true
952
		elseif a=="buyCompanion" and (data[n].points>companionCost or data[n].points==companionCost) and data[n].companion==false then
953
			data[n].objects=61
954
			data[n].inventory = data[n].inventory.."\n"..text[n].companionInv
955
			data[n].companion=true
956
957
			data[n].points=data[n].points-companionCost
958
			tfm.exec.chatMessage(text[n].boughtCompanion,n)
959
		elseif a=="buyShamanCannon" and (data[n].points>shamanCannonCost or data[n].points==shamanCannonCost) and data[n].shamanCannon==false then
960
			data[n].objects=1704
961
			data[n].inventory = data[n].inventory.."\n"..text[n].shamanCannonInv
962
			data[n].shamanCannon=true
963
964
			data[n].points=data[n].points-shamanCannonCost
965
			tfm.exec.chatMessage(text[n].boughtshamanCannon,n)
966
		elseif a=="buyWatermelon" and (data[n].points>watermelonCost or data[n].points==watermelonCost) and data[n].watermelon==false then
967
			data[n].objects=1706
968
			data[n].inventory = data[n].inventory.."\n"..text[n].watermelonInv
969
			data[n].watermelon=true
970
971
			data[n].points=data[n].points-watermelonCost
972
			tfm.exec.chatMessage(text[n].boughtWatermelon,n)
973
974
		end
975
end
976
977
function eventPlayerDied(n)
978
	wonCountDown=-5
979
		if data[n].role=="Death" and data[n].afk==false then
980
			tfm.exec.respawnPlayer(n)
981
			tfm.exec.movePlayer(n,200,30,false,0,0,false)
982
		end
983
		if data[n].role=="Death" and data[n].afk==true or runner==0 then
984
			tfm.exec.newGame(maps[math.random(#maps)])
985
		end
986
			data[n].lives=data[n].lives-1
987
		if data[n].role=="Runner" and data[n].lives==1 then
988
			tfm.exec.respawnPlayer(n)
989
		end
990
		if data[n].role=="Runner" and data[n].lives==0 then
991
			runner=runner-1
992
			count()
993
		end
994
end
995
function eventPlayerLeft(n)
996
	mice=0
997
	countMice()
998
	names={}
999
		for n in pairs(tfm.get.room.playerList) do
1000
			table.insert(names,n)
1001
		end
1002
	data[n].isInRoom=false
1003
	mice=mice-1
1004
		if mice<2 then
1005
			tfm.exec.newGame(7489132)
1006
				for n,player in pairs(tfm.get.room.playerList) do
1007
					tfm.exec.chatMessage("<R>"..text[n].need2People,n)
1008
				end
1009
		end
1010
		if n==randomDeath then
1011
			randomDeath=names[math.random(math.floor(mice))]
1012
		end
1013
		if data[n].role=="Runner" then
1014
			runner=runner-1
1015
		elseif data[n].role=="Death" then
1016
			death=death-1
1017
		end
1018
end
1019
function eventSummoningEnd(n,id,x,y,angle,t)
1020
	tfm.exec.removeObject(t.id)
1021
end
1022
1023
system.disableChatCommandDisplay("p",true)
1024
function eventChatCommand(l,c)
1025
	if c=="profile" then
1026
		profile(n)
1027
	end
1028
	if c=="mice" then
1029
		print(runner)
1030
	end
1031
	if c:sub(0,7)=="profile" and Dp(c:sub(9)) then
1032
		n = c:sub(9,9):upper()..c:sub(10):lower()
1033
		removeTextAreas(l)
1034
		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)
1035
		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)
1036
		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)
1037
		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)
1038
	end
1039
end
1040
1041
1042
1043
function eventPopupAnswer(id, n, a)
1044
	local click=a:match("<a href='")
1045
		if not click then
1046
			data[n].description = a
1047
			profile(n)
1048
			data[n].p=1
1049
		end
1050
end