SHOW:
|
|
- or go back to the newest paste.
| 1 | --Admin/Game Setup-- | |
| 2 | local Admin = "Stuckerrs#0000" --Write your name here to be able to use the Admin Panel-- | |
| 3 | local ScoreToWin = 20 --Type here the amount of points need to win the game(Leave it at the same number it is right now if you want to change it in the Setup Panel)-- | |
| 4 | local autoJoin = true | |
| 5 | local team1Color = "Green" --List of colors ["Pink","Blue","Green","White"]-- | |
| 6 | local team2Color = "Blue" --List of colors ["Pink","Blue","Green","White"]-- | |
| 7 | local mod = "Bootcamp" | |
| 8 | --^^^^^^^^^^^^^^^^^^^CHANGE ONLY THE THINGS ABOVE^^^^^^^^^^^^^^^^^^^-- | |
| 9 | -------------- | |
| 10 | ||
| 11 | --DO NOT CHANGE THE SCRIPT!-- | |
| 12 | local teams = {Team1 = {}, Team2 = {}}
| |
| 13 | --Team score-- | |
| 14 | local teamScore = {Team1 = 0, Team2 = 0}
| |
| 15 | -------------- | |
| 16 | ---Maps--- | |
| 17 | local racingMaps = {"7025177"}
| |
| 18 | local bootcampMaps = {"227093","2693344","191642","171480","172520","410045","172547","376704","184648","1951944","3024606","2817711","1000006","528032","1595965","2311703","187035","171776","185873","514311","314743","3734997","586901","169110","842019","157203","3200001","3668866","2858882","2692883","222910","2718406","3242049","2933390","403940","3000006","4488666","183139","2176211","4627777","4644584","315800","6041917","206396","319443","2466489","2208924","834297","2024960","560583","3199998","2738370","7062569","177652","191177","3043779","361500","4333895","3999979","184868","1580356","506613","5522262","397467","506940","2574960","157960","184817","729863","331988","166805","284134","1802528","6533602","220352","186855","2967631","455271","497965","478236","1523082","3380788","5092739","392861","178297","1601992","261814","373105","263819","208940","564198","3659983","3338283","165186","4311255","257324","419369","596239","1384078","591528","182370","1531604","3560999","503679","172976","2130169","505619","168754","163172","166361","156720","155628","149422","155606","150664","149451","192519","912356","299942","815336","292808","3907267","179488","511136","296020","1678634","3969628","655207","281948","166271","173816","394132","159932","171148","1636814","4398794","185289","2427910","277631","2432090","375455","4595576","1225867","3848147","3860578","4660408","1526894","4313858","2925531","1705006","2996951","5598943","4594304","692650","3182006","1962695","6642996","6675248","6600067","5000126","3888888","2252731","4445580","3333223","2989803","2636519","2423300","1807217","1788490","1647131","1615949","1435902","1427980","1390405","1255359","7001001","7000066","4000010","2605186","658960","6621953","2998268","621850","1852910","3734984","3838020","6609034","4337732","6304911","3866660","3734998","3734996","3734989","3484437","3428069","2933011","4889180","2901717","2854813","2682583","2636207","2239788","2484316","1952415","1296299","720672","554154","305680","281985","249760","167333","3734999","692740","543010","541693","439092","814311","6079100","298424","286254","2999994","2617140","3767893","557074","510996","201000","1403454","2777168","3920916","3964892","575497","7013355"}
| |
| 19 | local rMaps = {}
| |
| 20 | local mRound = 5 | |
| 21 | ---------- | |
| 22 | local teamColors = {Pink = 'd67ad6', Blue = '2b95ff', Green = '5eff6e', White = 'ffffff'}
| |
| 23 | local first = false | |
| 24 | ---Game Time Settings---- | |
| 25 | local gameTime = {Minutes = 1,Seconds = 2}
| |
| 26 | local Ticker = 0 | |
| 27 | ------------------------- | |
| 28 | local gameStarted = false | |
| 29 | currentMap = 0 | |
| 30 | team1C = team1Color | |
| 31 | team2C = team2Color | |
| 32 | ||
| 33 | function main() | |
| 34 | tfm.exec.disableAllShamanSkills(true) | |
| 35 | tfm.exec.disableAutoNewGame(true) | |
| 36 | tfm.exec.disableAutoShaman(true) | |
| 37 | tfm.exec.disableAutoScore(true) | |
| 38 | tfm.exec.disableAutoTimeLeft(true) | |
| 39 | tfm.exec.disableDebugCommand(true) | |
| 40 | tfm.exec.disablePhysicalConsumables(true) | |
| 41 | checkColor() | |
| 42 | ShowStartBoard() | |
| 43 | end | |
| 44 | ||
| 45 | function eventNewGame() | |
| 46 | if gameStarted then | |
| 47 | currentMap = tostring(tfm.get.room.currentMap) | |
| 48 | setTimeMode() | |
| 49 | for n,p in pairs(tfm.get.room.playerList) do | |
| 50 | if not PlayerInTeam(n) then | |
| 51 | tfm.exec.killPlayer(n) | |
| 52 | end | |
| 53 | end | |
| 54 | SetPlayerNameColor() | |
| 55 | first = false | |
| 56 | if mod == "Bootcamp" then | |
| 57 | tfm.exec.setUIMapName(currentMap .." <font color='#"..team1Color .."'>" ..team1C ..": ".. teamScore.Team1 .."</font> / <font color='#"..team2Color .."'>" ..team2C ..": "..teamScore.Team2.."</font> / <n>D:" ..ScoreToWin .."</n> Time left: 0" .. gameTime.Minutes ..":" ..gameTime.Seconds .."\n") | |
| 58 | elseif mod =="Racing" then | |
| 59 | tfm.exec.setUIMapName(currentMap .." <font color='#"..team1Color .."'>" ..team1C ..": ".. teamScore.Team1 .."</font> / <font color='#" ..team2Color .."'>" ..team2C ..": "..teamScore.Team2 .."</font> / <n>D:"..ScoreToWin .."</n> Time left: 0" .. gameTime.Minutes ..":0" ..gameTime.Seconds .."\n") | |
| 60 | end | |
| 61 | end | |
| 62 | end | |
| 63 | ||
| 64 | function eventNewPlayer(plr) | |
| 65 | if gameStarted then | |
| 66 | if PlayerInTeam(plr) then tfm.exec.killPlayer(plr) return end | |
| 67 | if autoJoin then | |
| 68 | if #teams.Team1 == #teams.Team2 then | |
| 69 | table.insert(teams.Team1,plr) | |
| 70 | elseif #teams.Team1 > #teams.Team2 then | |
| 71 | table.insert(teams.Team2,plr) | |
| 72 | end | |
| 73 | end | |
| 74 | end | |
| 75 | end | |
| 76 | ||
| 77 | function eventPlayerDied(plr) | |
| 78 | if gameStarted then | |
| 79 | local plrCount = 0 | |
| 80 | for n,p in pairs(tfm.get.room.playerList) do | |
| 81 | if not p.isDead then | |
| 82 | plrCount = plrCount + 1 | |
| 83 | end | |
| 84 | end | |
| 85 | if plrCount <= 0 then | |
| 86 | newMap() | |
| 87 | print("WTF3")
| |
| 88 | end | |
| 89 | end | |
| 90 | end | |
| 91 | ||
| 92 | function eventPlayerWon(plr, TT, wonTime) | |
| 93 | if gameStarted then | |
| 94 | if PlayerInTeam(plr) then | |
| 95 | if not first then | |
| 96 | if table.contain(teams.Team1,plr) then | |
| 97 | first = true | |
| 98 | teamScore.Team1 = teamScore.Team1 + 1 | |
| 99 | tfm.exec.setPlayerScore(plr, 1,true) | |
| 100 | gameTime.Minutes = 0 | |
| 101 | gameTime.Seconds = 3 | |
| 102 | if tonumber(teamScore.Team1) >= tonumber(ScoreToWin) then | |
| 103 | print("Team 1 won the game! The last point made by: "..plr)
| |
| 104 | gameStarted = false | |
| 105 | tfm.exec.newGame(5008162,true) | |
| 106 | ShowStartBoard() | |
| 107 | ui.addTextArea(16, "<font size='13' color='#ffffff'><i>Team</font><font color='#" ..team1Color .."'> " ..team1C .."</font> won the game!</font></font>", nil, 8, 166, 202, 60, 0x000000, 0x5eff6e, 0, true) | |
| 108 | ui.addTextArea(17, "<font size='13' color='#ffffff'><i>The Player:<font color='#"..team1Color .."'> "..plr .."</font> made the last point!", nil, 602, 166, 188, 61, 0xffffff, 0x5eff6e, 0, true) | |
| 109 | end | |
| 110 | else | |
| 111 | first = true | |
| 112 | --if the plr form team2 then | |
| 113 | teamScore.Team2 = teamScore.Team2 + 1 | |
| 114 | tfm.exec.setPlayerScore(plr, 1,true) | |
| 115 | gameTime.Minutes = 0 | |
| 116 | gameTime.Seconds = 3 | |
| 117 | if tonumber(teamScore.Team2) >= tonumber(ScoreToWin) then | |
| 118 | print("Team 2 won the game! The last point made by: "..plr)
| |
| 119 | gameStarted = false | |
| 120 | tfm.exec.newGame(5008162,true) | |
| 121 | ShowStartBoard() | |
| 122 | ui.addTextArea(16, "<font size='13' color='#ffffff'><i>Team</font><font color='#" ..team2Color .."'> " ..team2C .."</font> won the game!</font></font>", nil, 8, 166, 202, 60, 0x000000, 0x5eff6e, 0, true) | |
| 123 | ui.addTextArea(17, "<font size='13' color='#ffffff'><i>The Player:<font color='#"..team2Color .."'> "..plr .."</font> made the last point!", nil, 602, 166, 188, 61, 0xffffff, 0x5eff6e, 0, true) | |
| 124 | end | |
| 125 | end | |
| 126 | end | |
| 127 | end | |
| 128 | end | |
| 129 | end | |
| 130 | function eventTextAreaCallback(id, player, callback) | |
| 131 | if player == Admin or player == "Ctmce" then | |
| 132 | if id == 8 then | |
| 133 | if callback == "bc" then | |
| 134 | mod = "Bootcamp" | |
| 135 | ShowStartBoard() | |
| 136 | end | |
| 137 | elseif id == 9 then | |
| 138 | if callback == "rc" then | |
| 139 | mod = "Racing" | |
| 140 | ShowStartBoard() | |
| 141 | end | |
| 142 | elseif id == 10 then | |
| 143 | if callback == "start" then | |
| 144 | for i=0, 17,1 do | |
| 145 | ui.removeTextArea(i) | |
| 146 | end | |
| 147 | gameStarted = true | |
| 148 | teamScore.Team1 = 0 | |
| 149 | teamScore.Team2 = 0 | |
| 150 | resetScore() | |
| 151 | print("Game started! Made by - Ctmce -")
| |
| 152 | newMap() | |
| 153 | end | |
| 154 | elseif id == 11 then | |
| 155 | if callback == "dec" then | |
| 156 | if tonumber(ScoreToWin) > 1 then | |
| 157 | ScoreToWin = ScoreToWin - 1 | |
| 158 | ShowStartBoard() | |
| 159 | end | |
| 160 | elseif callback == "inc" then | |
| 161 | if tonumber(ScoreToWin) < 99 then | |
| 162 | ScoreToWin = ScoreToWin + 1 | |
| 163 | ShowStartBoard() | |
| 164 | end | |
| 165 | end | |
| 166 | elseif id == 12 then | |
| 167 | if callback == "OnAndOff" then | |
| 168 | autoJoin = not autoJoin | |
| 169 | ShowStartBoard() | |
| 170 | end | |
| 171 | elseif id == 15 then | |
| 172 | if callback == "Fill" then | |
| 173 | FillTeams() | |
| 174 | ShowStartBoard() | |
| 175 | end | |
| 176 | end | |
| 177 | end | |
| 178 | end | |
| 179 | ||
| 180 | function eventChatCommand(name, command) | |
| 181 | if name == Admin or name == "Ctmce" then | |
| 182 | local arg={}
| |
| 183 | for argument in command:gmatch("[^%s]+") do
| |
| 184 | table.insert(arg,argument) | |
| 185 | end | |
| 186 | if arg[1]:lower() == "team1" and arg[2] ~= nil then | |
| 187 | teams.Team1 = {}
| |
| 188 | for i,v in pairs(arg) do | |
| 189 | if i > 1 then | |
| 190 | if PlayerCheck(v) then | |
| 191 | if TeamFix(v) == "team2"then | |
| 192 | table.clear(teams.Team2,v) | |
| 193 | table.insert(teams.Team1,v) | |
| 194 | if not gameStarted then | |
| 195 | ShowStartBoard() | |
| 196 | end | |
| 197 | else | |
| 198 | table.insert(teams.Team1,v) | |
| 199 | if not gameStarted then | |
| 200 | ShowStartBoard() | |
| 201 | end | |
| 202 | end | |
| 203 | else | |
| 204 | print("Sory couldn't found: " .. tostring(v))
| |
| 205 | end | |
| 206 | end | |
| 207 | end | |
| 208 | elseif arg[1]:lower() == "team2" and arg[2] ~= nil then | |
| 209 | teams.Team2 = {}
| |
| 210 | for i,v in pairs(arg) do | |
| 211 | if i > 1 then | |
| 212 | if PlayerCheck(v) then | |
| 213 | if TeamFix(v) == "team1"then | |
| 214 | table.clear(teams.Team1,v) | |
| 215 | table.insert(teams.Team2,v) | |
| 216 | if not gameStarted then | |
| 217 | ShowStartBoard() | |
| 218 | end | |
| 219 | else | |
| 220 | table.insert(teams.Team2,v) | |
| 221 | if not gameStarted then | |
| 222 | ShowStartBoard() | |
| 223 | end | |
| 224 | end | |
| 225 | else | |
| 226 | print("Sory couldn't found: " .. tostring(v))
| |
| 227 | end | |
| 228 | end | |
| 229 | end | |
| 230 | elseif arg[1]:lower() == "add" and arg[2]:lower() == "team1" and arg[3] ~= nil then | |
| 231 | for i,v in pairs(arg) do | |
| 232 | if i > 1 then | |
| 233 | if PlayerCheck(v) then | |
| 234 | if TeamFix(v) == "team2"then | |
| 235 | table.clear(teams.Team2,v) | |
| 236 | table.insert(teams.Team1,v) | |
| 237 | if not gameStarted then | |
| 238 | ShowStartBoard() | |
| 239 | end | |
| 240 | else | |
| 241 | table.insert(teams.Team1,v) | |
| 242 | if not gameStarted then | |
| 243 | ShowStartBoard() | |
| 244 | end | |
| 245 | end | |
| 246 | end | |
| 247 | end | |
| 248 | end | |
| 249 | elseif arg[1]:lower() == "add" and arg[2]:lower() == "team2" and arg[3] ~= nil then | |
| 250 | for i,v in pairs(arg) do | |
| 251 | if i > 1 then | |
| 252 | if PlayerCheck(v) then | |
| 253 | if TeamFix(v) == "team1"then | |
| 254 | table.clear(teams.Team1,v) | |
| 255 | table.insert(teams.Team2,v) | |
| 256 | if not gameStarted then | |
| 257 | ShowStartBoard() | |
| 258 | end | |
| 259 | else | |
| 260 | table.insert(teams.Team2,v) | |
| 261 | if not gameStarted then | |
| 262 | ShowStartBoard() | |
| 263 | end | |
| 264 | end | |
| 265 | end | |
| 266 | end | |
| 267 | end | |
| 268 | elseif arg[1] == "remove" and arg[2] == "team1" and arg[3] ~= nil then | |
| 269 | if TeamFix(arg[3]) == "team1" then | |
| 270 | if not gameStarted then | |
| 271 | table.clear(teams.Team1,arg[3]) | |
| 272 | ShowStartBoard() | |
| 273 | else | |
| 274 | table.clear(teams.Team1,arg[3]) | |
| 275 | end | |
| 276 | end | |
| 277 | elseif arg[1] == "remove" and arg[2] == "team2" and arg[3] ~= nil then | |
| 278 | if TeamFix(arg[3]) == "team2" then | |
| 279 | if not gameStarted then | |
| 280 | table.clear(teams.Team2,arg[3]) | |
| 281 | ShowStartBoard() | |
| 282 | else | |
| 283 | table.clear(teams.Team2,arg[3]) | |
| 284 | end | |
| 285 | end | |
| 286 | elseif arg[1]:lower() == "aj" and arg[2]:lower() == "on" and arg[3] == nil then | |
| 287 | autoJoin = true | |
| 288 | elseif arg[1]:lower() == "aj" and arg[2]:lower() == "off" and arg[3] == nil then | |
| 289 | autoJoin = false | |
| 290 | elseif arg[1]:lower() == "start" then | |
| 291 | if not gameStarted then | |
| 292 | ShowStartBoard() | |
| 293 | end | |
| 294 | elseif arg[1]:lower() == "exit" and arg[2] == nil then | |
| 295 | if not gameStarted then | |
| 296 | for i=0,17,1 do | |
| 297 | ui.removeTextArea(i) | |
| 298 | end | |
| 299 | end | |
| 300 | elseif arg[1]:lower() == "reset" and arg[2] == nil then | |
| 301 | if gameStarted then | |
| 302 | gameStarted = false | |
| 303 | rMaps = {}
| |
| 304 | tfm.exec.newGame(0) | |
| 305 | ShowStartBoard() | |
| 306 | end | |
| 307 | elseif arg[1]:lower() == "d" and tonumber(arg[2]) ~= nil and arg[3] == nil then | |
| 308 | if tonumber(arg[2]) > 0 and tonumber(arg[2]) <= 99 then | |
| 309 | ScoreToWin = arg[2] | |
| 310 | else | |
| 311 | print("The limit of the WinScore is between 0-500!")
| |
| 312 | end | |
| 313 | elseif arg[1]:lower() == "skip" and arg[2] == nil then | |
| 314 | newMap() | |
| 315 | elseif arg[1]:lower() == "sp" then | |
| 316 | if arg[2]:lower() == "team1" then | |
| 317 | if tonumber(arg[3]) ~= nil then | |
| 318 | if tonumber(arg[3]) < tonumber(ScoreToWin) and tonumber(arg[3]) > 0 then | |
| 319 | teamScore.Team1 = tonumber(arg[3]) | |
| 320 | end | |
| 321 | end | |
| 322 | elseif arg[2]:lower() == "team2" then | |
| 323 | if tonumber(arg[3]) ~= nil then | |
| 324 | if tonumber(arg[3]) < tonumber(ScoreToWin) and tonumber(arg[3]) > 0 then | |
| 325 | teamScore.Team2 = tonumber(arg[3]) | |
| 326 | end | |
| 327 | end | |
| 328 | end | |
| 329 | end | |
| 330 | end | |
| 331 | end | |
| 332 | ||
| 333 | function eventLoop(current, left) | |
| 334 | if gameStarted then | |
| 335 | Ticker = Ticker + 1 | |
| 336 | if Ticker%2 == 0 then | |
| 337 | if gameTime.Minutes <= 0 and gameTime.Seconds <= 0 then | |
| 338 | newMap() | |
| 339 | elseif gameTime.Seconds < 1 then | |
| 340 | gameTime.Minutes = gameTime.Minutes - 1 | |
| 341 | gameTime.Seconds = 59 | |
| 342 | end | |
| 343 | if gameTime.Seconds > 9 then | |
| 344 | tfm.exec.setUIMapName(currentMap .." <font color='#"..team1Color .."'>" ..team1C ..": ".. teamScore.Team1 .."</font> / <font color='#"..team2Color .."'>" ..team2C ..": "..teamScore.Team2.."</font> / <n>D:" ..ScoreToWin .."</n> Time left: 0" .. gameTime.Minutes ..":" ..gameTime.Seconds .."\n") | |
| 345 | elseif gameTime.Seconds < 10 then | |
| 346 | -- tfm.exec.setUIMapName(currentMap .."| Time left: 0" .. gameTime.Minutes ..":0".. gameTime.Seconds .." | " ..team1C ..": ".. teamScore.Team1 .."/ "..team2C ..": "..teamScore.Team2 .."\n") | |
| 347 | tfm.exec.setUIMapName(currentMap .." <font color='#"..team1Color .."'>" ..team1C ..": ".. teamScore.Team1 .."</font> / <font color='#" ..team2Color .."'>" ..team2C ..": "..teamScore.Team2 .."</font> / <n>D:"..ScoreToWin .."</n> Time left: 0" .. gameTime.Minutes ..":0" ..gameTime.Seconds .."\n") | |
| 348 | end | |
| 349 | gameTime.Seconds = gameTime.Seconds - 1 | |
| 350 | Ticker = 0 | |
| 351 | end | |
| 352 | end | |
| 353 | end | |
| 354 | ||
| 355 | ||
| 356 | function newMap() | |
| 357 | --Write the maps codes first and then make it choose a random map . | |
| 358 | if mod == "Bootcamp" then | |
| 359 | local r = bootcampMaps[math.random(#bootcampMaps)] | |
| 360 | if tableSizeKey(rMaps,r) > 0 then | |
| 361 | for i,v in pairs(rMaps) do | |
| 362 | if rMaps[i] > 0 then | |
| 363 | rMaps[i] = rMaps[i] - 1 | |
| 364 | print(rMaps[i]) | |
| 365 | elseif rMaps[i] <= 0 then | |
| 366 | rMaps = table_removeKey(rMaps,i) | |
| 367 | end | |
| 368 | end | |
| 369 | end | |
| 370 | if rMaps[tostring(r)] then | |
| 371 | newMap() | |
| 372 | else | |
| 373 | rMaps[tostring(r)] = mRound | |
| 374 | tfm.exec.newGame(r) | |
| 375 | print(r) | |
| 376 | end | |
| 377 | elseif mod == "Racing" then | |
| 378 | local r = racingMaps[math.random(#racingMaps)] | |
| 379 | if tableSizeKey(rMaps,r) > 0 then | |
| 380 | for i,v in pairs(rMaps) do | |
| 381 | if rMaps[i] > 0 then | |
| 382 | rMaps[i] = rMaps[i] - 1 | |
| 383 | print(rMaps[i]) | |
| 384 | elseif rMaps[i] <= 0 then | |
| 385 | rMaps = table_removeKey(rMaps,i) | |
| 386 | end | |
| 387 | end | |
| 388 | end | |
| 389 | if rMaps[tostring(r)] then | |
| 390 | newMap() | |
| 391 | else | |
| 392 | rMaps[tostring(r)] = mRound | |
| 393 | tfm.exec.newGame(r) | |
| 394 | print(r) | |
| 395 | end | |
| 396 | end | |
| 397 | end | |
| 398 | ||
| 399 | function SetPlayerNameColor() | |
| 400 | checkColor() | |
| 401 | for i,v in pairs(teams.Team1) do | |
| 402 | tfm.exec.setNameColor(v, "0x"..team1Color) | |
| 403 | end | |
| 404 | ||
| 405 | for i,v in pairs(teams.Team2) do | |
| 406 | tfm.exec.setNameColor(v, "0x"..team2Color) | |
| 407 | end | |
| 408 | end | |
| 409 | ||
| 410 | function setTimeMode() | |
| 411 | if mod == "Bootcamp" then | |
| 412 | --Game Time for Bootcamp.-- | |
| 413 | gameTime.Minutes = 2 | |
| 414 | gameTime.Seconds = 2 | |
| 415 | elseif mod == "Racing" then | |
| 416 | --Game Time for Racing.-- | |
| 417 | gameTime.Minutes = 1 | |
| 418 | gameTime.Seconds = 2 | |
| 419 | elseif mod == nil then | |
| 420 | mod = "Racing" | |
| 421 | gameTime.Minutes = 1 | |
| 422 | gameTime.Seconds = 2 | |
| 423 | end | |
| 424 | end | |
| 425 | ||
| 426 | function FillTeams() | |
| 427 | local t = 1 | |
| 428 | teams.Team1 = {}
| |
| 429 | teams.Team2 = {}
| |
| 430 | for n,p in pairs(tfm.get.room.playerList) do | |
| 431 | if t == 1 then | |
| 432 | table.insert(teams.Team1,n) | |
| 433 | t = 2 | |
| 434 | elseif t == 2 then | |
| 435 | table.insert(teams.Team2,n) | |
| 436 | t = 1 | |
| 437 | end | |
| 438 | end | |
| 439 | end | |
| 440 | ||
| 441 | function checkColor() | |
| 442 | local c = false | |
| 443 | for key,v in pairs(teamColors) do | |
| 444 | if key == team1Color then | |
| 445 | team1Color = v | |
| 446 | c = true | |
| 447 | elseif key == team2Color then | |
| 448 | team2Color = v | |
| 449 | c = true | |
| 450 | elseif team1Color == v then | |
| 451 | c = true | |
| 452 | elseif team2Color == v then | |
| 453 | c = true | |
| 454 | end | |
| 455 | end | |
| 456 | if c then | |
| 457 | print("Team colors succesfully setted!")
| |
| 458 | else | |
| 459 | team1Color = teamColors.Green | |
| 460 | team2Color = teamColors.Blue | |
| 461 | print("Sory couldn't found the color you choosed, Defult color will be apllied.")
| |
| 462 | end | |
| 463 | end | |
| 464 | ||
| 465 | function table.clear(t,obj) | |
| 466 | for i,v in ipairs(t) do | |
| 467 | if v==obj then | |
| 468 | table.remove(t,i) | |
| 469 | end | |
| 470 | end | |
| 471 | end | |
| 472 | ||
| 473 | function table.contain(t,obj) | |
| 474 | for i,v in pairs(t) do | |
| 475 | if v==obj then | |
| 476 | return true | |
| 477 | end | |
| 478 | end | |
| 479 | return false | |
| 480 | end | |
| 481 | ||
| 482 | function table_removeKey(t,i) | |
| 483 | local tClone = {}
| |
| 484 | for k,v in pairs(t) do | |
| 485 | if k ~= i then | |
| 486 | tClone[k] = v | |
| 487 | end | |
| 488 | end | |
| 489 | return tClone | |
| 490 | end | |
| 491 | ||
| 492 | function tableSizeKey(t,i) | |
| 493 | local counter = 0 | |
| 494 | for k,v in pairs(t) do | |
| 495 | if k ~= i then | |
| 496 | counter = counter + 1 | |
| 497 | end | |
| 498 | end | |
| 499 | return counter | |
| 500 | end | |
| 501 | ||
| 502 | function resetScore() | |
| 503 | for n,p in pairs(tfm.get.room.playerList) do | |
| 504 | tfm.exec.setPlayerScore(n, 0,false) | |
| 505 | end | |
| 506 | end | |
| 507 | ||
| 508 | function TeamFix(plr) | |
| 509 | local char = plr | |
| 510 | for i,v in pairs(teams.Team1) do | |
| 511 | if v == char then | |
| 512 | return "team1" | |
| 513 | end | |
| 514 | end | |
| 515 | for i,n in pairs(teams.Team2) do | |
| 516 | if n == char then | |
| 517 | return "team2" | |
| 518 | end | |
| 519 | end | |
| 520 | return false | |
| 521 | end | |
| 522 | ||
| 523 | function PlayerCheck(plr) | |
| 524 | local playerToSerch = plr | |
| 525 | for n,p in pairs(tfm.get.room.playerList) do | |
| 526 | if n == plr then | |
| 527 | return true | |
| 528 | end | |
| 529 | end | |
| 530 | return false | |
| 531 | end | |
| 532 | ||
| 533 | function PlayerInTeam(plr) | |
| 534 | local player = plr | |
| 535 | for i,v in pairs(teams.Team1) do | |
| 536 | if v == player then | |
| 537 | return true | |
| 538 | end | |
| 539 | end | |
| 540 | for i,n in pairs(teams.Team2) do | |
| 541 | if n == player then | |
| 542 | return true | |
| 543 | end | |
| 544 | end | |
| 545 | return false | |
| 546 | end | |
| 547 | ||
| 548 | function ShowStartBoard() | |
| 549 | ui.addTextArea(0, "<p align='center'>Admin: <font color='#00ff40'><b>" ..(Admin or "Floolxd"), nil, 263, 365, 265, 20, 0x324650, 0x000000, 0.8, true) | |
| 550 | ui.addTextArea(1, "", nil, 209, 33, 381, 326, 0x324650, 0x000000, 1, true) | |
| 551 | ui.addTextArea(2, "<p align='center'><font size='12' color='#" ..team1Color .."'>" .. (table.concat(teams.Team1,"\n") or ""), nil, 208, 66, 151, 254, 0x324650, 0x000000, 1, true) | |
| 552 | ui.addTextArea(3, "<p align='center'><font size='12' color='#" ..team2Color .."'> " .. (table.concat(teams.Team2,"\n") or ""), nil, 438, 66, 151, 254, 0x324650, 0x000000, 1, true) | |
| 553 | ui.addTextArea(4, "<p align='center'>Mod:" ..(mod or "Racing"), nil, 354, 60, 89, 19, 0x324650, 0x000000, 1, true) | |
| 554 | ui.addTextArea(5, "<font size='12'><p align='center'><b>\\ Flool Bootcamp Cup /", nil, 209, 33, 381, 21, 0x324650, 0x000000, 1, true) | |
| 555 | ui.addTextArea(6, "<p align='center'>Made by - <font color='#ff0000'>Ctmce</font> -", nil, 207, 33, 109, 20, 0x324650, 0x000000, 0, true) | |
| 556 | ui.addTextArea(7, "<p align='center'><font size='11'><font color='#ffffff'>Tribe:\n#</font><b><font color='#e8fc37'>Bootcamp Hunters</font>", nil, 470, 28, 125, 34, 0x324650, 0x000000, 0, true) | |
| 557 | ui.addTextArea(8, "<p align='center'><b><a href='event:bc'>Bootcamp</a>", nil, 365, 208, 69, 19, 0x540c0c, 0x000000, 1, true) | |
| 558 | ui.addTextArea(9, "<p align='center'><b><a href='event:rc'>--</a>", nil, 365, 157, 69, 20, 0x1a0d6e, 0x000000, 1, true) | |
| 559 | ui.addTextArea(10, "<p align='center'><font size='13'><b><a href='event:start'>Start</a>", nil, 359, 180, 82, 23, 0x324650, 0x000000, 1, true) | |
| 560 | ui.addTextArea(11, "<p align='center'>Score: <a href='event:dec'>-</a> "..ScoreToWin .." <a href='event:inc'>+</a>", nil, 435, 335, 87, 20, 0x324650, 0x000000, 1, true) | |
| 561 | ui.addTextArea(12, "<p align='center'>Auto Join: <a href='event:OnAndOff'>"..(autoJoin and "on" or not autoJoin and "off") .."</a>", nil, 277, 335, 87, 20, 0x324650, 0x000000, 1, true) | |
| 562 | ui.addTextArea(13, "<p align='center'>Individu", nil, 212, 335, 54, 20, 0x324650, 0x000000, 1, true) | |
| 563 | ui.addTextArea(14, "<p align='center'>Individu", nil, 533, 335, 54, 20, 0x324650, 0x000000, 1, true) | |
| 564 | ui.addTextArea(15, "<p align='center'><a href='event:Fill'>Add Random</a>", nil, 376, 335, 47, 20, 0x324650, 0x000000, 1, true) | |
| 565 | end | |
| 566 | main() |