Advertisement
Guest User

Untitled

a guest
May 20th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.67 KB | None | 0 0
  1.  
  2. --[[
  3. ____ _____
  4. |___ \ |_ _| ___ __ _ _ __ ___ ___
  5. __) | | | / _ \ / _` | | '_ ` _ \ / __|
  6. / __/ | | | __/ | (_| | | | | | | | \__ \
  7. |_____| |_| \___| \__,_| |_| |_| |_| |___/
  8. __ __
  9. \ \ / / ___
  10. \ \ / / / __|
  11. \ V / \__ \
  12. \_/ |___/
  13. _____ _ _ _ _
  14. |_ _| | || | | | | |
  15. | | _ __ ___ | || | ___ __ _ _ __ __| | ___ | | ___
  16. | | | '__| / _ \ | || | / _ \ / _` || '_ \ / _` | / _ \ | | / _ \
  17. | | | | | (_) || || || __/| (_| || | | ||
  18. (_| || (_) || || (_) |
  19. \_/ |_| \___/ |_||_| \___| \__,_||_| |_| \__,_| \___/ |_| \___/
  20. V5.0
  21. -----------------------------------------------------------------------------------]]
  22. local ADMINISTRADOR = "sauljaja#0000" -- change 'Trolleandolo' with your nick
  23. -----------------------------------------------------------------------------------]]
  24. --[[
  25. Commands:
  26. !skip - for change the map
  27. !points - for change the points of a team !points team3 0
  28. !np @codigo - for place a new map in the queue
  29. !team - for assign a team. eg !team1 trolleandolo roseyeux nikoolar4
  30. !d NUMERO - assign the score for win eg !d 10
  31. !add team nick - add a player to a team, ej: !add team4 Trolleandolo
  32. !reset - reset the game
  33. !quit NOMBRE - ban a player for the game
  34. !autojoin yes/no - if a new player join in the room this command decides if enter or no in azar team
  35. --------------------------------------------------------------------
  36. ]]
  37. -----------------------------------------------------------------------------------
  38. local WINS = 20 -- score for win
  39. ------------------------------------------------------------------------------------
  40.  
  41. --[[
  42. ____ _ _ _ _ _ ____ _____ ____
  43. / ___| | | | | / \ | \ | | / ___| | ____| / ___|
  44. | | | |_| | / _ \ | \| | | | _ | _| \___ \
  45. | |___ | _ | / ___ \ | |\ | | |_| | | |___ ___) |
  46. \____| |_| |_| /_/ \_\ |_| \_| \____| |_____| |____/
  47. ___________________________________________________________
  48.  
  49. - Added [First Counter in the score bar]
  50. - Added [Button AutoJoin]
  51. - Added [Command !autojoin yes/no]
  52. - Optimized
  53. - Bugs Correcteds
  54. ]]
  55.  
  56. system.disableChatCommandDisplay("np", true)
  57. system.disableChatCommandDisplay("pause", true)
  58. system.disableChatCommandDisplay("skip", true)
  59. tfm.exec.disableAutoScore()
  60. tfm.exec.disablePhysicalConsumables()
  61. tfm.exec.disableAutoShaman()
  62. tfm.exec.disableAutoNewGame()
  63. tfm.exec.disableAutoTimeLeft()
  64. local teams = {
  65. [1] = {},
  66. [2] = {},
  67. }
  68. local points = {
  69. [1] = 0,
  70. [2] = 0,
  71. }
  72. local automatico = true
  73. local modob = "racing"
  74. local distanciay = 80
  75. local textarealugar = 300
  76. local textareaid = 0
  77. local jugadores = 0
  78. local equipo = {}
  79. local jugador = ""
  80. local teamc = 1
  81. local mapasmix = {203664,375455,394132,173816,171776,199210,562897,172951,171148,166430,169076,330933,179488,172621,168754,159145,163596,152733,410040,158909,261814,195453,281985,191205,159932,2176211,586901,285589,257324,236768,303151,270924,1324259,1225867,563436,424604,523270,172547,2693587,168204,2693344,193662,1788490,305680,149451,176253,342035,2466489,292808,176615,438333,394125,162482,304861,458528,159298,184648,268915,329318,373105,261298,302080,449496,159187,176710,161023,366260,1852910,201172,549759,257715,397478,261298,177652,408643,447805,155606,176619,460961,455271,172512,320607,166271,299942,150664,186066,152260,155628,166805,178297,313138,167903,223947,191177,185873,113156,156720,163159,197229,204647,163531,232675,216173,166361,169059,271411,277824,306365,172520,157098,225744,608368,215933,266398,343875,327354,331344,333002,223174,332130,254785,295487,184817,159691,235717,169228,191203,503679,506032,2747525,192255,208056,171480,182681,219956,270143,2887929,247329,250610,2118599,445133,149853,212903,220737,397296,2617003,629731,329627,221767,422655,417816,164931,245152,371072,2458243,214788,274963,2439335,269534,8679,321268,398041,5591416,5650343,5650250,161730,4273207,4091580,5650303,5172709,5650469,214660,3579335,4003729,508451,314205,156510,5545443,606723,3946626,332467,1665516,1614563,3679884,414899,1531388,905496,3834905,3821104,1851411,3816991,2331474,313245,266854,193588,2141379,3738767,232791,285752,278506,406266,1976857,301315,180469,3693822,280896,403698,259604,418022,323366,594883,477603,437860,590641,3688419,3682405,645288,419374,664949,704015,398942,195720,314159,613985,3683383,3683201,3680223,3680221,363625,1693705,319524,3667358,1718723,1490438,3630433,3620542,3617674,3556489,3548406,3548376,3408247,2953315,2883986,2683170,2645615,2536577,2453022,2372538,2287914,2286056,2223685,2150335,2150335,2101747,2018511,2007205,1975684,1964752,1964700,1956555,1923785,1862800,1716949,1674534,1658171,1659639,1657360,1657021,1654105,1651658,1643157,1634741,1632706,1622737,1619934,1618110,1613550,1612796,1612436,1608638,6212895,1602654,1601492,1586439,1588884,1573997,1567620,1542618,1539791,1513407,1509474,1503393,1487161,1450554,1425101,1394120,1393405,1373000,1371239,1368222,1359797,1358446,1352534,1346440,1321664,1321417,1281981,1255130,1222899,1214182,1195842,1143815,1132357,1058681,979179,829657,813156,798953,749102,737841,627609,624721,608459,616373,594049,606719,586688,580031,564033,558790,551126,545493,536235,528428,511275,508106,501711,496945,496091,483924,472665,472379,447556,445133,444490,441047,438154,436447,436107,431373,430145,429822,428517,427300,425806,424795,422361,421302,420956,420806,418658,418600,416142,412316,410813,412211,410565,410532,410230,407457,407455,407230,407165,406982,406881,406486,405295,403910,401995,401945,401778,397938,397812,397296,396861,396645,391625,387270,387180,386046,385295,386029,379745,378826,379866,364998,359055,352885,352710,350251,344952,340069,339896,339643,337774,323600,319841,317754,309029,308711,308435,306213,292348,278916,277784,275514,270819,1017676,160762,2089069,234039,267187,263163,262144,330590,403698,396105,6538564,396105,419735,6547536,355658,6607378,191716,292348,6456247,5326916,6077025,356722,2564883,1450554,494706,254291,1503393,6467947,6263285,2953315,6114281,412752,4038817,5461992,319841,359901,191716,452016,1450554,397296,250610,499684,5848412,238791,2283,232274,1716693,330590,459349,6583596,455167,6460747,251459,244888,5755208,240973,235501,235034,234039,233398,232274,230510,216735,216439,216505,214037,212542,211565,198715,193936,191716,186604,180274,176263,178657,146801,145020,3154,2283,5382692,5249500,4412890,5163891,789128,2245005,2030343,5712914,372401,5087373,4953687,2369254,4853690,226069,422509,5436200,732880,4038817,400866,3730656,3985806,355658,5175727,5699298,5588646,3921436,3639993,3984750,508796,1985019,4734427,1703617,289068,197219,333666,6077025,5710586,322321,331572,4741601,158128,6310411,6312498,6310396,6312188,6473912,6389619,6854536,6854539,6312173,6315208,6312203,6310370,6310383,6853060,6310440,6547670,7062105,6545742,6985344,960547}
  82. local mapasbootcamp= {227093,608368,176710,3343092,2050389,3161324,192158,320483,3264848,3999991,1398609,1018394,192255,204488,563436,191642,2708585,1893451,170514,279337,239698,3500755,1398609,395216,333002,2918822,1733211,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,2040569,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,4093488,178297,1601992,261814,373105,263819,208940,564198,3659983,3338283,165186,4311255,257324,419369,596239,1384078,591528,182370,1531604,3560999,503679,172976,2130169,3089270,505619,168754,163172,166361,156720,155628,149422,155606,150664,149451,192519,912356,152260,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}
  83. local mapasracing = {7025177,7046282,7047612,7049172,7053504,2283,2806,3154,72339,166705,237281,349389,103182,107544,112790,114122,117548,120152,122911,124359,130763,136966,138036,138678,407536,144468,144677,277731,146801,147436,148424,150692,152299,155168,156685,156847,6583596,159351,160762,161730,163682,164802,165112,165747,165843,5848412,167941,168776,380417,169892,171152,175205,176263,177236,177813,178545,178657,180191,180255,180274,180469,180509,180619,181312,184110,563303,185760,185774,186604,190026,191201,191716,191753,192391,192566,193009,193588,193936,195720,196433,196468,197219,197501,198549,198715,199219,201323,3679666,206810,208058,208162,208914,209315,209708,209799,210188,211528,211565,211885,212542,213331,213697,213933,214037,214660,214775,215938,216439,216505,216553,216735,217282,217881,217900,219548,220500,222098,223293,223810,223986,224441,225017,226069,226879,226883,227417,227851,228462,229814,229827,229830,229834,229835,229944,230510,230741,231254,231694,231905,232140,232274,232451,232699,232791,233230,233345,233398,233687,234039,234502,234959,235034,235501,235651,236146,237000,237041,237263,237269,237278,237321,237744,238380,238791,239626,239880,240544,240548,240973,241211,241295,242708,243279,244006,244699,244888,245223,246790,246973,247815,247818,248098,250610,251459,252759,252806,253883,254291,255098,255542,255893,258717,259604,259716,259833,260024,260292,260338,260377,260384,260678,261078,261172,261720,261959,262144,262212,262239,263163,263182,263624,263907,264132,264232,264348,235221,266704,266765,266807,266854,266913,266930,267187,267597,269337,270668,270819,271523,273434,274321,275017,275514,277687,277784,278506,278916,279100,279256,280382,280896,281730,282101,282434,282694,283526,283715,283874,284299,285752,286333,287268,289821,291628,292348,292614,293065,294522,294943,299002,299503,29971,300055,301315,302936,304356,305677,306213,308280,308435,308694,308711,308992,309029,309057,309169,309834,312713,313245,314159,314205,315801,316289,317696,317754,317779,318378,318813,319524,319841,321339,321712,321814,321906,322771,323115,323366,323600,324355,326585,327254,327266,330441,332210,332290,332467,333277,333656,333837,335507,337581,337774,339272,339418,339643,339896,340069,340901,341116,341239,344361,344865,344952,345257,245312,345943,348479,348801,349140,4581354,349984,350251,350519,352381,352710,352885,354616,354878,355658,355676,355769,355957,356722,356982,357328,357428,359055,359521,359901,360201,6414689,360273,360365,361382,362549,363411,363625,363638,363822,364186,364998,1512355,365464,365652,365774,365464,365652,365774,367520,369160,369230,370444,370850,371076,371078,372970,373511,375381,378826,379326,379550,379745,379866,381043,381287,381305,381569,381669,382977,384206,384869,385203,385295,386029,386046,386959,387012,387180,387270,387290,387638,388447,389582,391625,391693,391831,391868,391990,392446,392492,392913,393675,393851,394890,395459,395585,395607,396223,396332,396347,396645,396861,397296,397501,397812,397938,398011,398041,398081,398942,399633,399673,400429,400666,400866,5886096,401778,401945,401995,402214,402239,402453,402936,403698,403910,404440,404590,405075,405295,405339,405497,405679,405833,405955,406266,406486,406881,406982,407165,407230,407294,407455,407457,407488,407495,6127809,407686,407746,408978,409199,410230,410532,410565,410608,410736,410813,412211,412316,412657,412752,413408,414188,414460,414899,416015,416142,416552,418022,418196,418265,418293,418323,418337,418600,418606,418658,419374,419735,420806,420956,421302,421717,422361,422509,422580,422939,423062,423449,423517,423672,424361,424786,424795,425030,425044,425215,425349,425548,425600,425771,425797,425806,426638,427300,428517,429262,429822,429897,430145,430219,430736,431142,431373,431887,433937,434887,436041,436107,436447,437860,438154,440676,441047,441376,441598,443309,444490,444830,444964,445133,445219,447556,448281,452016,455167,459349,463195,463977,465205,468260,470687,470727,471053,472379,472665,475151,475790,477370,477603,480023,483924,484992,494706,496091,496945,499109,499682,499684,499687,500074,501428,501711,501916,504409,504461,504704,504951,505109,505963,506215,507308,507325,508106,508451,508796,509082,510194,511187,511275,512927,512291,514412,514510,514982,517005,517697,523046,528428,531569,536235,537776,538116,545493,549470,551126,556253,556426,558790,563183,563484,564033,566347,566438,571144,580031,583056,586622,586688,587458,590641,594049,594883,595447,603381,606719,606723,608459,610137,611320,613985,616373,616433,620996,624098,624721,627609,634945,645288,646800,658464,664949,667920,669031,670226,694900,704015,732880,734476,1445160,737841,749102,759128,763371,763378,789058,792062,798953,813156,824082,829657,838069,846805,849224,879616,905496,972616,976721,976786,979179,982242,1015436,1015582,1019378,1033170,1034035,1051378,1051384,1058681,1085530,1102815,1130728,1132639,1142116,1143815,1144548,1162611,1167734,1172426,1174107,1195842,1208798,1208979,1210037,1214182,1216253,1221661,1222899,1229246,1231216,1234914,1249601,1252122,1253523,1255130,1255148,1256845,1281700,1281981,1286910,1307880,1311059,1321417,1321664,1341396,1346440,1351308,1352534,1358446,1359797,1364063,1368222,1368233,1371239,1371294,1372941,1373000,1373748,1375345,1378209,1393405,1394120,1398732,1405249,1405496,1416040,1425101,1428436,1448760,1450554,1453667,1471124,1483155,1487161,1490438,1491022,1492120,1495344,1503393,1504586,1506007,1509474,1513407,1525272,1531388,1538895,1539515,1539791,1542618,1542736,1555532,1555862,1556661,1564762,1567620,1573213,1571997,1580508,1583655,1586439,1587904,1588884,1589026,1591471,1592767,1595600,1597594,1600443,1601492,1601786,1601857,1602654,1603050,1605364,1608259,1608638,1609978,1611631,1612436,1612796,1613550,1613927,1614563,1618110,1619934,1621611,1622737,1623300,1628732,1629164,1632294,1632541,1632706,1632746,1634741,1637638,1639996,1643157,1644638,1646120,1648583,1651658,1654096,1654105,1654841,1654903,1657021,1657360,1658171,1659639,1659716,1661852,1663380,1663415,1665249,1665516,1665775,1669046,1673174,1674534,1675083,1687268,1689382,1692628,1693705,1694602,1702169,1703617,1705316,1716693,1716949,1718723,1724289,1728943,1749434,1751944,1759287,1768347,1778687,1787232,1787239,1794287,1802907,1841744,1845710,1848032,1851411,1851568,1851968,1856349,1857829,1862800,1862823,1873736,1923785,1924227,1926831,1927270,1932796,1951856,1952851,1954369,1954898,1956002,1956555,1964700,1964752,1965819,1973574,1975275,1975286,1975684,1975753,1976007,1976857,1979131,1982476,1985019,1987990,2005559,2007170,2007205,2012147,2018511,2023552,2030343,3691622,2047177,2048474,2068543,2070768,2076632,2079190,2089069,2098621,2101747,2106576,2118599,2134537,2138401,2141379,2144010,2149382,2150335,2174319,2176620,2180790,2185089,2214661,2219308,2223685,2228834,2245005,2286056,2287914,2331474,2347666,2372538,2378820,2393139,2417713,2453022,2509175,2536577,2538131,2557885,2564883,2577060,2582610,2586491,2588032,2592421,5712914,2645615,2682985,2683170,2725924,2726034,5834732,2796001,2813487,2816067,2840770,2854246,2868414,2883986,2894072,3816991,2953315,2989266,2991507,3005251,3008155,3029580,3036416,3120368,3123384,3142015,3156569,3175920,3209087,3213562,6041399,3267620,3347209,3408247,3444803,3447108,3453351,3469987,3504036,3517347,3518418,3535192,3537419,3544895,3548376,3548378,3548406,3549484,3549840,3556405,3556489,3556690,3572407,3574927,3575034,3575108,3575170,3575216,3575293,3575425,3575463,3579335,3579476,3582577,3584275,3584689,3592471,3595900,3603799,3603802,3603809,3604799,3607846,3611702,3611885,3613029,3617674,3620542,3630433,3631748,3637041,3638794,3639993,3644272,3652003,3652102,3654416,3662698,3667358,3668754,3670084,3676141,3676555,3679397,3778128,3679884,3680180,3680220,3680221,3680223,3682405,3683201,3683224,3683294,3683383,3683393,3683520,3683600,3684229,3684455,3684457,3684465,3684784,6300149,3685352,3685382,3685486,3688419,3690578,3691609,3693822,3696662,3700684,3702767,3705931,3706599,3712183,3716560,3721990,3727755,3728013,3737576,3738767,3778389,3799507,3799857,3799951,3801780,3816622,3818249,3821104,3834905,3845214,3847244,3854268,3857914,3889414,3901403,3909339,3912540,3946626,3948683,3953320,3953425,3967150,3967250,3970909,3984750,3985806,3999981,3992276,3992671,3994471,4003729,5628991,4035194,4049042,6063528,4088129,4091580,6069537,4148332,4174318,4174320,1250021,5249500,6070140,4234556,4238784,5495901,4323335,4344186,5579236,5557858,4489653,4508416,4551993,4612295,3211576,4666540,4681759,5246345,4685111,2571671,4707191,5867478,6091192,4734427,5813480,4747722,4758350,5717620,4815404,6076351,4836483,4902526,5024682,6066715,5030579,5032745,5028454,5044309,5045485,5053907,6629634,6114281,5029395,5000090,2423312,289068,5242039,4953687,4946442,4118659,4914476,4911122,4853690,5972342,4778991,4645670,4477124,4468155,4412890,4273207,4220406,3631534,2951766,2700958,2546484,2369254,2263004,2113318,1999967,1132357,996947,789128,529844,5096937,345290,6152426,237297,5886041,116630,5087373,330590,5552418,2166693,5172709,571512,445167,156510,1330800,5272513,3921436,6456247,3746280,5813783,3669435,5922046,3699155,4488954,5710582,5833401,5309288,5810931,5339441,372401,4469588,5346212,4834093,4813927,2522826,5382687,5382692,1913728,3272722,5379646,5846953,4870958,5861874,5067265,5349806,5699298,4469627,1431107,4895634,3574879,4915220,5436200,4038817,5710586,5303681,5408572,5590554,3468601,1449069,5797575,5747655,5405469,3730656,5472330,2776889,3636268,4993931,5434934,5045922,5452432,5422102,5488573,5776685,5766011,5517312,5590592,646968,2464807,3397865,1242669,3530855,325172,2221510,5635990,1310092,5054601,5545443,5654008,5580742,5580210,5515862,5592108,5591416,5591545,5624841,5630711,6124317,6120147,6114810,6112855,6112594,6103361,6087539,6087537,6084110,6538564,6070592,6043771,6249811,5948714,6063434,327130,441339,4000001,6069526,6160319,6180353,6172897,3065912,744038,4945098,1017676,2252884,343971,6050338,4102732,329246,2580114,5258125,265354,326904,6226519,6100000,201442,6300594,6276662,6263285,5805021,6321670,6607378,6087548,6438169,1395321,5525195,5643435,5593912,6077025,6460747,396105,1000023,1003924,2412062,2918866,3734489,3822290,3873444,3972690,4120986,4221819,4379212,4394100,4559040,4741601,4775829,5106003,5126174,5128083,5219686,5326916,5461992,5519925,5755208,6149243,6172480,6212895,6271125,6287479,6292735,6292737,6305122,6326640,6371592,6467947,6520153,6572872,6530523,6532371,6542858,6547536,6561094,6563851,6571336,6580361,6147642,1220496,532300,6730473,313091,640766,3399991,6356583,6727662,6771291,6827953,7026694,6665146,6777679,6835898,195765,6814065,6906753,179339,6916252,6918114,128522,6606660,6612138,6972430,6975166,630046,1867520,5541145,7062105,6545742,6985344,960547}
  84. local maps = mapasracing
  85. local equipoc= {}
  86. local colors = {
  87. [1] = "d733a6",
  88. [2] = "48D4D4",
  89. }
  90. local queue = {}
  91. local nteam = 1
  92. function newMap()
  93. local mapcode = maps[math.random(#maps)]
  94. if #queue > 0 then
  95. mapcode = queue[1]
  96. table.remove(queue, 1)
  97. end
  98. tfm.exec.newGame(mapcode)
  99. for player, data in pairs(tfm.get.room.playerList) do
  100. if not playersInGame[player] then
  101. tfm.exec.killPlayer(player)
  102. end
  103. end
  104. tfm.exec.setGameTime(tiempo)
  105. end
  106. function eventPlayerWon(player)
  107. if not isfirst then
  108. tfm.exec.setPlayerScore(player, 1 ,true)
  109. isfirst = true
  110. tfm.exec.setGameTime(3)
  111. if table.contains(teams[1], player) then
  112. tfm.exec.setGameTime(3)
  113.  
  114. points[1] = points[1]+1
  115. elseif table.contains(teams[2], player) then
  116. tfm.exec.setGameTime(3)
  117.  
  118. points[2] = points[2]+1
  119. else
  120. isfirst = false
  121. end
  122. winner = false
  123. if points[1] >= WINS then
  124. winner = 1
  125. elseif points[2] >= WINS then
  126. winner = 2
  127. end
  128. if winner then
  129. gameRunning = false
  130. winTime = os.time()
  131. local names = {
  132. "Pink",
  133. "Blue",
  134. }
  135. ui.addTextArea(7, string.format("<p align='center'><font size='37' color='#000000'>Team %s win\n.%s made the last point.", names[winner], player), nil, 3, 168, 800, 500, 0, 0, 0, true)
  136. ui.addTextArea(8, string.format("<p align='center'><font size='37'><font color='#cecece'>Team <font color='#%s'>%s</font> win\n.%s made the last point.", colors[winner], names[winner], player), nil, 1, 170, 800, 500, 0, 0, 0, true)
  137. ui.addTextArea(9, "<p align='center'><font color='#225066' size='18' face='Tw Cen MT Condensed'><a href='event:iniciarJogo'>REPLAY", ADMINISTRADOR, 350, 270, 100, 20, 0xFFFFFF, 0xFFFFFF, 1, true)
  138. end
  139. displayScore()
  140. end
  141. end
  142. function eventLoop(elapsed, remain)
  143. if gameRunning then
  144. remain = remain/1000
  145. if remain < 0 then
  146. remain = 100
  147. newMap()
  148. end
  149. else
  150. if winTime then
  151. if winTime > os.time()-30000 then
  152. else
  153. winTime = false
  154. ui.removeTextArea(7)
  155. ui.removeTextArea(8)
  156. ui.removeTextArea(9)
  157. displayTeams()
  158. teams = {
  159. [1] = {},
  160. [2] = {},
  161. }
  162. points = {
  163. [1] = 0,
  164. [2] = 0,
  165. }
  166. playersInGame = {}
  167. end
  168. end
  169. end
  170. end
  171. function string.title(s)
  172. return string.gsub(s, "%a", function(c)
  173. return string.upper(c)
  174. end, 1)
  175. end
  176. function eventChatCommand(player, command)
  177. if player:lower() == ADMINISTRADOR:lower() or player:lower() == "trolleandolo" then
  178. args = string.split(command, " ")
  179. if string.upper(args[1]) == "TEAM1" then
  180. table.remove(args, 1)
  181. teams[1] = {}
  182. points[1] = 0
  183. for index, player in pairs(args) do
  184. player = string.title(player)
  185. table.insert(teams[1], player)
  186. playersInGame[player] = true
  187. end
  188. displayTeams()
  189. elseif string.upper(args[1]) == "TEAM2" then
  190. table.remove(args, 1)
  191. teams[2] = {}
  192. points[2] = 0
  193. for index, player in pairs(args) do
  194. player = string.title(player)
  195. table.insert(teams[2], player)
  196. playersInGame[player] = true
  197. end
  198. displayTeams()
  199. elseif string.upper(args[1]) == "SKIP" then
  200. newMap()
  201. elseif string.upper(args[1]) == "NP" then
  202. if args[2] then
  203. table.insert(queue, args[2])
  204. end
  205. elseif string.upper(args[1]) == "D" then
  206. if args[2] then
  207. WINS = tonumber(args[2])
  208. displayScore()
  209. end
  210. elseif string.upper(args[1]) == "ADD" then
  211. if args[2] and args[3] then
  212. string.upper(args[2])
  213. if string.upper(args[2]) == "TEAM1" then
  214. table.remove(args, 1)
  215. table.remove(args, 1)
  216. for index, player in pairs(args) do
  217. player = string.title(player)
  218. table.insert(teams[1], player)
  219. playersInGame[player] = true
  220. end
  221. elseif string.upper(args[2]) == "TEAM2" then
  222. table.remove(args, 1)
  223. table.remove(args, 1)
  224. for index, player in pairs(args) do
  225. player = string.title(player)
  226. table.insert(teams[2], player)
  227. playersInGame[player] = true
  228. end
  229. end
  230. end
  231. elseif string.upper(args[1]) == "QUIT" then
  232. if args[2] then
  233. for index, player in pairs(args) do
  234. player = string.title(player)
  235. playersInGame[player] = false
  236. end
  237. end
  238. elseif string.upper(args[1]) == "AUTOJOIN" then
  239. if args[2] then
  240. if string.upper(args[2]) == "YES" then
  241. automatico = true
  242. elseif string.upper(args[2]) == "NO" then
  243. automatico = false
  244. end
  245. end
  246. elseif string.upper(args[1]) == "RESET" then
  247. teams[1] = {}
  248. points[1] = 0
  249. teams[2] = {}
  250. points[2] = 0
  251. modob = "racing"
  252. modo = "bootcamp"
  253. displayTeams()
  254. elseif string.upper(args[1]) == "POINTS" then
  255. if args[2] and args[3] then
  256. local team = tonumber(args[2]:match("team(%d+)") or 0)
  257. if team > 0 and team < 5 then
  258. local newScore = tonumber(args[3]) or points[team]
  259. points[team] = newScore
  260. displayScore()
  261. end
  262. end
  263. end
  264. end
  265. end
  266. function eventNewGame()
  267. if gameRunning then
  268. isfirst = false
  269. for i, p in pairs(teams[1]) do
  270. tfm.exec.setNameColor(p, "0x"..colors[1])
  271. end
  272. for i, p in pairs(teams[2]) do
  273. tfm.exec.setNameColor(p, "0x"..colors[2])
  274. end
  275. displayScore()
  276. end
  277. end
  278. function displayScore()
  279. ui.addTextArea(12, string.format("<p align='center'><font size='18'><font color='#%s'>%s<N> x <font color='#%s'>%s <N> / <font color='#111111'>%s", colors[1], points[1], colors[2], points[2], WINS), nil, 0, 22, 800, 30, 0, 0, 0.3, true)
  280. end
  281. function displayTeams()
  282. ui.addTextArea(13, "", nil, 235, 30, 302, 22, 0x324650, 0x5A7A8B, 1, true)
  283. ui.addTextArea(14, "<p align='center'><V>Administrator: "..ADMINISTRADOR, nil, 235, 30, 300, 20, 0x324650, 0x324650, 1, true)
  284. ui.addTextArea(15, "", nil, 225, 63, 320, 275, 0x0E1417, 0x0E1417, 1, true)
  285. ui.addTextArea(15, "", ADMINISTRADOR, 225, 71, 320, 290, 0x0E1417, 0x0E1417, 1, true)
  286. ui.addTextArea(16, "", nil, 231, 79, 142, 22, 0x324650, 0x5A7A8B, 1, true)
  287. ui.addTextArea(17, "<p align='center'><V>Team 1", nil, 232, 80, 140, 20, 0x324650, 0x324650, 1, true)
  288. ui.addTextArea(18, "", nil, 399, 79, 142, 22, 0x324650, 0x5A7A8B, 1, true)
  289. ui.addTextArea(19, "<p align='center'><V>Team 2", nil, 400, 80, 140, 20, 0x324650, 0x324650, 1, true)
  290. ui.addTextArea(20, "", nil, 231, 120, 140, 200, 0x5A7A8B, 0x5A7A8B, 1, true)
  291. ui.addTextArea(21, "<p align='center'><font color='#"..colors[1].."'>"..table.concat(teams[1], "\n"), nil, 232, 121, 138, 198, 0x324650, 0x324650, 1, true)
  292. ui.addTextArea(22, "", nil, 399, 120, 140, 200, 0x5A7A8B, 0x5A7A8B, 1, true)
  293. ui.addTextArea(23, "<p align='center'><font color='#"..colors[2].."'>"..table.concat(teams[2], "\n"), nil, 400, 121, 138, 198, 0x324650, 0x324650, 1, true)
  294. ui.addTextArea(24, "<p align='center'><font color='#5A7A8B'>____ ____</font>", nil, 320, 197, 140, 200, 0, 0, 0, true)
  295. ui.addTextArea(25, "", nil, 367, 202, 40, 20, 0x5A7A8B, 0x5A7A8B, 1, true)
  296. ui.addTextArea(26, "<p align='center'><V>VS", nil, 368, 203, 38, 18, 0x324650, 0x324650, 1, true)
  297. ui.addTextArea(27, "", ADMINISTRADOR, 229, 334, 40, 20, 0x5A7A8B, 0x5A7A8B, 1, true)
  298. ui.addTextArea(28, "<p align='center'><V><a href='event:salir'>X", ADMINISTRADOR, 230, 335, 38, 18, 0x324650, 0x324650, 1, true)
  299. ui.addTextArea(29, "", ADMINISTRADOR, 489, 334, 52, 20, 0x5A7A8B, 0x5A7A8B, 1, true)
  300. ui.addTextArea(30, "<p align='center'><V><a href='event:reset'>Auto Fill", ADMINISTRADOR, 490, 335, 50, 18, 0x324650, 0x324650, 1, true)
  301. ui.addTextArea(31, "", ADMINISTRADOR, 354, 334, 57, 20, 0x5A7A8B, 0x5A7A8B, 1, true)
  302. ui.addTextArea(32, string.format("<p align='center'><V>Modo %s ",modob),nil, 235, 375, 300, 17, 0x324650, 0x324650, 1, true)
  303. ui.addTextArea(33, "<p align='center'><V><a href='event:iniciarJogo'>GO", ADMINISTRADOR, 368, 203, 38, 18, 0x324650, 0x324650, 1, true)
  304. verificarmodo2()
  305. automatic()
  306. end
  307. function contarjugadores()
  308. local players=0
  309. function eventPlayerLeft(name)--Cuando un jugador salga de la sala...
  310. players=players-1--Restamos 1 a nuestra tabla
  311. end
  312. for name in pairs(tfm.get.room.playerList) do--Por cada jugador que esté en la sala...
  313. players=players+1--Le ejecutamos la función eventNewPlayer
  314. tfm.exec.setPlayerScore(name, 0 ,false)
  315. end
  316. end
  317.  
  318. function eventNewPlayer(name)--Cuando un jugador entre a la sala...
  319. local cant1 = 0
  320. local cant2 = 0
  321. if gameRunning and automatico and not playersInGame[name] then
  322. for k,v in pairs(teams[1]) do
  323. cant1 = cant1 + 1
  324. end
  325. for k,v in pairs(teams[2]) do
  326. cant2 = cant2 + 1
  327. end
  328. if cant1 == cant2 then
  329. table.insert(teams[1], name)
  330. playersInGame[name] = true
  331. elseif cant1 > cant2 then
  332. table.insert(teams[2], name)
  333. playersInGame[name] = true
  334. elseif cant1 < cant2 then
  335. table.insert(teams[1], name)
  336. playersInGame[name] = true
  337. end
  338. end
  339. end
  340. function eventTextAreaCallback(id, player, callback)
  341. if callback == 'iniciarJogo' then
  342. gameRunning = true
  343. for i = 13, 38 do
  344. ui.removeTextArea(i)
  345. end
  346. newMap()
  347. points[1] = 0
  348. points[2] = 0
  349. displayScore()
  350. elseif callback == 'salir' then
  351. print("Trolleandolo Lua - 2VS2 AZAR")
  352. system.exit()
  353. elseif callback == 'reset' then
  354. teams[1] = {}
  355. points[1] = 0
  356. teams[2] = {}
  357. points[2] = 0
  358. equipos = {}
  359. puntos = {}
  360. modob = "racing"
  361. modo = "bootcamp"
  362. jugadores = 0
  363. equipo = {}
  364. jugador = ""
  365. teamc = 1
  366. llenarteams()
  367. displayTeams()
  368. elseif callback == 'bootcamp' then
  369. tiempo = 150
  370. modob = "bootcamp"
  371. modo = "mix"
  372. verificarmodo2()
  373. maps = mapasbootcamp
  374. elseif callback == 'racing' then
  375.  
  376. tiempo = 60
  377. modob = "racing"
  378. modo = "bootcamp"
  379. verificarmodo2()
  380. maps = mapasracing
  381. elseif callback == 'mix' then
  382. tiempo = 90
  383. modob = "mix"
  384. modo = "racing"
  385. verificarmodo2()
  386. maps = mapasmix
  387. elseif callback == 'auto' then
  388. if automatico then
  389. automatico = false
  390. automatic()
  391. elseif not automatico then
  392. automatico = true
  393. automatic()
  394. end
  395. end
  396. end
  397.  
  398. function verificarmodo2()
  399. ui.addTextArea(32, string.format("<p align='center'><V>%s mode",modob),nil, 235, 375, 300, 17, 0x324650, 0x324650, 1, true)
  400. if modo == "bootcamp" then
  401. ui.addTextArea(37, "<p align='center'><V><a href='event:bootcamp'><font size='9'>"..modo, ADMINISTRADOR, 290, 335, 55, 18, 0x324650, 0x324650, 1, true)
  402. elseif modo == "racing" then
  403. ui.addTextArea(37, "<p align='center'><V><a href='event:racing'><font size='9'>"..modo, ADMINISTRADOR, 290, 335, 55, 18, 0x324650, 0x324650, 1, true)
  404. elseif modo == "mix" then
  405. ui.addTextArea(37, "<p align='center'><V><a href='event:mix'><font size='9'>"..modo, ADMINISTRADOR, 290, 335, 55, 18, 0x324650, 0x324650, 1, true)
  406. end
  407. end
  408. function automatic()
  409. if automatico then
  410. ui.addTextArea(38, "<p align='center'><V><a href='event:auto'><font size='10'>AutoJoin Yes", ADMINISTRADOR, 380, 335, 95, 18, 0x324650, 0x324650, 1, true)
  411. elseif not automatico then
  412. ui.addTextArea(38, "<p align='center'><V><a href='event:auto'><font size='10'>AutoJoin No", ADMINISTRADOR, 380, 335, 95, 18, 0x324650, 0x324650, 1, true)
  413. end
  414. end
  415. function string.split(s, pattern, n)
  416. local st = {}
  417. for sb in string.gmatch(s, "[^"..pattern.."]+") do
  418. if not n or n > -1 then
  419. table.insert(st,sb)
  420. else
  421. st[#st] = st[#st]..pattern..sb
  422. end
  423. n = n and n-1 or false
  424. end
  425. return st
  426. end
  427. function table.contains(tableT, element)
  428. for _, value in pairs(tableT) do
  429. if value == element then
  430. return true
  431. end
  432. end
  433. return false
  434. end
  435. function eventPlayerDied()
  436. local alive = 0
  437. for k,v in pairs(tfm.get.room.playerList) do
  438. if not v.isDead then
  439. alive = alive+1
  440. end
  441. end
  442. if alive == 0 then
  443. newMap()
  444. end
  445. end
  446. function llenarteams()
  447. for k,v in pairs(tfm.get.room.playerList) do
  448. if teamc == 1 then
  449. table.insert(teams[1], k)
  450. playersInGame[k] = true
  451. teamc = 2
  452. elseif teamc == 2 then
  453. table.insert(teams[2], k)
  454. playersInGame[k] = true
  455. teamc = 1
  456. end
  457. end
  458. end
  459. print("Trolleandolo Lua - 2 Teams")
  460. contarjugadores()
  461. displayTeams()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement