// Stats: "Auth" : '["0-Games", "1-Wins", "2-Draws", "3-Losses", "4-Winrate", "5-Goals", "6-Assists", "7-GK", "8-CS", "9-CS%", "10-Role", "11-Nick"]' /* VARIABLES */ /* ROOM */ //const roomName = "⏩⏩⏩⏩⏩⏩⏩⏩ FUTSAL PUBS ⏩⏩⏩⏩⏩⏩⏩⏩⏩";//{"code": "ES", "lat": 41.4365175, "lon": -3.7083759}, //const roomName = "⏫ ";//{"code": "ES", "lat": 40.4169205, "lon": -3.7081959}, //const roomName = "⏫    ?⚽ FUTSAL 3V3 BY KYU ⚽?    ";//{"code": "ES", "lat": 40.4169235, "lon": -3.7083759}, //const roomName = "⏫   ? Info: discord.gg/3MhhZPN ?    "; //{"code": "ES", "lat": 40.4169245, "lon": -3.7083759} //const roomName = "⏫    ⚽ Liga: discord.gg/KjB6kqp ⚽     "; //{"code": "ES", "lat": 40.4169265, "lon": -3.7083759} //const roomName = "⏫ ";//{"code": "ES", "lat": 40.4169295, "lon": -3.7083759}, const roomName = "⏫ ⚡ [FUTSAL 3v3] Pub | AutoBOT ! ⚡ "; // {"code": "ES", "lat": 41.4369335, "lon": -3.7083759} //const roomName = "⏫ "; {"code": "ES", "lat": 40.4169375, "lon": -3.7083759}, //const roomName = "⏪⏪⏪⏪⏪⏪⏪⏪ 24/7 ⏪⏪⏪⏪⏪⏪⏪⏪⏪"; //{"code": "ES", "lat": 41.4374425, "lon": -3.7083759}, //emoji espacio   //emoji 3a parte de espacio   // emoji mando play ? //emoji espiral ? // emoji de fuego ? // emoji de rayo ⚡ // emoji balon de futbol ⚽ // emoji llave inglesa ? // emoji ☝☝☝ ? ? ? ? ? // emoji arriba ⏫ // emoji abajo ⏬ // const botName = "? ESP FUTSAL BOT ?"; const maxPlayers = 13; const roomPublic = true;// true si es publica const geo = [{"code": "ES", "lat": 41.4369335, "lon": -3.7083759}, {code: "PT", lat: 38.713199, lon: -9.169184}, {code: "DE", lat: 50.768749, lon: 10.399106}, {code: "NL", lat: 51.948613, lon: 5.607407}, {code: "FR", lat: 46.237969, lon: 1.381583}, {code: "IT", lat: 44.4168600, lon: 12.2100000}, {code: "CH", lat: 46.9480900, lon: 7.4474400}, {code: "GB", lat: 51.5085300, lon: -0.1257400}, {code: "PL", lat: 52, lon: 21}]; const password = 'futsalroom!123'; const room = HBInit({ roomName: roomName, maxPlayers: maxPlayers, public: roomPublic, playerName: botName, geo: geo[0]}); const scoreLimitClassic = 2; const scoreLimitBig = 2; const timeLimitClassic = 3; const timeLimitBig = 3; room.setTeamsLock(true); room.setKickRateLimit(6,12,4); //room.setPassword("dfsvdvdfvuidaniuvbaudfibvbvauiabfdui"); //var adminPassword = 10000 + getRandomInt(90000); var adminPassword = "haxballadminshaxballroompubs1234567895334254353453422432423"; console.log("adminPassword : " + adminPassword); /* STADIUM */ const playerRadius = 15; var ballRadius = 6.25; const triggerDistance = playerRadius + ballRadius + 0.01; //MAPA VIEJOS //var aloneMap = '{"name":"Futsal No Goals GLH","width":420,"height":200,"spawnDistance":180,"bg":{"type":"hockey","width":368,"height":171,"kickOffRadius":65,"cornerRadius":0},"vertexes":[{"x":-368,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-368,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-368,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-368,"y":-171,"trait":"ballArea","bCoef":1,"cMask":["ball"]},{"x":368,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":368,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":368,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":368,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":0,"y":65,"trait":"line"},{"x":0,"y":-65,"trait":"line"},{"bCoef":1,"trait":"ballArea","x":368,"y":171},{"bCoef":1,"trait":"ballArea","x":368,"y":-171},{"bCoef":0,"trait":"line","x":0,"y":171},{"bCoef":0,"trait":"line","x":0,"y":-171},{"x":0,"y":65,"trait":"line"},{"x":0,"y":-65,"trait":"line"},{"x":377,"y":-65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":377,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-377,"y":-65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":-377,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-377,"y":65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":-377,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":377,"y":65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":377,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":0,"y":65,"trait":"line"},{"x":0,"y":-65,"trait":"line"},{"x":-368.53340356886,"y":-62.053454903872,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,-80]},{"x":-400.05760771891,"y":-62.053454903872,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,-80]},{"x":-400.05760771891,"y":64.043361696331,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,80]},{"x":-368.53340356886,"y":64.043361696331,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,80]},{"x":368.09926357786,"y":63.94882446641,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,-80]},{"x":400,"y":64,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,-80]},{"x":400,"y":-61.927767991658,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,80]},{"x":368.9681846993,"y":-62.144998272018,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,80]},{"x":-368,"y":-142.37229643041,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":-90},{"x":-260.90035258157,"y":-50.168480548544,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":0},{"x":-368,"y":-160.81305960678,"bCoef":0.1,"trait":"line","curve":-90},{"x":-358.5379338963,"y":-171,"bCoef":0.1,"trait":"line","curve":-90},{"x":-368,"y":141.33175243687,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":90},{"x":-260.90035258157,"y":49.127936555002,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":0},{"x":-368,"y":159.77251561324,"bCoef":0.1,"trait":"line","curve":90},{"x":-358.5379338963,"y":171,"bCoef":0.1,"trait":"line","curve":90},{"x":368,"y":159.77251561324,"bCoef":0.1,"trait":"line","curve":-90},{"x":358.36266315432,"y":171,"bCoef":0.1,"trait":"line","curve":-90},{"x":368,"y":-160.81305960678,"bCoef":0.1,"trait":"line","curve":90},{"x":358.36266315432,"y":-171,"bCoef":0.1,"trait":"line","curve":90},{"x":368,"y":-142.37229643041,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":90},{"x":260.72508183959,"y":-50.168480548544,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":90},{"x":368,"y":141.33175243687,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":-90},{"x":260.72508183959,"y":49.127936555002,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":-90},{"x":260.72508183959,"y":-50.168480548544,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":0},{"x":260.72508183959,"y":49.127936555002,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":0},{"x":-250.86909422732,"y":-1.2295321189394,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":0.18898812539692,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":-2.6480523632758,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":1.6075083697333,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":0.89824824756514,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":-1.9387922411076,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":1.9621384308174,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":-3.0026824243599,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":-1.2295321189394,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":0.18898812539692,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":-2.6480523632758,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":1.6075083697333,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":0.89824824756514,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":-1.9387922411076,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":1.9621384308174,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":-3.0026824243599,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":-1.2295321189394,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":0.18898812539692,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":-2.6480523632758,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":1.6075083697333,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":0.89824824756514,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":-1.9387922411076,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":1.9621384308174,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":-3.0026824243599,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":-1.2295321189394,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":0.18898812539692,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":-2.6480523632758,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":1.6075083697333,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":0.89824824756514,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":-1.9387922411076,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":1.9621384308174,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":-3.0026824243599,"bCoef":0.1,"trait":"line","curve":180},{"x":-160.58776903904,"y":-159.39453936245,"bCoef":0.1,"trait":"line"},{"x":-160.58776903904,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":-80.337702205015,"y":-159.39453936245,"bCoef":0.1,"trait":"line"},{"x":-80.337702205015,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":160.41249829706,"y":-159.39453936245,"bCoef":0.1,"trait":"line"},{"x":160.41249829706,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":80.162431463036,"y":-159.39453936245,"bCoef":0.1,"trait":"line"},{"x":80.162431463036,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":-254.88159756902,"y":-171,"bCoef":0.1,"trait":"line"},{"x":-254.88159756902,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":-371.91294503531,"y":-87.759267023458,"bCoef":0.1,"trait":"line"},{"x":-384.61920561736,"y":-87.759267023458,"bCoef":0.1,"trait":"line"},{"x":371.73767429333,"y":-87.759267023458,"bCoef":0.1,"trait":"line"},{"x":384.44393487538,"y":-87.759267023458,"bCoef":0.1,"trait":"line"},{"x":-371.91294503531,"y":86.718723029916,"bCoef":0.1,"trait":"line"},{"x":-384.61920561736,"y":86.718723029916,"bCoef":0.1,"trait":"line"},{"x":371.73767429333,"y":86.718723029916,"bCoef":0.1,"trait":"line"},{"x":384.44393487538,"y":86.718723029916,"bCoef":0.1,"trait":"line"},{"x":-254.88159756902,"y":171,"bCoef":0.1,"trait":"line"},{"x":-254.88159756902,"y":181.05031927829,"bCoef":0.1,"trait":"line"},{"x":254.70632682704,"y":-171,"bCoef":0.1,"trait":"line"},{"x":254.70632682704,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":254.70632682704,"y":171,"bCoef":0.1,"trait":"line"},{"x":254.70632682704,"y":181.05031927829,"bCoef":0.1,"trait":"line"},{"x":369,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":1,"vis":false},{"x":369,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":1,"vis":false},{"x":-370,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":1,"vis":false},{"x":-370,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":1,"vis":false},{"x":371,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":0,"_selected":"segment"},{"x":371,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":0,"_selected":"segment"},{"x":371,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":371,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":-371,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":-371,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":-371,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":-371,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":0}],"segments":[{"v0":0,"v1":1,"trait":"ballArea"},{"v0":2,"v1":3,"trait":"ballArea"},{"v0":4,"v1":5,"trait":"ballArea"},{"v0":6,"v1":7,"trait":"ballArea"},{"v0":8,"v1":9,"trait":"line","curve":180,"cGroup":["blueKO"]},{"v0":8,"v1":9,"trait":"line","curve":-180,"cGroup":["redKO"]},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":1,"v1":0,"cMask":["ball"],"x":-368},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":5,"v1":4,"cMask":["ball"],"x":368},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":2,"v1":3,"cMask":["ball"],"x":-368},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":6,"v1":7,"cMask":["ball"],"x":368},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":0,"v1":10,"y":171},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":3,"v1":11,"y":-171},{"curve":0,"vis":true,"color":"FFFFFF","bCoef":0,"trait":"line","v0":12,"v1":13},{"curve":-180,"vis":true,"color":"FFFFFF","bCoef":0,"trait":"line","v0":9,"v1":8},{"curve":180,"vis":true,"color":"FFFFFF","bCoef":0,"trait":"line","v0":15,"v1":14},{"curve":0,"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":2,"v1":1},{"curve":0,"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":6,"v1":5},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":16,"v1":17,"cMask":["ball"],"x":330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":18,"v1":19,"cMask":["ball"],"x":-330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":20,"v1":21,"cMask":["ball"],"x":-330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":22,"v1":23,"cMask":["ball"],"x":330},{"v0":26,"v1":27,"curve":0,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","pos":[-700,-80],"y":-80},{"v0":27,"v1":28,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","x":-590},{"v0":28,"v1":29,"curve":0,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","pos":[-700,80],"y":80},{"v0":30,"v1":31,"curve":0,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","pos":[-700,-80],"y":-80},{"v0":31,"v1":32,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","x":-590},{"v0":32,"v1":33,"curve":0,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","pos":[-700,80],"y":80},{"v0":34,"v1":35,"curve":94.0263701017,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":37,"v1":36,"curve":86.632306418889,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":38,"v1":39,"curve":-94.026370101699,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":35,"v1":39,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":41,"v1":40,"curve":-86.632306418888,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":43,"v1":42,"curve":86.632306418884,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":45,"v1":44,"curve":-86.632306418899,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":46,"v1":47,"curve":-94.026370101699,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":48,"v1":49,"curve":94.026370101699,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":50,"v1":51,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":390},{"v0":53,"v1":52,"curve":-180.00692920292,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":52,"v1":53,"curve":-180.00218240614,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":55,"v1":54,"curve":-179.64823645332,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":54,"v1":55,"curve":-180.35758668147,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":57,"v1":56,"curve":-180.02357323962,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":56,"v1":57,"curve":-180.00924102399,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":59,"v1":58,"curve":-180.06885755885,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":58,"v1":59,"curve":-180.02948353257,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":61,"v1":60,"curve":-179.99869069543,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":60,"v1":61,"curve":-179.99939258776,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":63,"v1":62,"curve":-180.08826047163,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":62,"v1":63,"curve":-179.91186753664,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":65,"v1":64,"curve":-179.99528711105,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":64,"v1":65,"curve":-179.99743836358,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":67,"v1":66,"curve":-179.98626041101,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":66,"v1":67,"curve":-179.99175181595,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":69,"v1":68,"curve":-180.04715562398,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":68,"v1":69,"curve":-179.95294709391,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":71,"v1":70,"curve":-179.95715750564,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":70,"v1":71,"curve":-179.89943871875,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":73,"v1":72,"curve":-179.94773754738,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":72,"v1":73,"curve":-179.98221351296,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":75,"v1":74,"curve":-180.4151727218,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":74,"v1":75,"curve":-179.58764458796,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":77,"v1":76,"curve":-180.00086646359,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":76,"v1":77,"curve":-180.01965986376,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":79,"v1":78,"curve":-180.03532601389,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":78,"v1":79,"curve":-179.99380079,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":81,"v1":80,"curve":-180.0044468452,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":80,"v1":81,"curve":-180.01386779847,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":83,"v1":82,"curve":-180.05158287563,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":82,"v1":83,"curve":-180.01212223878,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":84,"v1":85,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240},{"v0":86,"v1":87,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-120},{"v0":88,"v1":89,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":240},{"v0":90,"v1":91,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":120},{"v0":92,"v1":93,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-381},{"v0":94,"v1":95,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240,"y":123},{"v0":96,"v1":97,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240,"y":123},{"v0":98,"v1":99,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240,"y":-123},{"v0":100,"v1":101,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240,"y":-123},{"v0":102,"v1":103,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-381},{"v0":104,"v1":105,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":381},{"v0":106,"v1":107,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":381},{"curve":0,"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":109,"v1":108,"x":369},{"curve":0,"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":111,"v1":110,"x":-370},{"vis":false,"color":"FFFFFF","bCoef":0,"trait":"ballArea","v0":112,"v1":113,"cMask":["ball"],"x":371,"_selected":true},{"vis":false,"color":"FFFFFF","bCoef":0,"trait":"ballArea","v0":114,"v1":115,"cMask":["ball"],"x":371},{"vis":false,"color":"FFFFFF","bCoef":0,"trait":"ballArea","v0":116,"v1":117,"cMask":["ball"],"x":-371},{"vis":false,"color":"FFFFFF","bCoef":0,"trait":"ballArea","v0":118,"v1":119,"cMask":["ball"],"x":-371}],"goals":[{"p0":[-374.25,-62.053454903872],"p1":[-374.25,64.043361696331],"team":"red"},{"p0":[374.25,62],"p1":[374.25,-62],"team":"blue"}],"discs":[{"radius":3.9405255187564,"pos":[-368.53340356886,64.043361696331],"color":"6666CC","trait":"goalPost","y":80},{"radius":3.9405255187564,"pos":[-368.53340356886,-62.053454903872],"color":"6666CC","trait":"goalPost","y":-80,"x":-560},{"radius":3.9405255187564,"pos":[368.9681846993,-62.144998272018],"color":"6666CC","trait":"goalPost","y":80},{"radius":3.9405255187564,"pos":[368.09926357786,63.94882446641],"color":"6666CC","trait":"goalPost","y":-80,"x":-560},{"radius":3,"invMass":0,"pos":[-368,-171],"color":"FFCC00","bCoef":0.1,"trait":"line"},{"radius":3,"invMass":0,"pos":[-368,171],"color":"FFCC00","bCoef":0.1,"trait":"line"},{"radius":3,"invMass":0,"pos":[368,171],"color":"FFCC00","bCoef":0.1,"trait":"line"},{"radius":3,"invMass":0,"pos":[368,-171],"color":"FFCC00","bCoef":0.1,"trait":"line"}],"planes":[{"normal":[0,1],"dist":-171,"trait":"ballArea"},{"normal":[0,-1],"dist":-171,"trait":"ballArea"},{"normal":[0,1],"dist":-200,"bCoef":0.2,"cMask":["all"]},{"normal":[0,-1],"dist":-200,"bCoef":0.2,"cMask":["all"]},{"normal":[1,0],"dist":-420,"bCoef":0.2,"cMask":["all"]},{"normal":[-1,0],"dist":-420,"bCoef":0.2,"cMask":["all"]}],"traits":{"ballArea":{"vis":false,"bCoef":1,"cMask":["ball"]},"goalPost":{"radius":8,"invMass":0,"bCoef":1},"goalNet":{"vis":true,"bCoef":0.1,"cMask":["all"]},"kickOffBarrier":{"vis":false,"bCoef":0.1,"cGroup":["redKO","blueKO"],"cMask":["red","blue"]},"line":{"vis":true,"bCoef":0,"cMask":[""]},"arco":{"radius":2,"cMask":["n\/d"],"color":"cccccc"}},"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.083,"kickStrength":5,"bCoef":0},"ballPhysics":{"radius":6.25,"color":"FFCC00","bCoef":0.4,"invMass":1.5,"damping":0.99}}' //var classicMap = '{"name":"Futsal x1 and x2 ; by Bazinga! & GLH","width":420,"height":200,"spawnDistance":180,"bg":{"type":"hockey","width":368,"height":171,"kickOffRadius":65,"cornerRadius":0},"vertexes":[{"x":-368,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-368,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-368,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-368,"y":-171,"trait":"ballArea","bCoef":1,"cMask":["ball"]},{"x":368,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":368,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":368,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":368,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":0,"y":65,"trait":"kickOffBarrier"},{"x":0,"y":-65,"trait":"line"},{"bCoef":1,"trait":"ballArea","x":368,"y":171},{"bCoef":1,"trait":"ballArea","x":368,"y":-171},{"bCoef":0,"trait":"line","x":0,"y":171},{"bCoef":0,"trait":"line","x":0,"y":-171},{"x":0,"y":65,"trait":"kickOffBarrier"},{"x":0,"y":-65,"trait":"kickOffBarrier"},{"x":377,"y":-65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":377,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-377,"y":-65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":-377,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-377,"y":65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":-377,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":377,"y":65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":377,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":0,"y":199,"trait":"kickOffBarrier"},{"x":0,"y":65,"trait":"kickOffBarrier"},{"x":0,"y":-65,"trait":"kickOffBarrier"},{"x":0,"y":-199,"trait":"kickOffBarrier"},{"x":-368.53340356886,"y":-62.053454903872,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,-80]},{"x":-400.05760771891,"y":-62.053454903872,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,-80]},{"x":-400.05760771891,"y":64.043361696331,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,80]},{"x":-368.53340356886,"y":64.043361696331,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,80]},{"x":368.09926357786,"y":63.94882446641,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,-80]},{"x":400,"y":64,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,-80]},{"x":400,"y":-61.927767991658,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,80]},{"x":368.9681846993,"y":-62.144998272018,"cMask":["red","blue","ball"],"trait":"goalNet","curve":0,"color":"F8F8F8","pos":[-700,80]},{"x":-368,"y":-142.37229643041,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":-90},{"x":-260.90035258157,"y":-50.168480548544,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":0},{"x":-368,"y":-160.81305960678,"bCoef":0.1,"trait":"line","curve":-90},{"x":-358.5379338963,"y":-171,"bCoef":0.1,"trait":"line","curve":-90},{"x":-368,"y":141.33175243687,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":90},{"x":-260.90035258157,"y":49.127936555002,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":0},{"x":-368,"y":159.77251561324,"bCoef":0.1,"trait":"line","curve":90},{"x":-358.5379338963,"y":171,"bCoef":0.1,"trait":"line","curve":90},{"x":368,"y":159.77251561324,"bCoef":0.1,"trait":"line","curve":-90},{"x":358.36266315432,"y":171,"bCoef":0.1,"trait":"line","curve":-90},{"x":368,"y":-160.81305960678,"bCoef":0.1,"trait":"line","curve":90},{"x":358.36266315432,"y":-171,"bCoef":0.1,"trait":"line","curve":90},{"x":368,"y":-142.37229643041,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":90},{"x":260.72508183959,"y":-50.168480548544,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":90},{"x":368,"y":141.33175243687,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":-90},{"x":260.72508183959,"y":49.127936555002,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":-90},{"x":260.72508183959,"y":-50.168480548544,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":0},{"x":260.72508183959,"y":49.127936555002,"bCoef":0.1,"trait":"line","color":"F8F8F8","curve":0},{"x":-250.86909422732,"y":-1.2295321189394,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":0.18898812539692,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":-2.6480523632758,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":1.6075083697333,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":0.89824824756514,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":-1.9387922411076,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":1.9621384308174,"bCoef":0.1,"trait":"line","curve":180},{"x":-250.86909422732,"y":-3.0026824243599,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":-1.2295321189394,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":0.18898812539692,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":-2.6480523632758,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":1.6075083697333,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":0.89824824756514,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":-1.9387922411076,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":1.9621384308174,"bCoef":0.1,"trait":"line","curve":180},{"x":250.69382348534,"y":-3.0026824243599,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":-1.2295321189394,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":0.18898812539692,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":-2.6480523632758,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":1.6075083697333,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":0.89824824756514,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":-1.9387922411076,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":1.9621384308174,"bCoef":0.1,"trait":"line","curve":180},{"x":-185.66591492467,"y":-3.0026824243599,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":-1.2295321189394,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":0.18898812539692,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":-2.6480523632758,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":1.6075083697333,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":0.89824824756514,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":-1.9387922411076,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":1.9621384308174,"bCoef":0.1,"trait":"line","curve":180},{"x":185.49064418269,"y":-3.0026824243599,"bCoef":0.1,"trait":"line","curve":180},{"x":-160.58776903904,"y":-159.39453936245,"bCoef":0.1,"trait":"line"},{"x":-160.58776903904,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":-80.337702205015,"y":-159.39453936245,"bCoef":0.1,"trait":"line"},{"x":-80.337702205015,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":160.41249829706,"y":-159.39453936245,"bCoef":0.1,"trait":"line"},{"x":160.41249829706,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":80.162431463036,"y":-159.39453936245,"bCoef":0.1,"trait":"line"},{"x":80.162431463036,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":-254.88159756902,"y":-171,"bCoef":0.1,"trait":"line"},{"x":-254.88159756902,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":-371.91294503531,"y":-87.759267023458,"bCoef":0.1,"trait":"line"},{"x":-384.61920561736,"y":-87.759267023458,"bCoef":0.1,"trait":"line"},{"x":371.73767429333,"y":-87.759267023458,"bCoef":0.1,"trait":"line"},{"x":384.44393487538,"y":-87.759267023458,"bCoef":0.1,"trait":"line"},{"x":-371.91294503531,"y":86.718723029916,"bCoef":0.1,"trait":"line"},{"x":-384.61920561736,"y":86.718723029916,"bCoef":0.1,"trait":"line"},{"x":371.73767429333,"y":86.718723029916,"bCoef":0.1,"trait":"line"},{"x":384.44393487538,"y":86.718723029916,"bCoef":0.1,"trait":"line"},{"x":-254.88159756902,"y":171,"bCoef":0.1,"trait":"line"},{"x":-254.88159756902,"y":181.05031927829,"bCoef":0.1,"trait":"line"},{"x":254.70632682704,"y":-171,"bCoef":0.1,"trait":"line"},{"x":254.70632682704,"y":-182.09086327183,"bCoef":0.1,"trait":"line"},{"x":254.70632682704,"y":171,"bCoef":0.1,"trait":"line"},{"x":254.70632682704,"y":181.05031927829,"bCoef":0.1,"trait":"line"},{"x":377,"y":-65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":377,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-377,"y":-65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":-377,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":-377,"y":65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":-377,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":377,"y":65,"trait":"line","cMask":["ball"],"bCoef":1},{"x":377,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":1},{"x":371,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":371,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":371,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":371,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":-371,"y":65,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":-371,"y":171,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":-371,"y":-65,"trait":"ballArea","cMask":["ball"],"bCoef":0},{"x":-371,"y":-171,"trait":"ballArea","cMask":["ball"],"bCoef":0}],"segments":[{"v0":0,"v1":1,"trait":"ballArea"},{"v0":2,"v1":3,"trait":"ballArea"},{"v0":4,"v1":5,"trait":"ballArea"},{"v0":6,"v1":7,"trait":"ballArea"},{"v0":8,"v1":9,"trait":"kickOffBarrier","curve":180,"cGroup":["blueKO"]},{"v0":8,"v1":9,"trait":"kickOffBarrier","curve":-180,"cGroup":["redKO"]},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":1,"v1":0,"cMask":["ball"],"x":-368},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":5,"v1":4,"cMask":["ball"],"x":368},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":2,"v1":3,"cMask":["ball"],"x":-368},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":6,"v1":7,"cMask":["ball"],"x":368},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":0,"v1":10,"y":171},{"vis":true,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":3,"v1":11,"y":-171},{"curve":0,"vis":true,"color":"FFFFFF","bCoef":0,"trait":"line","v0":12,"v1":13},{"curve":-180,"vis":true,"color":"FFFFFF","bCoef":0,"trait":"line","v0":9,"v1":8},{"curve":180,"vis":true,"color":"FFFFFF","bCoef":0,"trait":"line","v0":15,"v1":14},{"curve":0,"vis":true,"color":"FFFFFF","bCoef":0,"trait":"line","v0":2,"v1":1},{"curve":0,"vis":true,"color":"FFFFFF","bCoef":0,"trait":"line","v0":6,"v1":5},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":16,"v1":17,"cMask":["ball"],"x":330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":18,"v1":19,"cMask":["ball"],"x":-330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":20,"v1":21,"cMask":["ball"],"x":-330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":22,"v1":23,"cMask":["ball"],"x":330},{"v0":24,"v1":25,"trait":"kickOffBarrier"},{"v0":26,"v1":27,"trait":"kickOffBarrier"},{"v0":28,"v1":29,"curve":0,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","pos":[-700,-80],"y":-80},{"v0":29,"v1":30,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","x":-590},{"v0":30,"v1":31,"curve":0,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","pos":[-700,80],"y":80},{"v0":32,"v1":33,"curve":0,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","pos":[-700,-80],"y":-80},{"v0":33,"v1":34,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","x":-590},{"v0":34,"v1":35,"curve":0,"color":"F8F8F8","cMask":["red","blue","ball"],"trait":"goalNet","pos":[-700,80],"y":80},{"v0":36,"v1":37,"curve":94.0263701017,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":39,"v1":38,"curve":86.632306418889,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":40,"v1":41,"curve":-94.026370101699,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":37,"v1":41,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":43,"v1":42,"curve":-86.632306418888,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":45,"v1":44,"curve":86.632306418884,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":47,"v1":46,"curve":-86.632306418899,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":48,"v1":49,"curve":-94.026370101699,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":50,"v1":51,"curve":94.026370101699,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line"},{"v0":52,"v1":53,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":390},{"v0":55,"v1":54,"curve":-180.00692920292,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":54,"v1":55,"curve":-180.00218240614,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":57,"v1":56,"curve":-179.64823645332,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":56,"v1":57,"curve":-180.35758668147,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":59,"v1":58,"curve":-180.02357323962,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":58,"v1":59,"curve":-180.00924102399,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":61,"v1":60,"curve":-180.06885755885,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":60,"v1":61,"curve":-180.02948353257,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-375},{"v0":63,"v1":62,"curve":-179.99869069543,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":62,"v1":63,"curve":-179.99939258776,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":65,"v1":64,"curve":-180.08826047163,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":64,"v1":65,"curve":-179.91186753664,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":67,"v1":66,"curve":-179.99528711105,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":66,"v1":67,"curve":-179.99743836358,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":69,"v1":68,"curve":-179.98626041101,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":68,"v1":69,"curve":-179.99175181595,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":375},{"v0":71,"v1":70,"curve":-180.04715562398,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":70,"v1":71,"curve":-179.95294709391,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":73,"v1":72,"curve":-179.95715750564,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":72,"v1":73,"curve":-179.89943871875,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":75,"v1":74,"curve":-179.94773754738,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":74,"v1":75,"curve":-179.98221351296,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":77,"v1":76,"curve":-180.4151727218,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":76,"v1":77,"curve":-179.58764458796,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-277.5},{"v0":79,"v1":78,"curve":-180.00086646359,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":78,"v1":79,"curve":-180.01965986376,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":81,"v1":80,"curve":-180.03532601389,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":80,"v1":81,"curve":-179.99380079,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":83,"v1":82,"curve":-180.0044468452,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":82,"v1":83,"curve":-180.01386779847,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":85,"v1":84,"curve":-180.05158287563,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":84,"v1":85,"curve":-180.01212223878,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":277.5},{"v0":86,"v1":87,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240},{"v0":88,"v1":89,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-120},{"v0":90,"v1":91,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":240},{"v0":92,"v1":93,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":120},{"v0":94,"v1":95,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-381},{"v0":96,"v1":97,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240,"y":123},{"v0":98,"v1":99,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240,"y":123},{"v0":100,"v1":101,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240,"y":-123},{"v0":102,"v1":103,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-240,"y":-123},{"v0":104,"v1":105,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":-381},{"v0":106,"v1":107,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":381},{"v0":108,"v1":109,"curve":0,"vis":true,"color":"F8F8F8","bCoef":0.1,"trait":"line","x":381},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":110,"v1":111,"cMask":["ball"],"x":330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":112,"v1":113,"cMask":["ball"],"x":-330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":114,"v1":115,"cMask":["ball"],"x":-330},{"vis":false,"color":"FFFFFF","bCoef":1,"trait":"ballArea","v0":116,"v1":117,"cMask":["ball"],"x":330},{"vis":false,"color":"FFFFFF","bCoef":0,"trait":"ballArea","v0":118,"v1":119,"cMask":["ball"],"x":371},{"vis":false,"color":"FFFFFF","bCoef":0,"trait":"ballArea","v0":120,"v1":121,"cMask":["ball"],"x":371},{"vis":false,"color":"FFFFFF","bCoef":0,"trait":"ballArea","v0":122,"v1":123,"cMask":["ball"],"x":-371},{"vis":false,"color":"FFFFFF","bCoef":0,"trait":"ballArea","v0":124,"v1":125,"cMask":["ball"],"x":-371}],"goals":[{"p0":[-374.25,-62.053454903872],"p1":[-374.25,64.043361696331],"team":"red"},{"p0":[374.25,62],"p1":[374.25,-62],"team":"blue"}],"discs":[{"radius":3.9405255187564,"pos":[-368.53340356886,64.043361696331],"color":"6666CC","trait":"goalPost","y":80},{"radius":3.9405255187564,"pos":[-368.53340356886,-62.053454903872],"color":"6666CC","trait":"goalPost","y":-80,"x":-560},{"radius":3.9405255187564,"pos":[368.9681846993,-62.144998272018],"color":"6666CC","trait":"goalPost","y":80},{"radius":3.9405255187564,"pos":[368.09926357786,63.94882446641],"color":"6666CC","trait":"goalPost","y":-80,"x":-560},{"radius":3,"invMass":0,"pos":[-368,-171],"color":"FFCC00","bCoef":0.1,"trait":"line"},{"radius":3,"invMass":0,"pos":[-368,171],"color":"FFCC00","bCoef":0.1,"trait":"line"},{"radius":3,"invMass":0,"pos":[368,171],"color":"FFCC00","bCoef":0.1,"trait":"line"},{"radius":3,"invMass":0,"pos":[368,-171],"color":"FFCC00","bCoef":0.1,"trait":"line"}],"planes":[{"normal":[0,1],"dist":-171,"trait":"ballArea"},{"normal":[0,-1],"dist":-171,"trait":"ballArea"},{"normal":[0,1],"dist":-200,"bCoef":0.2,"cMask":["all"]},{"normal":[0,-1],"dist":-200,"bCoef":0.2,"cMask":["all"]},{"normal":[1,0],"dist":-420,"bCoef":0.2,"cMask":["all"]},{"normal":[-1,0],"dist":-420,"bCoef":0.2,"cMask":["all"]}],"traits":{"ballArea":{"vis":false,"bCoef":1,"cMask":["ball"]},"goalPost":{"radius":8,"invMass":0,"bCoef":1},"goalNet":{"vis":true,"bCoef":0.1,"cMask":["all"]},"kickOffBarrier":{"vis":false,"bCoef":0.1,"cGroup":["redKO","blueKO"],"cMask":["red","blue"]},"line":{"vis":true,"bCoef":0,"cMask":[""]},"arco":{"radius":2,"cMask":["n\/d"],"color":"cccccc"}},"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.083,"kickStrength":5,"bCoef":0},"ballPhysics":{"radius":6.25,"color":"FFCC00","bCoef":0.4,"invMass":1.5,"damping":0.99}}'; // Insert your map for 1v1 and 2v2 here. To get minimum file size, here are the instructions : 1. Download the map 2. Go to https://cssminifier.com 3. Paste the result //var classicMap = '{"name":"FUTSAL 1v1 2v2 by KyU","width":420,"height":200,"bg":{"width":368,"height":171,"kickOffRadius":65,"color":"505050"},"vertexes":[{"x":-368,"y":171,"cMask":["ball"]},{"x":-368,"y":50,"cMask":["ball"]},{"x":-368,"y":-50,"cMask":["ball"]},{"x":-368,"y":-171,"cMask":["ball"]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":50,"cMask":["ball"]},{"x":368,"y":-50,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":176,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-50,"bCoef":0,"cMask":[]},{"x":0,"y":-176,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":-384,"y":-50,"bCoef":0.1},{"x":384,"y":-50,"bCoef":0.1},{"x":-384,"y":50,"bCoef":0.1},{"x":384,"y":50,"bCoef":0.1},{"x":-368,"y":-127,"bCoef":0,"cMask":[]},{"x":368,"y":-127,"bCoef":0,"cMask":[]},{"x":-368,"y":127,"bCoef":0,"cMask":[]},{"x":368,"y":127,"bCoef":0,"cMask":[]},{"x":-350,"y":-171,"bCoef":0,"cMask":[]},{"x":-368,"y":-163,"bCoef":0,"cMask":[]},{"x":350,"y":-171,"bCoef":0,"cMask":[]},{"x":368,"y":-163,"bCoef":0,"cMask":[]},{"x":-350,"y":171,"bCoef":0,"cMask":[]},{"x":-368,"y":163,"bCoef":0,"cMask":[]},{"x":350,"y":171,"bCoef":0,"cMask":[]},{"x":368,"y":163,"bCoef":0,"cMask":[]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":171,"bCoef":0,"cMask":[]},{"x":0,"y":-171,"bCoef":0,"cMask":[]},{"x":0,"y":50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":377,"y":-50,"cMask":["red"]},{"x":377,"y":-171,"cMask":["ball"]},{"x":-377,"y":-50,"cMask":["blue"]},{"x":-377,"y":-171,"cMask":["ball"]},{"x":-377,"y":50,"cMask":["blue"]},{"x":-377,"y":171,"cMask":["ball"]},{"x":377,"y":50,"cMask":["red"]},{"x":377,"y":171,"cMask":["ball"]},{"x":5,"y":170},{"x":364,"y":168},{"x":367,"y":-169},{"x":-368,"y":-171},{"x":-369,"y":168},{"x":1,"y":-172}],"segments":[{"v0":0,"v1":1,"vis":false,"cMask":["ball"]},{"v0":2,"v1":3,"vis":false,"cMask":["ball"]},{"v0":4,"v1":5,"vis":false,"cMask":["ball"]},{"v0":6,"v1":7,"vis":false,"cMask":["ball"]},{"v0":8,"v1":9,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"v0":9,"v1":10,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["blueKO"]},{"v0":10,"v1":9,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["redKO"]},{"v0":10,"v1":11,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"v0":12,"v1":2,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":6,"v1":13,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":1,"v1":14,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":15,"v1":5,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":14,"v1":12,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":13,"v1":15,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":1,"v1":0,"cMask":["ball"]},{"v0":5,"v1":4,"cMask":["ball"]},{"v0":2,"v1":3,"cMask":["ball"]},{"v0":6,"v1":7,"cMask":["ball"]},{"v0":0,"v1":28,"cMask":["ball"]},{"v0":3,"v1":29,"cMask":["ball"]},{"v0":30,"v1":31,"bCoef":0,"cMask":[]},{"v0":9,"v1":10,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[]},{"v0":33,"v1":32,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[]},{"v0":2,"v1":1,"bCoef":0,"cMask":[]},{"v0":6,"v1":5,"bCoef":0,"cMask":[]},{"v0":34,"v1":35,"vis":false,"cMask":["ball"]},{"v0":36,"v1":37,"vis":false,"cMask":["ball"]},{"v0":38,"v1":39,"vis":false,"cMask":["ball"]},{"v0":40,"v1":41,"vis":false,"cMask":["ball"]},{"v0":34,"v1":40,"curve":59.99999999999999,"curveF":1.7320508075688774,"vis":false,"cMask":["red"]},{"v0":38,"v1":36,"curve":59.99999999999999,"curveF":1.7320508075688774,"vis":false,"cMask":["blue"],"color":"FFFFFF"}],"planes":[{"normal":[0,1],"dist":-171,"cMask":["ball"]},{"normal":[0,-1],"dist":-171,"cMask":["ball"]},{"normal":[0,1],"dist":-200,"bCoef":0.2},{"normal":[0,-1],"dist":-200,"bCoef":0.2},{"normal":[1,0],"dist":-420,"bCoef":0.2},{"normal":[-1,0],"dist":-420,"bCoef":0.2}],"goals":[{"p0":[-377,-50],"p1":[-377,50],"team":"red"},{"p0":[377,50],"p1":[377,-50],"team":"blue"}],"discs":[{"radius":6.4,"color":"E7CC03","cGroup":["ball","kick","score"]},{"pos":[-368,50],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[-368,-50],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[368,50],"radius":5,"bCoef":1,"invMass":0,"color":"74D9"},{"pos":[368,-50],"radius":5,"bCoef":1,"invMass":0,"color":"74D9"},{"pos":[383,51],"radius":3,"bCoef":0,"invMass":0,"color":"74D9","cMask":[]},{"pos":[-383,51],"radius":3,"bCoef":0,"invMass":0,"color":"FF4136","cMask":[]},{"pos":[383,-51],"radius":3,"bCoef":0,"invMass":0,"color":"74D9","cMask":[]},{"pos":[-383,-51],"radius":3,"bCoef":0,"invMass":0,"color":"FF4136","cMask":[]}],"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.1,"kickStrength":7},"ballPhysics":"disc0","spawnDistance":180}'; //var bigMap = '{"name":"FUTSAL FEH 1.2 by KyU","width":630,"height":280,"bg":{"type":"hockey","width":550,"height":240,"kickOffRadius":80},"vertexes":[{"x":-550,"y":240,"cMask":["ball"]},{"x":-550,"y":80,"cMask":["ball"]},{"x":-550,"y":-80,"cMask":["ball"]},{"x":-550,"y":-240,"cMask":["ball"]},{"x":550,"y":240,"cMask":["ball"]},{"x":550,"y":80,"cMask":["ball"]},{"x":550,"y":-80,"cMask":["ball"]},{"x":550,"y":-240,"cMask":["ball"]},{"x":0,"y":270,"bCoef":0,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":80,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-80,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":80,"bCoef":0,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":-557,"y":-80,"bCoef":0.1,"cMask":["ball"]},{"x":-580,"y":-80,"bCoef":0.1,"cMask":["ball"]},{"x":-580,"y":80,"bCoef":0.1,"cMask":["ball"]},{"x":-557,"y":80,"bCoef":0.1,"cMask":["ball"]},{"x":557,"y":-80,"bCoef":0.1,"cMask":["ball"]},{"x":580,"y":-80,"bCoef":0.1,"cMask":["ball"]},{"x":580,"y":80,"bCoef":0.1,"cMask":["ball"]},{"x":557,"y":80,"bCoef":0.1,"cMask":["ball"]},{"x":-550,"y":-160,"cGroup":[]},{"x":-550,"y":160,"cGroup":[]},{"x":-550,"y":-80,"cGroup":[]},{"x":-490,"y":-80,"cGroup":[]},{"x":-490,"y":80,"cGroup":[]},{"x":-550,"y":80,"cGroup":[]},{"x":550,"y":-160,"cGroup":[]},{"x":550,"y":160,"cGroup":[]},{"x":550,"y":-80,"cGroup":[]},{"x":490,"y":-80,"cGroup":[]},{"x":490,"y":80,"cGroup":[]},{"x":550,"y":80,"cGroup":[]},{"x":-420,"y":0,"cGroup":[]},{"x":-422,"y":0,"cGroup":[]},{"x":420,"y":0,"cGroup":[]},{"x":422,"y":0,"cGroup":[]},{"x":-1,"y":0,"cGroup":[]},{"x":2,"y":0,"cGroup":[]},{"x":-548,"y":-230,"cGroup":[]},{"x":-540,"y":-238,"cGroup":[]},{"x":548,"y":-230,"cGroup":[]},{"x":540,"y":-238,"cGroup":[]},{"x":-548,"y":230,"cGroup":[]},{"x":-540,"y":238,"cGroup":[]},{"x":548,"y":230,"cGroup":[]},{"x":540,"y":238,"cGroup":[]},{"x":-550,"y":-197,"cGroup":[]},{"x":-409,"y":-54,"cGroup":[]},{"x":550,"y":-174,"cGroup":[]},{"x":551,"y":171,"cGroup":[]},{"x":-550,"y":87,"cMask":["ball"]},{"x":557,"y":80,"cMask":["ball"]},{"x":557,"y":240,"cMask":["ball"]},{"x":557,"y":-240,"cMask":["ball"]},{"x":557,"y":-80,"cMask":["ball"]},{"x":-555,"y":-240,"cMask":["ball"]},{"x":-555,"y":-80,"cMask":["ball"]},{"x":-557,"y":80,"cMask":["ball"]},{"x":-557,"y":240,"cMask":["ball"]},{"x":-409,"y":44,"cGroup":[]},{"x":-550,"y":206,"cGroup":[]},{"x":549,"y":-196,"cGroup":[]},{"x":409,"y":-55,"cGroup":[]},{"x":409,"y":43,"cGroup":[]},{"x":550,"y":201,"cGroup":[]},{"x":557,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":556,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":555,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":554,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":554,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":553,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":554,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":553,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":552,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":551,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":-557,"y":94,"bCoef":0.1,"cMask":["ball"]},{"x":-555,"y":94,"bCoef":0.1,"cMask":["ball"]},{"x":-553,"y":94,"bCoef":0.1,"cMask":["ball"]},{"x":-551,"y":94,"bCoef":0.1,"cMask":["ball"]},{"x":558,"y":-89,"bCoef":0.1,"cMask":["ball"]},{"x":557,"y":93,"bCoef":0.1,"cMask":["ball"]},{"x":-551,"y":88,"bCoef":0.1,"cMask":[]},{"x":-553,"y":88,"bCoef":0.1,"cMask":[]},{"x":-555,"y":88,"bCoef":0.1,"cMask":[]},{"x":-557,"y":88,"bCoef":0.1,"cMask":[]},{"x":557,"y":-88,"bCoef":0.1,"cMask":[]},{"x":557,"y":90,"bCoef":0.1,"cMask":[]},{"x":555,"y":-88,"bCoef":0.1,"cMask":[]},{"x":555,"y":90,"bCoef":0.1,"cMask":[]},{"x":550,"y":-80,"bCoef":0.1,"cMask":[]},{"x":550,"y":81,"bCoef":0.1,"cMask":[]},{"x":550,"y":-74,"bCoef":0.1,"cMask":[]},{"x":550,"y":-56,"bCoef":0.1,"cMask":[]},{"x":550,"y":-31,"bCoef":0.1,"cMask":[]},{"x":550,"y":-13,"bCoef":0.1,"cMask":[]},{"x":550,"y":11,"bCoef":0.1,"cMask":[]},{"x":550,"y":29,"bCoef":0.1,"cMask":[]},{"x":550,"y":55,"bCoef":0.1,"cMask":[]},{"x":550,"y":73,"bCoef":0.1,"cMask":[]},{"x":-282,"y":-1,"cGroup":[]},{"x":-284,"y":-1,"cGroup":[]},{"x":-550,"y":240,"cMask":["ball"],"cGroup":["ball"]},{"x":550,"y":240,"cMask":["ball"],"cGroup":["ball"]},{"x":-550,"y":-240,"cMask":["ball"],"cGroup":["ball"]},{"x":551,"y":-240,"cMask":["ball"],"cGroup":["ball"]},{"x":283,"y":0,"cGroup":[]},{"x":285,"y":0,"cGroup":[]},{"x":-550,"y":-86,"cMask":["ball"]},{"x":-550,"y":-239,"cMask":["ball"]},{"x":-550,"y":80,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-80,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-73,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-55,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-30,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-12,"bCoef":0.1,"cMask":[]},{"x":-550,"y":12,"bCoef":0.1,"cMask":[]},{"x":-550,"y":30,"bCoef":0.1,"cMask":[]},{"x":-550,"y":56,"bCoef":0.1,"cMask":[]},{"x":-550,"y":74,"bCoef":0.1,"cMask":[]},{"x":0,"y":240,"bCoef":0,"cMask":[]},{"x":0,"y":80,"bCoef":0,"cMask":[]},{"x":0,"y":-80,"bCoef":0,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-270,"bCoef":0,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-80,"bCoef":0,"cMask":[]},{"x":0,"y":-240,"bCoef":0,"cMask":[]},{"x":0,"y":80,"bCoef":0,"cMask":[]},{"x":0,"y":-80,"bCoef":0,"cMask":[]}],"segments":[{"v0":4,"v1":5,"cMask":["ball"],"color":"FFFFFF"},{"v0":6,"v1":7,"cMask":["ball"],"color":"FFFFFF"},{"v0":12,"v1":13,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":13,"v1":14,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":14,"v1":15,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":16,"v1":17,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":17,"v1":18,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":18,"v1":19,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":32,"v1":33,"cGroup":[],"color":"FFFFFF"},{"v0":34,"v1":35,"cGroup":[],"color":"E0EEE0"},{"v0":36,"v1":37,"cGroup":[],"color":"E0EEE0"},{"v0":39,"v1":38,"curve":80.00000000000001,"curveF":1.19175359259421,"cGroup":[],"color":"E0EEE0"},{"v0":40,"v1":41,"curve":80.00000000000001,"curveF":1.19175359259421,"cGroup":[],"color":"E0EEE0"},{"v0":42,"v1":43,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":45,"v1":44,"curve":80.00000000000001,"curveF":1.19175359259421,"cGroup":[],"color":"E0EEE0"},{"v0":9,"v1":10,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"cMask":["red","blue"],"cGroup":["blueKO"],"color":"FFFFFF"},{"v0":10,"v1":9,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"cMask":["red","blue"],"cGroup":["redKO"],"color":"FFFFFF"},{"v0":46,"v1":47,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":50,"v1":0,"cMask":["ball"],"color":"FFFFFF"},{"v0":51,"v1":52,"vis":false,"cMask":["ball"],"color":"CCCCFF"},{"v0":53,"v1":54,"vis":false,"cMask":["ball"],"color":"CCCCFF"},{"v0":55,"v1":56,"vis":false,"cMask":["ball"],"color":"CCCCFF"},{"v0":57,"v1":58,"vis":false,"cMask":["ball"],"color":"FFCCCC"},{"v0":59,"v1":60,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":47,"v1":59,"cGroup":[],"color":"E0EEE0"},{"v0":62,"v1":61,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":64,"v1":63,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":62,"v1":63,"cGroup":[],"color":"E0EEE0"},{"v0":89,"v1":90,"bCoef":0.1,"cMask":[],"color":"FFFFFF"},{"v0":91,"v1":92,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":93,"v1":94,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":95,"v1":96,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":97,"v1":98,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":99,"v1":100,"cGroup":[],"color":"FFFFFF"},{"v0":101,"v1":102,"cMask":["ball"],"cGroup":["ball"],"color":"FFFFFF"},{"v0":103,"v1":104,"cMask":["ball"],"cGroup":["ball"],"color":"FFFFFF"},{"v0":105,"v1":106,"cGroup":[],"color":"E0EEE0"},{"v0":108,"v1":107,"cMask":["ball"],"color":"FFFFFF"},{"v0":110,"v1":109,"bCoef":0.1,"cMask":[],"color":"FFFFFF"},{"v0":111,"v1":112,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":113,"v1":114,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":115,"v1":116,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":117,"v1":118,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":11,"v1":8,"bCoef":0,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"],"color":"FFFFFF"},{"v0":120,"v1":119,"bCoef":0,"cMask":[],"color":"FFFFFF"},{"v0":122,"v1":121,"bCoef":0,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"],"color":"FFFFFF"},{"v0":124,"v1":123,"bCoef":0,"cMask":[],"color":"FFFFFF"},{"v0":126,"v1":125,"bCoef":0,"cMask":[],"color":"FFFFFF"}],"planes":[{"normal":[0,1],"dist":-240,"cMask":["ball"],"cGroup":["ball"]},{"normal":[0,-1],"dist":-240,"cMask":["ball"],"cGroup":["ball"]},{"normal":[0,1],"dist":-270,"bCoef":0.1},{"normal":[0,-1],"dist":-270,"bCoef":0.1},{"normal":[1,0],"dist":-600,"bCoef":0.1},{"normal":[-1,0],"dist":-600,"bCoef":0.1}],"goals":[{"p0":[-550,84],"p1":[-550,-76],"team":"red"},{"p0":[550,80],"p1":[550,-80],"team":"blue"}],"discs":[{"radius":6.4,"color":"E7CC03","cGroup":["ball","kick","score"]},{"pos":[-550,80],"radius":5,"invMass":0},{"pos":[-550,-80],"radius":5,"invMass":0},{"pos":[550,80],"radius":5,"invMass":0},{"pos":[550,-80],"radius":5,"invMass":0}],"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.1,"kickStrength":7},"ballPhysics":"disc0","spawnDistance":350}'; //var aloneMap = '{"name":"FUTSAL No Goal by KyU","width":420,"height":200,"bg":{"width":368,"height":171,"kickOffRadius":65,"color":"505050"},"vertexes":[{"x":-368,"y":171,"cMask":["ball"]},{"x":-368,"y":50,"cMask":["ball"]},{"x":-368,"y":-50,"cMask":["ball"]},{"x":-368,"y":-171,"cMask":["ball"]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":50,"cMask":["ball"]},{"x":368,"y":-50,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":176,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-50,"bCoef":0,"cMask":[]},{"x":0,"y":-176,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":-384,"y":-50,"bCoef":0.1},{"x":384,"y":-50,"bCoef":0.1},{"x":-384,"y":50,"bCoef":0.1},{"x":384,"y":50,"bCoef":0.1},{"x":-368,"y":-127,"bCoef":0,"cMask":[]},{"x":368,"y":-127,"bCoef":0,"cMask":[]},{"x":-368,"y":127,"bCoef":0,"cMask":[]},{"x":368,"y":127,"bCoef":0,"cMask":[]},{"x":-350,"y":-171,"bCoef":0,"cMask":[]},{"x":-368,"y":-163,"bCoef":0,"cMask":[]},{"x":350,"y":-171,"bCoef":0,"cMask":[]},{"x":368,"y":-163,"bCoef":0,"cMask":[]},{"x":-350,"y":171,"bCoef":0,"cMask":[]},{"x":-368,"y":163,"bCoef":0,"cMask":[]},{"x":350,"y":171,"bCoef":0,"cMask":[]},{"x":368,"y":163,"bCoef":0,"cMask":[]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":171,"bCoef":0,"cMask":[]},{"x":0,"y":-171,"bCoef":0,"cMask":[]},{"x":0,"y":50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":377,"y":-50,"cMask":["red"]},{"x":377,"y":-171,"cMask":["ball"]},{"x":-377,"y":-50,"cMask":["blue"]},{"x":-377,"y":-171,"cMask":["ball"]},{"x":-377,"y":50,"cMask":["blue"]},{"x":-377,"y":171,"cMask":["ball"]},{"x":377,"y":50,"cMask":["red"]},{"x":377,"y":171,"cMask":["ball"]},{"x":5,"y":170},{"x":364,"y":168},{"x":367,"y":-169},{"x":-368,"y":-171},{"x":-369,"y":168},{"x":1,"y":-172}],"segments":[{"v0":0,"v1":1,"vis":false,"cMask":["ball"]},{"v0":2,"v1":3,"vis":false,"cMask":["ball"]},{"v0":4,"v1":5,"vis":false,"cMask":["ball"]},{"v0":6,"v1":7,"vis":false,"cMask":["ball"]},{"v0":8,"v1":9,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"v0":9,"v1":10,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["blueKO"]},{"v0":10,"v1":9,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["redKO"]},{"v0":10,"v1":11,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"v0":12,"v1":2,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":6,"v1":13,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":1,"v1":14,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":15,"v1":5,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":14,"v1":12,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":13,"v1":15,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":1,"v1":0,"cMask":["ball"]},{"v0":5,"v1":4,"cMask":["ball"]},{"v0":2,"v1":3,"cMask":["ball"]},{"v0":6,"v1":7,"cMask":["ball"]},{"v0":0,"v1":28,"cMask":["ball"]},{"v0":3,"v1":29,"cMask":["ball"]},{"v0":30,"v1":31,"bCoef":0,"cMask":[]},{"v0":9,"v1":10,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[]},{"v0":33,"v1":32,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[]},{"v0":2,"v1":1,"bCoef":0,"cMask":[]},{"v0":6,"v1":5,"bCoef":0,"cMask":[]},{"v0":34,"v1":35,"vis":false,"cMask":["ball"]},{"v0":36,"v1":37,"vis":false,"cMask":["ball"]},{"v0":38,"v1":39,"vis":false,"cMask":["ball"]},{"v0":40,"v1":41,"vis":false,"cMask":["ball"]},{"v0":34,"v1":40,"curve":59.99999999999999,"curveF":1.7320508075688774,"vis":false,"cMask":["red"]},{"v0":38,"v1":36,"curve":59.99999999999999,"curveF":1.7320508075688774,"vis":false,"cMask":["blue"],"color":"FFFFFF"}],"planes":[{"normal":[0,1],"dist":-171,"cMask":["ball"]},{"normal":[0,-1],"dist":-171,"cMask":["ball"]},{"normal":[0,1],"dist":-200,"bCoef":0.2},{"normal":[0,-1],"dist":-200,"bCoef":0.2},{"normal":[1,0],"dist":-420,"bCoef":0.2},{"normal":[-1,0],"dist":-420,"bCoef":0.2}],"goals":[],"discs":[{"radius":6.4,"color":"E7CC03","cGroup":["ball","kick","score"]},{"pos":[-368,50],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[-368,-50],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[368,50],"radius":5,"bCoef":1,"invMass":0,"color":"74D9"},{"pos":[368,-50],"radius":5,"bCoef":1,"invMass":0,"color":"74D9"},{"pos":[383,51],"radius":3,"bCoef":0,"invMass":0,"color":"74D9","cMask":[]},{"pos":[-383,51],"radius":3,"bCoef":0,"invMass":0,"color":"FF4136","cMask":[]},{"pos":[383,-51],"radius":3,"bCoef":0,"invMass":0,"color":"74D9","cMask":[]},{"pos":[-383,-51],"radius":3,"bCoef":0,"invMass":0,"color":"FF4136","cMask":[]}],"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.1,"kickStrength":7},"ballPhysics":"disc0","spawnDistance":180}'; //var classicMap ='{"name":"FUTSAL 1v1 2v2 by KyU","width":420,"height":200,"bg":{"width":368,"height":171,"kickOffRadius":65,"color":"505050"},"vertexes":[{"x":-368,"y":171,"cMask":["ball"]},{"x":-368,"y":65,"cMask":["ball"]},{"x":-368,"y":-65,"cMask":["ball"]},{"x":-368,"y":-171,"cMask":["ball"]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":65,"cMask":["ball"]},{"x":368,"y":-65,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-65,"bCoef":0,"cMask":[]},{"x":-384,"y":-65,"bCoef":0.1,"cMask":["ball"]},{"x":384,"y":-65,"bCoef":0.1,"cMask":["ball"]},{"x":-384,"y":65,"bCoef":0.1,"cMask":["ball"]},{"x":384,"y":65,"bCoef":0.1,"cMask":["ball"]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":171,"bCoef":0,"cMask":[]},{"x":0,"y":-171,"bCoef":0,"cMask":[]},{"x":0,"y":65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":377,"y":-65,"cMask":["ball"]},{"x":377,"y":-171,"cMask":["ball"]},{"x":-377,"y":-65,"cMask":["ball"]},{"x":-377,"y":-171,"cMask":["ball"]},{"x":-377,"y":65,"cMask":["ball"]},{"x":-377,"y":171,"cMask":["ball"]},{"x":377,"y":65,"cMask":["ball"]},{"x":377,"y":171,"cMask":["ball"]},{"x":0,"y":199,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-199,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]}],"segments":[{"v0":0,"v1":1,"vis":false,"cMask":["ball"]},{"v0":2,"v1":3,"vis":false,"cMask":["ball"]},{"v0":4,"v1":5,"vis":false,"cMask":["ball"]},{"v0":6,"v1":7,"vis":false,"cMask":["ball"]},{"v0":8,"v1":9,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["blueKO"]},{"v0":9,"v1":8,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["redKO"]},{"v0":10,"v1":2,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":6,"v1":11,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":1,"v1":12,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":13,"v1":5,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":12,"v1":10,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"cMask":["ball"]},{"v0":11,"v1":13,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"cMask":["ball"]},{"v0":1,"v1":0,"cMask":["ball"]},{"v0":5,"v1":4,"cMask":["ball"]},{"v0":2,"v1":3,"cMask":["ball"]},{"v0":6,"v1":7,"cMask":["ball"]},{"v0":0,"v1":14,"cMask":["ball"]},{"v0":3,"v1":15,"cMask":["ball"]},{"v0":16,"v1":17,"bCoef":0,"cMask":[]},{"v0":8,"v1":9,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[]},{"v0":19,"v1":18,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[]},{"v0":2,"v1":1,"bCoef":0,"cMask":[]},{"v0":6,"v1":5,"bCoef":0,"cMask":[]},{"v0":20,"v1":21,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":22,"v1":23,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":24,"v1":25,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":26,"v1":27,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":28,"v1":29,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"v0":30,"v1":31,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]}],"planes":[{"normal":[0,1],"dist":-171,"cMask":["ball"]},{"normal":[0,-1],"dist":-171,"cMask":["ball"]},{"normal":[0,1],"dist":-200,"bCoef":0.2},{"normal":[0,-1],"dist":-200,"bCoef":0.2},{"normal":[1,0],"dist":-420,"bCoef":0.2},{"normal":[-1,0],"dist":-420,"bCoef":0.2}],"goals":[{"p0":[-377,-65],"p1":[-377,65],"team":"red"},{"p0":[377,65],"p1":[377,-65],"team":"blue"}],"discs":[{"radius":6.4,"color":"E7CC03","cGroup":["ball","kick","score"]},{"pos":[-368,65],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[-368,-65],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[368,65],"radius":5,"bCoef":1,"invMass":0,"color":"74D9"},{"pos":[368,-65],"radius":5,"bCoef":1,"invMass":0,"color":"74D9"}],"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.1,"kickStrength":7},"ballPhysics":"disc0","spawnDistance":180}'; //MAPA NUEVOS var aloneMap = '{"name":"FUTSAL No Goal by KyU","width":420,"height":200,"bg":{"width":368,"height":171,"kickOffRadius":65,"color":"505050"},"vertexes":[{"x":-368,"y":171,"cMask":["ball"]},{"x":-368,"y":65,"cMask":["ball"]},{"x":-368,"y":-65,"cMask":["ball"]},{"x":-368,"y":-171,"cMask":["ball"]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":65,"cMask":["ball"]},{"x":368,"y":-65,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-65,"bCoef":0,"cMask":[]},{"x":-384,"y":-65,"bCoef":0.1,"cMask":["ball"]},{"x":384,"y":-65,"bCoef":0.1,"cMask":["ball"]},{"x":-384,"y":65,"bCoef":0.1,"cMask":["ball"]},{"x":384,"y":65,"bCoef":0.1,"cMask":["ball"]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":171,"bCoef":0,"cMask":[]},{"x":0,"y":-171,"bCoef":0,"cMask":[]},{"x":0,"y":65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":377,"y":-65,"cMask":["ball"]},{"x":377,"y":-171,"cMask":["ball"]},{"x":-377,"y":-65,"cMask":["ball"]},{"x":-377,"y":-171,"cMask":["ball"]},{"x":-377,"y":65,"cMask":["ball"]},{"x":-377,"y":171,"cMask":["ball"]},{"x":377,"y":65,"cMask":["ball"]},{"x":377,"y":171,"cMask":["ball"]},{"x":0,"y":199,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-65,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-199,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]}],"segments":[{"v0":0,"v1":1,"vis":false,"cMask":["ball"]},{"v0":2,"v1":3,"vis":false,"cMask":["ball"]},{"v0":4,"v1":5,"vis":false,"cMask":["ball"]},{"v0":6,"v1":7,"vis":false,"cMask":["ball"]},{"v0":8,"v1":9,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["blueKO"]},{"v0":9,"v1":8,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["redKO"]},{"v0":10,"v1":2,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":6,"v1":11,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":1,"v1":12,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":13,"v1":5,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126},{"v0":12,"v1":10,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"cMask":["ball"]},{"v0":11,"v1":13,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"cMask":["ball"]},{"v0":1,"v1":0,"cMask":["ball"]},{"v0":5,"v1":4,"cMask":["ball"]},{"v0":2,"v1":3,"cMask":["ball"]},{"v0":6,"v1":7,"cMask":["ball"]},{"v0":0,"v1":14,"cMask":["ball"]},{"v0":3,"v1":15,"cMask":["ball"]},{"v0":16,"v1":17,"bCoef":0,"cMask":[]},{"v0":8,"v1":9,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[]},{"v0":19,"v1":18,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[]},{"v0":2,"v1":1,"bCoef":0,"cMask":[]},{"v0":6,"v1":5,"bCoef":0,"cMask":[]},{"v0":20,"v1":21,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":22,"v1":23,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":24,"v1":25,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":26,"v1":27,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":28,"v1":29,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"v0":30,"v1":31,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]}],"planes":[{"normal":[0,1],"dist":-171,"cMask":["ball"]},{"normal":[0,-1],"dist":-171,"cMask":["ball"]},{"normal":[0,1],"dist":-200,"bCoef":0.2},{"normal":[0,-1],"dist":-200,"bCoef":0.2},{"normal":[1,0],"dist":-420,"bCoef":0.2},{"normal":[-1,0],"dist":-420,"bCoef":0.2}],"goals":[],"discs":[{"radius":6.4,"color":"E7CC03","cGroup":["ball","kick","score"]},{"pos":[-368,65],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[-368,-65],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[368,65],"radius":5,"bCoef":1,"invMass":0,"color":"74D9"},{"pos":[368,-65],"radius":5,"bCoef":1,"invMass":0,"color":"74D9"}],"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.1,"kickStrength":7},"ballPhysics":"disc0","spawnDistance":180}'; var classicMap ='{"name":"FUTSAL 1v1 2v2 by KyU","width":420,"height":200,"bg":{"width":368,"height":171,"kickOffRadius":65,"color":"505050"},"vertexes":[{"x":-368,"y":171,"cMask":["ball"]},{"x":-368,"y":50,"cMask":["ball"]},{"x":-368,"y":-50,"cMask":["ball"]},{"x":-368,"y":-171,"cMask":["ball"]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":50,"cMask":["ball"]},{"x":368,"y":-50,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":176,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-50,"bCoef":0,"cMask":[]},{"x":0,"y":-176,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":-384,"y":-50,"bCoef":0.1},{"x":384,"y":-50,"bCoef":0.1},{"x":-384,"y":50,"bCoef":0.1},{"x":384,"y":50,"bCoef":0.1},{"x":-368,"y":-127,"bCoef":0,"cMask":[]},{"x":368,"y":-127,"bCoef":0,"cMask":[]},{"x":-368,"y":127,"bCoef":0,"cMask":[]},{"x":368,"y":127,"bCoef":0,"cMask":[]},{"x":-350,"y":-171,"bCoef":0,"cMask":[]},{"x":-368,"y":-163,"bCoef":0,"cMask":[]},{"x":350,"y":-171,"bCoef":0,"cMask":[]},{"x":368,"y":-163,"bCoef":0,"cMask":[]},{"x":-350,"y":171,"bCoef":0,"cMask":[]},{"x":-368,"y":163,"bCoef":0,"cMask":[]},{"x":350,"y":171,"bCoef":0,"cMask":[]},{"x":368,"y":163,"bCoef":0,"cMask":[]},{"x":368,"y":171,"cMask":["ball"]},{"x":368,"y":-171,"cMask":["ball"]},{"x":0,"y":171,"bCoef":0,"cMask":[]},{"x":0,"y":-171,"bCoef":0,"cMask":[]},{"x":0,"y":50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-50,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":377,"y":-50,"cMask":["red"]},{"x":377,"y":-171,"cMask":["ball"]},{"x":-377,"y":-50,"cMask":["blue"]},{"x":-377,"y":-171,"cMask":["ball"]},{"x":-377,"y":50,"cMask":["blue"]},{"x":-377,"y":171,"cMask":["ball"]},{"x":377,"y":50,"cMask":["red"]},{"x":377,"y":171,"cMask":["ball"]}],"segments":[{"v0":0,"v1":1,"vis":false,"cMask":["ball"]},{"v0":2,"v1":3,"vis":false,"cMask":["ball"]},{"v0":4,"v1":5,"vis":false,"cMask":["ball"]},{"v0":6,"v1":7,"vis":false,"cMask":["ball"]},{"v0":8,"v1":9,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"v0":9,"v1":10,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["blueKO"]},{"v0":10,"v1":9,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"vis":false,"cMask":["red","blue"],"cGroup":["redKO"]},{"v0":10,"v1":11,"bCoef":0.1,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"v0":12,"v1":2,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"color":"FFFFFF"},{"v0":6,"v1":13,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"color":"FFFFFF"},{"v0":1,"v1":14,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"color":"FFFFFF"},{"v0":15,"v1":5,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"color":"FFFFFF"},{"v0":14,"v1":12,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"color":"FFFFFF"},{"v0":13,"v1":15,"bCoef":0.1,"curve":35,"curveF":3.1715948023632126,"color":"FFFFFF"},{"v0":1,"v1":0,"cMask":["ball"],"color":"FFFFFF"},{"v0":5,"v1":4,"cMask":["ball"],"color":"FFFFFF"},{"v0":2,"v1":3,"cMask":["ball"],"color":"FFFFFF"},{"v0":6,"v1":7,"cMask":["ball"],"color":"FFFFFF"},{"v0":0,"v1":28,"cMask":["ball"],"color":"FFFFFF"},{"v0":3,"v1":29,"cMask":["ball"],"color":"FFFFFF"},{"v0":30,"v1":31,"bCoef":0,"cMask":[],"color":"FFFFFF"},{"v0":9,"v1":10,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[],"color":"FFFFFF"},{"v0":33,"v1":32,"bCoef":0,"curve":180,"curveF":6.123233995736766e-17,"cMask":[],"color":"FFFFFF"},{"v0":2,"v1":1,"bCoef":0,"cMask":[],"color":"FFFFFF"},{"v0":6,"v1":5,"bCoef":0,"cMask":[],"color":"FFFFFF"},{"v0":34,"v1":35,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":36,"v1":37,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":38,"v1":39,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":40,"v1":41,"vis":false,"cMask":["ball"],"color":"FFFFFF"},{"v0":34,"v1":40,"curve":59.99999999999999,"curveF":1.7320508075688774,"vis":false,"cMask":["red"],"color":"FFFFFF"},{"v0":38,"v1":36,"curve":59.99999999999999,"curveF":1.7320508075688774,"vis":false,"cMask":["blue"],"color":"FFFFFF"}],"planes":[{"normal":[0,1],"dist":-171,"cMask":["ball"]},{"normal":[0,-1],"dist":-171,"cMask":["ball"]},{"normal":[0,1],"dist":-200,"bCoef":0.2},{"normal":[0,-1],"dist":-200,"bCoef":0.2},{"normal":[1,0],"dist":-420,"bCoef":0.2},{"normal":[-1,0],"dist":-420,"bCoef":0.2}],"goals":[{"p0":[-377,-50],"p1":[-377,50],"team":"red"},{"p0":[377,50],"p1":[377,-50],"team":"blue"}],"discs":[{"radius":6.4,"color":"E7CC03","cGroup":["ball","kick","score"]},{"pos":[-368,50],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[-368,-50],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[368,50],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[368,-50],"radius":5,"bCoef":1,"invMass":0,"color":"FF4136"},{"pos":[383,51],"radius":3,"bCoef":0,"invMass":0,"cMask":[]},{"pos":[-383,51],"radius":3,"bCoef":0,"invMass":0,"cMask":[]},{"pos":[383,-51],"radius":3,"bCoef":0,"invMass":0,"cMask":[]},{"pos":[-383,-51],"radius":3,"bCoef":0,"invMass":0,"cMask":[]}],"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.1,"kickStrength":7},"ballPhysics":"disc0","spawnDistance":180}'; var bigMap = '{"name":"FUTSAL FEH 1.3 by KyU","width":630,"height":280,"bg":{"type":"hockey","kickOffRadius":80},"vertexes":[{"x":-550,"y":240,"cMask":["ball"]},{"x":-550,"y":80,"cMask":["ball"]},{"x":-550,"y":-80,"cMask":["ball"]},{"x":-550,"y":-240,"cMask":["ball"]},{"x":550,"y":240,"cMask":["ball"]},{"x":550,"y":80,"cMask":["ball"]},{"x":550,"y":-80,"cMask":["ball"]},{"x":550,"y":-240,"cMask":["ball"]},{"x":0,"y":270,"bCoef":0,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":80,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-80,"bCoef":0.1,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":80,"bCoef":0,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":-557,"y":-80,"bCoef":0.1,"cMask":["ball"]},{"x":-580,"y":-80,"bCoef":0.1,"cMask":["ball"]},{"x":-580,"y":80,"bCoef":0.1,"cMask":["ball"]},{"x":-557,"y":80,"bCoef":0.1,"cMask":["ball"]},{"x":557,"y":-80,"bCoef":0.1,"cMask":["ball"]},{"x":580,"y":-80,"bCoef":0.1,"cMask":["ball"]},{"x":580,"y":80,"bCoef":0.1,"cMask":["ball"]},{"x":557,"y":80,"bCoef":0.1,"cMask":["ball"]},{"x":-550,"y":-160,"cGroup":[]},{"x":-550,"y":160,"cGroup":[]},{"x":-550,"y":-80,"cGroup":[]},{"x":-490,"y":-80,"cGroup":[]},{"x":-490,"y":80,"cGroup":[]},{"x":-550,"y":80,"cGroup":[]},{"x":550,"y":-160,"cGroup":[]},{"x":550,"y":160,"cGroup":[]},{"x":550,"y":-80,"cGroup":[]},{"x":490,"y":-80,"cGroup":[]},{"x":490,"y":80,"cGroup":[]},{"x":550,"y":80,"cGroup":[]},{"x":-420,"y":0,"cGroup":[]},{"x":-422,"y":0,"cGroup":[]},{"x":420,"y":0,"cGroup":[]},{"x":422,"y":0,"cGroup":[]},{"x":-1,"y":0,"cGroup":[]},{"x":2,"y":0,"cGroup":[]},{"x":-548,"y":-230,"cGroup":[]},{"x":-540,"y":-238,"cGroup":[]},{"x":548,"y":-230,"cGroup":[]},{"x":540,"y":-238,"cGroup":[]},{"x":-548,"y":230,"cGroup":[]},{"x":-540,"y":238,"cGroup":[]},{"x":548,"y":230,"cGroup":[]},{"x":540,"y":238,"cGroup":[]},{"x":-550,"y":-197,"cGroup":[]},{"x":-409,"y":-54,"cGroup":[]},{"x":550,"y":-174,"cGroup":[]},{"x":551,"y":171,"cGroup":[]},{"x":-550,"y":87,"cMask":["ball"]},{"x":557,"y":80,"cMask":["ball"]},{"x":557,"y":240,"cMask":["ball"]},{"x":557,"y":-240,"cMask":["ball"]},{"x":557,"y":-80,"cMask":["ball"]},{"x":-555,"y":-240,"cMask":["ball"]},{"x":-555,"y":-80,"cMask":["ball"]},{"x":-557,"y":80,"cMask":["ball"]},{"x":-557,"y":240,"cMask":["ball"]},{"x":-409,"y":44,"cGroup":[]},{"x":-550,"y":206,"cGroup":[]},{"x":549,"y":-196,"cGroup":[]},{"x":409,"y":-55,"cGroup":[]},{"x":409,"y":43,"cGroup":[]},{"x":550,"y":201,"cGroup":[]},{"x":557,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":556,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":555,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":554,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":554,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":553,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":554,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":553,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":552,"y":-90,"bCoef":0.1,"cMask":["ball"]},{"x":551,"y":92,"bCoef":0.1,"cMask":["ball"]},{"x":-557,"y":94,"bCoef":0.1,"cMask":["ball"]},{"x":-555,"y":94,"bCoef":0.1,"cMask":["ball"]},{"x":-553,"y":94,"bCoef":0.1,"cMask":["ball"]},{"x":-551,"y":94,"bCoef":0.1,"cMask":["ball"]},{"x":558,"y":-89,"bCoef":0.1,"cMask":["ball"]},{"x":557,"y":93,"bCoef":0.1,"cMask":["ball"]},{"x":-551,"y":88,"bCoef":0.1,"cMask":[]},{"x":-553,"y":88,"bCoef":0.1,"cMask":[]},{"x":-555,"y":88,"bCoef":0.1,"cMask":[]},{"x":-557,"y":88,"bCoef":0.1,"cMask":[]},{"x":557,"y":-88,"bCoef":0.1,"cMask":[]},{"x":557,"y":90,"bCoef":0.1,"cMask":[]},{"x":555,"y":-88,"bCoef":0.1,"cMask":[]},{"x":555,"y":90,"bCoef":0.1,"cMask":[]},{"x":550,"y":-80,"bCoef":0.1,"cMask":[]},{"x":550,"y":81,"bCoef":0.1,"cMask":[]},{"x":550,"y":-74,"bCoef":0.1,"cMask":[]},{"x":550,"y":-56,"bCoef":0.1,"cMask":[]},{"x":550,"y":-31,"bCoef":0.1,"cMask":[]},{"x":550,"y":-13,"bCoef":0.1,"cMask":[]},{"x":550,"y":11,"bCoef":0.1,"cMask":[]},{"x":550,"y":29,"bCoef":0.1,"cMask":[]},{"x":550,"y":55,"bCoef":0.1,"cMask":[]},{"x":550,"y":73,"bCoef":0.1,"cMask":[]},{"x":-282,"y":-1,"cGroup":[]},{"x":-284,"y":-1,"cGroup":[]},{"x":-550,"y":240,"cMask":["ball"],"cGroup":["ball"]},{"x":550,"y":240,"cMask":["ball"],"cGroup":["ball"]},{"x":-550,"y":-240,"cMask":["ball"],"cGroup":["ball"]},{"x":551,"y":-240,"cMask":["ball"],"cGroup":["ball"]},{"x":283,"y":0,"cGroup":[]},{"x":285,"y":0,"cGroup":[]},{"x":-550,"y":-86,"cMask":["ball"]},{"x":-550,"y":-239,"cMask":["ball"]},{"x":-550,"y":80,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-80,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-73,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-55,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-30,"bCoef":0.1,"cMask":[]},{"x":-550,"y":-12,"bCoef":0.1,"cMask":[]},{"x":-550,"y":12,"bCoef":0.1,"cMask":[]},{"x":-550,"y":30,"bCoef":0.1,"cMask":[]},{"x":-550,"y":56,"bCoef":0.1,"cMask":[]},{"x":-550,"y":74,"bCoef":0.1,"cMask":[]},{"x":0,"y":240,"bCoef":0,"cMask":[]},{"x":0,"y":80,"bCoef":0,"cMask":[]},{"x":0,"y":-80,"bCoef":0,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-270,"bCoef":0,"cMask":["red","blue"],"cGroup":["redKO","blueKO"]},{"x":0,"y":-80,"bCoef":0,"cMask":[]},{"x":0,"y":-240,"bCoef":0,"cMask":[]},{"x":0,"y":80,"bCoef":0,"cMask":[]},{"x":0,"y":-80,"bCoef":0,"cMask":[]}],"segments":[{"v0":4,"v1":5,"cMask":["ball"],"color":"FFFFFF"},{"v0":6,"v1":7,"cMask":["ball"],"color":"FFFFFF"},{"v0":12,"v1":13,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":13,"v1":14,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":14,"v1":15,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":16,"v1":17,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":17,"v1":18,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":18,"v1":19,"bCoef":0.1,"cMask":["ball"],"color":"FFFFFF"},{"v0":32,"v1":33,"cGroup":[],"color":"FFFFFF"},{"v0":34,"v1":35,"cGroup":[],"color":"E0EEE0"},{"v0":36,"v1":37,"cGroup":[],"color":"E0EEE0"},{"v0":39,"v1":38,"curve":80.00000000000001,"curveF":1.19175359259421,"cGroup":[],"color":"E0EEE0"},{"v0":40,"v1":41,"curve":80.00000000000001,"curveF":1.19175359259421,"cGroup":[],"color":"E0EEE0"},{"v0":42,"v1":43,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":45,"v1":44,"curve":80.00000000000001,"curveF":1.19175359259421,"cGroup":[],"color":"E0EEE0"},{"v0":9,"v1":10,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"cMask":["red","blue"],"cGroup":["blueKO"],"color":"FFFFFF"},{"v0":10,"v1":9,"bCoef":0.1,"curve":180,"curveF":6.123233995736766e-17,"cMask":["red","blue"],"cGroup":["redKO"],"color":"FFFFFF"},{"v0":46,"v1":47,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":50,"v1":0,"cMask":["ball"],"color":"FFFFFF"},{"v0":51,"v1":52,"vis":false,"cMask":["ball"],"color":"CCCCFF"},{"v0":53,"v1":54,"vis":false,"cMask":["ball"],"color":"CCCCFF"},{"v0":55,"v1":56,"vis":false,"cMask":["ball"],"color":"CCCCFF"},{"v0":57,"v1":58,"vis":false,"cMask":["ball"],"color":"FFCCCC"},{"v0":59,"v1":60,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":47,"v1":59,"cGroup":[],"color":"E0EEE0"},{"v0":62,"v1":61,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":64,"v1":63,"curve":89.99999999999999,"curveF":1.0000000000000002,"cGroup":[],"color":"E0EEE0"},{"v0":62,"v1":63,"cGroup":[],"color":"E0EEE0"},{"v0":89,"v1":90,"bCoef":0.1,"cMask":[],"color":"FFFFFF"},{"v0":91,"v1":92,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":93,"v1":94,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":95,"v1":96,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":97,"v1":98,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":99,"v1":100,"cGroup":[],"color":"FFFFFF"},{"v0":101,"v1":102,"cMask":["ball"],"cGroup":["ball"],"color":"FFFFFF"},{"v0":103,"v1":104,"cMask":["ball"],"cGroup":["ball"],"color":"FFFFFF"},{"v0":105,"v1":106,"cGroup":[],"color":"E0EEE0"},{"v0":108,"v1":107,"cMask":["ball"],"color":"FFFFFF"},{"v0":110,"v1":109,"bCoef":0.1,"cMask":[],"color":"FFFFFF"},{"v0":111,"v1":112,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":113,"v1":114,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":115,"v1":116,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":117,"v1":118,"bCoef":0.1,"cMask":[],"color":"CF0000"},{"v0":11,"v1":8,"bCoef":0,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"],"color":"FFFFFF"},{"v0":120,"v1":119,"bCoef":0,"cMask":[],"color":"FFFFFF"},{"v0":122,"v1":121,"bCoef":0,"vis":false,"cMask":["red","blue"],"cGroup":["redKO","blueKO"],"color":"FFFFFF"},{"v0":124,"v1":123,"bCoef":0,"cMask":[],"color":"FFFFFF"},{"v0":126,"v1":125,"bCoef":0,"cMask":[],"color":"FFFFFF"}],"planes":[{"normal":[0,1],"dist":-240,"cMask":["ball"],"cGroup":["ball"]},{"normal":[0,-1],"dist":-240,"cMask":["ball"],"cGroup":["ball"]},{"normal":[0,1],"dist":-270,"bCoef":0.1},{"normal":[0,-1],"dist":-270,"bCoef":0.1},{"normal":[1,0],"dist":-600,"bCoef":0.1},{"normal":[-1,0],"dist":-600,"bCoef":0.1}],"goals":[{"p0":[-550,84],"p1":[-550,-76],"team":"red"},{"p0":[550,80],"p1":[550,-80],"team":"blue"}],"discs":[{"radius":6.4,"color":"E7CC03","cGroup":["ball","kick","score"]},{"pos":[-550,80],"radius":5,"invMass":0},{"pos":[-550,-80],"radius":5,"invMass":0},{"pos":[550,80],"radius":5,"invMass":0},{"pos":[550,-80],"radius":5,"invMass":0}],"playerPhysics":{"acceleration":0.11,"kickingAcceleration":0.1,"kickStrength":7},"ballPhysics":"disc0","spawnDistance":350}'; /* OPTIONS */ var afkLimit = 10; var drawTimeLimit = Infinity; var maxTeamSize = 3; // This works for 1 (you might want to adapt things to remove some useless stats in 1v1 like assist or cs), 2, 3 or 4 var slowMode = 0; /* PLAYERS */ const Team = { SPECTATORS: 0, RED: 1, BLUE: 2 }; var extendedP = []; var playersHistorial = []; const eP = { ID: 0, AUTH: 1, CONN: 2, AFK: 3, ACT: 4, GK: 5, MUTE: 6}; const Ss = { GA: 0, WI: 1, DR: 2, LS: 3, WR: 4, GL: 5, AS: 6, GK: 7, CS: 8, CP: 9, RL: 10, NK: 11}; var players; var teamR; var teamB; var teamS; var afkcont = 0; var contjugadores = 0; //---- var ModoChatPausado = []; const CensurarMensajes = []; function filter(message) { message = message.toLowerCase(); message = message.replace(/\s/g, ''); message = message.replace(/\./g,' ') if(message.includes("ఌ") ||message.includes("甈") ||message.includes("㐷") ||message.includes("怅") ||message.includes("瘪") ||message.includes("⑸") ||message.includes("㬆") ||message.includes("権") ||message.includes("怜") ||message.includes("∯") ||message.includes("㤒") ||message.includes("䉊") ||message.includes("匊") ||message.includes("ᙻ") ||message.includes("ൽ") ||message.includes("ᴧ") ||message.includes("爂") ||message.includes("爇") ||message.includes("त") ||message.includes("権") ||message.includes("怜") ||message.includes("∯") ||message.includes("㤒") ||message.includes("眮") ||message.includes("㤮") ||message.includes("㵧") ||message.includes("間") ||message.includes("謝") ||message.includes("奶") ||message.includes("如") ||message.includes("失") ||message.includes("好") ||message.includes("莖") ||message.includes("治") ||message.includes("帶") ||message.includes("陰") ||message.includes("play?c=") ||message.includes("https://") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("﷽") ||message.includes("http")) { return true; }else return false; } function CensuradorDeSpammeros(message) { if (CensurarMensajes.includes(message)) { return true; }else return false; } var db = { p: { N: 5, kt: 2 }, log: [] }; function f(a, b, c) { for (var i = 0; i < a.length; i += 1) { if (a[i][b] === c) { return i; } } return -1; } function spammerosFilter(player, message) { if (player.id == 0) { return; } var ind = f(db.log, 'id', player.id); db.log[ind].lm.push({ ts: Date.now() }); if (db.log[ind].lm.length >= db.p.N) { db.log[ind].lm.splice(0, db.log[ind].lm.length - db.p.N); if (db.log[ind].lm.length / ((db.log[ind].lm[db.log[ind].lm.length - 1].ts - db.log[ind].lm[0].ts) / 4000) > db.p.kt) { if (player.admin == false){ //if(player.name !== "Andoni Goikoetxea"){ //Aqui ponemos a los STREAKRECORDGENERAL room.kickPlayer(player.id, "[?] ❌ ? PROHIBIDO SPAMMERS ? ❌ ", false); //} } } } } //--------------------------------------------------------------------------------------------------------------------------------------- var bannedPlayersconn = ["33372E3136302E32342E3939", //spam de jugadores "39342E3133322E34362E3439", //spam de fakes eucalipto "38352E3139322E37372E3533", //insultando en la sala "38392E36342E33342E313039", //sin jugar cuando el partido esta en juego en 1v1 "3133392E34372E3131372E3733", //insultando en la sala "3230312E3135392E38362E323532", //spam chino "3138352E3232392E3135372E3430", //spam y es molesto "3138352E3232392E3135372E3737", //spam y es molesto "37372E3136342E34322E31",//spam y es molesto 2 "38352E3133382E3233322E313439", //spam y es molesto 3 "3130392E35312E3230362E3833", //spam a un jugador Btcraft - Henriqueal97#4814 "3138352E3137342E3135362E3737", //spam a un jugador Btcraft - Henriqueal97#4814 "38382E31392E392E313537", //insultar a jugadores con spam "38382E31382E39312E3939", //spammeando en la sala "3139332E3132362E3135392E3531", //no respetando el juego 2 "322E38322E3232372E323436", //no respetando el juego 3 "39352E31382E3235342E313132", //insultando masivamente sin motivo "39352E31382E3235342E313434", //insultando masivamente sin motivo "38332E34332E36342E323434", //jodiendo las partidas de otros jugadores marcandose goles en propia "38332E3232332E3137372E313037", //con 1 - 0 perdiendo no queria jugar pero estaba en el campo "38332E3232332E3138302E313333", //con 1 - 0 perdiendo no queria jugar pero estaba en el campo "38362E3139352E3232352E3131",//insultando masivamente sin motivo "38322E35392E34382E323333", //spam de jugadores "38342E32332E3231302E313333", //con 1 - 0 perdiendo no queria jugar pero estaba en el campo "38382E392E3235322E323236", //no juega en 1v1 "3231332E39382E3131332E323430", //tello - llorica "352E3234392E34372E3839", //fakeando a Foxy RX en las salas "38372E3139362E33372E3733", //marcandose goles para joder a los demas "39342E3133322E3137332E323531", //campeando y tirando hacia porteria rival, jodiendo el partido "3231322E3233372E3233312E313636", //fakeando a knock out en las pubs "37392E3136392E3135392E323236", //marcandose autogoles para joder a los demas jugadores "38362E32342E3133342E323130", //marcandose autogoles para joder "38362E372E3233392E313833", //marcandose autogoles para joder x2 "3130392E34392E36362E3138", //marcandose autogoles para joder x2 "38392E3138302E3235312E323232", //marcandose goles para joder a los demas "38352E35392E31352E323439", //insultos, trashtalk, copiando mis salas "3138352E3230382E32332E3334", //trashtalk en el discord "38372E3231372E31362E323333", //multicuenta con aos - Nick "3138352E3136352E33332E323338",//macro visiblemente en mis salas "39342E36322E37332E313737", //multicuenta Macaco con Esquadrão Maritimista "38352E3234362E3138332E313130", //Multicuenta entre Chicao y Cardozo "38342E3132302E3137382E3836", //multicuenta de steal con el nick de POP "37392E3134372E352E313435", //multicuenta de steal con el nick de POP "38332E34312E3131302E3833", //multicuentas de muchos usuarios y fakeando mis pubs "38352E3234302E39332E323434", //marcandose goles constantemente "322E38332E39322E3833" //no respetando el juego ]; // Añade las id de conn de los usuarios que quieres banear, //ejemplo: var bannedPlayers = ["32908734", "4585454", "046464646"] var bannedPlayersauth = ["0jZpbhli51_9hDXX7lVrhOImxbBJ6MhwNQI4oKEIbvM",//spam de jugadores "NKZRkDImb7_IdLbaBQ_T4qhYq-1ZJWRMvZ2pGDhLrhQ", // spam de fakes eucalipto "YnRWXrkkFGTlcexT7ToLEmN9lrLPahaygml12CFgE8s", // spam de fakes eucalipto "mkYbcm_YTNavnvfK8GMzynEBTTgqmXWH4SAdmBz1tN0", // spam de fakes eucalipto "aN5QRf88zizgAzHhJ_4_B35BJV00BICflGMGasebgCc", //insultando en la sala "45S9sDwAbGzJfMV8obCWBeXZ1qJ4RtSeMjMOODNdwGY", //insultando en la sala "kNUS-LggxiAHTDpgNoG1Vv7Oret71lplssbMjrk-HIc", //insultando en la sala "QnxRlVNEVQRp1_yrYIWcNPPpE3So7_f3RnKyXZ_GOKc", //insultando en la sala "_Ln7Ls3UtlsA1Y7kehZe1CnnqIvVUw4cxilnkVYvOPg", //insultando en la sala "3obYeClKZ4r-WLh7PP8iRGMcXO05CLho12hhWzVZNYs", //insultando en la sala "-0PCjF1mJ0-kyfR3Y3Dl-QD50UUVrDZSamnS2np0sh0", //sin jugar cuando el partido esta en juego en 1v1 "3X4g_437IxKZj9pbkM7biebypLaPWTaoLrCkLSMWQes", //spam chino "FPiprQgQjI5dveIAa8YfEkkcnRAKEF6cWZ_Eu6s6Ph8", //spam y es molesto "pRBA0jjW-6xO0SzLY4bZaIMv6M1lE0hF5tEfYFLcGmw", //spam y es molesto 2 "aZexmrfypIaqWE0EgtzF7bXDHxQsqTvQ3ocXZf8ikog", //spam y es molesto 3 "eDT-2uetn5kPEQm2XhcHJzzEzTkVDeDPfIMdenqfh2w", //spam a un jugador Btcraft - Henriqueal97#4814 "GJ6XUX9cOghztsVSeYYjbv3yPb4IxyjrUu4UmYSMVG4", //spam y es molesto 3 "hoYWLCwTnXRE-mvCCarO5CsuDfQJ2Oaaw-h9rv0aVm4", //spam de fakes eucalipto "7xbQWp7Q8mztieIQk1zKrzZvK5S3jq_PDsp8R3788Kk", //insultar a jugadores con spam "Yl1gaZ7iRD1HPmvD2zRApC28ZhZsRsIqvwKz57DsLcg", //insultar a jugadores con spam "3ZFZ15CVZKh_iLcf9fO5C6mJ37A_RoPij5CNqSP8vFA", //no respetando el juego "9wuuUML-A-ii__eLcNFLrhIHmhCx_fHP8_Ayf46P51w", //no respetando el juego 2 "DmrguvKSd8EJkqpddV7w9uUj3Ru8ejReIteHxU-DFRQ", //no respetando el juego 3 "Zt5fFDUyq4XwsQJBW_j1jbyGxB_B4ODsrHwKZhM1lpU", //insultando masivamente sin motivo "fJLJDfrtaXJoIDVAzxvYr4hJXGLsKZVDsNpMgK0gmtI",//jodiendo las partidas de otros jugadores marcandose goles en propia "tiRmFnIWp60DNq5bN2N2bXVgdUPd6wFkFhxWqBjUtgo", //con 1 - 0 perdiendo no queria jugar pero estaba en el campo "iGP7f4Q-aaayRwQinyIB-ia3S0t6VAD2bp6DHXO3mU4", //insultando masivamente sin motivo "Z0GL_IInus00Nbqs3GmMkj9XJqG8DK3mfPZU_mAZMUs", //spam de jugadores "-ktWxOE1evuxHRnXRMUo9Ap8I8uooXiRPe_5tfW2BjY", //spam de jugadores "qLNT9uxpKH6Pg2_mZAudXYiC27ZiGLXrosDS8Bk7duA", //spam de jugadores "4lErGtWuUoh6-T6cBiKnIMZCDLkYW0ootvYD97rCANI", //jodiendo las partidas de otros jugadores marcandose goles en propia "fJLJDfrtaXJoIDVAzxvYr4hJXGLsKZVDsNpMgK0gmtI", //jodiendo las partidas de otros jugadores marcandose goles en propia "eHzNAAjxCqXfUsZDLphqpBhW0Gz6VwVGknUWatCAgX8", //jodiendo las partidas de otros jugadores marcandose goles en propia "3QqlYzWNYtI5dc3cIOOAZg70Sm9EISUIJsoLtfuKUkA", //no juega en 1v1 "hSuEburdCnswVhS7VJuegPIQLdXOlA1BDuLnmVAHZQw", //tello - llorica "5QxtQgvBmy7yp-qXImIFAnWrBRhNZrQgjhcncvBPHG0", //Fakeando a Foxy RX en las salas "b25SDvRb85F4VZ7eU_1-_aOSPqdaPeC_vMYjRucVNqM", //marcandose goles para joder a los demas "gFC8GfqZdJrMXSscA9rT6WJnF87UbO8y4RsMZi3CB5o", //campeando y tirando hacia porteria rival, jodiendo el partido "zfTQcomJVCHObszYur3z4fj-HMGQNhVi9rM-A34-Ez0", //fakeando a knockout en las pubs "sDfYprvG3K0q9gQ2b8cUtg9roRJ3dc1vG1tS2RX-wlw", //marcandose autogoles para joder a los demas jugadores "6GnhhdkcUHG-0ZBYAqjFetuGksO8pjwkFtDvgpzJ3W0", //marcandose autogoles para joder "QUWj_P8vM6jNqG8lyYxvkBfOexz0pwHKp-RmrjzipWg", //marcandose autogoles para joder x2 "JpVr5AJsePGeTASldKScu7LVeHsRKZqRJ1x_mZPS234", //marcandose autogoles para joder x2 "6ivSnFWMSZie6V2yJwu22apdHkL8UABXNoHSqV-OfWw", //marcandose goles para joder a los demas "A2M77a-er-rqxpR2egXLOFgwjlZ-PwNi1t5uG42rMNk", //insultos, trashtalk, copiando mis salas "-0ovI0xgawxnQrgh7yIzAWJE4N3AMh-g2v5lJnr_228", //trashtalk en el discord "Z9sek4v9Sj46D_70Xp5cyIIuOhHtSTJUR1QxB0wRjtY",//macro visiblemente en mis salas "Cj8ZKlH2EeWh7ttH9L9_x8FZFu-8U2MYxOfoZwuMi5w", //multicuenta con Nick "AXU9HbdDWtJgYyZn5VTV-osCI5Wr5JWUKoHaOKqzGLE", //multicuenta con aos "xNdZJ6Y2A93KmJHgf9OYjIWS6lxBW26WgI_1nFJ3BYc", //multicuenta Macaco con Esquadrão Maritimista "t_hwRvE4HEcFYCqfAH7PDAE-zYmEy3wq0RohTf13ads", //multicuenta Esquadrão Maritimista con Macaco "-_Ljs72zsSRmqTYQa8Xi4L7TBXrzKRkEidRYGgBc6HM", //Multicuenta entre Chicao y Cardozo "cQuTvEFbribLmW943YP_gZAoVKcb4uTqWVqlomTcTSA", //multicuenta de steal con el nick de POP "50LIgkX2-kRm7U-FyA-clAd7MAv8sDifz7xVJZ8wz5E", //multicuenta de steal con el nick de POP "mU6sa8czpqIrxJ9ZMlgO7IH6RFEoHfNp5dkXr5TZQZ8", //multicuentas de muchos usuarios y fakeando mis pubs "rduLhp3Tpr2FGAqinIVSO4216P6qYD4SXNu1NUtQMqw", //marcandose goles constantemente "hsoNtaQLfD6Ih5AzptW2o1g6D3zQZPIdBdajZGNS0jQ" //spammeando en la sala ]; var bannedPlayersnombre = [ "4nalfa", //spam de jugadores "-4nalfa", //spam de jugadores "aos", //multicuenta con Nick "Nick", //multicuenta con aos "zurdita de oro", //multicuentas entre chus y zurdita "CHUS FERNANDEZ1", //multicuentas entre chus y zurdita "CHUS FERNANDEZ", //multicuentas entre chus y zurdita "Zape", //multicuentas entre chus y zurdita "Zimdan",//macro visiblemente en mis salas "stickman", //trashtalk en el discord "Subcoleg4", //insultos, trashtalk, copiando mis salas "lar janus", //marcandose autogoles para joder "...", //marcandose autogoles para joder a los demas jugadores "N", //marcandose autogoles para joder x2 "i will not own goal", //marcandose autogoles para joder "RAMOS", //spam de AAAA "parroco", //insultando en la sala "Jacobinho Jr.", //insultando en la sala "我喜欢你", //insultando en la sala "VonGut", //sin jugar cuando el partido esta en juego en 1v1 "punto", //insultando en la sala "DaF", //insultando en la sala "0", //spam chino "TIENESELCULOLLENADEMIERDA", //spam y es molesto "SOY PERO QUE...?", //spam y es molesto "el 7", //spam y es molesto "Cristiano", //spam y es molesto "S™", //spam y es molesto 2 "Haxballing", //spam y es molesto 3 "orov", //spam y es molesto "Orov", //spam y es molesto "CORONA MATA O VARANDAS!!!", //spam a un jugador Btcraft - Henriqueal97#4814 "KEIZER", //spam y es molesto 3 "Nandinho", //spam de fakes eucalipto "laura", //spam y es molesto "MathiasPogba", //insultar a jugadores con spam "ansel", //insultar a jugadores con spam "MESSI", //spam y es molesto "PrinceNeeko", //spammeando s todo el rato "Exiro", //spammeando todo el rato "El Gay", //no respetando el juego "El Rey", //no respetando el juego 3 ".", //insultando masivamente sin motivo "STEALBASURA.", //insultando masivamente sin motivo "scp", //insultando masivamente sin motivo "Tiago Freitas", //no respetando el juego 2 "misudorhueleaporro", //jodiendo las partidas de otros jugadores marcandose goles en propia "we", //jodiendo las partidas de otros jugadores marcandose goles en propia "polla", //jodiendo las partidas de otros jugadores marcandose goles en propia "LORD VADER", //con 1 - 0 perdiendo no queria jugar pero estaba en el campo "pita", //spam y es molesto 3 ":: Naifas ::", // spam de fakes eucalipto "ESO ES UN PROBLEMA", //spam de jugadores "caliente", //spam de jugadores "COVID-19 MATA O VARANDAS", //spam a un jugador Btcraft - Henriqueal97#4814 "antonio", //no juega en 1v1 "tello", //baneandome como un crio "matias", //marcandose goles para joder a los demas "Almofariz", //campeando y tirando hacia porteria rival, jodiendo el partido "KnOcK 0uT", //fakeando a knock out en las pubs "Chinese Ronaldo coronavib", //marcandose autogoles para joder a los demas jugadores "Macaco", //multicuenta Macaco con Esquadrão Maritimista "Esquadrão Maritimista", //multicuenta Esquadrão Maritimista con Macaco "Cardozo", //Multicuenta entre Chicao y Cardozo "Chicao", //Multicuenta entre Chicao y Cardozo "STEALDEKING", //multicuenta de steal con el nick de POP "STEAL", //multicuenta de steal con el nick de POP "Jose mdlr", //multicuenta de steal con el nick de POP "dj666", //multicuentas de muchos usuarios y fakeando mis pubs "MORTE AOS PRETOS", //marcandose goles en propia constantemente "JOE BIDEN - COME ON MAN", // "? ESP FUTSAL BOT ?" //es la sala ]; /* Posibles baneos en menos de 24h añadirlos */ //bannedPlayersconn.push("38352E3234302E39332E323434") //bannedPlayersauth.push("rduLhp3Tpr2FGAqinIVSO4216P6qYD4SXNu1NUtQMqw") //bannedPlayersnombre.push("MORTE AOS PRETOS") //var bannedPlayers = []; // Añade las id de conn de los usuarios que quieres banear, //ejemplo: var bannedPlayers = ["32908734", "4585454", "046464646"] /* 1 - Zape - "3138382E3233392E3135302E3730" */ //var eljefe = [{name: 'BOT', auth: 'A6aDCkbi9PYjDCoBYqhM1xVam4MDzpxlR975NtK_Xus'}]; var playersAllowed1 = [ //{name: 'Reus', passlog: '', verif: 'false', horaj: ''}, //Reus#0971 - j29mc01 // //{name: 'perro', passlog: 'perroelmejor123', verif: 'false', horaj: ''}, //AlvariitoJEJE#4371 //{name: 'OneLaw', passlog: 'Portugal2020', verif: 'false', horaj: ''}, //OneLaw#8138 //{name: 'DT イヴァンレイ', passlog: '1NNKAajC', verif: 'false', horaj: ''}, //x1v4nk1ng#6097 //{name: 'Dress', passlog: 'S0Z6YIEw', verif: 'false', horaj: ''}, //Javi#0059 //{name: 'miske', passlog: 'QNWM8gf6', verif: 'false', horaj: ''}, //miske#7193 //{name: 'n?', passlog: 'W3h6uYBc', verif: 'false', horaj: ''}, //n?#0558 //{name: 'Magic', passlog: 'fkI3mK94', verif: 'false', horaj: ''}, //Magic#1746 //{name: 'Parejo', passlog: 'QsiiJ3gr', verif: 'false', horaj: ''}, //Parejo#9579 //{name: 'Xavi-vž', passlog: 'w6Wv8oJH', verif: 'false', horaj: ''}, //Xavi-vž#3312 //{name: 'JozeLuyh', passlog: 'VKPvCIgY', verif: 'false', horaj: ''}, //JozeLuyh#9885 //{name: 'Me pido las faltas', passlog: 'pelocho8', verif: 'false', horaj: ''}, //Pelocho#0483 //{name: 'Walid MTH', passlog: 'W12345D', verif: 'false', horaj: ''}, //Walid MTH#2934 //{name: 'Nanu', passlog: 'nacional', verif: 'false', horaj: ''}, //x -tense#4261 //{name: 'Khada', passlog: 'monkey', verif: 'false', horaj: ''}, //KhadaIV#5916 //{name: 'abrahamlaciida', passlog: 'Abraham5432', verif: 'false', horaj: ''}, //Abrahamlaciida#2692 // //{name: 'Are ya winning, son?', passlog: 'Dad', verif: 'false', horaj: ''}, //Freckled_asf#2071 //{name: 'gonçalo', passlog: 'duarte', verif: 'false', horaj: ''}, //gonçalo#8136 //{name: 'windo', passlog: 'windo87', verif: 'false', horaj: ''}, //pull#5384 //{name: 'Majin Buu', passlog: 'majinbuu123', verif: 'false', horaj: ''}, //Majin Buu#6963 //{name: 'Giber', passlog: 'soulindo123', verif: 'false', horaj: ''}, //giber#4863 //{name: 'Alpe d´Huez', passlog: 'Alpe1234', verif: 'false', horaj: ''}, //Alpe d'Huez#9599 //{name: 'cym', passlog: 'zepefgomez', verif: 'false', horaj: ''}, //cym#0318 //{name: 'lissen', passlog: '1337', verif: 'false', horaj: ''}, //~カツミ~#8586 //{name: 'xd2', passlog: 'xd2', verif: 'false', horaj: ''}, //xd2#5731 //{name: 'MehdiElRey', passlog: 'Atletico789', verif: 'false', horaj: ''}, //Mehdi934#2905 //{name: 'Polo', passlog: '1264', verif: 'false', horaj: ''}, //Polo#1451 //{name: 'zezocasplays', passlog: 'zezocasplays123', verif: 'false', horaj: ''}, //tiagolucas05#6233 //{name: 'hz4', passlog: '12345567890', verif: 'false', horaj: ''}, //hertz4726#3031 //{name: 'Zeca', passlog: 'Zecas', verif: 'false', horaj: ''}, //Zeca#9292 //{name: 'Bruno', passlog: '4145', verif: 'false', horaj: ''}, //DragonBoy41#8855 //{name: 'STEAL', passlog: 'FFS3Ddx1', verif: 'false', horaj: ''}, //elamantedetuamante#5777 - cuenta baneada //{name: 'jdeeew', passlog: 'jdeeew1997', verif: 'false', horaj: ''}, //JDeeew#1508 //{name: 'Maestro', passlog: 'glazba10', verif: 'false', horaj: ''}, //Maestro#8246 //{name: 'garanhão', passlog: 'dinorocha', verif: 'false', horaj: ''}, //Dino#7346 //{name: 'Bernard', passlog: 'Bernardo319', verif: 'false', horaj: ''}, //Bernardo319#8612 //{name: 'Peixoto', passlog: '123', verif: 'false', horaj: ''}, //Peixoto#2578 /*{name: 'BATATAS', passlog: 'BATATAS', verif: 'false', horaj: ''}, //BATATAS#9040 {name: 'PAU', passlog: 'saLmon', verif: 'false', horaj: ''}, //JestingPuppet05#5970 {name: 'Marc', passlog: '17', verif: 'false', horaj: ''}, //Marc17#7156 {name: 'Sesame', passlog: '1512sina', verif: 'false', horaj: ''}, //Кунжут#6829 {name: 'Dave', passlog: 'Haxball71', verif: 'false', horaj: ''}, //Dave 71#0454 {name: 'MrPabLo', passlog: 'alpargata3000', verif: 'false', horaj: ''}, //jjjjjjjj765#9904 {name: 'ae', passlog: 'easports', verif: 'false', horaj: ''}, //aeeeee#5502 {name: 'Zapata', passlog: 'zapata99', verif: 'false', horaj: ''}, //Zapata#9214 {name: 'WhyNot', passlog: 'whynot12331', verif: 'false', horaj: ''}, //WhyNot#0183 {name: 'Nico López', passlog: 'nicolopez', verif: 'false', horaj: ''}, //Nico López#7200 {name: 'Anonimi', passlog: 'Anonini123', verif: 'false', horaj: ''}, //Ofekino#9167 {name: 'pro', passlog: 'haxballpro', verif: 'false', horaj: ''}, //Pro Aka GG#5240 {name: 'SuperMatic', passlog: 'supermatic1997', verif: 'false', horaj: ''}, //SuperMatic#0848 {name: 'Crocop', passlog: 'mirkocrocop0169', verif: 'false', horaj: ''}, //SinNickName#6390 {name: 'Matos', passlog: 'ola123', verif: 'false', horaj: ''}, //Matosmma#6061 {name: 'Fernando Simoncceli', passlog: 'fernandosimon1', verif: 'false', horaj: ''}, //Fernando Simoncelli#6450 {name: 'azizi', passlog: 'poland123', verif: 'false', horaj: ''}, //azizi#4366 {name: 'MatiGMS', passlog: 'Masterisc0', verif: 'false', horaj: ''}, //MatiGMS#5521 {name: 'Bob', passlog: 'bobanza', verif: 'false', horaj: ''}, //Bobo#6316 {name: 'RAASEENGAAN', passlog: '71', verif: 'false', horaj: ''}, //RAASEENGAAN#5771 {name: 'Iker Casillas', passlog: 'korpocek123', verif: 'false', horaj: ''}, //I. Casillas#2301 {name: 'pNow', passlog: 'Dripper', verif: 'false', horaj: ''}, //arQues#5860 {name: 'prr', passlog: 'prrfm', verif: 'false', horaj: ''}, //sirmarko24#6419 {name: 'PTM85', passlog: 'Sporting97', verif: 'false', horaj: ''}, //PTM85#9196 {name: 'MacKliper', passlog: 'pera', verif: 'false', horaj: ''}, //MacKliper#1795 {name: 'giovinco', passlog: 'koala77', verif: 'false', horaj: ''}, //dridi#1826 {name: 'ziv', passlog: 'ziv123', verif: 'false', horaj: ''}, //bmatos99#1838 {name: 'xb', passlog: 'xb123', verif: 'false', horaj: ''}, //Morato#4344 {name: 'legend', passlog: 'chancelmbemba', verif: 'false', horaj: ''}, //mrbastine#1845 {name: 'Reuen', passlog: 'asfdjpsw', verif: 'false', horaj: ''}, //Reuen#4398 {name: 'filsan', passlog: '13filsan', verif: 'false', horaj: ''}, //filsan#6093 {name: "Brico-dépôt", passlog: 'maxmaxmax', verif: 'false', horaj: ''}, //octosyllabiste#1008 {name: "Lux", passlog: 'Vegetta', verif: 'false', horaj: ''}, //Lux#3899 {name: "LuMiX", passlog: 'encantado', verif: 'false', horaj: ''}, //LuMiX#3264 {name: "Senku", passlog: 'senku123', verif: 'false', horaj: ''}, //Senku#7820 {name: "Bolinha", passlog: 'Bolinha123', verif: 'false', horaj: ''}, //JEJUZÃO#6438 {name: "Fuyuki", passlog: 'Fuyukianime', verif: 'false', horaj: ''}, //-Fuyuki-#1049 {name: "rekkles", passlog: 'kendomakarroni', verif: 'false', horaj: ''}, //el del momento#8423 {name: "Mesut", passlog: 'Mesutoze10', verif: 'false', horaj: ''}, //Mesut#0848 {name: 'Richardinhooo', passlog: 'meninobonito!69', verif: 'false', horaj: ''}, //Richardinhoooo#2853 {name: 'yusito', passlog: 'yus', verif: 'false', horaj: ''}, //yuso#7199 {name: 'r', passlog: 'rrrr', verif: 'false', horaj: ''}, //cLEAR#0473 {name: 'CarlosDS7', passlog: '5753315', verif: 'false', horaj: ''}, //CarlosDS7#1675 {name: 'Ousmane Dembélé', passlog: 'tugaprodigy120', verif: 'false', horaj: ''}, //TugaProdigy#4324 {name: '<|e|>', passlog: '1234', verif: 'false', horaj: ''}, //Uncarri#9342 {name: "Hazard", passlog: 'Hazard123', verif: 'false', horaj: ''},//Hazard#8151 {name: 'up-skill.org', passlog: '123456', verif: 'false', horaj: ''}, //up-skill.org#2077 {name: 'Cunha', passlog: 'kellhaxball', verif: 'false', horaj: ''}, //cunhAX#3818 {name: 'atmozfears', passlog: '123456789', verif: 'false', horaj: ''}, //Louis#8303 {name: 'MariommrM', passlog: 'portugal05', verif: 'false', horaj: ''}, //Mariommrm#2454 {name: 'Minimestre', passlog: 'Fabioduarte98', verif: 'false', horaj: ''}, //FabioDuarte02#3081 {name: '???????', passlog: '159', verif: 'false', horaj: ''}, //?????#7932 - Benzema es el nick y Diogo#7932 es su discord con letras raras {name: 'DIO', passlog: 'oraoraora', verif: 'false', horaj: ''}, //Mazigh#5597 {name: 'gbtiago', passlog: 'vitoria000', verif: 'false', horaj: ''}, //gbtiago#7364 {name: 'WaroS', passlog: 'waros2027', verif: 'false', horaj: ''}, //WaroS#8017 {name: 'NitrQx', passlog: 'larousse97', verif: 'false', horaj: ''}, //NitrQx#1923 {name: 'revenge', passlog: 'revengeturkey01', verif: 'false', horaj: ''}, //Revenge#1333 {name: 'striker', passlog: 'striker123', verif: 'false', horaj: ''}, //striker19#1851 {name: 'vamos', passlog: '123456', verif: 'false', horaj: ''}, //Хайро (Jairo)#6604 {name: 'Bodybuilder', passlog: 'Body12345!', verif: 'false', horaj: ''}, //kanitoo#8340 {name: 'meme', passlog: 'francalho21', verif: 'false', horaj: ''}, //idk ok#7434 {name: 'Shamba', passlog: 'ruicosta10', verif: 'false', horaj: ''}, //Shambalabad#8342 {name: 'stoutpoop', passlog: 'pasword', verif: 'false', horaj: ''}, //stoutpoop#2456 {name: 'Xavi', passlog: 'abcd1234', verif: 'false', horaj: ''}, //moreira#6430 {name: 'player.', passlog: 'Paladino77', verif: 'false', horaj: ''}, //ogoidRF#7848 {name: 'Sterling', passlog: 'Yassine130502', verif: 'false', horaj: ''}, //Sterling#6318 {name: 'EmZiR', passlog: 'megustalaempanada', verif: 'false', horaj: ''}, //XxEmZiRxX#5035 {name: 'facherito', passlog: 'facherito11', verif: 'false', horaj: ''}, //Hideonbush#5606 {name: 'castle', passlog: 'dlp', verif: 'false', horaj: ''}, //castle#7884 {name: 'Toro', passlog: 'hcf1922', verif: 'false', horaj: ''}, //tOrIvItO#6361 {name: 'Ivan', passlog: 'Iv@n', verif: 'false', horaj: ''}, //Ivan#5421 {name: 'alinde', passlog: 'alinde', verif: 'false', horaj: ''}, //alinde#0412 {name: 'Sal', passlog: 'etxerik97', verif: 'false', horaj: ''}, //Sal#0010 {name: 'Neo', passlog: '1040', verif: 'false', horaj: ''}, //Neo#4788 {name: 'Engrola', passlog: '1 BW <', passlog: 'ePVdfajdEj', verif: 'false', horaj: ''}, //> BW <#7594 {name: 'Pero que...?', passlog: '8hD0MQ7q51', verif: 'false', horaj: ''}, //Pablo#6829 {name: 'varo', passlog: 'nRKDCMGd78', verif: 'false', horaj: ''}, //so.blue#4379 {name: 'Zawisza', passlog: 'JRQODVUEo2', verif: 'false', horaj: ''}, //Dziekan#1898 {name: 'Klose', passlog: '8JXhfmbImN', verif: 'false', horaj: ''}, //vargas2sfc#8502 {name: 'DerrickJonesJr.', passlog: 'FMd7wk9OhG', verif: 'false', horaj: ''}, //DerrickJonesJr.#6860 {name: 'El Chapo', passlog: 'MnmgI5eO6c', verif: 'false', horaj: ''}, //El Chapo#0865 {name: 'PocaPlaya', passlog: 'XrbKb1dpjV', verif: 'false', horaj: ''}, //wT.crom1#2434 {name: 'Braisinho', passlog: 'celta', verif: 'false', horaj: ''}, //Braisinho#2666 {name: 'erRs', passlog: 'GfZrdKs8l9', verif: 'false', horaj: ''}, //erRs#6706 {name: 'Arctic', passlog: 'um7kuqiS9x', verif: 'false', horaj: ''}, //Arctic#8299 {name: 'excelinho', passlog: 'hTNhxVJeBW', verif: 'false', horaj: ''}, //Ryo#1862 {name: 'De hazR', passlog: 'mestre hazr', verif: 'false', horaj: ''}, //Hazard#9572 - Traça#2829 son hermanos pero cuidado dudo {name: 'Patata', passlog: 'G6H5CCMqFc', verif: 'false', horaj: ''}, //Patata#6447 {name: 'David Guetta', passlog: 'TscTf7FOnT', verif: 'false', horaj: ''}, //Aceitunas_sin_hueso#5873 {name: 'Alibaba', passlog: 'QWangXurgT', verif: 'false', horaj: ''}, //Alibaba#7448 {name: 'Ryo', passlog: 'urq6CeOhmZ', verif: 'false', horaj: ''}, //Ryo#9025 {name: 'CSM', passlog: 'hOUQs5JY6I', verif: 'false', horaj: ''}, //CSM#2311 {name: 'Frigopie', passlog: 'srYnl70lZh', verif: 'false', horaj: ''}, //kaskaroto#0937 {name: 'bruno8893', passlog: 'SMvlDvdg3i', verif: 'false', horaj: ''}, //bruno8893#1517 {name: 'Nova', passlog: 'nova123', verif: 'false', horaj: ''}, //Nova Games#8487 {name: 'Legends SC', passlog: 'xTB0JEFn0k', verif: 'false', horaj: ''}, //Legends SC#2554 {name: 'FWN', passlog: 'eresunchorizo', verif: 'false', horaj: ''}, //FWN-#9680 {name: 'Munir', passlog: 'JXXv8Z2ynj', verif: 'false', horaj: ''}, //Munir#2678 {name: 'FD', passlog: 'LqeNe7VThN', verif: 'false', horaj: ''}, //fondoderecha#9342 {name: 'DauS', passlog: 'T8ovnU1KK5', verif: 'false', horaj: ''}, //DauS#5103 y Cigüeñón#2635 son hermanos {name: 'LIDER', passlog: 'NAjpmJktxR', verif: 'false', horaj: ''}, //LIDER#4443 {name: 'SaN6uiNaRiO', passlog: 'hNaAsawmfT', verif: 'false', horaj: ''}, //SaN6uiNaRiO#8528 {name: 'Sweety', passlog: 'hdpx2', verif: 'false', horaj: ''}, //S3RS3#2536 {name: 'naho', passlog: 'ZtOhoE7wS0', verif: 'false', horaj: ''}, //Naho#9230 {name: 'GuN1', passlog: 'haxball', verif: 'false', horaj: ''}, //GuN1#5271 {name: 'Vkn', passlog: 'qAMpD0cWhs', verif: 'false', horaj: ''}, //VkN#0894 {name: 'OscarAlho', passlog: 'R0ZKcZ7crK', verif: 'false', horaj: ''}, //Almeyda Shemtov#5432 {name: 'La Coma', passlog: 'Q2tlocbdtX', verif: 'false', horaj: ''}, //MCsRe0#0090 {name: 'ElXera', passlog: 'ALLeZKwYfZ', verif: 'false', horaj: ''}, //ElXera#7735 {name: '(̅_̅_̅(̅_̅KATAN_̅_̅_̅̅()', passlog: 'NwPBv1olcO', verif: 'false', horaj: ''}, //katan#7032 {name: 'Adoro Batata Frita', passlog: 'c3wixsSMAm', verif: 'false', horaj: ''}, //Luis Caralho#2266 {name: 'DreD', passlog: 'FrrMCaxtnS', verif: 'false', horaj: ''}, //Sousa#4198 {name: 'Storm', passlog: '47Zb5bE28r', verif: 'false', horaj: ''}, //[A]MicroSD#5718 {name: 'Henry', passlog: 'tacobell', verif: 'false', horaj: ''}, //Henrysito#9610 {name: 'Carla', passlog: 'vySO3hGpcW', verif: 'false', horaj: ''}, //carla95#3555 {name: "IL Crixus'", passlog: 'j86bMI6bq3', verif: 'false', horaj: ''}, //Crixus'#7896 {name: 'porttt', passlog: 'haxis', verif: 'false', horaj: ''}, //porttt#3659 {name: 'D4bZz', passlog: 'servemp1', verif: 'false', horaj: ''}, //D4bbZz#4984 {name: 'Mixu', passlog: 'xDFfJTdW4U', verif: 'false', horaj: ''}, //Mixu#9116 {name: 'dsmextreme', passlog: 'k8QuOt2wQV', verif: 'false', horaj: ''}, //dsmextreme#7571 {name: 'rodr1', passlog: '9lDEZhP9Ux', verif: 'false', horaj: ''}, //Rodri Cardozo#5213 {name: 'Paharo', passlog: 'rGHeQDLDoq', verif: 'false', horaj: ''}, //Paharos#7240 {name: 'jolupetas', passlog: 'jolupetas98', verif: 'false', horaj: ''}, //joseluis98pg#3316 {name: 'reb', passlog: '6x1iYO3ht9', verif: 'false', horaj: ''}, //reb#4174 {name: 'excelente persona', passlog: 'Unx6Nu7DFT', verif: 'false', horaj: ''}, //excelente persona#8216 {name: 'Pams!*', passlog: '7WIurADdF7', verif: 'false', horaj: ''}, //Viti#3465 {name: 'Dust', passlog: 'XV90R0w7ai', verif: 'false', horaj: ''}, //Dust#9515 {name: 'Duck.', passlog: 'K1sH02nKON', verif: 'false', horaj: ''}, //Duck.#3855 {name: 'TOXULANDRON', passlog: 'Ni5H6rJj3D', verif: 'false', horaj: ''}, //CAMARON DE LA ISLA#7403 {name: 'sobota', passlog: '1naExI6ATS', verif: 'false', horaj: ''}, //Vitor#5160 {name: 'h0rus', passlog: 'Bvh0IpZE84', verif: 'false', horaj: ''}, //Nach0man#0466 {name: 'S4nTii', passlog: 'kCowofqLAa', verif: 'false', horaj: ''}, //S4nTii#7249 {name: 'Luis', passlog: 'ZxOd8ZdUpe', verif: 'false', horaj: ''}, //Luifi#9218 {name: 'Kopa', passlog: 'eTUv5UDk3g', verif: 'false', horaj: ''}, //Gunter#4141 {name: 'luck', passlog: '8lfuahvK6M', verif: 'false', horaj: ''}, //luck#0042 {name: 'peido', passlog: 'RceTZyLnV7', verif: 'false', horaj: ''}, //Migumigu#9778 {name: 'Mirkaldo', passlog: 'LdfnP4SFkW', verif: 'false', horaj: ''}, //Mirko#5401 {name: 'ag', passlog: 'dl105w3U8x', verif: 'false', horaj: ''}, //ag#9413 {name: 'Серкан', passlog: 'Oy0VmnPloC', verif: 'false', horaj: ''},//Sarkano#1910 {name: 'liwyy', passlog: 'sbpipPVPnw', verif: 'false', horaj: ''},//-Renatooo.#7100 {name: "'Adriano Correia'", passlog: 'shN6OlTbCQ', verif: 'false', horaj: ''},//Adriano Correia#7610 {name: 'ALaCara', passlog: 'VoswPGuf8i', verif: 'false', horaj: ''}, //ALaCara#2826 {name: 'so easy game for me', passlog: '6iDpSuLtZF', verif: 'false', horaj: ''}, //ludopata#6908 {name: 'raul7', passlog: 'iJwPkSJpAW', verif: 'false', horaj: ''}, //[ES] raul7#2838 {name: 'Maggio', passlog: 'aHp9T2HSp4', verif: 'false', horaj: ''}, //jonune blindado por deus#9551 {name: 'PlayeR.', passlog: 'player2006', verif: 'false', horaj: ''}, //PatataUsada#0991 {name: 'Venkinta', passlog: 'dO80cL2UOw', verif: 'false', horaj: ''}, //Tacenda#8279 {name: 'Alcacer', passlog: 'blIap7VhUq', verif: 'false', horaj: ''}, //Jajalo#4031 {name: 'ClouD', passlog: 'CMeBhJCKde', verif: 'false', horaj: ''}, //SrMiras#0706 {name: 'ciego costa', passlog: 'swyU8ZCBHN', verif: 'false', horaj: ''}, //miguel18#8578 {name: 'Listher', passlog: '28qEtf6qoD', verif: 'false', horaj: ''}, //Listher#1874 {name: 'Iscσ jaa', passlog: 'KacEpUpuGK', verif: 'false', horaj: ''}, //Iscσ jaa#8362 {name: 'leo', passlog: 'FQe82jwjDW', verif: 'false', horaj: ''}, //LEO#9939 {name: 'AdriXx', passlog: 'SvcymmQFGT', verif: 'false', horaj: ''}, //AdriXx#0030 {name: 'vadi', passlog: 'YKMDw3g9m6', verif: 'false', horaj: ''}, //mykr#5253 {name: 'Schimmelzahn', passlog: 'GF8unquRWu', verif: 'false', horaj: ''}, //Schimmelzahn#0458 {name: 'Titzz', passlog: 'Jn9aExopvq', verif: 'false', horaj: ''}, //titzz#7378 {name: 'Mantequilla', passlog: 'TKWNXv2lIM', verif: 'false', horaj: ''}, //Rastaman Vibrations#3318 {name: 'COLBY', passlog: 'SVf1gCp7qq', verif: 'false', horaj: ''}, //LastNightInTown#2643 {name: 'Moldova', passlog: 'RBw1WR5s7N', verif: 'false', horaj: ''}, //Moldova#3329 {name: 'Traça', passlog: '2IIvwTuioL', verif: 'false', horaj: ''}, //Traça#2829 - Hazard#9572 son hermanos pero cuidado dudo {name: 'benis', passlog: '6dERQLV2Sc', verif: 'false', horaj: ''}, //hamzaa#2308 {name: 'olee', passlog: 'slwonM3FPI', verif: 'false', horaj: ''}, //ola#1595 {name: "monteiro", passlog: 'VlulbmMQhS', verif: 'false', horaj: ''}, //montskar#9436 {name: "Maux", passlog: 'L1sZ6p4w8W', verif: 'false', horaj: ''}, //Maux#9815 {name: 'Not the best', passlog: 'bamboulales', verif: 'false', horaj: ''}, //Popape#8746 {name: "'lεωαиdσωѕкι.", passlog: 'yQuGVyJjO7', verif: 'false', horaj: ''}, //Lewandowski.#9740 {name: 'Common', passlog: 'hxZBOJpmUJ', verif: 'false', horaj: ''}, //imMike#8888 {name: 'Fred88', passlog: 'jlOFXIQJX0', verif: 'false', horaj: ''}, //fred26pt#4245 {name: "X9", passlog: 'IOBMn4xEMc', verif: 'false', horaj: ''}, //X9#3231 {name: 'TIAGO', passlog: 'cCNnNYfCwX', verif: 'false', horaj: ''}, //TIAGO#7715 {name: 'KmbL Elegancè', passlog: 'WXL4KfSLOQ', verif: 'false', horaj: ''}, //Levy Negrescu#9070 {name: 'S1mPle=lol', passlog: 'KyI9fJ7qUh', verif: 'false', horaj: ''}, //S1mPle=lol#2721 {name: 'AAAAAAAAAA', passlog: 'rcfKHECg7m', verif: 'false', horaj: ''}, //E-ratic#7786 {name: 'mattos', passlog: '8wJ2StOokw', verif: 'false', horaj: ''}, //Mattos#8849 {name: 'M̾a̾p̾e̾', passlog: 'combo75', verif: 'false', horaj: ''}, //luismi_mape#1839 {name: 'ruibraga96', passlog: 'scbraga03', verif: 'false', horaj: ''}, //ruibraga96#4859 {name: 'Chazeiro', passlog: 'traore13', verif: 'false', horaj: ''}, //Chazeiro#2755 {name: 'PIXEL ANAL', passlog: 'pedosnegros', verif: 'false', horaj: ''}, //luisis#5438 {name: 'sergi', passlog: '122', verif: 'false', horaj: ''}, //sergi#4700 {name: 'Safer', passlog: 'haxb4ll123', verif: 'false', horaj: ''}, //Samu#7465 {name: 'RBB', passlog: 'pedro2511', verif: 'false', horaj: ''}, //Pedrocalles#4161 {name: 'SeaG', passlog: '123456', verif: 'false', horaj: ''}, //SeaG_GaS#3039 {name: 'Vitoria Setubal', passlog: 'setubal1710', verif: 'false', horaj: ''}, //Lourenco#9730 {name: 'Supa', passlog: 'SUPA', verif: 'false', horaj: ''}, //ArchosAndreas#5640 {name: 'c.Ronaldo #7', passlog: 'fiambre7', verif: 'false', horaj: ''}, //c.Ronaldo7#0907 {name: 'danielika', passlog: 'patatafrita', verif: 'false', horaj: ''}, //damugo98#4546 {name: 'edu', passlog: 'coimbra', verif: 'false', horaj: ''}, //edu#4433 {name: 'gg', passlog: 'GGt', verif: 'false', horaj: ''}, //x_xIsabellax_x#3248 - CorruptedUnicorn#2160 - hermanos {name: 'Alexinhooooo', passlog: '7a4ab21', verif: 'false', horaj: ''}, //Alexinhooooo#6538 {name: "Element", passlog: 'goraetajaja', verif: 'false', horaj: ''},//Element#6684 {name: 'Cefas', passlog: 'Test123', verif: 'false', horaj: ''}, //Cefas#8762 {name: 'Kleix', passlog: 'CherokyC3', verif: 'false', horaj: ''}, //Kleix#6669 {name: 'Cigüeñón', passlog: 'nonina2', verif: 'false', horaj: ''}, //Cigüeñón#2635 - DauS#5103 : Son hermanos {name: '✰HⱥҜᎥmZᎥyech✰', passlog: 'Samuel97', verif: 'false', horaj: ''}, //Rei de Guisande#2697 {name: 'Daemon', passlog: 'dae13', verif: 'false', horaj: ''}, //CorruptedUnicorn#2160 - x_xIsabellax_x#3248 - hermanos {name: 'Frank Ocean', passlog: 'g', verif: 'false', horaj: ''}, //Guilhermee#4378 {name: 'Win', passlog: '12', verif: 'false', horaj: ''}, //Blitz#8139 {name: 'Shaqiri', passlog: 'pedroromao1', verif: 'false', horaj: ''}, //Shaqiri#5533 {name: 'migg', passlog: '4444', verif: 'false', horaj: ''}, //migg#8998 {name: 'Quim', passlog: 'Quim', verif: 'false', horaj: ''}, //P1NHO#1199 {name: 'Talisca@@@', passlog: 'Sandra1974', verif: 'false', horaj: ''}, //TaliscAa#2739 {name: 'T1P', passlog: '0124LOL', verif: 'false', horaj: ''}, //T1P#1615 {name: 'PedroEstrelinha', passlog: 'pedroestrela', verif: 'false', horaj: ''}, //PedroEstrelinha#4061 {name: 'Joana coutinho', passlog: 'mirandela2020', verif: 'false', horaj: ''}, //VITORADAZ TRRINKINHAS#9365 {name: "pabloto", passlog: 'Mikelillo01', verif: 'false', horaj: ''}, //mikelon2004#6526 {name: 'LEAN', passlog: 'lean123', verif: 'false', horaj: ''}, //LEAN#1279 {name: 'x7bluesea', passlog: '123456789', verif: 'false', horaj: ''}, //x7bluesea#1645 {name: 'paulinho', passlog: 'g2', verif: 'false', horaj: ''}, //paulinho#3106 {name: 'Lεgεиdz', passlog: 'NewFuckingPassword', verif: 'false', horaj: ''}, //*Ash* / Lεgεиdz#3187 {name: 'VoxelMush', passlog: 'goleryarte24', verif: 'false', horaj: ''}, //VoxelMush#1235 {name: 'louros', passlog: 'aitor', verif: 'false', horaj: ''}, //louros#7715 {name: 'GORILAZCM', passlog: 'ventilgostosinho', verif: 'false', horaj: ''}, //GOrialz#4791 {name: 'Alcon83', passlog: 'qetu', verif: 'false', horaj: ''}, //Âłčøň83#7314 {name: 'Messi ?', passlog: 'marios323', verif: 'false', horaj: ''}, //4rLd#3642 {name: 'Nickname', passlog: 'Nick1992', verif: 'false', horaj: ''}, //Nickname#1699 {name: 'la venda', passlog: '2', verif: 'false', horaj: ''}, //la venda ?#0886 {name: 'HAZIM_786', passlog: 'haxball78', verif: 'false', horaj: ''}, //hazim#8988 {name: 'k1nder máquina!', passlog: 'k1nder123', verif: 'false', horaj: ''}, //k1nder#8570 {name: 'wozal', passlog: 'wozalbp312', verif: 'false', horaj: ''}, //wozal#6939 {name: 'ely', passlog: 'elysium20', verif: 'false', horaj: ''}, //lxn#0851 {name: 'ad', passlog: 'd4n13l', verif: 'false', horaj: ''}, //Danielo#6857 {name: 'Seulofeu', passlog: 'Seulofeu1#3', verif: 'false', horaj: ''}, //Seulofeu#6517 {name: 'nocnoc', passlog: 'bueno5788', verif: 'false', horaj: ''}, //nocnoc#9631 {name: 'gabrielxlm', passlog: 'gabriel035', verif: 'false', horaj: ''}, //gabri#1019 {name: 'Icαяdi', passlog: 'soad1893', verif: 'false', horaj: ''}, //Icαяdi#4272 {name: 'YandereSimp', passlog: 'Gacho20', verif: 'false', horaj: ''}, //YandereSimp#2947 {name: '123', passlog: 'nNg1&g', verif: 'false', horaj: ''}, //Tomas123#5501 {name: "11", passlog: '090809', verif: 'false', horaj: ''},//znpp#9296 {name: 'RDT9', passlog: 'benfica1904', verif: 'false', horaj: ''}, //davidnisa10#6099 {name: 'Stojiljkovic', passlog: 'Stojiljkovic', verif: 'false', horaj: ''}, //Kiko_#1910 {name: 's3veR', passlog: 'sever18', verif: 'false', horaj: ''}, //s3veR.La#1899 {name: 'mladen', passlog: 'catarina', verif: 'false', horaj: ''},//mladen#2795 {name: '?????', passlog: 'gestaoipg', verif: 'false', horaj: ''}, //моосн#1906 - usopp con letras raras {name: 'Juanfran', passlog: 'sidoso', verif: 'false', horaj: ''}, //jf#0689 {name: 'K1nG', passlog: 'sk.', verif: 'false', horaj: ''}, //Blackk#2569 {name: 'MC Cristina Ferreira', passlog: 'avatar1', verif: 'false', horaj: ''}, //BELA PICHA#9876 {name: 'Mitre', passlog: 'cosmicsans', verif: 'false', horaj: ''}, //Mitre#7554 - srtena#4739 {name: "WELLINTON", passlog: 'homero123', verif: 'false', horaj: ''}, //anditalika#5105 {name: "Alphabetus", passlog: 'sportingcaralho', verif: 'false', horaj: ''}, //alphabetus#1411 {name: 'Confused', passlog: '1234', verif: 'false', horaj: ''}, //Robi8#9305 {name: 'Sancho', passlog: 'sancho07', verif: 'false', horaj: ''}, //Sancho#1954 {name: 'Sr. OIé', passlog: 'oleasos', verif: 'false', horaj: ''}, //Junquero#5458 {name: 'Jesus_L', passlog: 'MaChadp', verif: 'false', horaj: ''}, //rafaelJn2000#4824 {name: "OI", passlog: 'OI2014', verif: 'false', horaj: ''}, //OI#2225 {name: "sackky", passlog: 'bibelou04', verif: 'false', horaj: ''},//stefanrs_04#0850 {name: 'adri', passlog: 'adri09', verif: 'false', horaj: ''}, //adri#3244 {name: 'яєѵσłυтıση', passlog: 'hax1904', verif: 'false', horaj: ''}, //Fifty#0554 {name: 'P. Nedved', passlog: 'haxball', verif: 'false', horaj: ''}, //nedved#3552 {name: 'Maritimo', passlog: 'Nacional19101', verif: 'false', horaj: ''}, //Maritimo#0536 - Guilherme_2310#5740 {name: "mohamed AAC", passlog: 'mohamed200030', verif: 'false', horaj: ''},//Toscano#9185 {name: 'PeneGoleador', passlog: 'SASUKE22', verif: 'false', horaj: ''}, //Garrapata#2935 {name: 'pierre', passlog: '4321', verif: 'false', horaj: ''}, //Fernando.#4142 //{name: 'JOE BIDEN - COME ON MAN', passlog: 'fuckbenfica', verif: 'false', horaj: ''}, //Henriqueal97#4814 - ban por pesado insultando {name: 'zeda', passlog: 'qwerty123', verif: 'false', horaj: ''}, //rdmr97#4935 {name: "jj", passlog: 'passwordhaxball', verif: 'false', horaj: ''},//Mr. Null#4791 {name: "FLA", passlog: '12345', verif: 'false', horaj: ''},//Cemariquinha#1720 {name: 'LeetKid', passlog: 'lisboa10', verif: 'false', horaj: ''}, //covid19#8805 {name: 'Wolf Of Wilderness', passlog: 'azerty', verif: 'false', horaj: ''}, //forTT#3965 //-----------FIN PONER AQUI LOS NUEVOS*/ //!addregister azerty Wolf Of Wilderness /*playersAllowed1.push({name: "FLA", passlog: '12345', verif: 'false', horaj: ''} )*/ /*playersAllowed1.push({name: 'Brr', passlog: 'peugeot206', verif: 'false', horaj: ''})*/ // {name: 'Gimenez', passlog: 'palomo1997s', verif: 'false'} ]; var playersganadorestorneofutsal = [{name: 'vadi'}, {name: 'paulinho'}, {name: 'Safer'}, {name: 'RBB'}, {name: 'PlayeR.'}, {name: 'Alex'}, {name: 'GuN1'}]; var mejorgoleador = []; var mejorasistente = []; var mejorcs = []; var mejorjugadorenjugarmaspartidos = []; var mejorjugadorenganarmaspartidos = []; /*var PLAYERSRECORDGENERAL1 = []; var PLAYERSRECORDGENERAL2 = []; var PLAYERSRECORDGENERAL3 = []; var PLAYERSRECORDMENSUAL = []; var PLAYERSRECORDSEMANAL = [];*/ /*var playersAllowedLVL1 = [ {name: 'crujidor'}, {name: 'raul7'} ]; var playersAllowedLVL2 = [ {name: 'El Quaresma'}, {name: 'TOXULANDRON'}, {name: '-sda-sdasd'} ]; var playersAllowedLVL3 = [ {name: 'DELLAFUENTE'}, {name: 'Mandril'}, {name: 'Parejo'}, {name: 'PocaPlaya'}, //{name: 'IL PUTTANO'}, {name: 'Alex'} ]; var playersAllowedLVL4 = [ {name: 'Raúl'}, {name: 'VoxelMush'} ]; var playersAllowedLVL5 = [ //{name: 'Braisinho'}, {name: 'RBB'}, {name: 'Gimenez'}, {name: 'aitor'} ]; var playersAllowedLVL6 = [ ]; var playersAllowedLVL7 = [ //{name: 'Pero que...?'}, {name: 'w'} ]; var playersAllowedLVL8 = [ ]; var playersAllowedLVL9 = [ ]; var playersAllowedLVL10 = [ {name: 'Andoni Goikoetxea'} ];*/ /*var playersaitor = [{name: 'aitor', auth: 'uPlWjzm1QGfKWk0XEDY-7pf-9zJ0a3a1cUqU1fU1EDc'}]; var playersmahiru = [{name: 'Mahiru Koizumi', auth: 'dsSg70E7g5XaRNZd1DVZxTIo2PdWFjleN6kWWFTfUaE'}]; var playerscars = [{name: 'Cars', auth: 'zgOz-Kn13ZrG131-kYDaOYvZVCuvQXHKxzDObnTts5k'}]; var playersAllowed = [ {name: 'BOT', auth: 'A6aDCkbi9PYjDCoBYqhM1xVam4MDzpxlR975NtK_Xus'}, {name: 'Gime', auth: 'A6aDCkbi9PYjDCoBYqhM1xVam4MDzpxlR975NtK_Xus'}, {name: 'Mahiru Koizumi', auth: 'dsSg70E7g5XaRNZd1DVZxTIo2PdWFjleN6kWWFTfUaE'}, {name: 'la venda', auth: 'I5We5LxPjuMvjE71Ra7wO9cagtbdMmKWUA2rU0plo70'}, {name: 'Neuer', auth: 'Kdl2bDhuFMfC9Cq0QYSS4ahD9T2uC-MdIvk93ENlqk4'}, {name: 'rk', auth: 'Li6f0nZBkZAshTL2Ecb1OtlepVER-qv8-imx2nyC8_4'}, {name: '> BW <', auth: 'TMqr7yPhBHRJpbwQr96t-ajF0Wn2DD41dg9eK4PzD54'}, {name: 'Dress', auth: 'L8Oz3VEVhgekYdvGgrKK9one2gmZY4SyKOZ9pEa_6xI'}, {name: 'camaron', auth: 'lffmtrzJJdJXWpFWyvrR8mDqChpAsfQNeDJp6IuQwMs'}, {name: 'crujidor', auth: 'TGb9DvQfinZiOOkw7-yWLnnp5sPJJvvdRt5S_XQurZo'}, {name: 'Pero que...?', auth: 'M05YrEpcgTzpnZjYFevb619zqVhv5ukkHedTcxrH21s'}, {name: 'Cars', auth: 'zgOz-Kn13ZrG131-kYDaOYvZVCuvQXHKxzDObnTts5k'}, {name: 'miske', auth: '0dS3A36T6rKC0rgkhFjvg3qyDtvqT_Z-PCvMjf1zgjI'}, {name: 'Maux', auth: '-odByENg-AR3go1bzzdRGH0CGA7e0-KrUTv_L2YkeqE'}, {name: 'n?', auth: 'oaSYtJ5fA6syTjogUCuxyJdBrhuZdLTmS41jK3Fid5o'}, {name: 'varo', auth: 'qZwqNw_LVheMMsNqOZt8cWbMvju99OtWcePP1D--_ag'}, {name: 'Zawisza', auth: 'MnUjMHevbw4SuNCWoFzWN30PxgzI6z2SavRENHCpzog'}, {name: 'Chokepic', auth: 'XvCSEu-_1icSfUCTfpL9YI-z-tfCUT6p0pxNnA8uw5M'}, {name: 'M̾a̾p̾e̾', auth: 'EBgAwcUEeYig2ceV0_TYwDKdVQ85em-4Oiev5O4hAoo'}, {name: 'Mandril', auth: 'D8QglsmgA8LBMRLq23BgLfsKxxKtsiXOfRAhDProBkI'}, {name: 'issou', auth: 'jqPE9aOp8ABWpoxyQ0jt35qW9qo6YuBtBY6osSItmB4'}, {name: 'DerrickJonesJr', auth: 'CthC1AdupPqWuZiIFTzRe_9P6LQXgxRh1e7sRCmELk4'}, {name: 'Junker', auth: 'BR6soflr9g5ETssDPOfIB7NOB0S0r2zT-qTBmcyEXOg'}, {name: 'Parejo', auth: '9Gb5ethVIPMZUs4wnuelMzYV_1uigKNM6vl_DjDfzQM'}, {name: 'Venkinta', auth: 'JdXnwJsMuDGVe0mYMS4wdFUoN2Pf0kL9KScJwQ9TS_o'}, {name: 'VoxelMush', auth: 'mFGG0nujjuASsnCcjlY12RGB29C8uXYCF1dJ7kkZL3Q'}, {name: 'Mestre', auth: 'WHAmvgZr9A-j9szM5Eo_ehBujz1rIypf1Mk_19Vq4Ds'}, {name: 'Maestro', auth: '9TjLEPLrywv1MRb-UamIKKmfeXXbvaQ3eufF6iXnIAs'}, {name: 'Chazeiro', auth: '-LgFq4gaZYu_SfbnRYPICMntA7DoXQMbcy70ynp7XmE'}, {name: 'humpyy', auth: '699bOua9KHR5DmC4oYkl1ZoHsa3E9Jo8j2I4HA9K5fM'}, {name: 'TONY MONTANA', auth: 'r_q3GCSgjXahUx8o8xhLY9gAcPFU7aWsVdsFBE36fhs'}, {name: 'Arctic', auth: '6VOPa_MlX3OPBRVai4kQV-FtzSx0WZfLpDSQlv-mKMs'}, {name: 'RBB', auth: 'GRPd9csfCz8_BVS58sDhOG78yIJpYal6Dx7bLAYFW10'}, {name: 'Xavi-vž', auth: 'DlsnKzl5VLkrC0H_p1IHmWK3sExrFehK1Alc_h3QvcM'}, {name: 'LEAN', auth: 'MtEHFMhz2CDlKxvt5cfGa60UKLl4O20ZYWQQxgW1r5o'}, {name: 'DELLAFUENTE', auth: 'iUHbYAK3FKPlWqneR7wrKKT1pKSTlD_f8_DZ372V0mM'}, {name: 'Klose', auth: 'Ot3LXgkyHEHgiEEVDubYmLl-XI1aE4onvskb1sED3Sc'}, {name: 'Nahy', auth: 'e5WhEUim97yh8RYElnf9QWSmEq4NR3HRCiut18p8LSc'}, {name: 'aitor', auth: 'uPlWjzm1QGfKWk0XEDY-7pf-9zJ0a3a1cUqU1fU1EDc'}, {name: 'adri', auth: 'y78J4OQRmXKno-nifIuj22tJMX627H75pb63bkRFUzo'}, {name: 'erRs', auth: 'VW2qeyNRaBljfEIi6w7CotOQCzIO3WLF1Jtfl0nz6Dk'}, {name: 'Element', auth: '2k6DDAxOfrFGFW87UPHd87mleEzdGKsfsAoC9mcQv5U'}, {name: 'Brss', auth: 'RIW0xqwKBQLhDfmy2b4WB8IMKCmdKyDxPcNGvmemqMk'}, {name: 'Nenox', auth: 'jJA9ZjoZ7XM5fFbLmjsxojY8sJSe1GcGzv5XS4LRhto'}, {name: 'dj666', auth: 'RThqqBovlHu0AU_RQ8QQnVkpvkk6WSiDR3MyVAvcE18'}, {name: 'Braisinho', auth: '15ZmGsDTkuaCsVh0-zgXajC7_WuQ88HA0T-GE4fKF1s'}, {name: 'k1nder máquina!', auth: '3HgbuzfC9dVprK57CphZAfTvBOjYoMvq8hTy_LII5u4'}, {name: 'jolupetas', auth: 'TK6vE92NUwsWOSJr3qZVDqis0nOiuBQOpyKHrDRrfls'}, {name: 'Andoni Goikoetxea', auth: 'sL2JLjm_dupRrpeBFNLzH2DNdATBTNx9KM4lFbgIAeg'}, {name: 'IL PUTTANO', auth: 'YxBj9GiDh-i7v527wJMiN0EDrtdKX55gyL0w0DVuUBs'}, {name: 'excelinho', auth: '3SqLfIpwfLmx5irhw8rL3EMSO9Nmr5MWjqZbpZpx_1U'}, {name: 'DT イヴァンレイ', auth: 'hbjq2sBPskTc3XAaX6QgslTLUiw4UW73-cvpGTGpRHU'}, {name: 'Magic', auth: 'hL133HR5pxoXDEDJoXfZBLNFClzrrNY2UEU6tfXH7A0'}, {name: 'PocaPlaya', auth: 'CutdkOro_xVVP__f9OxMep7L8yrjEewwmDKgREOsrhA'}, {name: 'PiPe', auth: 'cBAUriBa8UNSSHBUPSr3KqoN1uU0c0lvH9MWB30OMY0'}, {name: 'Shhhh', auth: '8kriqMKFHWPm5e_zfI6AezVeUMe4WHWIrlpVzMsxM6g'}, {name: 'cluzen', auth: 'mngb76DKb5hHPkVZpdAjRdhpdFjvuKGpPtaYjvDsR0M'}, {name: 'Btcraft', auth: '8rLCyFn1kHKpIddQBCJbSgILFBe66XxMPnb6zx0iyRU'}, {name: 'Haaland', auth: '2U6LD8_7PXC880MF639NG5RDxqj_vbeR6c63JEbTSGg'}, {name: 'sss', auth: 'SrWU3GhPUFWUCYIEsn3gq6swm4DAC1P6rZD8pK659jY'}, {name: 'roque', auth: 'fl1zzaKgadrJjYy3sSF5EUIjdVhShkgG9klX86UZjtk'}, {name: 'so easy game for me', auth: 'fGraOhCROTb4XpxnSmVa6iuURnF3i1XH2Gbv_MIY-xQ'}, {name: 'Patata', auth: 'TxU-VXbKN6g_g3Ct6wP4XWkfdH7au6jvRKY7u1H8jIE'}, {name: 'David Guetta', auth: 'tD3jEI1KSJk-mRfXl0j6MGZMvCAZ6FctnrkbBDdPH-4'}, {name: 'Alibaba', auth: '3jqSMKWUf-Ew3XGUQ2A7BGVcl-4RPRjnvbXAZjGfkrw'}, {name: 'Ryo', auth: 'dqNFebKdGAikAAezQxzeZ3wmYzRzs6lU0xXoggS4N0Y'}, {name: 'De hazR', auth: 'jX7uk_g9FzQO2rGslWHv3wJXLlEEwKK5C4PY7fQPchs'}, {name: 'VforTheBoudot1', auth: 'SoMVEA9DotFtmd4nMoU_tJUsL7t2RyZWYdHxEiQnSZ4'}, {name: 'mykr', auth: '0LkXBLrz4sz67b8lm4CcqOKNR1S5Qbn6bpyg8P4l0yc'}, {name: 'CSM', auth: 'TWrGWrRBZALT95k-O7ip5HhNwBDfbV4m0YXX-grEFQQ'}, {name: 'Frigopie', auth: '6-KggbwsJfLdjl-bQkgj6Sd2Wa-b46tjzN-Q7dQ5rYI'}, {name: 'CHUS FERNANDEZ1', auth: '4vk1Hhz1n4XdBWBFJpyJMmlOo9ih5Fv1Q_ozY4d5iP4'}, {name: 'JozeLuyh', auth: 'RfHq58QqIpVGaGB6yzBIunOc3gtHcbyjeHkmSa0IiKE'}, {name: 'sobota', auth: 'sEkjWtzKwX8oES9_vJbV5Z7AUw5Bvn7I79gIx20VRLA'}, {name: 'h0rus', auth: '2ptZqWYBDSMFxrK1k5OQYS-rDGC5cS5N77jYfLTmsFs'}, {name: 'raul7', auth: 'WOiuW74krhvyWaAAQ8nUSoV_E8XPsy6YJ2E1lNQHAJI'}, {name: 'wassup', auth: 'w4FzTZ86fMlHCGwYxeHdADSrBljjP0wrk1QAaOExmvs'}, {name: 'TRusT', auth: 'I6tvXBH3H6K3mEMWwUy4gRLMcDc2q7pDNobYAzONcGM'}, {name: '! Hammer ! Go', auth: '3_YEGzLNLhew9eY3_Qkh3fm5GUL-l-GCFNzoj3Ey4_I'}, {name: 'S', auth: 'xCNjN8G-RvdP0-NLCdBxX9YYgz8f7q8ZQMOx26Rg5JU'}, {name: 's3veR.LA', auth: 'WcOT2z1vtQfvO4GBG6lWYYhdBL2zqPBUImzK_uwvvWU'}, {name: '⚔ DEADPOOL ⚔', auth: 'XrjkL1_G4O-wn06Mo12mxsu0_3heyd86rCsRlm5Ermc'}, //⚔ DEADPOOL ⚔ {name: 'El Quaresma', auth: 'Pjjd1xgpEdkZrw0lTXZKbeofmtCKYjU3lm09lw-uReQ'}, {name: 'Pipi Lacalzalarga', auth: 'HRUmi_oxXJ39pCG-4_gFmh5GgCuQS7lMcUcx5_jTShA'}, {name: 'Raúl', auth: 'IaBJyCNf4LuWdNAX0qIothKf8tJQ9CytaGEUmjBGSIQ'}, {name: 'Luis', auth: 'RnTTz27iD5E97fuEq-Ndu1ipMNYiKHvZLNxN5v2TD2Q'}, {name: 'tello', auth: 'hSuEburdCnswVhS7VJuegPIQLdXOlA1BDuLnmVAHZQw'}, {name: 'jocko', auth: 'Ia4OA7vcOloq7seaUhfAERWN-6BeyaYlntjwLEQdlQ8'}, {name: 'Juanfran', auth: 'm_VwmWlDhSts9xqjK4YGHuHqPicvDZepAdtWk7AFnhM'}, {name: 'El Chapo', auth: 'YTiM6A52ZtWHTNfiy7t7bqyNaMpcM-S-nB7hVKLuTbs'}, {name: 'TOXULANDRON', auth: 'rKM4NZ8li3t2cr9l3jntfUXOu4Xa76hHODk23mwOdXA'}, {name: 'Winter', auth: 'wtNk0ZKrAuBY6wwZGwA5pft9PKsnZaDgFLRC6ilwH8g'}, {name: 'Libertador', auth: 'BoUk4fnXLtpzULK-RzurAEITCMr_j11Yj2txswI1d1A'}, {name: 'w', auth: 'SlmH59R_pvZWiwfwxhSa3Dho8mvbDpm6OevF_kpEx7Q'}, //---------------------------------------------------------------------------------- // faltan por poner arriba {name: 'gbtiago', auth: '0KRylmbmiP2ZQlubEEIuF7DM3ekzw9pzsrlcAvQAmzQ'}, {name: 'josete', auth: 'y11eW8TwkWGOBhbUq2Q2zIRhvjpNV8wZ7tcV8VkqMBo'}, {name: 'Kra', auth: 'hKHRML5GMgCJyTrhVYBO5B6NQr_jZ75lK_Cg0lNKICc'}, {name: 'Callejón 2.0', auth: '3rmn3C6ry09ebx_X0lFzHilOFmIJ3eL8OoBRFduqPe8'}, {name: 'Juanma96MLG', auth: 'zbsHeakTR-Qa_a52AzmUA3wx8bghU3L5k61oTf38V_0'}, {name: 'excelente persona', auth: 'VAYGP-WnNREwuKewsT4btndN2gOWJhB5TlECVurw5D0'}, {name: 'Toledo', auth: 'Y0d4svSq1ynLp7EoiJf-Ga7ikKWgxuuS_OLvBK8venk'}, {name: 'Pams!*', auth: 'Ny_mMZwSOVPF4Aw1W0fMFbZt5t98QNFIZGYbcjnEQK8'}, {name: 'Dust', auth: 'en7jnyju-oeUUTCWA1vN2WCj08TS4Ub89T5kSpRvbrQ'}, {name: 'Duck.', auth: 'fmSJzYBQZhhYLYpTrwKrUpkoBpWbBSGf_yNtutDMmEA'}, //falta en las salas y en link {name: 'Casio™', auth: 'JcafdovDyFIe3MGPZ2UqLipBeb7mGcr63-72cMhWtwM'}, {name: 'Redondo', auth: '_TCNhd_TWyNybzaTZn078mLaC5kMldg6SY995t-IkmM'}, {name: 'UFRAspieler', auth: 'oWOHmSSpkjW9GFRJJc8A0VswRA035a7IHTWOdOOFlJA'}, {name: 'perro', auth: '8LDlSsKwOrHvhfqqycky0eX7pylZ6bZDgZ4XzscyLTc'}, {name: 'Steal', auth: 'FcM23FZC-GKfbQ_AqEtftPE-lvmvyaKKe_4Ie38dStY'}, {name: 'Kamasutra', auth: 'sxaKRhI9Xz0dhuaZi56S_EslHHSb0IyAEvmRxzYb-gs'}, {name: 'Cipote Goleador', auth: 'Cswk_wlijwQD7YI2Aulu8foWGvI2Mk46XoUDtnOFCUY'}, {name: 'Pepe Reina', auth: '_deM12xbJb897jkSyWjWN52-th5AyyGTV6F3i-9LqBg'}, {name: 'gabrielxlm', auth: 'TxcyJ2_mkOw6dGvnbgZrMCIDgQ0kyKEfLNQYaL-mbd0'}, {name: 'PeneMicroscopico', auth: 'LfUvacYovCmHliXlPDWjJ-y92EbHmEkWE2m3N-ztqaU'}, {name: 'Danuve', auth: 'ILxAqRXvJj8yh-uxr0y3GBMjAoiMu5QZWqM26xKrYys'}, {name: 'A&A', auth: 'HV2oPdrMMmaA7nKs7vg38xeuQ8DWQzN4cVKegW4Ffr8'}, {name: 'Talisca@@@', auth: 'C6urTtBa2rL06rU2tnRalLIDDSwDEB3HnAJqiMLQjDY'}, {name: 'passda', auth: 'zX0TP0jd24Tu-OBWh5pIsgcIaE1GUygYM02kyZGGjzM'}, {name: 'Diosntoeama', auth: 'SLdHxfCnmBe22ROM2vmSegwL9HR3U7-Bc_lElFIL94E'}, {name: 'PeneGoleador', auth: '0W01xOatCZ9V8SESYODFOcc0DfOn2wLD6HfeaPnv_Uw'}, {name: '-sda-sdasd', auth: 'U1LJQg-G6jGFSjTd4p4a1KIxiZensPdX8APpYhK4X_8'}, {name: 'Sodio', auth: 'C-KLpgonLiyHVFlt4_3v1jAdlPLKWRJxYPU1o6aDmzA'}, //fin {name: 'Gimenez', auth: 'Z9jyWMO8EVZF9myPPRsDCOj8UEvnvf5dTnojpKMqx-8'} ]; // [{name: 'test', auth: '123'}, {...}, {...}] var playersAllowedLVL1 = [ {name: 'VforTheBoudot1', auth: 'SoMVEA9DotFtmd4nMoU_tJUsL7t2RyZWYdHxEiQnSZ4'}, {name: 'crujidor', auth: 'TGb9DvQfinZiOOkw7-yWLnnp5sPJJvvdRt5S_XQurZo'}, {name: 'raul7', auth: 'WOiuW74krhvyWaAAQ8nUSoV_E8XPsy6YJ2E1lNQHAJI'} ]; var playersAllowedLVL2 = [ {name: 'El Quaresma', auth: 'Pjjd1xgpEdkZrw0lTXZKbeofmtCKYjU3lm09lw-uReQ'}, {name: 'Shhhh', auth: '8kriqMKFHWPm5e_zfI6AezVeUMe4WHWIrlpVzMsxM6g'}, {name: 'TOXULANDRON', auth: 'rKM4NZ8li3t2cr9l3jntfUXOu4Xa76hHODk23mwOdXA'}, {name: '-sda-sdasd', auth: 'U1LJQg-G6jGFSjTd4p4a1KIxiZensPdX8APpYhK4X_8'} ]; var playersAllowedLVL3 = [ {name: 'DELLAFUENTE', auth: 'iUHbYAK3FKPlWqneR7wrKKT1pKSTlD_f8_DZ372V0mM'}, {name: 'Mandril', auth: 'D8QglsmgA8LBMRLq23BgLfsKxxKtsiXOfRAhDProBkI'}, {name: 'Parejo', auth: '9Gb5ethVIPMZUs4wnuelMzYV_1uigKNM6vl_DjDfzQM'}, {name: 'PocaPlaya', auth: 'CutdkOro_xVVP__f9OxMep7L8yrjEewwmDKgREOsrhA'}, //{name: 'IL PUTTANO', auth: 'YxBj9GiDh-i7v527wJMiN0EDrtdKX55gyL0w0DVuUBs'}, {name: 'Cars', auth: 'zgOz-Kn13ZrG131-kYDaOYvZVCuvQXHKxzDObnTts5k'} ]; var playersAllowedLVL4 = [ {name: 'Canales', auth: 'IaBJyCNf4LuWdNAX0qIothKf8tJQ9CytaGEUmjBGSIQ'}, {name: 'VoxelMush', auth: 'mFGG0nujjuASsnCcjlY12RGB29C8uXYCF1dJ7kkZL3Q'} ]; var playersAllowedLVL5 = [ {name: 'Braisinho', auth: '15ZmGsDTkuaCsVh0-zgXajC7_WuQ88HA0T-GE4fKF1s'}, {name: 'RBB', auth: 'GRPd9csfCz8_BVS58sDhOG78yIJpYal6Dx7bLAYFW10'}, {name: 'Gimenez', auth: 'Z9jyWMO8EVZF9myPPRsDCOj8UEvnvf5dTnojpKMqx-8'}, {name: 'Btcraft', auth: '8rLCyFn1kHKpIddQBCJbSgILFBe66XxMPnb6zx0iyRU'}, {name: 'aitor', auth: 'uPlWjzm1QGfKWk0XEDY-7pf-9zJ0a3a1cUqU1fU1EDc'} ]; var playersAllowedLVL6 = [ ]; var playersAllowedLVL7 = [ //{name: 'Pero que...?', auth: 'M05YrEpcgTzpnZjYFevb619zqVhv5ukkHedTcxrH21s'}, {name: 'w', auth: 'Aoj-ib9mGnUCvkoyTf6csylCLmYzJKAk0U7d1aM1Q48'} ]; var playersAllowedLVL8 = [ ]; var playersAllowedLVL9 = [ ]; var playersAllowedLVL10 = [ {name: 'Andoni Goikoetxea', auth: 'sL2JLjm_dupRrpeBFNLzH2DNdATBTNx9KM4lFbgIAeg'} ];*/ /* GAME */ var lastTeamTouched; var lastPlayersTouched; // These allow to get good goal notifications (it should be lastPlayersKicked, waiting on a next update to get better track of shots on target) var countAFK = false; // Created to get better track of activity var activePlay = false; // Created to get better track of the possession var goldenGoal = false; var SMSet = new Set(); // Set created to get slow mode which is useful in chooseMode var banList = []; // Getting track of the bans, so we can unban ppl if we want /* STATS */ var game; var GKList = ["",""]; var Rposs = 0; var Bposs = 0; var point = [{"x": 0, "y": 0}, {"x": 0, "y": 0}]; // created to get ball speed var ballSpeed; var lastWinner = Team.SPECTATORS; var streak = 0; var streakpuntua = 0; var redPlayers = ""; var redTeamArray = []; var blueTeamArray = []; //añado aqui el record exacto para añadirlo manualmente var streakRecord = 0; var streakRecordPlayers = ""; var streakmanualRecord = 0; //STREAKSEMANAL SIEMPRE var streakRecordPlayersmanual = ""; //STREAKSEMANAL SIEMPRE //PARA RECORDS var STREAKRECORDGENERALNUMERO = "NO DEFINIDO"; var STREAKRECORDMENSUALNUMERO = "NO DEFINIDO"; var STREAKRECORDSEMANALNUMERO = "NO DEFINIDO"; var STREAKRECORDGENERAL = "NO DEFINIDO"; var STREAKRECORDMENSUAL = "NO DEFINIDO"; var STREAKRECORDSEMANAL = "NO DEFINIDO"; //PARA RECORDS FIN var allBlues = []; // This is to count the players who should be counted for the stats. This includes players who left after the game has started, doesn't include those who came too late or ... var allReds = []; // ... those who came in a very unequal game. /* BALANCE & CHOOSE */ var inChooseMode = false; // This variable enables to distinguish the 2 phases of playing and choosing which should be dealt with very differently var redCaptainChoice = ""; var blueCaptainChoice = ""; var chooseTime = 20; var timeOutCap; /* AUXILIARY */ var checkTimeVariable = false; // This is created so the chat doesn't get spammed when a game is ending via timeLimit var statNumber = 0; // This allows the room to be given stat information every X minutes var endGameVariable = false; // This variable with the one below helps distinguish the cases where games are stopped because they have finished to the ones where games are stopped due to player movements or resetting teams var resettingTeams = false; var capLeft = false; //var FSHaxleagueinterval = 3;//para la liga var statInterval = 6; var discordInterval = 23;//en español var discordInterval2 = 29;//en ingles var streakInterval = 31; var streakInterval2 = 37; //var RECORDGLOBALDISC = 28; //var RECORDGLOBALDISC2 = 31; loadMap(aloneMap, 0, 0); /* OBJECTS */ function Goal(time, team, striker, assist) { this.time = time; this.team = team; this.striker = striker; this.assist = assist; } function Game(date, scores, goals) { this.date = date; this.scores = scores; this.goals = goals; } /* FUNCTIONS */ /* AUXILIARY FUNCTIONS */ function getRandomInt(max) { // returns a random number from 0 to max-1 return Math.floor(Math.random() * Math.floor(max)); } function getTime(scores) { // returns the current time of the game return "[" + Math.floor(Math.floor(scores.time/60)/10).toString() + Math.floor(Math.floor(scores.time/60)%10).toString() + ":" + Math.floor(Math.floor(scores.time - (Math.floor(scores.time/60) * 60))/10).toString() + Math.floor(Math.floor(scores.time - (Math.floor(scores.time/60) * 60))%10).toString() + "]" } function pointDistance(p1, p2) { var d1 = p1.x - p2.x; var d2 = p1.y - p2.y; return Math.sqrt(d1 * d1 + d2 * d2); } function currentStreakFun(player) { // !currentStreak if (streakpuntua > 0){ room.sendAnnouncement("? La racha es de: " + streakpuntua + ", y los jugadores que lo han hecho son: " + redPlayers + " ?", player.id, 0xf7d600, 'normal', 0); } else { room.sendAnnouncement("No se han establecido rachas todavía. Jugar algunos juegos primero.", player.id, 0xf7d600, 'normal', 0); } return false; } function streakRecordFun(player) { // !recordStreak if(streakmanualRecord >= streakRecord){ if(streakRecord >= 0){ room.sendAnnouncement("? El record de la sala es de: " + streakmanualRecord + ". Los jugadores son: " + streakRecordPlayersmanual + " ?", player.id, 0x00FF00, 'normal', 0); } } else if(streakmanualRecord < streakRecord){ if(streakRecord >= 0){ room.sendAnnouncement("? El record de la sala es de: " + streakRecord + ". Los jugadores son: " + streakRecordPlayers + " ?", player.id, 0x00FF00, 'normal', 0); } } else if(streakRecord == 0 && streakmanualRecord == 0){ room.sendAnnouncement("No se han establecido records todavía. Jugar algunos juegos primero.", player.id, 0x00FF00, 'normal', 0); } else{ room.sendAnnouncement("No se han establecido records todavía. Jugar algunos juegos primero.", player.id, 0x00FF00, 'normal', 0); } return false; } /* BUTTONS */ function topBtn() { if (teamS.length == 0) { return; } else { if (teamR.length == teamB.length) { if (teamS.length > 1) { room.setPlayerTeam(teamS[0].id, Team.RED); room.setPlayerTeam(teamS[1].id, Team.BLUE); } return; } else if (teamR.length < teamB.length) { room.setPlayerTeam(teamS[0].id, Team.RED); } else { room.setPlayerTeam(teamS[0].id, Team.BLUE); } } } function randomBtn() { if (teamS.length == 0) { return; } else { if (teamR.length == teamB.length) { if (teamS.length > 1) { var r = getRandomInt(teamS.length); room.setPlayerTeam(teamS[r].id, Team.RED); teamS = teamS.filter((spec) => spec.id != teamS[r].id); room.setPlayerTeam(teamS[getRandomInt(teamS.length)].id, Team.BLUE); } return; } else if (teamR.length < teamB.length) { room.setPlayerTeam(teamS[getRandomInt(teamS.length)].id, Team.RED); } else { room.setPlayerTeam(teamS[getRandomInt(teamS.length)].id, Team.BLUE); } } } function blueToSpecBtn() { resettingTeams = true; setTimeout(() => { resettingTeams = false; }, 100); for (var i = 0; i < teamB.length; i++) { room.setPlayerTeam(teamB[teamB.length - 1 - i].id, Team.SPECTATORS); } } function redToSpecBtn() { resettingTeams = true; setTimeout(() => { resettingTeams = false; }, 100); for (var i = 0; i < teamR.length; i++) { room.setPlayerTeam(teamR[teamR.length - 1 - i].id, Team.SPECTATORS); } } function resetBtn() { resettingTeams = true; setTimeout(() => { resettingTeams = false; }, 100); if (teamR.length <= teamB.length) { for (var i = 0; i < teamR.length; i++) { room.setPlayerTeam(teamB[teamB.length - 1 - i].id, Team.SPECTATORS); room.setPlayerTeam(teamR[teamR.length - 1 - i].id, Team.SPECTATORS); } for (var i = teamR.length; i < teamB.length; i++) { room.setPlayerTeam(teamB[teamB.length - 1 - i].id, Team.SPECTATORS); } } else { for (var i = 0; i < teamB.length; i++) { room.setPlayerTeam(teamB[teamB.length - 1 - i].id, Team.SPECTATORS); room.setPlayerTeam(teamR[teamR.length - 1 - i].id, Team.SPECTATORS); } for (var i = teamB.length; i < teamR.length; i++) { room.setPlayerTeam(teamR[teamR.length - 1 - i].id, Team.SPECTATORS); } } } function blueToRedBtn() { resettingTeams = true; setTimeout(() => { resettingTeams = false; }, 100); for (var i = 0; i < teamB.length; i++) { room.setPlayerTeam(teamB[i].id, Team.RED); } } /* GAME FUNCTIONS */ function checkTime() { const scores = room.getScores(); game.scores = scores; if (Math.abs(scores.time - scores.timeLimit) <= 0.01 && scores.timeLimit != 0) { if (scores.red != scores.blue) { if (checkTimeVariable == false) { checkTimeVariable = true; setTimeout(() => { checkTimeVariable = false; }, 3000); scores.red > scores.blue ? endGame(Team.RED) : endGame(Team.BLUE); setTimeout(() => { room.stopGame(); }, 2000); } return; } goldenGoal = true; room.sendChat("⚽ Gol gana !"); } if (Math.abs(drawTimeLimit * 60 - scores.time - 60) <= 0.01 && players.length > 2) { if (checkTimeVariable == false) { checkTimeVariable = true; setTimeout(() => { checkTimeVariable = false; }, 10); room.sendChat("⌛ Quedan 60 segundos para que termine el partido !"); } } if (Math.abs(scores.time - drawTimeLimit * 60) <= 0.01 && players.length > 2) { if (checkTimeVariable == false) { checkTimeVariable = true; setTimeout(() => { checkTimeVariable = false; }, 10); endGame(Team.SPECTATORS); room.stopGame(); goldenGoal = false; } } } function endGame(winner) { // handles the end of a game : no stopGame function inside players.length >= 2 * maxTeamSize - 1 ? activateChooseMode() : null; const scores = room.getScores(); game.scores = scores; Rposs = Rposs/(Rposs+Bposs); Bposs = 1 - Rposs; lastWinner = winner; endGameVariable = true; redTeamArray = []; blueTeamArray = []; redPlayers = ""; let streakPlayers = room.getPlayerList(); for (i = 0; i < streakPlayers.length; i++) { if (streakPlayers[i].team == 1) { //Establecer array de solo jugadores del equipo rojo redTeamArray.push(streakPlayers[i].name); } else if (streakPlayers[i].team == 2) { //Establecer array de solo jugadores del equipo azul blueTeamArray.push(streakPlayers[i].name); } } /* if (redTeamArray.length === 1) { //equipo rojo redPlayers = redTeamArray[0]; } else if (redTeamArray.length === 2) { redPlayers = redTeamArray.join(' y '); } else if (redTeamArray.length > 2) { redPlayers = redTeamArray.slice(0, -1).join(', ') + ' y ' + redTeamArray.slice(-1); } if (blueTeamArray.length === 1) { //equipo azul redPlayers = blueTeamArray[0]; } else if (blueTeamArray.length === 2) { redPlayers = blueTeamArray.join(' y '); } else if (blueTeamArray.length > 2) { redPlayers = blueTeamArray.slice(0, -1).join(', ') + ' y ' + blueTeamArray.slice(-1); }*/ if (winner == Team.RED) { if (scores.red == scores.blue){ scores.red += 1; streak++; if(players.length >= 2 * maxTeamSize){ redPlayers = redTeamArray.slice(0, -1).join(', ') + ' y ' + redTeamArray.slice(-1); streakpuntua++; room.sendChat("? El Red Team ganó " + scores.red + "-" + scores.blue + " ! Victorias consecutivas : " + streakpuntua + " ?"); }else if(players.length < 2 * maxTeamSize){ streakpuntua = 0; room.sendChat("? El Red Team ganó " + scores.red + "-" + scores.blue + " ! Victorias consecutivas : 1" + " ?"); } }else{ streak++; if(players.length >= 2 * maxTeamSize){ redPlayers = redTeamArray.slice(0, -1).join(', ') + ' y ' + redTeamArray.slice(-1); streakpuntua++; room.sendChat("? El Red Team ganó " + scores.red + "-" + scores.blue + " ! Victorias consecutivas : " + streakpuntua + " ?"); //room.sendChat("? El Red Team ganó " + scores.red + "-" + scores.blue + " ! Victorias consecutivas : " + streakpuntua + " ?"); } else if(players.length < 2 * maxTeamSize){ streakpuntua = 0; room.sendChat("? El Red Team ganó " + scores.red + "-" + scores.blue + " ! Victorias consecutivas : 1" + " ?"); } } } else if (winner == Team.BLUE) { if (scores.red == scores.blue){ scores.blue += 1; streak = 1; if(players.length >= 2 * maxTeamSize){ redPlayers = blueTeamArray.slice(0, -1).join(', ') + ' y ' + blueTeamArray.slice(-1); streakpuntua = 1; room.sendChat("? El Blue Team ganó " + scores.blue + "-" + scores.red + " ! Victorias consecutivas : " + streakpuntua + " ?"); }else if(players.length < 2 * maxTeamSize){ streakpuntua = 0; room.sendChat("? El Blue Team ganó " + scores.blue + "-" + scores.red + " ! Victorias consecutivas : 1" + " ?"); } }else{ streak = 1; if(players.length >= 2 * maxTeamSize){ redPlayers = blueTeamArray.slice(0, -1).join(', ') + ' y ' + blueTeamArray.slice(-1); streakpuntua = 1; room.sendChat("? El Blue Team ganó " + scores.blue + "-" + scores.red + " ! Victorias consecutivas : " + streakpuntua + " ?"); //room.sendChat("? El Red Team ganó " + scores.red + "-" + scores.blue + " ! Victorias consecutivas : " + streakpuntua + " ?"); } else if(players.length < 2 * maxTeamSize){ streakpuntua = 0; room.sendChat("? El Blue Team ganó " + scores.blue + "-" + scores.red + " ! Victorias consecutivas : 1" + " ?"); } } } else { streak = 0; room.sendChat("? Límite de empate, terminado! ?"); } room.sendChat("⭐ Posesión del balón : ? " + (Rposs*100).toPrecision(3).toString() + "% : " + (Bposs*100).toPrecision(3).toString() + "% ?"); scores.red == 0 ? (scores.blue == 0 ? room.sendChat("? " + GKList[0].name + " y " + GKList[1].name + " mantuvieron la portería invicta ! ") : room.sendChat("? " + GKList[1].name + " mantuvo la portería invicta ! ")) : scores.blue == 0 ? room.sendChat("? " + GKList[0].name + " mantuvo la portería invicta ! ") : null; updateStats(); /*players.forEach(p => { playersAllowedLVL10.forEach(pa => { if(pa.name !== p.name){ setAFK(p, false); getAFK(p) ? updateRoleOnPlayerOut() : updateRoleOnPlayerIn(); room.sendAnnouncement("TODOS LOS JUGADORES QUE ESTAN AFK ESTAN ACTIVOS EXCEPTO NIVEL 10", null, 0x3b83bd, 'normal', 0); } }) })*/ if(streakpuntua > streakRecord){ if(players.length >= 2 * maxTeamSize){ streakRecord = streakpuntua; streakRecordPlayers = redPlayers; /*if(streakmanualRecord < streakpuntua){ room.sendAnnouncement("? Los jugadores: " + streakRecordPlayers + ", establecen un nuevo record: " + streakRecord + " ?", null, 0xf7d600, 'normal', 0); console.log("Record: " +streakRecordPlayers + " con " + streakRecord); }*/ if(streakpuntua > streakmanualRecord && streakRecord > streakmanualRecord){ streakmanualRecord = streakRecord; streakRecordPlayersmanual = redPlayers; room.sendAnnouncement("? Los jugadores: " + streakRecordPlayersmanual + ", establecen un nuevo record: " + streakmanualRecord + " ?", null, 0xf7d600, 'normal', 0); console.log("Record: " +streakRecordPlayers + " con " + streakRecord); } } } if(players.length == 2 * maxTeamSize){ streakpuntua = 0; } } function SaludandoGenteFun(player, message){ //message = message.toLowerCase(); //message = message.replace(/\s/g, ''); //message = message.replace(/\./g,' '); //var playerName = player.name.replace(/ /g,"_"); //var randomizador = Math.floor(Math.random() * (24-0)) + 0; // el max no se cuenta ya que los arrays empiezan por 0 //if(message.includes("hola") ||message.includes("HOLA") ||message.includes("hey") ||message.includes("hola bot") ||message.includes("hola BOT")){ /*if(message === "hola bot" || message === "hola" || message === "HOLA" || message === "HOLA BOT" ){ switch(randomizador){ case 0: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HOLA, @" + player.name + ", OJALA ESTES BIEN MUERTO",null, 0x00FFB3, "normal", 0); }, 1000) break; case 1: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS TETAS...DIGO TARDES PERDÓN, @" + player.name + ", LA CONSTUMBRE DE ESTAR CON TU MADRE" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 2: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, @" + player.name + ", ESPERO QUE NO LA CAGUES COMO EL INUTIL DE ROQUE",null, 0x00FFB3, "normal", 0); }, 1000) break; case 3: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HEY, @" + player.name + ", ESPERO QUE NO VENGAS DROGADO, SINO ME CAGARE EN TU PUTA MADRE",null, 0x00FFB3, "normal", 0); }, 1000) break; case 4: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HOLA, @" + player.name + ", ¿NO SERAS EL SUBNORMAL DE ROQUE?" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 5: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HOLA, @" + player.name + ", ¿NO SERAS EL SUBNORMAL DE PERRO?" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 6: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HOLA, @" + player.name + ", OJALA TE ENTRE EL COVID POR EL CULO Y NO JUEGUES AQUI MAS EN TU PUTA VIDA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 7: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + ", NO MERECES NI SALUDO, ESCORIA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 8: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "NO ME SALUDES, @" + player.name + ", QUE ESTOY OCUPADO FOLLANDO A TU MADRE" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 9: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "YA ME SALUDA EL TONTO DE @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 10: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, OJALA @" + player.name + " MUERTO" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 11: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, OJALA @" + player.name + " SIN DESCENDENCIA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 12: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS TARDES, SEÑORITA @" + player.name + ", ¿QUIERES QUE TE FOLLE O QUE?" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 13: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "COMO ME VUELVAS A SALUDAR, @" + player.name + ", VOY A TU CASA Y TE FOLLO HIJO DE PUTA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 14: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, @" + player.name + ", TE ESTAN LLAMANDO DE LA SALA DE ROQUE PARA TE CAGUES EN SU PUTA MADRE" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 15: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "YA LLEGO @" + player.name + " EL QUE FALTABA PARA TENER A TODOS LOS TONTOS EN UNA MISMA SALA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 16: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "NO TE MERECES NI UN SALUDO DE LO FEO QUE ERES @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 17: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HOLA, @" + player.name + ", DICE PERRO QUE TE APUNTES A SU LIGA O SE MEA EN TI" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 18: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + ", COMO ME VUELVAS A SALUDAR, VAS A JUGAR A LA SALA DE SPACEBOUNCE CON MATAOS" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 19: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + " SE CREE QUE, PORQUE SEA EL ESCLAVO DE GIMENEZ, TENGA QUE SALUDAR A ESTE TROZO DE MIERDA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 20: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : SOY BOT, PERO NO GILIPOLLAS COMO PARA SALUDAR A BASURA COMO @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 21: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : BUENAS... HE DICHO QUE BUENAS @" + player.name + ", HIJO DE PUTA JAJA S1" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 22: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : HOLA BUENAS... @" + player.name + ", HE DICHO HOLA BUENAS SUBNORMAL " ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 23: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : HOLA, @" + player.name + ", IGUAL QUE ENTRAS PUEDES SALIR PUTO MANCO" ,null, 0x00FFB3, "normal", 0); }, 1000) break; default: setTimeout(() => {room.sendAnnouncement("? ESP FUTSAL BOT ? : " + " @" + player.name + ", BIENVENIDO", 0x00FFB3, "normal", 0);}, 1000) } } */ } function quickRestart() { room.stopGame(); setTimeout(() => { room.startGame(); }, 1000); } function resumeGame() { setTimeout(() => { room.startGame(); }, 1000); setTimeout(() => { room.pauseGame(false); }, 1000); } function activateChooseMode() { inChooseMode = true; slowMode = 2; room.sendChat("Modo lento activado (2 segundos)!"); } function deactivateChooseMode() { inChooseMode = false; clearTimeout(timeOutCap); if (slowMode != 0) { slowMode = 0; room.sendChat("Modo lento terminado."); } redCaptainChoice = ""; blueCaptainChoice = ""; } function loadMap(map, scoreLim, timeLim) { if (map == aloneMap) { room.setCustomStadium(aloneMap); } else if (map == classicMap) { (classicMap != '') ? room.setCustomStadium(classicMap) : room.setDefaultStadium("Classic"); } else if (map == bigMap) { (bigMap != '.') ? room.setCustomStadium(bigMap) : room.setDefaultStadium("Big"); } else { room.setCustomStadium(map); } room.setScoreLimit(scoreLim); room.setTimeLimit(timeLim); } /* PLAYER FUNCTIONS */ function updateTeams() { // update the players' list and all the teams' list players = room.getPlayerList().filter((player) => player.id != 0 && !getAFK(player)); teamR = players.filter(p => p.team === Team.RED); teamB = players.filter(p => p.team === Team.BLUE); teamS = players.filter(p => p.team === Team.SPECTATORS); } function handleInactivity() { // handles inactivity : players will be kicked after afkLimit if (countAFK && (teamR.length + teamB.length) > 1) { for (var i = 0; i < teamR.length ; i++) { setActivity(teamR[i], getActivity(teamR[i]) + 1); } for (var i = 0; i < teamB.length ; i++) { setActivity(teamB[i], getActivity(teamB[i]) + 1); } } for (var i = 0; i < extendedP.length ; i++) { if (extendedP[i][eP.ACT] == 60 * (2/3 * afkLimit)) { room.sendChat("[PV] ⛔ @" + room.getPlayer(extendedP[i][eP.ID]).name + ", si no te mueves o envías un mensaje dentro de los siguientes " + Math.floor(afkLimit / 3) + " segundos, seras kickeado!", extendedP[i][eP.ID]); } if (extendedP[i][eP.ACT] >= 60 * afkLimit) { extendedP[i][eP.ACT] = 0; if (room.getScores().time <= afkLimit - 0.5) { setTimeout(() => { !inChooseMode ? quickRestart() : room.stopGame(); }, 10); } room.kickPlayer(extendedP[i][eP.ID], "AFK", false); } } } function getAuth(player) { return extendedP.filter((a) => a[0] == player.id) != null ? extendedP.filter((a) => a[0] == player.id)[0][eP.AUTH] : null; } function getAFK(player) { return extendedP.filter((a) => a[0] == player.id) != null ? extendedP.filter((a) => a[0] == player.id)[0][eP.AFK] : null; } /*function setAFK(player, value) { let isLevel10 = false; playersAllowedLVL10.forEach(p => { if (p.name === player.name) { isLevel10 = true; } }); /*if (afkcont >= 3 && value && !isLevel10) { room.sendAnnouncement("? El limite de jugadores afk por sala es de 3 ?",player.id, 0x00FF00, 'normal', 0); room.sendAnnouncement("? The AFK limit per room is 3 ?",player.id, 0x00FF00, 'normal', 0); } else { if (players.length != 1 && player.team != Team.SPECTATORS) { if (player.team == Team.RED && streak > 0 && room.getScores() == null) { room.setPlayerTeam(player.id, Team.SPECTATORS); } /*else if (player.team == Team.BLUE && streak > 0 && room.getScores() == null) { room.setPlayerTeam(player.id, Team.SPECTATORS); }*/ /* else { room.sendChat("No puedes ser AFK mientras estás en un equipo !", player.id); room.sendChat("You cant be AFK when you are in one team !", player.id); return false; } } else if (players.length == 1 && !getAFK(player)) { room.setPlayerTeam(player.id, Team.SPECTATORS); } //value ? afkcont++ : afkcont--; //extendedP.filter((a) => a[0] == player.id).forEach((player) => player[eP.AFK] = value); room.sendChat(player.name + (getAFK(player) ? " está AFK !" : " ya no está AFK !")); getAFK(player) ? updateRoleOnPlayerOut() : updateRoleOnPlayerIn(); //} }*/ function setAFK(player, value) { extendedP.filter((a) => a[0] == player.id).forEach((player) => player[eP.AFK] = value); console.log("Nombre: " + player.name + ", AFK: " + value + ", Fecha: " + new Date().toLocaleTimeString()); let hora = new Date(); let minutos = hora.getMinutes(); if(value == true){ playersAllowed1.forEach(p => { if (player.name === p.name) { p.horaj = minutos; } }) }else{ playersAllowed1.forEach(p => { if (player.name === p.name) { p.horaj = ""; } }) } } function getActivity(player) { return extendedP.filter((a) => a[0] == player.id) != null ? extendedP.filter((a) => a[0] == player.id)[0][eP.ACT] : null; } function setActivity(player, value) { extendedP.filter((a) => a[0] == player.id).forEach((player) => player[eP.ACT] = value); } function getGK(player) { return extendedP.filter((a) => a[0] == player.id) != null ? extendedP.filter((a) => a[0] == player.id)[0][eP.GK] : null; } function setGK(player, value) { extendedP.filter((a) => a[0] == player.id).forEach((player) => player[eP.GK] = value); } function getMute(player) { return extendedP.filter((a) => a[0] == player.id) != null ? extendedP.filter((a) => a[0] == player.id)[0][eP.MUTE] : null; } function setMute(player, value) { extendedP.filter((a) => a[0] == player.id).forEach((player) => player[eP.MUTE] = value); } /* BALANCE & CHOOSE FUNCTIONS */ function updateRoleOnPlayerIn() { updateTeams(); if (inChooseMode) { if (players.length == 6) { loadMap(bigMap, scoreLimitBig, timeLimitBig); } if (teamS.length > 0) { getSpecList(teamR.length <= teamB.length ? teamR[0] : teamB[0]); } } balanceTeams(); } function updateRoleOnPlayerOut() { updateTeams(); if (room.getScores() != null) { var scores = room.getScores(); //if (players.length >= 2 * maxTeamSize && scores.time >= (5/6) * game.scores.timeLimit && teamR.length != teamB.length) { /*if (players.length >= 2 * maxTeamSize && scores.time >= (8/12) * game.scores.timeLimit && teamR.length != teamB.length) { if (teamR.length < teamB.length) { //if (scores.blue - scores.red == 2) { if (scores.blue - scores.red == 1) { endGame(Team.BLUE); room.sendChat("? Abandono detectado. Juego terminado ?"); setTimeout(() => { room.stopGame(); }, 100); return; } } else { //if (scores.red - scores.blue == 2) { if (scores.red - scores.blue == 1) { endGame(Team.RED); room.sendChat("? Abandono detectado. Juego terminado ?"); setTimeout(() => { room.stopGame(); }, 100); return; } } }*/ if (players.length >= 2 * maxTeamSize && scores.time >= (0/12) * game.scores.timeLimit && teamR.length != teamB.length) { if (teamR.length < teamB.length) { //if (scores.blue - scores.red == 2) { if (scores.blue - scores.red == 1) { endGame(Team.BLUE); room.sendChat("? Abandono detectado. Juego terminado ?"); setTimeout(() => { room.stopGame(); }, 100); return; } } else { //if (scores.red - scores.blue == 2) { if (scores.red - scores.blue == 1) { endGame(Team.RED); room.sendChat("? Abandono detectado. Juego terminado ?"); setTimeout(() => { room.stopGame(); }, 100); return; } } } if (players.length >= 2 * maxTeamSize && scores.time >= game.scores.timeLimit && teamR.length != teamB.length){ if (teamR.length < teamB.length) { endGame(Team.BLUE); room.sendChat("? Abandono detectado. Juego terminado ?"); setTimeout(() => { room.stopGame(); }, 100); return; } else { if(teamR.length > teamB.length){ endGame(Team.RED); room.sendChat("? Abandono detectado. Juego terminado ?"); setTimeout(() => { room.stopGame(); }, 100); return; } } } } if (inChooseMode) { if (players.length == 5) { loadMap(classicMap, scoreLimitClassic, timeLimitClassic); } //---------------------------------Estaba anteriormente--------------------------------------- /*if (teamR.length == 0 || teamB.length == 0) { //teamR.length == 0 ? room.setPlayerTeam(teamS[0].id, Team.RED) : room.setPlayerTeam(teamS[0].id, Team.BLUE); teamR.length == 0 ? room.setPlayerTeam(teamS[0]?.id, Team.RED) : room.setPlayerTeam(teamS[0]?.id, Team.BLUE); return; }*/ //--------------------------------Estaba anteriormente--------------------------------------- if (teamR.length == 0 || teamB.length == 0) { if (teamS.length > 0) { teamR.length == 0 ? room.setPlayerTeam(teamS[0].id, Team.RED) : room.setPlayerTeam(teamS[0].id, Team.BLUE); } return; } if (Math.abs(teamR.length - teamB.length) == teamS.length) { room.sendChat("No hay alternativa, déjame manejar esta situación ..."); deactivateChooseMode(); resumeGame(); var b = teamS.length; if (teamR.length > teamB.length) { for (var i = 0 ; i < b ; i++) { setTimeout(() => { room.setPlayerTeam(teamS[0].id, Team.BLUE); }, 5*i); } } else { for (var i = 0 ; i < b ; i++) { setTimeout(() => { room.setPlayerTeam(teamS[0].id, Team.RED); }, 5*i); } } return; } if (streak == 0 && room.getScores() == null) { if (Math.abs(teamR.length - teamB.length) == 2) { // if someone left a team has 2 more players than the other one, put the last chosen guy back in his place so it's fair room.sendChat("? Equilibrando equipos... ?"); teamR.length > teamB.length ? room.setPlayerTeam(teamR[teamR.length - 1].id, Team.SPECTATORS) : room.setPlayerTeam(teamB[teamB.length - 1].id, Team.SPECTATORS); } } if (teamR.length == teamB.length && teamS.length < 2) { deactivateChooseMode(); resumeGame(); return; } capLeft ? choosePlayer() : getSpecList(teamR.length <= teamB.length ? teamR[0] : teamB[0]); } balanceTeams(); } function balanceTeams() { if (!inChooseMode) { if (players.length == 1 && teamR.length == 0) { quickRestart(); loadMap(aloneMap, 0, 0); room.setPlayerTeam(players[0].id, Team.RED); } else if (Math.abs(teamR.length - teamB.length) == teamS.length && teamS.length > 0) { const n = Math.abs(teamR.length - teamB.length); if (players.length == 2) { quickRestart(); loadMap(classicMap, scoreLimitClassic, timeLimitClassic); } if (teamR.length > teamB.length) { for (var i = 0 ; i < n ; i++) { room.setPlayerTeam(teamS[i].id, Team.BLUE); } } else { for (var i = 0 ; i < n ; i++) { room.setPlayerTeam(teamS[i].id, Team.RED); } } } else if (Math.abs(teamR.length - teamB.length) > teamS.length) { const n = Math.abs(teamR.length - teamB.length); if (players.length == 1) { quickRestart(); loadMap(aloneMap, 0, 0); room.setPlayerTeam(players[0].id, Team.RED); return; } else if (players.length == 5) { quickRestart(); loadMap(classicMap, scoreLimitClassic, timeLimitClassic); } if (players.length == maxTeamSize * 2 - 1) { allReds = []; allBlues = []; } if (teamR.length > teamB.length) { for (var i = 0 ; i < n ; i++) { room.setPlayerTeam(teamR[teamR.length - 1 - i].id, Team.SPECTATORS); } } else { for (var i = 0 ; i < n ; i++) { room.setPlayerTeam(teamB[teamB.length - 1 - i].id, Team.SPECTATORS); } } } else if (Math.abs(teamR.length - teamB.length) < teamS.length && teamR.length != teamB.length) { room.pauseGame(true); activateChooseMode(); choosePlayer(); } else if (teamS.length >= 2 && teamR.length == teamB.length && teamR.length < maxTeamSize) { if (teamR.length == 2) { quickRestart(); loadMap(bigMap, scoreLimitBig, timeLimitBig); } topBtn(); } } } function choosePlayer() { clearTimeout(timeOutCap); if (teamR.length <= teamB.length && teamR.length != 0) { room.sendChat("[PV] Para elegir un jugador, ingrese su número en la lista dada o use 'top', 'random' o 'bottom'.", teamR[0].id); timeOutCap = setTimeout(function (player) { room.sendChat("[PV] Date prisa @" + player.name + ", solo quedan " + Number.parseInt(chooseTime / 2) + " segundos para elegir !", player.id); timeOutCap = setTimeout(function (player) { room.kickPlayer(player.id, "¡No elegiste a tiempo!", false); }, chooseTime * 500, teamR[0]); }, chooseTime * 1000, teamR[0]); } else if (teamB.length < teamR.length && teamB.length != 0) { room.sendChat("[PV] Para elegir un jugador, ingrese su número en la lista dada o use 'top', 'random' o 'bottom'.", teamB[0].id); timeOutCap = setTimeout(function (player) { room.sendChat("[PV] Date prisa @" + player.name + ", solo quedan " + Number.parseInt(chooseTime / 2) + " segundos para elegir !", player.id); timeOutCap = setTimeout(function (player) { room.kickPlayer(player.id, "¡No elegiste a tiempo!", false); }, chooseTime * 500, teamB[0]); }, chooseTime * 1000, teamB[0]); } if (teamR.length != 0 && teamB.length != 0) getSpecList(teamR.length <= teamB.length ? teamR[0] : teamB[0]); } function getSpecList(player) { if (teamS.length > 0) { var cstm = "[PV] Jugadores : "; for (var i = 0 ; i < teamS.length ; i++) { if (140 - cstm.length < (teamS[i].name + "[" + (i+1) + "], ").length) { room.sendChat(cstm, player.id); cstm = "... "; } cstm += teamS[i].name + "[" + (i+1) + "], "; } cstm = cstm.substring(0,cstm.length - 2); cstm += "."; room.sendChat(cstm, player.id); } } function getSpecList1(team, player = null) { var cstm = "[PV] Jugadores : "; for (i = 0; i < teamS.length; i++) { if (140 - cstm.length < (teamS[i].name + "[" + (i + 1) + "], ").length) { if (team == Team.RED && teamR.length > 0) room.sendChat(cstm, teamROrder[0].id); else if (team == Team.BLUE && teamB.length > 0) room.sendChat(cstm, teamBOrder[0].id); else if (team == Team.SPECTATORS && player != null) room.sendChat(cstm, player.id); cstm = "... "; } cstm += teamS[i].name + "[" + (i + 1) + "], "; } if (cstm == "[PV] Jugadores : ") { if (team == Team.RED && teamR.length > 0) room.sendChat(cstm, teamROrder[0].id); else if (team == Team.BLUE && teamB.length > 0) room.sendChat(cstm, teamBOrder[0].id); else if (team == Team.SPECTATORS && player != null) room.sendChat(cstm, player.id); return; } cstm = cstm.substring(0, cstm.length - 2) + "."; if (team == Team.RED && teamR.length > 0) room.sendChat(cstm, teamROrder[0].id); else if (team == Team.BLUE && teamB.length > 0) room.sendChat(cstm, teamBOrder[0].id); else if (team == Team.SPECTATORS && player != null) room.sendChat(cstm, player.id); } /* STATS FUNCTIONS */ function getLastTouchOfTheBall() { const ballPosition = room.getBallPosition(); updateTeams(); for (var i = 0; i < players.length; i++) { if (players[i].position != null) { var distanceToBall = pointDistance(players[i].position, ballPosition); if (distanceToBall < triggerDistance) { !activePlay ? activePlay = true : null; if (lastTeamTouched == players[i].team && lastPlayersTouched[0] != null && lastPlayersTouched[0].id != players[i].id) { lastPlayersTouched[1] = lastPlayersTouched[0]; lastPlayersTouched[0] = players[i]; } lastTeamTouched = players[i].team; } } } } function getStats() { // gives possession, ball speed and GK of each team if (activePlay) { updateTeams(); lastTeamTouched == Team.RED ? Rposs++ : Bposs++; var ballPosition = room.getBallPosition(); point[1] = point[0]; point[0] = ballPosition; ballSpeed = (pointDistance(point[0], point[1]) * 60 * 60 * 60)/15000; var k = [-1, Infinity]; for (var i = 0; i < teamR.length; i++) { if (teamR[i].position.x < k[1]) { k[0] = teamR[i]; k[1] = teamR[i].position.x; } } k[0] != -1 ? setGK(k[0], getGK(k[0]) + 1) : null; k = [-1, -Infinity]; for (var i = 0; i < teamB.length; i++) { if (teamB[i].position.x > k[1]) { k[0] = teamB[i]; k[1] = teamB[i].position.x; } } k[0] != -1 ? setGK(k[0], getGK(k[0]) + 1) : null; findGK(); } } function updateStats() { //if (players.length >= 2 * maxTeamSize && (game.scores.time >= (5 / 6) * game.scores.timeLimit || game.scores.red == game.scores.scoreLimit || game.scores.blue == game.scores.scoreLimit) && allReds.length >= maxTeamSize && allBlues.length >= maxTeamSize) { if (players.length >= 2 * maxTeamSize && (game.scores.time >= (1 / 12) * game.scores.timeLimit || game.scores.red == game.scores.scoreLimit || game.scores.blue == game.scores.scoreLimit) && allReds.length >= maxTeamSize && allBlues.length >= maxTeamSize) { var stats; for (var i = 0; i < allReds.length; i++) { localStorage.getItem(getAuth(allReds[i])) ? stats = JSON.parse(localStorage.getItem(getAuth(allReds[i]))) : stats = [0, 0, 0, 0, "0.00", 0, 0, 0, 0, "0.00", "player", allReds[i].name]; stats[Ss.GA]++; lastWinner == Team.RED ? stats[Ss.WI]++ : lastWinner == Team.BLUE ? stats[Ss.LS]++ : stats[Ss.DR]++; stats[Ss.WR] = (100 * stats[Ss.WI] / stats[Ss.GA]).toPrecision(3); localStorage.setItem(getAuth(allReds[i]), JSON.stringify(stats)); } for (var i = 0; i < allBlues.length; i++) { localStorage.getItem(getAuth(allBlues[i])) ? stats = JSON.parse(localStorage.getItem(getAuth(allBlues[i]))) : stats = [0, 0, 0, 0, "0.00", 0, 0, 0, 0, "0.00", "player", allBlues[i].name]; stats[Ss.GA]++; lastWinner == Team.BLUE ? stats[Ss.WI]++ : lastWinner == Team.RED ? stats[Ss.LS]++ : stats[Ss.DR]++; stats[Ss.WR] = (100 * stats[Ss.WI] / stats[Ss.GA]).toPrecision(3); localStorage.setItem(getAuth(allBlues[i]), JSON.stringify(stats)); } for (var i = 0; i < game.goals.length; i++) { if (game.goals[i].striker != null) { if ((allBlues.concat(allReds)).findIndex((player) => player.id == game.goals[i].striker.id) != -1) { stats = JSON.parse(localStorage.getItem(getAuth(game.goals[i].striker))); stats[Ss.GL]++; localStorage.setItem(getAuth(game.goals[i].striker), JSON.stringify(stats)); } } if (game.goals[i].assist != null) { if ((allBlues.concat(allReds)).findIndex((player) => player.name == game.goals[i].assist.name) != -1) { stats = JSON.parse(localStorage.getItem(getAuth(game.goals[i].assist))); stats[Ss.AS]++; localStorage.setItem(getAuth(game.goals[i].assist), JSON.stringify(stats)); } } } if (allReds.findIndex((player) => player.id == GKList[0].id) != -1) { stats = JSON.parse(localStorage.getItem(getAuth(GKList[0]))); stats[Ss.GK]++; game.scores.blue == 0 ? stats[Ss.CS]++ : null; stats[Ss.CP] = (100 * stats[Ss.CS] / stats[Ss.GK]).toPrecision(3); localStorage.setItem(getAuth(GKList[0]), JSON.stringify(stats)); } if (allBlues.findIndex((player) => player.id == GKList[1].id) != -1) { stats = JSON.parse(localStorage.getItem(getAuth(GKList[1]))); stats[Ss.GK]++; game.scores.red == 0 ? stats[Ss.CS]++ : null; stats[Ss.CP] = (100 * stats[Ss.CS] / stats[Ss.GK]).toPrecision(3); localStorage.setItem(getAuth(GKList[1]), JSON.stringify(stats)); } } } function findGK() { var tab = [[-1,""], [-1,""]]; for (var i = 0; i < extendedP.length ; i++) { if (room.getPlayer(extendedP[i][eP.ID]) != null && room.getPlayer(extendedP[i][eP.ID]).team == Team.RED) { if (tab[0][0] < extendedP[i][eP.GK]) { tab[0][0] = extendedP[i][eP.GK]; tab[0][1] = room.getPlayer(extendedP[i][eP.ID]); } } else if (room.getPlayer(extendedP[i][eP.ID]) != null && room.getPlayer(extendedP[i][eP.ID]).team == Team.BLUE) { if (tab[1][0] < extendedP[i][eP.GK]) { tab[1][0] = extendedP[i][eP.GK]; tab[1][1] = room.getPlayer(extendedP[i][eP.ID]); } } } GKList = [tab[0][1], tab[1][1]]; } setInterval(() => { var tableau = []; if (statNumber % 5 == 0) { Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.GA])]); } }); if (tableau.length < 5) { return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("Partidos Jugados> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1]); } if (statNumber % 5 == 1) { Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.WI])]); } }); if (tableau.length < 5) { return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("Victorias> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1]); } if (statNumber % 5 == 2) { Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.GL])]); } }); if (tableau.length < 5) { return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("Goles> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1]); } if (statNumber % 5 == 3) { Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.AS])]); } }); if (tableau.length < 5) { return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("Asistencias> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1]); } if (statNumber % 5 == 4) { Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.CS])]); } }); if (tableau.length < 5) { return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("CS> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1]); } statNumber++; }, statInterval * 60 * 1000); /* EVENTS */ /* PLAYER MOVEMENT */ room.onPlayerJoin = function(player) { contjugadores++; var listajug = contjugadores + "/" + maxPlayers; console.log(listajug) //playerName = player.name.replace(/ /g,"_"); //var randomizador = Math.floor(Math.random() * (24-0)) + 0; // el max no se cuenta ya que los arrays empiezan por 0 var authIsAllowed = false; var nameIsAllowed = false; if (db.log.filter((p) => p.id == player.id).length == 0) { db.log.push({ id: player.id, lm: [] }); } //-----------------------------------------Para pubs------------------------------------------------------------------------------ var jugador = player.name; var todojunto = jugador.trim(); if(!(jugador == todojunto)){ room.kickPlayer(player.id, "Tu nickname no puede tener espacios a la izquierda y a la derecha", false); return; } bannedPlayersconn.forEach(p => { if (player.conn === p) { room.kickPlayer(player.id, "No tienes permiso para entrar a estas salas", true); return; } }) bannedPlayersauth.forEach(p => { if (player.auth === p) { room.kickPlayer(player.id, "No tienes permiso para entrar a estas salas", true); return; } }) bannedPlayersnombre.forEach(p => { if (player.name === p) { room.kickPlayer(player.id, "No tienes permiso para entrar a estas salas", true); return; } }) if (player.auth && extendedP) { extendedP.forEach(p => { if (player.name == p[7] && player.conn == p[2] && player.auth == p[1]) { room.kickPlayer(p[0], 'Relog', false); return; } }); } playersAllowed1.forEach(p => { if (player.name == p.name && p.verif == "true") { room.kickPlayer(player.id, "Estas entrando con el mismo nick que un usuario en la sala", true); return; } }) /*playersAllowed.forEach(p => { if (player.name == p.name) { nameIsAllowed = true; if (nameIsAllowed && player.auth == p.auth) { authIsAllowed = true; } } }) if (nameIsAllowed && !authIsAllowed) { room.kickPlayer(player.id, 'Estas fakeando a un jugador que esta registrado. Info: https://discord.gg/3MhhZPN', false); // kick return; } */ //--------------------------PARA PUBS ----------------------------------------------------------------------------------------------- //---------------------------PARA REGISTRADOS---------------------------------------------------------------------------------------- /*playersAllowed.forEach(p => { if (player.auth == p.auth) { authIsAllowed = true; if (authIsAllowed && player.name == p.name) { nameIsAllowed = true; } } })*/ /*if (!authIsAllowed) { room.kickPlayer(player.id, 'Tienes que registrarte, You have to register. Info: https://discord.gg/3MhhZPN', false); // kick return; } else { if (!nameIsAllowed && authIsAllowed) { room.kickPlayer(player.id, 'Este nickname no corresponde a tu id. Info: https://discord.gg/3MhhZPN', false); // kick return; } }*/ /*playersAllowed.forEach(p => { if (player.name == p.name) { nameIsAllowed = true; if (nameIsAllowed && player.auth == p.auth) { authIsAllowed = true; } } })*/ /*if (nameIsAllowed && !authIsAllowed) { room.kickPlayer(player.id, 'Estas fakeando a un jugador que esta registrado. Info: https://discord.gg/3MhhZPN', false); // kick return; }*/ //---------------------------PARA REGISTRADOS---------------------------------------------------------------------------------------- player.test = "asdf"; console.log(player) console.log(JSON.stringify(player)) //multicuenta con auth, bloqueado if (player.auth && extendedP) { extendedP.forEach(p => { if (player.auth === p[1]) { room.kickPlayer(p[0], 'Estas entrando con mas de un usuario', false); return; } }); } /*if (player.conn && extendedP) { let playersSameIp = 0; extendedP.forEach(p => { if (player.conn === p[2]) { playersSameIp++; console.log(playersSameIp); } }); if (playersSameIp >= 2) { room.kickPlayer(player.id, 'Estas entrando con multicuentas en mi sala', false); return; } }*/ /*if (player.conn && extendedP) { let playersSameIp = 0; extendedP.forEach(p => { if (player.conn === p[2]) { playersSameIp++; } }); if (playersSameIp > 2) { room.kickPlayer(p[0], 'Estas entrando con mas de un usuario', false); return; } }*/ /* bannedPlayersconn.forEach(p => { if (player.conn === p) { room.kickPlayer(player.id, "You aren't allowed to play on this room", true); return; } }) bannedPlayersauth.forEach(p => { if (player.auth === p) { room.kickPlayer(player.id, "You aren't allowed to play on this room", true); return; } }) bannedPlayersnombre.forEach(p => { if (player.name === p) { room.kickPlayer(player.id, "You aren't allowed to play on this room", true); return; } })*/ console.log('RETURN') console.log("Entro: " + player.name + " en la sala." + " Hora: " + new Date().toLocaleTimeString()) /*if (player.conn && extendedP) { extendedP.forEach(p => { if (player.conn === p[2]) { room.kickPlayer(p[0], 'Mismo usuario!!!', false); return; } }); }*/ /*bannedPlayers.forEach(p => { if (player.conn === p) { room.kickPlayer(player.id, "You aren't allowed to play on this room", true); return; } })*/ console.log(new Date().toLocaleTimeString()); extendedP.push([player.id, player.auth, player.conn, false, 0, 0, false, player.name]); playersHistorial.forEach(p => { if (p[0] !== player.name && (p[1] === player.auth || p[2] === player.conn)) { console.log('Multicuenta: ' + player.name + ' ha entrado con otro nick, antes era ' + p[0] + " - Hora: " + new Date().toLocaleTimeString()) } }); playersHistorial.push([player.name, player.auth, player.conn]); //const eP = { ID: 0, AUTH: 1, CONN: 2, AFK: 3, ACT: 4, GK: 5, MUTE: 6, REG: false }; //updateRoleOnPlayerIn(); updateRoleOnPlayerIn(); //playerName = player.name.replace(/ /g,"_"); //var SaludosRandomBot = ['Todos demos la bienvenida a X, aunque es muy gilipollas', ' ojalá la pases bien!', ', acabas de unirte al host.', ' te damos las bienvenida.', ', nos alegra mucho que nos elijas!', ' hola! llegó el más crack.', ' nos hacias falta en éste host.', ' hola!!!', ' gracias por unirte a nuestra comunidad.', ' te damos la bienvenida', ' ha llegado. Se acabó la fiesta.', ' te estábamos esperando', ' está aquí, tal y como predijo la profecía.', ' acaba de unirse. ¡Hagan como que están jugando!', ' acaba de aterrizar', ' se ha unido.', ' ha venido a carrear conos y a marcar muchos goles.', ' está aquí.', ' se ha unido al host! ¡Es superefectivo!', ' se ha unido. Ahora deberán jugar más que el 100%.', ' acaba de unirse... ¿O no?', ' MIRÁ QUIÉN LLEGÓ ¡Es un pájaro! ¡Es un avión! Ah no, no he dicho nada. Flashé', ' hola! quédate un rato y disfruta.', ' llegó el más grande.', ' ha ingresado. Eh muchachos, miren quién llegó.', ' Te estábamos esperando ( ͡° ͜ʖ ͡°)', ' se ha unido al host.', ' acaba de llegar.', ' apareció! cuidado que es salvaje.', ' Hola!! Alguien lo andaba buscando?', ' te estabamos esperando!']; //var GeneradorRandom = SaludosRandomBot[(Math.random() * SaludosRandomBot.length) | 0] room.sendChat("[PV] ? Bienvenido " + player.name + " ! Escriba '!help' para ver los comandos. Entra en nuestro Discord: https://discord.gg/3MhhZPN ", player.id); room.sendChat("[PV] Si buscas competir en una liga, accede a FSHaxleague. Discord: https://discord.gg/rNGN7DX", player.id); //room.sendChat("[PV] ? Welcome " + player.name + " ! Type '!help' to see the commands. Join our Discord: https://discord.gg/3MhhZPN ", player.id); /*eljefe.forEach(p => { if (player.auth == p.auth) { if (localStorage.getItem(player.auth) != null) { if (JSON.parse(localStorage.getItem(player.auth))[Ss.RL] != "player") { room.setPlayerAdmin(player.id, true); room.sendChat((JSON.parse(localStorage.getItem(player.auth))[Ss.RL] == "master" ? "Master " : "Admin ") + player.name + " has connected to the room !"); } } } })*/ /*let reg = false; playersAllowed1.forEach(p => { if (p.name == player.name) { reg = true; room.sendAnnouncement("Tienes 10 segundos para poder escribir la contraseña, sino seras kickeado", player.id, 0x00FFB3, "normal", 0); setTimeout(() => { if (p.verif !== "true" && player?.id) { room.kickPlayer(player.id, "Has tardado más de 10 segundos en iniciar sesion", false); } else { if (localStorage.getItem(player.auth) != null) { if (JSON.parse(localStorage.getItem(player.auth))[Ss.RL] != "player") { room.setPlayerAdmin(player.id, true); room.sendChat((JSON.parse(localStorage.getItem(player.auth))[Ss.RL] == "master" ? "Master " : "Admin ") + player.name + " has connected to the room !"); } } } }, 10000); } }); if (!reg) { updateRoleOnPlayerIn(); room.sendChat("[PV] ? Bienvenido " + player.name + " ! Escriba '!help' para ver los comandos. Entra en nuestro Discord: https://discord.gg/3MhhZPN ", player.id); room.sendChat("[PV] Si buscas competir en una liga, accede a Futsal Haxleague Discord: https://discord.gg/yBSWh86", player.id); }*/ if (localStorage.getItem(player.auth) != null) { if (JSON.parse(localStorage.getItem(player.auth))[Ss.RL] != "player") { room.setPlayerAdmin(player.id, true); room.sendChat((JSON.parse(localStorage.getItem(player.auth))[Ss.RL] == "master" ? "Master " : "Admin ") + player.name + " has connected to the room !"); } } //playerName = player.name.replace(/ /g,"_"); //var randomizador = Math.floor(Math.random() * (4-0)) + 0; /*switch(randomizador){ case 0: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "DEMOS LA BIENVENIDA AL SUBNORMAL DE @" + player.name,null, 0x00FFB3, "normal", 0); }, 1000) break; case 1: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS TETAS...DIGO TARDES PERDÓN, LA CONSTUMBRE DE ESTAR CON LA MADRE DE @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 2: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "SALUDAR A @" + player.name + "! A VER SI HOY SE LAS COME TAN DOBLADAS COMO SU MADRE ANOCHE",null, 0x00FFB3, "normal", 0); }, 1000) break; case 3: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "Y CON @" + player.name + " YA SOMOS 12! PARECE LA ULTIMA FIESTA QUE MONTÓ SU MADRE...AUNQUE...HABIA MAS NEGROS",null, 0x00FFB3, "normal", 0); }, 1000) break; case 4: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "QUE DIA MAS BONITO... ¿QUE TE PARECE, @" + player.name +", SI TE DOY ADMIN, TU MANEJAS LA SALA Y YO ME VOY A MANEJAR A TU MADRE?" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 5: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HACED SITIO QUE LLEGA @" + player.name + ", LA ULTIMA VEZ SALIERON 4 PARA QUE PUDIERA ENTRAR... EL MUY HIJO DE PUTA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 6: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HOLA, @" + player.name + ", OJALA TE ENTRE EL COVID POR EL CULO Y NO JUEGUES AQUI MAS EN TU PUTA VIDA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 7: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "EN VEZ DE ESTAR HACIENDO COSAS PRODUCTIVAS... Y JUGANDO A ESTA MIERDA @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 8: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "TODOS DEMOS LA BIENVENIDA A @" + player.name + ", AUNQUE EL MUY GILIPOLLAS NO SEPA MOVERSE" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 9: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "YA LLEGA EL TONTO DE @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 10: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, @" + player.name + ", TE ESTAN LLAMANDO DE LA SALA DE NEUER DE REAL SOCCER" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 11: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, @" + player.name + ", TE ESTAN LLAMANDO DE LA SALA DE SPACEBOUNCE CON RETRASADOS COMO TU" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 12: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, @" + player.name + ", TE ESTAN LLAMANDO DE LA SALA DE 6MAN CON ROSSI" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 13: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, @" + player.name + ", TE ESTAN LLAMANDO DE LA SALA DE TU PUTA MADRE PARA QUE TE LA FOLLES" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 14: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "BUENAS, @" + player.name + ", TE ESTAN LLAMANDO DE LA SALA DE ROQUE PARA TE CAGUES EN SU PUTA MADRE" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 15: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "YA LLEGO @" + player.name + ", EL QUE FALTABA PARA TENER A TODOS LOS TONTOS EN UNA MISMA SALA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 16: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "NO TE MERECES NI UN SALUDO DE LO FEO QUE ERES @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 17: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HOLA, @" + player.name + ", DICE PERRO QUE TE APUNTES A SU LIGA O SE MEA EN TI" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 18: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HOLA, @" + player.name + "... HE DICHO QUE HOLA, GILIPOLLAS" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 19: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : BUENAS TARDES... HE DICHO QUE BUENAS TARDES @" + player.name + ", HIJO DE PUTA JAJA S1 " ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 20: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : HOLA BUENAS... @" + player.name + ", HE DICHO HOLA BUENAS SUBNORMAL " ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 21: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : YA HA LLEGADO @" + player.name + ", PARA JODER LA SALA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 22: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + ", TE BUSCA TU JEFE PARA CAGARSE EN TU PUTA MADRE" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 23: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : HOLA, @" + player.name + ", IGUAL QUE ENTRAS PUEDES SALIR PUTO MANCO" ,null, 0x00FFB3, "normal", 0); }, 1000) break; default: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + " @" + player.name + ", BIENVENIDO", 0x00FFB3, "normal", 0); }, 1000); }*/ /*extendedP.forEach(p => { if (extendedP.length >= maxPlayers - 1) { // Poner contraseña room.setPassword(password); } })*/ /*if (players.length >= maxPlayers - 1) { // Poner contraseña room.setPassword(password); }*/ /*playersAllowed1.forEach(p => { if (p.name == player.name) { room.sendAnnouncement("Tienes 10 segundos para poder escribir la contraseña, sino seras kickeado", player.id, 0x00FFB3, "normal", 0); setTimeout(() => { let cont = 0; players.forEach(pl => { if (pl.name == player.name) { cont++; } }) setTimeout(() => { if(p.verif !== "true"){ room.kickPlayer(player.id, "Has tardado más de 10 segundos en iniciar sesion", cont === 2 ? true : false); } }, 100); }, 10000); } });*/ /*playersAllowed1.forEach(p => { if (p.name == player.name) { room.sendAnnouncement("Tienes 10 segundos para poder escribir la contraseña, sino seras kickeado", player.id, 0x00FFB3, "normal", 0); setTimeout(() => { if (p.verif !== "true" && player?.id) { room.kickPlayer(player.id, "Has tardado más de 10 segundos en iniciar sesion", false); } }, 10000); } })*/ playersAllowed1.forEach(p => { if (p.name == player.name) { room.sendAnnouncement("ESTAS EN MODO NO REGISTRO. TENDRAS LIMITACIONES HASTA QUE NO TE LOGUEES", player.id, 0x00FFB3, "normal", 0); room.sendAnnouncement("YOU ARE NOT IN REGISTER MODE. YOU ARE LIMITED TO PLAY/PICK PEOPLE UNTIL YOU ARE NOT LOGGED IN", player.id, 0x00FFB3, "normal", 0); } }) } room.onPlayerTeamChange = function(changedPlayer, byPlayer) { if (changedPlayer.id == 0) { room.setPlayerTeam(0, Team.SPECTATORS); return; } if (getAFK(changedPlayer) && changedPlayer.team != Team.SPECTATORS) { room.setPlayerTeam(changedPlayer.id, Team.SPECTATORS); room.sendChat(changedPlayer.name + " está AFK !"); return; } updateTeams(); if (room.getScores() != null) { var scores = room.getScores(); if (changedPlayer.team != Team.SPECTATORS && scores.time <= (3/4) * scores.timeLimit && Math.abs(scores.blue - scores.red) < 2) { (changedPlayer.team == Team.RED) ? allReds.push(changedPlayer) : allBlues.push(changedPlayer); } } if (changedPlayer.team == Team.SPECTATORS) { setActivity(changedPlayer, 0); } if (inChooseMode && resettingTeams == false && byPlayer.id == 0) { if (Math.abs(teamR.length - teamB.length) == teamS.length) { deactivateChooseMode(); resumeGame(); var b = teamS.length; if (teamR.length > teamB.length) { for (var i = 0 ; i < b ; i++) { setTimeout(() => { room.setPlayerTeam(teamS[0].id, Team.BLUE); }, 200*i); } } else { for (var i = 0 ; i < b ; i++) { setTimeout(() => { room.setPlayerTeam(teamS[0].id, Team.RED); }, 200*i); } } return; } else if ((teamR.length == maxTeamSize && teamB.length == maxTeamSize) || (teamR.length == teamB.length && teamS.length < 2)) { deactivateChooseMode(); resumeGame(); } else if (teamR.length <= teamB.length && redCaptainChoice != "") { // choice remembered redCaptainChoice == "top" ? room.setPlayerTeam(teamS[0].id, Team.RED) : redCaptainChoice == "random" ? room.setPlayerTeam(teamS[getRandomInt(teamS.length)].id, Team.RED) : room.setPlayerTeam(teamS[teamS.length - 1].id, Team.RED); return; } else if (teamB.length < teamR.length && blueCaptainChoice != "") { blueCaptainChoice == "top" ? room.setPlayerTeam(teamS[0].id, Team.BLUE) : blueCaptainChoice == "random" ? room.setPlayerTeam(teamS[getRandomInt(teamS.length)].id, Team.BLUE) : room.setPlayerTeam(teamS[teamS.length - 1].id, Team.BLUE); return; } else { choosePlayer(); } } } room.onPlayerLeave = function(player) { contjugadores--; var listajug = contjugadores + "/" + maxPlayers; console.log(listajug) //var randomizador = Math.floor(Math.random() * (14-0)) + 0; // el max no se cuenta ya que los arrays empiezan por 0 if (player.team !== 0) { if (teamR) { if (teamR.findIndex((red) => red.id == player.id) == 0 && inChooseMode && teamR.length <= teamB.length) { choosePlayer(); capLeft = true; setTimeout(() => { capLeft = false; }, 10); } } if (teamB) { if (teamB.findIndex((blue) => blue.id == player.id) == 0 && inChooseMode && teamB.length < teamR.length) { choosePlayer(); capLeft = true; setTimeout(() => { capLeft = false; }, 10); } } //updateRoleOnPlayerOut(); } setActivity(player, 0); /*if (getAFK(player)) { setAFK(player, false); }*/ /*if (getAFK(player)) { setAFK(player, false); }*/ updateRoleOnPlayerOut(); /*extendedP.forEach(p => { if (extendedP.length <= maxPlayers - 2) { // Quitar contraseña room.setPassword(null); } })*/ /*if (players) { if (players.length <= maxPlayers - 2) { // Quitar contraseña room.setPassword(null); } }*/ /*switch(randomizador){ case 0: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "OTRO QUE SE VA HUMILLADO, COMO @" + player.name,null, 0x00FFB3, "normal", 0); }, 1000) break; case 1: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "MENOS MAL QUE SE FUE EL MANCO DE @" + player.name + ", AHORA YA SE PUEDE JUGAR EN SERIO" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 2: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "ADIOS HIJO DE PUTA, @" + player.name + ", OJALA TE PARTAN LAS PUTAS MANOS PARA QUE NO VUELVAS A JUGAR EN ESTAS SALAS" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 3: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "ADIOS HIJO DE PUTA, @" + player.name + ", VETE A JUGAR AL MAINCRA CON MATAOS DE TU NIVEL Y DEJA A LOS PROFESIONALES JUGAR" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 4: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "ADIOS, @" + player.name + ", OJALA TE APLASTEN CABALLOS EN CELO" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 5: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "ADIOS, @" + player.name + ", ABORTO DE MIERDA, VETE A ESTAR CON TUS PADRES HABER SI ASI TE QUIEREN" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 6: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "VETE SI, QUE NO TE COGEN POR LO INUTIL QUE ERES AL JUGAR A ESTE JUEGO EN 2D Y SIN MANOS, @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 7: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + " SE VA EXTRAPOLADO Y HUMILLADO COMO UN U13" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 8: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + ", VETE A JUGAR A UNA SALA QUE HAYA MIERDAS COMO TU PARA GANAR UNA PARTIDA" ,null, 0x00FFB3, "normal", 0); }, 1000) break; case 9: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + " SE VA A APUNTARSE A LA MIERDA DE LIGA PERRO PARA JUGAR ALGO",null, 0x00FFB3, "normal", 0); }, 1000) break; case 10: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + " SE VA HUMILLADO COMO ROQUE LAS 24/7",null, 0x00FFB3, "normal", 0); }, 1000) break; case 11: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : @" + player.name + ", PARA LO QUE HAS JUGADO MEJOR NO HABER ENTRADO HIJO DE PUTA",null, 0x00FFB3, "normal", 0); }, 1000) break; case 12: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : MENUDO RIDICULO HAS HECHO, MEJOR NO VUELVAS @" + player.name,null, 0x00FFB3, "normal", 0); }, 1000) break; case 13: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : VINISTE, PERDISTE Y TE FUISTE DE VUELTA A TU PUTA CASA MANCO DE MIERDA, @" + player.name,null, 0x00FFB3, "normal", 0); }, 1000) break; default: setTimeout(() => { room.sendAnnouncement("? ESP FUTSAL BOT ? : " + "HASTA LUEGO, @" + player.name ,null, 0x00FFB3, "normal", 0); }, 1000) */ playersAllowed1.forEach(p => { if (p.name == player.name) { p.verif = "false"; } }) playersAllowed1.forEach(p => { if (p.name == player.name) { p.horaj = ""; } }) console.log("Salio: " + player.name + " de la sala." + " Hora: " + new Date().toLocaleTimeString()) } /*room.onPlayerLeave = function(player) { if (player.team !== 0) { updateRoleOnPlayerOut(); if (teamR) { if (teamR.findIndex((red) => red.id == player.id) == 0 && inChooseMode && teamR.length <= teamB.length) { choosePlayer(); capLeft = true; setTimeout(() => { capLeft = false; }, 10); } } else if (teamB) { if (teamB.findIndex((blue) => blue.id == player.id) == 0 && inChooseMode && teamB.length < teamR.length) { choosePlayer(); capLeft = true; setTimeout(() => { capLeft = false; }, 10); } } //updateRoleOnPlayerOut(); } setActivity(player, 0); if (players) { if (players.length <= maxPlayers - 2) { // Quitar contraseña room.setPassword(null); } } }*/ room.onPlayerKicked = function(kickedPlayer, reason, ban, byPlayer) { ban == true ? banList.push([kickedPlayer.name, kickedPlayer.id]) : null; //console.log("Jugador: " + kickedPlayer.name + ", Auth: " + kickedPlayer.auth + ", Conn: " + kickedPlayer.conn) } //-----------------------------Eventos anti spam------------------------------------------------------ //----------------------------------------------------------------------------------- /* PLAYER ACTIVITY */ room.onPlayerChat = function (player, message) { if (userRegistered(player)) { SaludandoGenteFun(player, message); } spammerosFilter(player, message); if(filter(message)) return false; if(CensuradorDeSpammeros(message)) return false; //PlayerMessage = message; - - - en caso de que los jugadores que estan registrados puedan escribir adminMessage = message; message = message.split(/ +/); player.team != Team.SPECTATORS ? setActivity(player, 0) : null; //-----------------Eventos del chat-------------------------------------------------------------------------- if (ModoChatPausado.includes(player.id)==true && inChooseMode == false && !(message[0].includes("!"))){ room.sendAnnouncement("[?] El Modo Pausado está activado. Sólo puedes enviar 1 mensaje cada 3 segundos. ⏱",player.id,0x00FF00,"bold",2); room.sendAnnouncement("[?] The Paused Mode is activated. You only can send 1 message every 3 seconds ⏱",player.id,0x00FF00,"bold",2); return false; } if (player.admin==false && ModoChatPausado.includes(player.id)==false && inChooseMode == false && !(message[0].includes("!"))){ //if(player.name !== "Andoni Goikoetxea"){ ModoChatPausado.push(player.id); setTimeout(function(){ ModoChatPausado.splice(ModoChatPausado.indexOf(player.id),1); }, 3000); //} } if(CensuradorDeSpammeros(message)) return false; if (message.indexOf("!") == 0) return false; //-----------------------------------------------------EVENTOS DEL CHAT---------------------------------------------------------------------------- /*playersAllowedLVL10.forEach(p => { if (player.name === p.name) { if (["!afk"].includes(message[0].toLowerCase()) && userRegistered(player)) { if (players.length != 1 && player.team != Team.SPECTATORS) { if (player.team == Team.RED && streak > 0 && room.getScores() == null) { room.setPlayerTeam(player.id, Team.SPECTATORS); } //else if (player.team == Team.BLUE && streak > 0 && room.getScores() == null) { //room.setPlayerTeam(player.id, Team.SPECTATORS); //} else { room.sendChat("No puedes ser AFK mientras estás en un equipo !", player.id); return false; } } else if (players.length == 1 && !getAFK(player)) { room.setPlayerTeam(player.id, Team.SPECTATORS); } setAFK(player, !getAFK(player)); room.sendChat(player.name + (getAFK(player) ? " está AFK !" : " ya no está AFK !")); getAFK(player) ? updateRoleOnPlayerOut() : updateRoleOnPlayerIn(); } } })*/ if (["!help"].includes(message[0].toLowerCase())) { room.sendChat("[PV] Commands : !me, !discord, !games, !wins, !goals, !assists, !cs, !afks, !mutes, !bans, !spec, !record, !racha, !fshaxleague.", player.id); //room.sendChat("[PV] Commands : !grecord, !mrecord, !srecord", player.id); player.admin ? room.sendChat("[PV] Admin : !mute #, !unmute all/#, !clearbans , !slow , !endslow, !afk", player.id) : null; } else if (["!p"].includes(message[0].toLowerCase())) { playersAllowed1.forEach(p => { if(player.name === p.name && p.verif == "false"){ var contraseña = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ contraseña += message[i]; }else{ contraseña += message[i] + " "; } } if(p.passlog === contraseña){ p.verif = "true"; room.sendAnnouncement("Inicio de sesion con: " + player.name, player.id, 0x00FF00, 'normal', 0); room.sendAnnouncement("Logged with: " + player.name, player.id, 0x00FF00, 'normal', 0); console.log("Inicio de sesion: " + player.name + " esta logueado." + " Hora: " + new Date().toLocaleTimeString()) return false; }else{ room.sendAnnouncement("Has puesto los datos incorrectamente. Vuelve a repetir el proceso, " + player.name,player.id, 0x00FF00, 'normal', 0); room.sendAnnouncement("You have entered the data incorrectly. Repeat the process again, " + player.name,player.id, 0x00FF00, 'normal', 0); return false; } } }) } /*else if (["!p"].includes(message[0].toLowerCase())) { playersAllowed1.forEach(p => { if (player.name === p.name && p.verif == "false") { var contraseña = ""; for (i = 1; i < message.length; i++) { if (message.length - 1 == i) { contraseña += message[i]; } else { contraseña += message[i] + " "; } } if (p.passlog === contraseña) { p.verif = "true"; room.sendAnnouncement("Inicio de sesion con exito, usuario: " + player.name, player.id, 0x00FF00, 'normal', 0); //const eP = { ID: 0, AUTH: 1, CONN: 2, AFK: 3, ACT: 4, GK: 5, MUTE: 6, REG: false }; //updateRoleOnPlayerIn(); updateRoleOnPlayerIn(); room.sendChat("[PV] ? Bienvenido " + player.name + " ! Escriba '!help' para ver los comandos. Entra en nuestro Discord: https://discord.gg/3MhhZPN ", player.id); room.sendChat("[PV] Si buscas competir en una liga, accede a Futsal Haxleague Discord: https://discord.gg/yBSWh86", player.id); return false; } else { room.sendAnnouncement("Has puesto los datos incorrectamente. Vuelve a repetir el proceso, " + player.name, player.id, 0x00FF00, 'normal', 0); return false; } } }) }*/ /*else if (["!addregister"].includes(message[0].toLowerCase())) { if(player.admin){ if(message.length == 3){ playersAllowed.push({name: message[1], auth: message[2]}) room.sendChat("Jugador Registrado Añadido!"); return false; } } }*/ else if (["!addregister"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 2; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowed1.push({name: nickname, passlog: message[1], verif: "false", horaj: ""}) room.sendChat("Jugador Registrado Añadido!"); return false; } } /* else if (["!addnivel1"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL1.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 1!"); return false; } } else if (["!addnivel2"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL2.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 2!"); return false; } } else if (["!addnivel3"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL3.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 3!"); return false; } } else if (["!addnivel4"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL4.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 4!"); return false; } } else if (["!addnivel5"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL5.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 5!"); return false; } } else if (["!addnivel6"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL6.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 6!"); return false; } } else if (["!addnivel7"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL7.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 7!"); return false; } } else if (["!addnivel8"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL8.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 8!"); return false; } } else if (["!addnivel9"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL9.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 9!"); return false; } } else if (["!addnivel10"].includes(message[0].toLowerCase())) { if(player.admin){ var nickname = ""; for(i = 1; i < message.length; i++){ if(message.length - 1 == i){ nickname += message[i]; }else{ nickname += message[i] + " "; } } playersAllowedLVL10.push({name: nickname}) room.sendChat("Jugador Registrado Nivel 10 ✨!"); return false; } } */ else if (["!banconn"].includes(message[0].toLowerCase())) { if(player.admin){ if(message[1]){ bannedPlayersconn.push(message[1]) room.sendChat("Jugador Baneado!"); return false; } } } else if (["!banauth"].includes(message[0].toLowerCase())) { if(player.admin){ if(message[1]){ bannedPlayersauth.push(message[1]) room.sendChat("Jugador Baneado!"); return false; } } } else if (["!bannick"].includes(message[0].toLowerCase())) { if(player.admin){ if(message[1]){ bannedPlayersnombre.push(message[1]) room.sendChat("Jugador Baneado!"); return false; } } } else if (["!afk"].includes(message[0].toLowerCase()) && userRegistered(player)) { if (players.length != 1 && player.team != Team.SPECTATORS) { if (player.team == Team.RED && streak > 0 && room.getScores() == null) { room.setPlayerTeam(player.id, Team.SPECTATORS); } else { room.sendChat("No puedes ser AFK mientras estás en un equipo !", player.id); room.sendChat("You cant be AFK when you are in one team !", player.id); return false; } } else if (players.length == 1 && !getAFK(player)) { room.setPlayerTeam(player.id, Team.SPECTATORS); } setAFK(player, !getAFK(player)); room.sendChat(player.name + (getAFK(player) ? " is now AFK !" : " is not AFK anymore !")); getAFK(player) ? updateRoleOnPlayerOut() : updateRoleOnPlayerIn(); } /*else if (["!afk"].includes(message[0].toLowerCase()) && userRegistered(player)) { //&& userRegistered(player) //if (localStorage.getItem(getAuth(player)) && JSON.parse(localStorage.getItem(getAuth(player)))[Ss.RL] == "master") { /*if (contafk < 4) { contafk++; } else if(contafk >= 4){ room.sendChat("El maximo de afks permitido son 3", player.id); return false; }*/ /*if(setAFK(value) == true){ room.sendChat("AFK +1", player.id); } else{ room.sendChat("AFK -1", player.id); }*/ /*setAFK(player, !getAFK(player)); //} }*/ else if (["!afks", "!afklist"].includes(message[0].toLowerCase())) { var cstm = "[PV] Lista de AFK : "; for (var i = 0; i < extendedP.length; i++) { if (room.getPlayer(extendedP[i][eP.ID]) != null && getAFK(room.getPlayer(extendedP[i][eP.ID]))) { if (140 - cstm.length < (room.getPlayer(extendedP[i][eP.ID]).name + ", ").length) { room.sendChat(cstm, player.id); cstm = "... "; } cstm += room.getPlayer(extendedP[i][eP.ID]).name + ", "; } } if (cstm == "[PV] Lista de AFK : ") { room.sendChat("[PV] No hay nadie en la lista de AFK !", player.id); return false; } cstm = cstm.substring(0, cstm.length - 2); cstm += "."; room.sendChat(cstm, player.id); } /*else if (["!save"].includes(message[0].toLowerCase())) { if (player.admin) { saveStats(); } }*/ else if (["!discord"].includes(message[0].toLowerCase())) { room.sendChat("[PV] ? Discord Support: https://discord.gg/3MhhZPN ", player.id); } else if (["!currentStreak", "!racha"].includes(message[0].toLowerCase())) { currentStreakFun(player); } else if (["!recordStreak", "!record"].includes(message[0].toLowerCase())) { streakRecordFun(player); } //Records generales /*else if (["!grecord"].includes(message[0].toLowerCase()) && userRegistered(player)) { room.sendAnnouncement("Todavia no está disponible este comando", player.id, 0x00FFFF, 'normal', 0); } else if (["!mrecord"].includes(message[0].toLowerCase()) && userRegistered(player)) { room.sendAnnouncement("Todavia no está disponible este comando", player.id, 0x00FFFF, 'normal', 0); } else if (["!srecord"].includes(message[0].toLowerCase()) && userRegistered(player)) { room.sendAnnouncement("Todavia no está disponible este comando", player.id, 0x00FFFF, 'normal', 0); }*/ //records generales else if (["!fshaxleague"].includes(message[0].toLowerCase())) { room.sendAnnouncement("? FSHaxleague Discord: https://discord.gg/rNGN7DX ?", player.id, 0x00FF00, 'normal', 0); } else if(["!clearbansall"].includes(message[0].toLowerCase())){ if(player.admin){ room.clearBans(); room.sendChat("Bans cleared !"); banList = []; return false; } } else if (["!spec", "!specs"].includes(message[0].toLowerCase())) { getSpecList1(Team.SPECTATORS, player); } else if (["!me"].includes(message[0].toLowerCase()) && userRegistered(player)) { var stats; localStorage.getItem(getAuth(player)) ? stats = JSON.parse(localStorage.getItem(getAuth(player))) : stats = [0, 0, 0, 0, "0.00", 0, 0, 0, 0, "0.00"]; room.sendChat("[PV] " + player.name + "> PJ: " + stats[Ss.GA] + ", Victorias: " + stats[Ss.WI] + ", Empates: " + stats[Ss.DR] + ", Derrotas: " + stats[Ss.LS] + ", WR: " + stats[Ss.WR] + "%, Goles: " + stats[Ss.GL] + ", Asistencias: " + stats[Ss.AS] + ", GK: " + stats[Ss.GK] + ", CS: " + stats[Ss.CS] + ", CS%: " + stats[Ss.CP] + "%", player.id); } else if (["!games"].includes(message[0].toLowerCase()) && userRegistered(player)) { var tableau = []; Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.GA])]); } }); if (tableau.length < 5) { room.sendChat("[PV] Aún no se han jugado partidos suficientes.", player.id); return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("[PV] Partidos Jugados> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1], player.id); } else if (["!wins"].includes(message[0].toLowerCase()) && userRegistered(player)) { var tableau = []; Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.WI])]); } }); if (tableau.length < 5) { room.sendChat("[PV] Aún no se han jugado partidos suficientes.", player.id); return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("[PV] Victorias> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1], player.id); } else if (["!goals"].includes(message[0].toLowerCase()) && userRegistered(player)) { var tableau = []; Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.GL])]); } }); if (tableau.length < 5) { room.sendChat("[PV] Aún no se han jugado partidos suficientes.", player.id); return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("[PV] Goles> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1], player.id); } else if (["!assists"].includes(message[0].toLowerCase()) && userRegistered(player)) { var tableau = []; Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.AS])]); } }); if (tableau.length < 5) { room.sendChat("[PV] Aún no se han jugado partidos suficientes.", player.id); return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("[PV] Asistencias> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1], player.id); } else if (["!cs"].includes(message[0].toLowerCase()) && userRegistered(player)) { var tableau = []; Object.keys(localStorage).forEach(function (key) { if (!["player_name", "view_mode", "geo", "avatar", "player_auth_key"].includes(key)) { tableau.push([(JSON.parse(localStorage.getItem(key))[Ss.NK]), (JSON.parse(localStorage.getItem(key))[Ss.CS])]); } }); if (tableau.length < 5) { room.sendChat("[PV] Aún no se han jugado partidos suficientes.", player.id); return false; } tableau.sort(function (a, b) { return b[1] - a[1]; }); room.sendChat("[PV] Porterías Invictas> #1 " + tableau[0][0] + ": " + tableau[0][1] + " #2 " + tableau[1][0] + ": " + tableau[1][1] + " #3 " + tableau[2][0] + ": " + tableau[2][1] + " #4 " + tableau[3][0] + ": " + tableau[3][1] + " #5 " + tableau[4][0] + ": " + tableau[4][1], player.id); } else if (["!claim"].includes(message[0].toLowerCase())) { if (message[1] == adminPassword) { room.setPlayerAdmin(player.id, true); var stats; localStorage.getItem(getAuth(player)) ? stats = JSON.parse(localStorage.getItem(getAuth(player))) : stats = [0, 0, 0, 0, "0.00", 0, 0, 0, 0, "0.00", "player", player.name]; if (stats[Ss.RL] != "master") { stats[Ss.RL] = "master"; room.sendChat(player.name + " is now a room master !"); localStorage.setItem(getAuth(player), JSON.stringify(stats)); } } } else if (["!setadmin", "!admin"].includes(message[0].toLowerCase())) { if (localStorage.getItem(getAuth(player)) && JSON.parse(localStorage.getItem(getAuth(player)))[Ss.RL] == "master") { if (message.length >= 2 && message[1][0] == "#") { message[1] = message[1].substring(1, message[1].length); if (!Number.isNaN(Number.parseInt(message[1])) && room.getPlayer(Number.parseInt(message[1])) != null) { var stats; localStorage.getItem(getAuth(room.getPlayer(Number.parseInt(message[1])))) ? stats = JSON.parse(localStorage.getItem(getAuth(room.getPlayer(Number.parseInt(message[1]))))) : stats = [0, 0, 0, 0, "0.00", 0, 0, 0, 0, "0.00", "player", room.getPlayer(Number.parseInt(message[1])).name]; if (stats[Ss.RL] == "player") { stats[Ss.RL] = "admin"; localStorage.setItem(getAuth(room.getPlayer(Number.parseInt(message[1]))), JSON.stringify(stats)); room.setPlayerAdmin(room.getPlayer(Number.parseInt(message[1])).id, true); room.sendChat(room.getPlayer(Number.parseInt(message[1])).name + " ahora es el administrador del host !"); } } } } } else if (["!setplayer", "!removeadmin"].includes(message[0].toLowerCase())) { if (localStorage.getItem(getAuth(player)) && JSON.parse(localStorage.getItem(getAuth(player)))[Ss.RL] == "master") { if (message.length >= 2 && message[1][0] == "#") { message[1] = message[1].substring(1, message[1].length); if (!Number.isNaN(Number.parseInt(message[1])) && room.getPlayer(Number.parseInt(message[1])) != null) { var stats; localStorage.getItem(getAuth(room.getPlayer(Number.parseInt(message[1])))) ? stats = JSON.parse(localStorage.getItem(getAuth(room.getPlayer(Number.parseInt(message[1]))))) : stats = [0, 0, 0, 0, "0.00", 0, 0, 0, 0, "0.00", "player", room.getPlayer(Number.parseInt(message[1])).name]; if (stats[Ss.RL] == "admin") { room.sendChat(room.getPlayer(Number.parseInt(message[1])).name + " Ya no es administrador del host !"); stats[Ss.RL] = "player"; localStorage.setItem(getAuth(room.getPlayer(Number.parseInt(message[1]))), JSON.stringify(stats)); room.setPlayerAdmin(room.getPlayer(Number.parseInt(message[1])).id, false); } } } } } else if (["!mutes", "!mutelist"].includes(message[0].toLowerCase())) { var cstm = "[PV] Lista de muteados : "; for (var i = 0; i < extendedP.length; i++) { if (room.getPlayer(extendedP[i][eP.ID]) != null && getMute(room.getPlayer(extendedP[i][eP.ID]))) { if (140 - cstm.length < (room.getPlayer(extendedP[i][eP.ID]).name + "[" + (extendedP[i][eP.ID]) + "], ").length) { room.sendChat(cstm, player.id); cstm = "... "; } cstm += room.getPlayer(extendedP[i][eP.ID]).name + "[" + (extendedP[i][eP.ID]) + "], "; } } if (cstm == "[PV] Lista de Muteados : ") { room.sendChat("[PV] No hay nadie en la lista de muteados !", player.id); return false; } cstm = cstm.substring(0, cstm.length - 2); cstm += "."; room.sendChat(cstm, player.id); } else if (["!mute"].includes(message[0].toLowerCase())) { if (player.admin) { updateTeams(); var timeOut; if (!Number.isNaN(Number.parseInt(message[1])) && message.length > 1) { if (Number.parseInt(message[1]) > 0) { timeOut = Number.parseInt(message[1]) * 60 * 1000; } else { timeOut = 3 * 60 * 1000; } if (message[2].length > 1 && message[2][0] == "#") { message[2] = message[2].substring(1, message[2].length); if (!Number.isNaN(Number.parseInt(message[2])) && room.getPlayer(Number.parseInt(message[2])) != null) { if (room.getPlayer(Number.parseInt(message[2])).admin || getMute(room.getPlayer(Number.parseInt(message[2])))) { return false; } setTimeout(function (player) { setMute(player, false); }, timeOut, room.getPlayer(Number.parseInt(message[2]))); setMute(room.getPlayer(Number.parseInt(message[2])), true); room.sendChat(room.getPlayer(Number.parseInt(message[2])).name + " ha sido muteado por " + (timeOut / 60000) + " minutos !"); } } } else if (Number.isNaN(Number.parseInt(message[1]))) { if (message[1].length > 1 && message[1][0] == "#") { message[1] = message[1].substring(1, message[1].length); if (!Number.isNaN(Number.parseInt(message[1])) && room.getPlayer(Number.parseInt(message[1])) != null) { if (room.getPlayer(Number.parseInt(message[1])).admin || getMute(room.getPlayer(Number.parseInt(message[1])))) { return false; } setTimeout(function (player) { setMute(player, false); }, 3 * 60 * 1000, room.getPlayer(Number.parseInt(message[1]))); setMute(room.getPlayer(Number.parseInt(message[1])), true); room.sendChat(room.getPlayer(Number.parseInt(message[1])).name + " Te han muteado por 3 minutos!"); } } } } } else if (["!unmute"].includes(message[0].toLowerCase())) { if (player.admin && message.length >= 2) { if (message[1] == "all") { extendedP.forEach((ePlayer) => { ePlayer[eP.MUTE] = false; }); room.sendChat("Se ha limpiado la lista de muteados"); } else if (!Number.isNaN(Number.parseInt(message[1])) && room.getPlayer(Number.parseInt(message[1])) != null && getMute(room.getPlayer(Number.parseInt(message[1])))) { setMute(room.getPlayer(Number.parseInt(message[1])), false); room.sendChat(room.getPlayer(Number.parseInt(message[1])).name + " ha sido desmuteado !"); } else if (Number.isNaN(Number.parseInt(message[1]))) { if (message[1].length > 1 && message[1][0] == "#") { message[1] = message[1].substring(1, message[1].length); if (!Number.isNaN(Number.parseInt(message[1])) && room.getPlayer(Number.parseInt(message[1])) != null && getMute(room.getPlayer(Number.parseInt(message[1])))) { setMute(room.getPlayer(Number.parseInt(message[1])), false); room.sendChat(room.getPlayer(Number.parseInt(message[1])).name + " ha sido desmuteado!"); } } } } } else if (["!slow"].includes(message[0].toLowerCase())) { if (player.admin) { if (message.length == 1) { slowMode = 2; room.sendChat("Modo lento activado (2 segundos)!"); } else if (message.length == 2) { if (!Number.isNaN(Number.parseInt(message[1]))) { if (Number.parseInt(message[1]) > 0) { slowMode = Number.parseInt(message[1]); room.sendChat(slowMode + " segundos, modo lento activado !"); return false; } } slowMode = 2; room.sendChat("Modo lento activado (2 segundos)!"); } } } else if (["!endslow"].includes(message[0].toLowerCase())) { if (player.admin) { slowMode != 0 ? room.sendChat("Modo lento terminado.") : null; slowMode = 0; } } else if (["!banlist", "!bans"].includes(message[0].toLowerCase())) { if (banList.length == 0) { room.sendChat("[PV] No hay nadie en la lista de baneados!", player.id); return false; } var cstm = "[PV] Lista de baneados : "; for (var i = 0; i < banList.length; i++) { if (140 - cstm.length < (banList[i][0] + "[" + (banList[i][1]) + "], ").length) { room.sendChat(cstm, player.id); cstm = "... "; } cstm += banList[i][0] + "[" + (banList[i][1]) + "], "; } cstm = cstm.substring(0, cstm.length - 2); cstm += "."; room.sendChat(cstm, player.id); } else if (["!clearbans"].includes(message[0].toLowerCase())) { if (player.admin) { if (message.length == 1) { room.clearBans(); room.sendChat("Bans removidos!"); banList = []; } if (message.length == 2) { if (!Number.isNaN(Number.parseInt(message[1]))) { if (Number.parseInt(message[1]) > 0) { ID = Number.parseInt(message[1]); room.clearBan(ID); if (banList.length != banList.filter((array) => array[1] != ID)) { room.sendChat(banList.filter((array) => array[1] == ID)[0][0] + " ha sido desbaneado del host !"); } setTimeout(() => { banList = banList.filter((array) => array[1] != ID); }, 20); } } } } } else if (["!bb", "!bye", "!cya", "!gn"].includes(message[0].toLowerCase())) { /*var randomizador = Math.floor(Math.random() * (11-0)) + 0; // el max no se cuenta ya que los arrays empiezan por 0 if(!inChooseMode){ switch(randomizador){ case 0: room.kickPlayer(player.id, "OTRO QUE SE VA HUMILLADO, COMO @" + player.name, false); break; case 1: room.kickPlayer(player.id, "MENOS MAL QUE SE FUE EL MANCO DE @" + player.name + ", AHORA YA SE PUEDE JUGAR EN SERIO", false); break; case 2: room.kickPlayer(player.id, "ADIOS HIJO DE PUTA, @" + player.name + ", OJALA TE PARTAN LAS PUTAS MANOS PARA QUE NO VUELVAS A JUGAR EN ESTAS SALAS", false); break; case 3: room.kickPlayer(player.id, "ADIOS HIJO DE PUTA, @" + player.name + ", VETE A JUGAR AL MAINCRA CON MATAOS DE TU NIVEL Y DEJA A LOS PROFESIONALES JUGAR" , false); break; case 4: room.kickPlayer(player.id, "ADIOS, @" + player.name + ", OJALA TE APLASTEN CABALLOS EN CELO", false); break; case 5: room.kickPlayer(player.id, "ADIOS, @" + player.name + ", ABORTO DE MIERDA, VETE A ESTAR CON TUS PADRES HABER SI ASI TE QUIEREN", false); break; case 6: room.kickPlayer(player.id, "VETE SI, QUE NO TE COGEN POR LO INUTIL QUE ERES AL JUGAR A ESTE JUEGO EN 2D Y SIN MANOS, @" + player.name, false); break; case 7: room.kickPlayer(player.id, "@" + player.name + " SE VA EXTRAPOLADO Y HUMILLADO COMO UN U13", false); break; case 8: room.kickPlayer(player.id, "@" + player.name + ", VETE A JUGAR A UNA SALA QUE HAYA MIERDAS COMO TU PARA GANAR UNA PARTIDA", false); break; case 9: room.kickPlayer(player.id, "@" + player.name + " SE VA A APUNTARSE A LA MIERDA DE LIGA PERRO PARA JUGAR ALGO", false); break; case 10: room.kickPlayer(player.id, "@" + player.name + " SE VA HUMILLADO COMO ROQUE LAS 24/7", false); break; default: room.kickPlayer(player.id, "Bye !", false); } room.kickPlayer(player.id, "Bye !", false); }*/ room.kickPlayer(player.id, "Bye !", false); } if (teamR.length != 0 && teamB.length != 0 && inChooseMode) { if (player.id == teamR[0].id || player.id == teamB[0].id) { // we care if it's one of the captains choosing if (teamR.length <= teamB.length && player.id == teamR[0].id) { // we care if it's red turn && red cap talking if (["top", "auto"].includes(message[0].toLowerCase())) { room.setPlayerTeam(teamS[0].id, Team.RED); redCaptainChoice = "top"; clearTimeout(timeOutCap); room.sendChat(player.name + " elegiste Top !"); return false; } else if (["random", "rand"].includes(message[0].toLowerCase())) { var r = getRandomInt(teamS.length); room.setPlayerTeam(teamS[r].id, Team.RED); redCaptainChoice = "random"; clearTimeout(timeOutCap); room.sendChat(player.name + " elegiste Random !"); return false; } else if (["bottom", "bot"].includes(message[0].toLowerCase())) { room.setPlayerTeam(teamS[teamS.length - 1].id, Team.RED); redCaptainChoice = "bottom"; clearTimeout(timeOutCap); room.sendChat(player.name + " elegiste Bottom !"); return false; } else if (!Number.isNaN(Number.parseInt(message[0]))) { if (Number.parseInt(message[0]) > teamS.length || Number.parseInt(message[0]) < 1) { room.sendChat("[PV] El número que elegiste es inválido !", player.id); return false; } else { room.setPlayerTeam(teamS[Number.parseInt(message[0]) - 1].id, Team.RED); room.sendChat(player.name + " eligió a " + teamS[Number.parseInt(message[0]) - 1].name + " !"); return false; } } } if (teamR.length > teamB.length && player.id == teamB[0].id) { // we care if it's red turn && red cap talking if (["top", "auto"].includes(message[0].toLowerCase())) { room.setPlayerTeam(teamS[0].id, Team.BLUE); blueCaptainChoice = "top"; clearTimeout(timeOutCap); room.sendChat(player.name + " seleccionó Top !"); return false; } else if (["random", "rand"].includes(message[0].toLowerCase())) { room.setPlayerTeam(teamS[getRandomInt(teamS.length)].id, Team.BLUE); blueCaptainChoice = "random"; clearTimeout(timeOutCap); room.sendChat(player.name + " seleccionó Random !"); return false; } else if (["bottom", "bot"].includes(message[0].toLowerCase())) { room.setPlayerTeam(teamS[teamS.length - 1].id, Team.BLUE); blueCaptainChoice = "bottom"; clearTimeout(timeOutCap); room.sendChat(player.name + " seleccionó Bottom !"); return false; } else if (!Number.isNaN(Number.parseInt(message[0]))) { if (Number.parseInt(message[0]) > teamS.length || Number.parseInt(message[0]) < 1) { room.sendChat("[PV] El número que elegiste es inválido !", player.id); return false; } else { room.setPlayerTeam(teamS[Number.parseInt(message[0]) - 1].id, Team.BLUE); room.sendChat(player.name + " eligió " + teamS[Number.parseInt(message[0]) - 1].name + " !"); return false; } } } } } if (message[0][0] == "!") { return false; } if (!userRegistered(player)) { room.sendAnnouncement("No tienes permiso ya que no estas registrado. Info: https://discord.gg/3MhhZPN", player.id, 0x33FFE0, 'normal', 0); room.sendAnnouncement("You do not have permission since you are not registered. Info: https://discord.gg/3MhhZPN", player.id, 0x33FFE0, 'normal', 0); return false; } if (getMute(player)) { room.sendChat("Usted está muteado.", player.id); return false; } if (slowMode > 0) { if (!player.admin) { if (!SMSet.has(player.id)) { SMSet.add(player.id); setTimeout((number) => { SMSet.delete(number); }, slowMode * 1000, player.id); } else { return false; } } } /*if (player.admin) { // Si el usuario es admin, mandar un announcement room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); return false; } else { for (var i = 0; i < playersAllowed.length; i++) { if (playersAllowed[i].name === player.name) { room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0xf7d600, 'bold', null); return false; } } }*/ if (player.admin) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[EL JEFE] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); return false; } if (!player.admin) { for (var i = 0; i < playersganadorestorneofutsal.length; i++) { if (playersganadorestorneofutsal[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[GANADOR I TORNEO FUTSAL][Registrado] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0x00FFF7, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < mejorgoleador.length; i++) { if (mejorgoleador[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[MEJOR GOLEADOR OCTUBRE] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0x00FFF7, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < mejorasistente.length; i++) { if (mejorasistente[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[MEJOR ASISTENTE OCTUBRE] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0x00FFF7, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < mejorcs.length; i++) { if (mejorcs[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[MEJOR CS OCTUBRE] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0x00FFF7, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < mejorjugadorenjugarmaspartidos.length; i++) { if (mejorjugadorenjugarmaspartidos[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[MAS PARTIDOS JUGADOS OCTUBRE] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0x00FFF7, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < mejorjugadorenganarmaspartidos.length; i++) { if (mejorjugadorenganarmaspartidos[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[MAS VICTORIAS GANADAS OCTUBRE] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0x00FFF7, 'bold', null); return false; } } } /*if (!player.admin) { for (var i = 0; i < PLAYERSRECORDGENERAL1.length; i++) { if (PLAYERSRECORDGENERAL1[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[RECORD GENERAL] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0xffbf00, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < PLAYERSRECORDGENERAL2.length; i++) { if (PLAYERSRECORDGENERAL2[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[RECORD GENERAL] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0xffbf00, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < PLAYERSRECORDGENERAL3.length; i++) { if (PLAYERSRECORDGENERAL3[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[RECORD GENERAL] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0xffbf00, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < PLAYERSRECORDMENSUAL.length; i++) { if (PLAYERSRECORDMENSUAL[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[RECORD MENSUAL] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0xFF4500, 'bold', null); return false; } } } if (!player.admin) { for (var i = 0; i < PLAYERSRECORDSEMANAL.length; i++) { if (PLAYERSRECORDSEMANAL[i].name === player.name && userRegistered(player)) { // Si el usuario es admin, mandar un announcement var playeradminadded = "[RECORD SEMANAL] " + player.name; //room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, 0x33FFE0, 'bold', null); room.sendAnnouncement(`${playeradminadded}: ${adminMessage}`, null, 0xFFA07A, 'bold', null); return false; } } }*/ /* if(!player.admin){ for (var i = 0; i < playersAllowedLVL10.length; i++) { if (playersAllowedLVL10[i].name === player.name && userRegistered(player)) { var playeraddedlvl10 = "[Nivel 10 ✨] " + player.name; room.sendAnnouncement(`${playeraddedlvl10}: ${adminMessage}`, null, 0xffbf00, 'bold', null);//oro return false; } } for (var i = 0; i < playersAllowedLVL9.length; i++) { if (playersAllowedLVL9[i].name === player.name && userRegistered(player)) { var playeraddedlvl9 = "[Nivel 9] " + player.name; room.sendAnnouncement(`${playeraddedlvl9}: ${adminMessage}`, null, 0xeeb46a , 'bold', null);//naranja claro return false; } } for (var i = 0; i < playersAllowedLVL8.length; i++) { if (playersAllowedLVL8[i].name === player.name && userRegistered(player)) { var playeraddedlvl8 = "[Nivel 8] " + player.name; room.sendAnnouncement(`${playeraddedlvl8}: ${adminMessage}`, null, 0x734222, 'bold', null);//marron return false; } } for (var i = 0; i < playersAllowedLVL7.length; i++) { if (playersAllowedLVL7[i].name === player.name && userRegistered(player)) { var playeraddedlvl7 = "[Nivel 7] " + player.name; room.sendAnnouncement(`${playeraddedlvl7}: ${adminMessage}`, null, 0xa12312, 'bold', null);//rojo return false; } } for (var i = 0; i < playersAllowedLVL6.length; i++) { if (playersAllowedLVL6[i].name === player.name && userRegistered(player)) { var playeraddedlvl6 = "[Nivel 6] " + player.name; room.sendAnnouncement(`${playeraddedlvl6}: ${adminMessage}`, null, 0xa10684, 'bold', null);//violeta oscuro return false; } } for (var i = 0; i < playersAllowedLVL5.length; i++) { if (playersAllowedLVL5[i].name === player.name && userRegistered(player)) { var playeraddedlvl5 = "[Nivel 5] " + player.name; room.sendAnnouncement(`${playeraddedlvl5}: ${adminMessage}`, null, 0xff00ff, 'bold', null);//fucsia return false; } } for (var i = 0; i < playersAllowedLVL4.length; i++) { if (playersAllowedLVL4[i].name === player.name && userRegistered(player)) { var playeraddedlvl4 = "[Nivel 4] " + player.name; room.sendAnnouncement(`${playeraddedlvl4}: ${adminMessage}`, null, 0x085DD8, 'bold', null);//azul oscuro return false; } } for (var i = 0; i < playersAllowedLVL3.length; i++) { if (playersAllowedLVL3[i].name === player.name && userRegistered(player)) { var playeraddedlvl3 = "[Nivel 3] " + player.name; room.sendAnnouncement(`${playeraddedlvl3}: ${adminMessage}`, null, 0x809DC7, 'bold', null);//azul medio oscuro medio claro return false; } } for (var i = 0; i < playersAllowedLVL2.length; i++) { if (playersAllowedLVL2[i].name === player.name && userRegistered(player)) { var playeraddedlvl2 = "[Nivel 2] " + player.name; room.sendAnnouncement(`${playeraddedlvl2}: ${adminMessage}`, null, 0x80C79D, 'bold', null); //verde claro return false; } } for (var i = 0; i < playersAllowedLVL1.length; i++) { if (playersAllowedLVL1[i].name === player.name && userRegistered(player)) { var playeraddedlvl1 = "[Nivel 1] " + player.name; room.sendAnnouncement(`${playeraddedlvl1}: ${adminMessage}`, null, 0x008f39, 'bold', null); //verde oscuro return false; } } } */ for (var i = 0; i < playersAllowed1.length; i++) { if (playersAllowed1[i].name === player.name && userRegistered(player)) { var playeraddedreg = "[Registrado] " + player.name; room.sendAnnouncement(`${playeraddedreg}: ${adminMessage}`, null, 0xf7d600, 'bold', null); //amarillo return false; } } /*if (player.admin) { // Si el usuario es admin, mandar un announcement var adminChatColor = 0x33FFE0; // Formato: 0xCOLOR (sustituye COLOR por el color en HEXADECIMAL, ejemplo azul es 33FFE0) room.sendAnnouncement(`${player.name}: ${adminMessage}`, null, adminChatColor, 'bold', null); return false; }*/ /*for(i = 0; i < playersAllowed.length; i++){ if (playersAllowed[i][0] == player.name && !(player.admin)) { // Si el usuario es admin, mandar un announcement var PlayerChatColor = 0xFFE033; // Formato: 0xCOLOR (sustituye COLOR por el color en HEXADECIMAL, ejemplo azul es 33FFE0) room.sendAnnouncement(`${player.name}: ${PlayerMessage}`, null, PlayerChatColor, 'bold', null); return false; } }*/ } room.onPlayerActivity = function(player) { setActivity(player, 0); } room.onPlayerBallKick = function(player) { if (lastPlayersTouched[0] == null || player.id != lastPlayersTouched[0].id) { !activePlay ? activePlay = true : null; lastTeamTouched = player.team; lastPlayersTouched[1] = lastPlayersTouched[0]; lastPlayersTouched[0] = player; } } /* GAME MANAGEMENT */ room.onGameStart = function(byPlayer) { game = new Game(Date.now(), room.getScores(), []); countAFK = true; activePlay = false; goldenGoal = false; endGameVariable = false; lastPlayersTouched = [null, null]; Rposs = 0; Bposs = 0; GKList = []; allReds = []; allBlues = []; if (teamR.length == maxTeamSize && teamB.length == maxTeamSize) { for (var i = 0; i < maxTeamSize; i++) { allReds.push(teamR[i]); allBlues.push(teamB[i]); } } for (var i = 0; i < extendedP.length; i++) { extendedP[i][eP.GK] = 0; extendedP[i][eP.ACT] = 0; room.getPlayer(extendedP[i][eP.ID]) == null ? extendedP.splice(i, 1) : null; } deactivateChooseMode(); } room.onGameStop = function(byPlayer) { if (byPlayer.id == 0 && endGameVariable) { updateTeams(); if (inChooseMode) { if (players.length == 2 * maxTeamSize) { inChooseMode = false; resetBtn(); for (var i = 0; i < maxTeamSize; i++) { setTimeout(() => { randomBtn(); }, 400*i); } setTimeout(() => { room.startGame(); }, 1000); } else { if (lastWinner == Team.RED) { blueToSpecBtn(); } else if (lastWinner == Team.BLUE) { redToSpecBtn(); blueToRedBtn(); } else { resetBtn(); } setTimeout(() => { topBtn(); }, 500); } } else { if (players.length == 2) { if (lastWinner == Team.BLUE) { room.setPlayerTeam(teamB[0].id, Team.RED); room.setPlayerTeam(teamR[0].id, Team.BLUE); } setTimeout(() => { room.startGame(); }, 1000); } else if (players.length == 3 || players.length >= 2 * maxTeamSize + 1) { if (lastWinner == Team.RED) { blueToSpecBtn(); } else { redToSpecBtn(); blueToRedBtn(); } setTimeout(() => { topBtn(); }, 200); setTimeout(() => { room.startGame(); }, 1000); } else if (players.length == 4) { resetBtn(); setTimeout(() => { randomBtn(); setTimeout(() => { randomBtn(); }, 500); }, 500); setTimeout(() => { room.startGame(); }, 1000); } else if (players.length == 5 || players.length >= 2 * maxTeamSize + 1) { if (lastWinner == Team.RED) { blueToSpecBtn(); } else { redToSpecBtn(); blueToRedBtn(); } setTimeout(() => { topBtn(); }, 200); activateChooseMode(); } else if (players.length == 6) { resetBtn(); setTimeout(() => { randomBtn(); setTimeout(() => { randomBtn(); setTimeout(() => { randomBtn(); }, 500); }, 500); }, 500); setTimeout(() => { room.startGame(); }, 1000); } } } } room.onGamePause = function(byPlayer) { } room.onGameUnpause = function (byPlayer) { if (teamR.length == 4 && teamB.length == 4 && inChooseMode || (teamR.length == teamB.length && teamS.length < 2 && inChooseMode)) { deactivateChooseMode(); } } room.onTeamGoal = function(team) { activePlay = false; countAFK = false; const scores = room.getScores(); game.scores = scores; if(lastPlayersTouched[0] != undefined){ if (lastPlayersTouched[0] != null && lastPlayersTouched[0].team == team) { if (lastPlayersTouched[1] != null && lastPlayersTouched[1].team == team) { room.sendChat("⚽ " + getTime(scores) + " Gol de " + lastPlayersTouched[0].name + " ! Asistencia de " + lastPlayersTouched[1].name + ". Velocidad de tiro : " + ballSpeed.toPrecision(4).toString() + "km/h " + (team == Team.RED ? "?" : "?")); game.goals.push(new Goal(scores.time, team, lastPlayersTouched[0], lastPlayersTouched[1])); } else { room.sendChat("⚽ " + getTime(scores) + " Gol de " + lastPlayersTouched[0].name + " ! Velocidad de tiro : " + ballSpeed.toPrecision(4).toString() + "km/h " + (team == Team.RED ? "?" : "?")); game.goals.push(new Goal(scores.time, team, lastPlayersTouched[0], null)); } } else { room.sendChat("? " + getTime(scores) + " Gol en contra de " + lastPlayersTouched[0].name + " ! Velocidad de tiro : " + ballSpeed.toPrecision(4).toString() + "km/h " + (team == Team.RED ? "?" : "?")); game.goals.push(new Goal(scores.time, team, null, null)); } } if (scores.scoreLimit != 0 && (scores.red == scores.scoreLimit || scores.blue == scores.scoreLimit && scores.blue > 0 || goldenGoal == true)) { endGame(team); goldenGoal = false; setTimeout(() => { room.stopGame(); }, 1000); } } room.onPositionsReset = function() { countAFK = true; lastPlayersTouched = [null, null]; } /* MISCELLANEOUS */ room.onRoomLink = function(url) { } room.onPlayerAdminChange = function (changedPlayer, byPlayer) { if (getMute(changedPlayer) && changedPlayer.admin) { room.sendChat(changedPlayer.name + " ha sido desmuteado."); setMute(changedPlayer, false); } if (byPlayer.id != 0 && localStorage.getItem(getAuth(byPlayer)) && JSON.parse(localStorage.getItem(getAuth(byPlayer)))[Ss.RL] == "admin") { room.sendChat("No tienes permiso para nombrar a un jugador como Administrador !", byPlayer.id); room.setPlayerAdmin(changedPlayer.id, false); } } room.onStadiumChange = function(newStadiumName, byPlayer) { } room.onGameTick = function() { checkTime(); getLastTouchOfTheBall(); getStats(); handleInactivity(); } function userRegistered(player) { let regist = false; playersAllowed1.forEach(p => { if (player.name === p.name && p.verif == "true") { regist = true; } }) return regist; } /*function saveStats() { var a = document.createElement("a"); document.body.appendChild(a); a.style = "display: none"; a.id = "locSto"; var d = new Date(); var s = (("0" + d.getDate()).slice(-2) + "" + ("0" + (d.getMonth() + 1)).slice(-2) + "" + (d.getYear() + 1900).toString().substring(2) + "-" + ("0" + d.getHours()).slice(-2) + "" + ("0" + d.getMinutes()).slice(-2) + "" + ("0" + d.getSeconds()).slice(-2)).toString(); var data = []; Object.keys(localStorage).forEach((key) => { if (key.length == 43) data.push([key].concat(JSON.parse(localStorage.getItem(key)))); }); data.push(["streak"].concat(JSON.parse(localStorage.getItem('streak')))); var fileName = `room1_${s}.json`; var json = JSON.stringify(data), blob = new Blob([json], { type: "octet/stream" }); randomUrl = window.URL.createObjectURL(blob); a.href = randomUrl; a.download = fileName; console.log("get_update"); room.sendChat("✅ Stats were saved successfully !"); } setInterval(() => { saveStats(); }, 60 * 60 * 1000);*/ setTimeout(() => { setInterval(() => { //room.sendChat("? This host was created by Gouiri[FR] and edited by Gimenez20[GI] ?"); //room.sendChat("? Do you search team to play our leagues? You can enjoy with our leagues (Big 4v4-3def | Real Soccer) ?"); //room.sendChat("? TS3: hbpt.ts.io, Forum: https://haxball.pt/ , Discord: https://discord.gg/3MhhZPN ?"); room.sendAnnouncement("? Discord de soporte/info: https://discord.gg/3MhhZPN ?", null, 0xE6E6FA, 'normal', 0); room.sendAnnouncement("? FSHaxleague Discord: https://discord.gg/KjB6kqp ?", null, 0xE6E6FA, 'normal', 0); room.sendAnnouncement("? Directos de FSHaxleague: http://www.twitch.tv/fshaxleague ?", null, 0xE6E6FA, 'normal', 0); }, discordInterval * 60 * 1000); }, 10000); setTimeout(() => { setInterval(() => { //room.sendChat("? This host was created by Gouiri[FR] and edited by Gimenez20[GI] ?"); //room.sendChat("? Do you search team to play our leagues? You can enjoy with our leagues (Big 4v4-3def | Real Soccer) ?"); //room.sendChat("? TS3: hbpt.ts.io, Forum: https://haxball.pt/ , Discord: https://discord.gg/3MhhZPN ?"); room.sendAnnouncement("? Support/info Discord: https://discord.gg/3MhhZPN ?", null, 0xE6E6FA, 'normal', 0); room.sendAnnouncement("? FSHaxleague Discord: https://discord.gg/rNGN7DX ?", null, 0xE6E6FA, 'normal', 0); room.sendAnnouncement("? FSHaxleague Streams: http://www.twitch.tv/fshaxleague ?", null, 0xE6E6FA, 'normal', 0); }, discordInterval2 * 60 * 1000); }, 10000); setTimeout(() => { setInterval(() => { if(streakpuntua > 0 && !inChooseMode && streakRecord >= 0){ room.sendAnnouncement("? The CurrentStreak is: " + streakpuntua + ", and the players are: " + redPlayers + " ?", null, 0xf7d600, 'normal', 0); if(streakmanualRecord >= streakRecord){ room.sendAnnouncement("? The RecordStreak is: " + streakmanualRecord + ". Players: " + streakRecordPlayersmanual + " ?",null, 0x00FF00, 'normal', 0); } else if(streakRecord > streakmanualRecord){ room.sendAnnouncement("? The RecordStreak is: " + streakRecord + ". Players: " + streakRecordPlayers + " ?",null, 0x00FF00, 'normal', 0); } //room.sendAnnouncement("? El record de la sala es de: " + streakRecord + ". Los jugadores son: " + streakRecordPlayers + " ?",null, 0x00FF00, 'normal', 0); room.sendAnnouncement("? If you want to see the CurrentStreak or RecordStreak are the !racha and !record commands" + " ?", null, 0xf7d600, 'normal', 0); //room.sendAnnouncement("? Si quereis los records globales, mensuales y semanales, usar los comandos !grecord, !mrecord y !srecord" + " ?", null, 0xf7d600, 'normal', 0); } }, streakInterval2 * 60 * 1000); }, 10000); setTimeout(() => { setInterval(() => { if(streakpuntua > 0 && !inChooseMode && streakRecord >= 0){ room.sendAnnouncement("? La racha es de: " + streakpuntua + ", y los jugadores que lo han hecho son: " + redPlayers + " ?", null, 0xf7d600, 'normal', 0); if(streakmanualRecord >= streakRecord){ room.sendAnnouncement("? El record de las sala es de: " + streakmanualRecord + ". Los jugadores son: " + streakRecordPlayersmanual + " ?",null, 0x00FF00, 'normal', 0); } else if(streakRecord > streakmanualRecord){ room.sendAnnouncement("? El record de las sala es de: " + streakRecord + ". Los jugadores son: " + streakRecordPlayers + " ?",null, 0x00FF00, 'normal', 0); } //room.sendAnnouncement("? El record de la sala es de: " + streakRecord + ". Los jugadores son: " + streakRecordPlayers + " ?",null, 0x00FF00, 'normal', 0); room.sendAnnouncement("? Si quereis ver la racha o el record de la sala son los comandos !racha y !record" + " ?", null, 0xf7d600, 'normal', 0); //room.sendAnnouncement("? Si quereis los records globales, mensuales y semanales, usar los comandos !grecord, !mrecord y !srecord" + " ?", null, 0xf7d600, 'normal', 0); } }, streakInterval * 60 * 1000); }, 10000); /*setTimeout(() => { setInterval(() => { room.sendAnnouncement("? Nuevo/New FSHaxleague Discord: https://discord.gg/rNGN7DX ?", null, 0xE6E6FA, 'normal', 0); }, FSHaxleagueinterval * 60 * 1000); }, 10000);*/ /*setTimeout(() => { setInterval(() => { room.sendAnnouncement("? PRONTO SE ELIMINARÁN LOS NIVELES, Y AÑADIREMOS PREMIOS POR STREAK ?", null, 0xE6E6FA, 'normal', 0); room.sendAnnouncement("? INFO EN NUESTRO DISCORD: https://discord.gg/3MhhZPN ?", null, 0xE6E6FA, 'normal', 0); }, RECORDGLOBALDISC * 60 * 1000); }, 10000); setTimeout(() => { setInterval(() => { room.sendAnnouncement("? LEVELS WILL BE ELIMINATED SOON, AND WE WILL ADD AWARDS FOR STREAKS ?", null, 0xE6E6FA, 'normal', 0); room.sendAnnouncement("? INFO IN OUR DISCORD: https://discord.gg/3MhhZPN ?", null, 0xE6E6FA, 'normal', 0); }, RECORDGLOBALDISC2 * 60 * 1000); }, 10000);*/ //PRONTO AÑADIREMOS ESTE SETTIMEOUT /*setTimeout(() => { setInterval(() => { room.sendAnnouncement("? Record general: " + STREAKRECORDGENERALNUMERO + ", y los jugadores son: " + STREAKRECORDGENERAL + " ?", null, 0xE6E6FA, 'normal', 0); room.sendAnnouncement("? Record mensual: " + STREAKRECORDMENSUALNUMERO + ", y los jugadores son: " + STREAKRECORDMENSUAL + " ?", null, 0xE6E6FA, 'normal', 0); room.sendAnnouncement("? Record semanal: " + STREAKRECORDSEMANALNUMERO + ", y los jugadores son: " + STREAKRECORDSEMANAL + " ?", null, 0xE6E6FA, 'normal', 0); }, RECORDGLOBALDISC * 60 * 1000); }, 10000);*/ /*var STREAKRECORDGENERALNUMERO = ""; var STREAKRECORDMENSUALNUMERO = ""; var STREAKRECORDSEMANALNUMERO = ""; var STREAKRECORDGENERAL = ""; var STREAKRECORDMENSUAL = ""; var STREAKRECORDSEMANAL = "";*/ /*setTimeout(() => { setInterval(() => { let horamax = new Date(); let maxmin = horamax.getMinutes(); playersAllowed1.forEach(p => { if(maxmin - p.horaj == 1 || p.horaj - maxmin == 59){ setAFK(p, !getAFK(p)); //room.sendChat(p.name + (getAFK(p) ? " is now AFK !" : " is not AFK anymore !")); //getAFK(p) ? updateRoleOnPlayerOut() : updateRoleOnPlayerIn(); } }) }, 1000); }, 1000);*/