Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 62.94 KB | None | 0 0
  1. const rs = `{
  2.  
  3. "name" : "\ud835\udde5\ud835\uddd8\ud835\uddd4\ud835\udddf \ud835\udde6\ud835\udde2\ud835\uddd6\ud835\uddd6\ud835\uddd8\ud835\udde5 \ud835\ude23\ud835\ude3a \u0040\ud835\udda6\ud835\uddcb\ud835\uddba\ud835\uddc7\ud835\uddbd\ud835\uddbe\ud835\uddcc\ud835\uddab\ud835\uddc2\ud835\uddc0\ud835\uddba\ud835\uddcc\ud835\udda0\ud835\uddb1\ud835\udda6",
  4.  
  5. "width" : 1500,
  6.  
  7. "height" : 734,
  8.  
  9. "spawnDistance" : 300,
  10.  
  11. "bg" : { "type" : "grass", "width" : 1150, "height" : 600, "kickOffRadius" : 180, "cornerRadius" : 0 },
  12.  
  13. "playerPhysics" : {
  14. "bCoef" : 0.5,
  15. "invMass" : 0.5,
  16. "damping" : 0.96,
  17. "acceleration" : 0.12,
  18. "kickingAcceleration" : 0.07,
  19. "kickingDamping" : 0.96,
  20. "kickStrength" : 5.65
  21.  
  22. },
  23.  
  24. "ballPhysics" : {
  25. "radius" : 10,
  26. "bCoef" : 0.5,
  27. "invMass" : 1,
  28. "damping" : 0.99,
  29. "color" : "FFFFFF",
  30. "cMask" : [ "all"
  31. ],
  32. "cGroup" : [ "ball"
  33. ]
  34.  
  35. },
  36.  
  37. "vertexes" : [
  38. /* 0 */ { "x" : 0, "y" : 660, "trait" : "kickOffBarrier" },
  39. /* 1 */ { "x" : 0, "y" : 180, "trait" : "kickOffBarrier", "color" : "C7E6BD" },
  40. /* 2 */ { "x" : 0, "y" : -180, "trait" : "kickOffBarrier", "color" : "C7E6BD" },
  41. /* 3 */ { "x" : 0, "y" : -660, "trait" : "kickOffBarrier" },
  42.  
  43. /* 4 */ { "x" : 1150, "y" : 337, "trait" : "line", "color" : "b3d4a7" },
  44. /* 5 */ { "x" : 840, "y" : 337, "trait" : "line", "color" : "b3d4a7" },
  45. /* 6 */ { "x" : 1150, "y" : -337, "trait" : "line", "color" : "b3d4a7" },
  46. /* 7 */ { "x" : 840, "y" : -337, "trait" : "line", "color" : "b3d4a7" },
  47. /* 8 */ { "x" : 1150, "y" : 198, "trait" : "line", "color" : "b3d4a7" },
  48. /* 9 */ { "x" : 1031, "y" : 198, "trait" : "line", "color" : "b3d4a7" },
  49. /* 10 */ { "x" : 1150, "y" : -198, "trait" : "line", "color" : "b3d4a7" },
  50. /* 11 */ { "x" : 1029, "y" : -198, "trait" : "line", "color" : "b3d4a7" },
  51. /* 12 */ { "x" : 840, "y" : -170, "trait" : "line", "curve" : -110, "color" : "b3d4a7" },
  52. /* 13 */ { "x" : 840, "y" : 170, "trait" : "line", "curve" : -110, "color" : "b3d4a7" },
  53. /* 14 */ { "x" : -1150, "y" : -337, "trait" : "line", "color" : "b3d4a7" },
  54. /* 15 */ { "x" : -840, "y" : -337, "trait" : "line", "color" : "b3d4a7" },
  55. /* 16 */ { "x" : -1150, "y" : 337, "trait" : "line", "color" : "b3d4a7" },
  56. /* 17 */ { "x" : -840, "y" : 337, "trait" : "line", "color" : "b3d4a7" },
  57. /* 18 */ { "x" : -1150, "y" : -198, "trait" : "line", "color" : "b3d4a7" },
  58. /* 19 */ { "x" : -1030, "y" : -198, "trait" : "line", "color" : "b3d4a7" },
  59. /* 20 */ { "x" : -1150, "y" : 198, "trait" : "line", "color" : "b3d4a7" },
  60. /* 21 */ { "x" : -1030, "y" : 198, "trait" : "line", "color" : "b3d4a7" },
  61. /* 22 */ { "x" : -840, "y" : 170, "trait" : "line", "curve" : -110, "color" : "b3d4a7" },
  62. /* 23 */ { "x" : -840, "y" : -170, "trait" : "line", "curve" : -110, "color" : "b3d4a7" },
  63. /* 24 */ { "x" : 935, "y" : 4, "trait" : "line", "color" : "a7cf9b" },
  64. /* 25 */ { "x" : 935, "y" : -4, "trait" : "line", "color" : "a7cf9b" },
  65. /* 26 */ { "x" : -935, "y" : 4, "trait" : "line", "color" : "a7cf9b" },
  66. /* 27 */ { "x" : -935, "y" : -4, "trait" : "line", "color" : "a7cf9b" },
  67. /* 28 */ { "x" : -1150, "y" : 574, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7" },
  68. /* 29 */ { "x" : -1125, "y" : 599, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7" },
  69. /* 30 */ { "x" : -1125, "y" : -600, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7" },
  70. /* 31 */ { "x" : -1150, "y" : -575, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7" },
  71. /* 32 */ { "x" : 1124, "y" : 600, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7" },
  72. /* 33 */ { "x" : 1150, "y" : 574, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7" },
  73. /* 34 */ { "x" : 1150, "y" : -574, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7" },
  74. /* 35 */ { "x" : 1124, "y" : -600, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "b3d4a7" },
  75. /* 36 */ { "x" : 0, "y" : -4, "trait" : "line", "color" : "b3d4a7" },
  76. /* 37 */ { "x" : 0, "y" : 4, "trait" : "line", "color" : "b3d4a7" },
  77. /* 38 */ { "x" : 0, "y" : -4, "trait" : "line", "color" : "b3d4a7" },
  78. /* 39 */ { "x" : 0, "y" : 4, "trait" : "line", "color" : "b3d4a7" },
  79. /* 40 */ { "x" : -1170, "y" : 150, "bCoef" : -4.5, "cMask" : ["ball" ], "trait" : "line", "curve" : 40, "color" : "576C46" },
  80. /* 41 */ { "x" : -1170, "y" : 250, "bCoef" : -4.5, "cMask" : ["ball" ], "trait" : "line", "curve" : 40, "color" : "576C46" },
  81. /* 42 */ { "x" : 1170, "y" : 150, "bCoef" : -4.5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  82. /* 43 */ { "x" : 1170, "y" : 250, "bCoef" : -4.5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  83. /* 44 */ { "x" : -1170, "y" : -150, "bCoef" : -4.5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  84. /* 45 */ { "x" : -1170, "y" : -250, "bCoef" : -4.5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  85. /* 46 */ { "x" : 1170, "y" : -150, "bCoef" : -4.5, "cMask" : ["ball" ], "trait" : "line", "curve" : 40, "color" : "576C46" },
  86. /* 47 */ { "x" : 1170, "y" : -250, "bCoef" : -4.5, "cMask" : ["ball" ], "trait" : "line", "curve" : 40, "color" : "576C46" },
  87. /* 48 */ { "x" : 1161, "y" : -599, "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line", "curve" : -60, "color" : "576C46" },
  88. /* 49 */ { "x" : 1189, "y" : -579, "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line", "curve" : -60, "color" : "576C46" },
  89. /* 50 */ { "x" : 1161, "y" : 599, "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line", "curve" : 60, "color" : "576C46" },
  90. /* 51 */ { "x" : 1189, "y" : 579, "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line", "curve" : 60, "color" : "576C46" },
  91. /* 52 */ { "x" : -1162, "y" : 599, "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line", "curve" : -60, "color" : "576C46" },
  92. /* 53 */ { "x" : -1190, "y" : 579, "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line", "curve" : -60, "color" : "576C46" },
  93. /* 54 */ { "x" : -1162, "y" : -600, "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line", "curve" : 60, "color" : "576C46" },
  94. /* 55 */ { "x" : -1190, "y" : -580, "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line", "curve" : 60, "color" : "576C46" },
  95.  
  96. /* 56 */ { "x" : -1177, "y" : -250, "bCoef" : 0, "cMask" : ["ball" ] },
  97. /* 57 */ { "x" : -1177, "y" : -150, "cMask" : ["ball" ] },
  98.  
  99. /* 58 */ { "x" : -1170, "y" : 250, "bCoef" : -5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  100.  
  101. /* 59 */ { "x" : -1177, "y" : 250, "bCoef" : 0, "cMask" : ["ball" ] },
  102.  
  103. /* 60 */ { "x" : -1170, "y" : 150, "bCoef" : -5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  104.  
  105. /* 61 */ { "x" : -1177, "y" : 150, "cMask" : ["ball" ] },
  106. /* 62 */ { "x" : 1177, "y" : -250, "bCoef" : 0, "cMask" : ["ball" ] },
  107. /* 63 */ { "x" : 1177, "y" : -150, "cMask" : ["ball" ] },
  108.  
  109. /* 64 */ { "x" : 1170, "y" : -150, "bCoef" : -5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  110. /* 65 */ { "x" : 1170, "y" : -250, "bCoef" : -5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  111.  
  112. /* 66 */ { "x" : 1177, "y" : 250, "bCoef" : 0, "cMask" : ["ball" ] },
  113. /* 67 */ { "x" : 1177, "y" : 150, "cMask" : ["ball" ] },
  114.  
  115. /* 68 */ { "x" : 1170, "y" : 250, "bCoef" : -5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  116. /* 69 */ { "x" : 1170, "y" : 150, "bCoef" : -5, "cMask" : ["ball" ], "trait" : "line", "curve" : -40, "color" : "576C46" },
  117.  
  118. /* 70 */ { "x" : 0, "y" : 180, "cMask" : ["red" ], "cGroup" : ["blueKO" ], "trait" : "kickOffBarrier", "color" : "b3d4a7", "vis" : true, "curve" : -180 },
  119. /* 71 */ { "x" : 0, "y" : -180, "cMask" : ["red" ], "cGroup" : ["blueKO" ], "trait" : "kickOffBarrier", "color" : "b3d4a7", "vis" : true, "curve" : -180 },
  120. /* 72 */ { "x" : 0, "y" : -180, "cMask" : ["red","blue" ], "cGroup" : ["redKO","blueKO" ], "trait" : "kickOffBarrier", "color" : "C7E6BD", "vis" : true, "curve" : 0 },
  121. /* 73 */ { "x" : 0, "y" : 180, "cMask" : ["red" ], "cGroup" : ["blueKO" ], "trait" : "kickOffBarrier", "color" : "b3d4a7", "vis" : true, "curve" : 0 },
  122. /* 74 */ { "x" : 0, "y" : -180, "cMask" : ["red" ], "cGroup" : ["blueKO" ], "trait" : "kickOffBarrier", "color" : "b3d4a7", "vis" : true, "curve" : 0 },
  123. /* 75 */ { "x" : 0, "y" : 180, "trait" : "kickOffBarrier", "color" : "C7E6BD", "vis" : true, "curve" : 0 },
  124. /* 76 */ { "x" : 0, "y" : 180, "cMask" : ["red" ], "cGroup" : ["blueKO" ], "trait" : "kickOffBarrier", "color" : "C7E6BD", "vis" : true, "curve" : 0 },
  125. /* 77 */ { "x" : 0, "y" : -180, "cMask" : ["red" ], "cGroup" : ["blueKO" ], "trait" : "kickOffBarrier", "color" : "C7E6BD", "vis" : true, "curve" : 0 },
  126.  
  127. /* 78 */ { "x" : -818, "y" : -600, "trait" : "line", "curve" : 90, "color" : "638750" },
  128. /* 79 */ { "x" : -1150, "y" : -347, "trait" : "line", "curve" : 90, "color" : "638750" },
  129. /* 80 */ { "x" : -1150, "y" : 347, "trait" : "line", "color" : "638750" },
  130. /* 81 */ { "x" : -820, "y" : 600, "trait" : "line", "color" : "638750" },
  131. /* 82 */ { "x" : 820, "y" : 600, "trait" : "line", "color" : "638750" },
  132. /* 83 */ { "x" : 1150, "y" : 347, "trait" : "line", "color" : "638750" },
  133. /* 84 */ { "x" : 820, "y" : -600, "trait" : "line", "curve" : -90, "color" : "638750" },
  134. /* 85 */ { "x" : 1150, "y" : -347, "trait" : "line", "curve" : -90, "color" : "638750" },
  135. /* 86 */ { "x" : 1150, "y" : -475, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "638750" },
  136. /* 87 */ { "x" : -1150, "y" : -475, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "638750" },
  137. /* 88 */ { "x" : 1150, "y" : 475, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "638750" },
  138. /* 89 */ { "x" : -1150, "y" : 475, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "638750" },
  139. /* 90 */ { "x" : -1150, "y" : -600, "trait" : "line", "color" : "b3d4a7" },
  140. /* 91 */ { "x" : -1150, "y" : 600, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "FFFF00" },
  141. /* 92 */ { "x" : 1150, "y" : 600, "trait" : "line", "color" : "b3d4a7" },
  142. /* 93 */ { "x" : 1150, "y" : -600, "trait" : "line", "color" : "b3d4a7" },
  143.  
  144. /* 94 */ { "x" : -1416, "y" : -475, "bCoef" : 0, "cMask" : ["blue" ] },
  145. /* 95 */ { "x" : -1300, "y" : -475, "bCoef" : 0, "cMask" : ["blue" ] },
  146. /* 96 */ { "x" : -1300, "y" : 475, "bCoef" : 0, "cMask" : ["blue" ] },
  147. /* 97 */ { "x" : -1416, "y" : 475, "bCoef" : 0, "cMask" : ["blue" ] },
  148.  
  149. /* 98 */ { "x" : -1414, "y" : -475, "trait" : "kickOffBarrier" },
  150. /* 99 */ { "x" : -1300, "y" : -475, "trait" : "kickOffBarrier" },
  151. /* 100 */ { "x" : -1300, "y" : 475, "trait" : "kickOffBarrier" },
  152. /* 101 */ { "x" : -1416, "y" : 475, "trait" : "kickOffBarrier" },
  153.  
  154. /* 102 */ { "x" : -1356, "y" : -76, "bCoef" : 0, "cMask" : ["blue" ], "color" : "6666FF" },
  155. /* 103 */ { "x" : -1356, "y" : 84, "bCoef" : 0, "cMask" : ["blue" ], "color" : "6666FF" },
  156. /* 104 */ { "x" : -1361, "y" : -76, "bCoef" : 0, "cMask" : ["blue" ] },
  157. /* 105 */ { "x" : -1351, "y" : -76, "bCoef" : 0, "cMask" : ["blue" ] },
  158. /* 106 */ { "x" : -1361, "y" : 84, "bCoef" : 0, "cMask" : ["blue" ] },
  159. /* 107 */ { "x" : -1351, "y" : 84, "bCoef" : 0, "cMask" : ["blue" ] },
  160. /* 108 */ { "x" : -1410, "y" : -76, "bCoef" : 0, "cMask" : ["red" ] },
  161. /* 109 */ { "x" : -1410, "y" : 84, "bCoef" : 0, "cMask" : ["red" ] },
  162. /* 110 */ { "x" : 1400, "y" : -475, "bCoef" : 0, "cMask" : ["red" ], "dist" : -1400 },
  163. /* 111 */ { "x" : 1300, "y" : -475, "bCoef" : 0, "cMask" : ["red" ] },
  164. /* 112 */ { "x" : 1300, "y" : 475, "bCoef" : 0, "cMask" : ["red" ] },
  165. /* 113 */ { "x" : 1400, "y" : 475, "bCoef" : 0, "cMask" : ["red" ], "dist" : -1400 },
  166.  
  167. /* 114 */ { "x" : 1400, "y" : -475, "trait" : "kickOffBarrier", "dist" : -1400 },
  168. /* 115 */ { "x" : 1300, "y" : -475, "trait" : "kickOffBarrier" },
  169. /* 116 */ { "x" : 1300, "y" : 475, "trait" : "kickOffBarrier" },
  170. /* 117 */ { "x" : 1400, "y" : 475, "trait" : "kickOffBarrier", "dist" : -1400 },
  171.  
  172. /* 118 */ { "x" : 1345, "y" : -82, "bCoef" : 0, "cMask" : ["red" ], "color" : "FF6666" },
  173. /* 119 */ { "x" : 1345, "y" : 78, "bCoef" : 0, "cMask" : ["red" ], "color" : "FF6666" },
  174. /* 120 */ { "x" : 1350, "y" : -82, "bCoef" : 0, "cMask" : ["red" ] },
  175. /* 121 */ { "x" : 1340, "y" : -82, "bCoef" : 0, "cMask" : ["red" ] },
  176. /* 122 */ { "x" : 1350, "y" : 78, "bCoef" : 0, "cMask" : ["red" ] },
  177. /* 123 */ { "x" : 1340, "y" : 78, "bCoef" : 0, "cMask" : ["red" ] },
  178. /* 124 */ { "x" : 1410, "y" : -82, "bCoef" : 0, "cMask" : ["blue" ] },
  179. /* 125 */ { "x" : 1410, "y" : 78, "bCoef" : 0, "cMask" : ["blue" ] },
  180.  
  181. /* 126 */ { "x" : 1150, "y" : -120.92552225676228, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7", "curve" : 0 },
  182. /* 127 */ { "x" : 1212.8375029631984, "y" : -120.92552225676228, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  183. /* 128 */ { "x" : 1150.1431278225696, "y" : 116.05779951814779, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  184. /* 129 */ { "x" : 1212.9145962189946, "y" : 116.05779951814779, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  185.  
  186. /* 130 */ { "x" : 1150, "y" : 116.05779951814779, "bCoef" : 0, "cMask" : ["wall" ], "curve" : 0, "color" : "b3d4a7" },
  187. /* 131 */ { "x" : 1259, "y" : -148.867722739, "bCoef" : 0, "cMask" : ["wall" ], "color" : "ffffff" },
  188. /* 132 */ { "x" : 1259.5, "y" : 144, "bCoef" : 0, "cMask" : ["wall" ], "color" : "ffffff" },
  189.  
  190. /* 133 */ { "x" : 1213.8375029631984, "y" : -118.92552225676228, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "708a5a", "curve" : 0 },
  191.  
  192. /* 134 */ { "x" : 1260, "y" : -146.867722739, "bCoef" : 0, "cMask" : ["wall" ], "color" : "708a5a" },
  193.  
  194. /* 135 */ { "x" : 1211.8375029631984, "y" : -122.92552225676228, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "708a5a", "curve" : 0 },
  195.  
  196. /* 136 */ { "x" : 1258, "y" : -150.867722739, "bCoef" : 0, "cMask" : ["wall" ], "color" : "708a5a" },
  197.  
  198. /* 137 */ { "x" : 1214.9145962189946, "y" : 114.05779951814779, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "708a5a", "curve" : 0 },
  199.  
  200. /* 138 */ { "x" : 1261.5, "y" : 142, "bCoef" : 0, "cMask" : ["wall" ], "color" : "708a5a" },
  201.  
  202. /* 139 */ { "x" : 1213.9145962189946, "y" : 119.05779951814779, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "708a5a", "curve" : 0 },
  203.  
  204. /* 140 */ { "x" : 1260.5, "y" : 147, "bCoef" : 0, "cMask" : ["wall" ], "color" : "708a5a" },
  205.  
  206. /* 141 */ { "x" : 1150, "y" : -120, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "C7E6BD", "curve" : 0 },
  207. /* 142 */ { "x" : 1213, "y" : -120, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  208. /* 143 */ { "x" : 1150, "y" : 116, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  209. /* 144 */ { "x" : 1213, "y" : 116, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  210. /* 145 */ { "x" : -1150, "y" : 118.00879788978456, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "b3d4a7", "curve" : 0 },
  211. /* 146 */ { "x" : -1213.3215131279903, "y" : 117.74394897515494, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  212. /* 147 */ { "x" : -1149.628852252629, "y" : -118.97302216202547, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  213. /* 148 */ { "x" : -1212.3997630875529, "y" : -119.23759275268432, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  214.  
  215. /* 149 */ { "x" : -1150, "y" : -118.97241890367377, "bCoef" : 0, "cMask" : ["wall" ], "curve" : 0, "color" : "b3d4a7" },
  216. /* 150 */ { "x" : -1259.6013715431845, "y" : 145.49133453725509, "bCoef" : 0, "cMask" : ["wall" ], "color" : "ffffff" },
  217. /* 151 */ { "x" : -1258.866981665902, "y" : -147.37589424369935, "bCoef" : 0, "cMask" : ["wall" ], "color" : "ffffff" },
  218.  
  219. /* 152 */ { "x" : -1214.3130746008003, "y" : 115.73975191756831, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "708a5a", "curve" : 0 },
  220.  
  221. /* 153 */ { "x" : -1260.5929330159947, "y" : 143.48713747966846, "bCoef" : 0, "cMask" : ["wall" ], "color" : "708a5a" },
  222.  
  223. /* 154 */ { "x" : -1212.3299516551804, "y" : 119.74814603274154, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "708a5a", "curve" : 0 },
  224.  
  225. /* 155 */ { "x" : -1258.6098100703748, "y" : 147.4955315948417, "bCoef" : 0, "cMask" : ["wall" ], "color" : "708a5a" },
  226.  
  227. /* 156 */ { "x" : -1214.4081749675327, "y" : -117.24604016227767, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "708a5a", "curve" : 0 },
  228.  
  229. /* 157 */ { "x" : -1260.8753935458817, "y" : -145.3843416532927, "bCoef" : 0, "cMask" : ["wall" ], "color" : "708a5a" },
  230.  
  231. /* 158 */ { "x" : -1213.3871097379695, "y" : -122.24178092786758, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "708a5a", "curve" : 0 },
  232.  
  233. /* 159 */ { "x" : -1259.8543283163185, "y" : -150.3800824188826, "bCoef" : 0, "cMask" : ["wall" ], "color" : "708a5a" },
  234.  
  235. /* 160 */ { "x" : -1150.4806674009055, "y" : 117.08328385388425, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "C7E6BD", "curve" : 0 },
  236. /* 161 */ { "x" : -1213.4801078094943, "y" : 116.81775004310506, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  237. /* 162 */ { "x" : -1149.485969316082, "y" : -118.91461989892463, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  238. /* 163 */ { "x" : -1212.4854097246707, "y" : -119.1801537097038, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "ffffff", "curve" : 0 },
  239.  
  240. /* 164 */ { "x" : 80.06046236735585, "y" : 736 },
  241. /* 165 */ { "x" : 80.06046236735585, "y" : 724 },
  242.  
  243. /* 166 */ { "x" : -1150, "y" : -602, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag", "curve" : 0, "color" : "D7D7D9" },
  244. /* 167 */ { "x" : -1150, "y" : -620.49609375, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag", "curve" : 0, "color" : "D7D7D9" },
  245.  
  246. /* 168 */ { "x" : -1148, "y" : -620.49609375, "bCoef" : 0, "cMask" : ["wall" ] },
  247. /* 169 */ { "x" : -1148, "y" : -602, "bCoef" : 0, "cMask" : ["wall" ] },
  248.  
  249. /* 170 */ { "x" : -1159, "y" : -624, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "DEFE2E", "_selected" : true },
  250.  
  251. /* 171 */ { "x" : -1149, "y" : -624, "bCoef" : 0, "cMask" : ["wall" ], "color" : "FA2E49", "_selected" : true },
  252.  
  253. /* 172 */ { "x" : -1168, "y" : -624, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "DEFE2E", "_selected" : true },
  254. /* 173 */ { "x" : -1159, "y" : -620.3999938964844, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "DEFE2E", "_selected" : true },
  255.  
  256. /* 174 */ { "x" : -1168, "y" : -620.3999938964844, "bCoef" : 0, "cMask" : ["wall" ], "color" : "FA2E49", "_selected" : true },
  257.  
  258. /* 175 */ { "x" : -1149, "y" : -620.3999938964844, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "DEFE2E", "_selected" : true },
  259.  
  260. /* 176 */ { "x" : -70, "y" : 667, "color" : "ffffff" },
  261. /* 177 */ { "x" : -90, "y" : 667, "color" : "ffffff" },
  262. /* 178 */ { "x" : -70, "y" : 687, "color" : "ffffff" },
  263. /* 179 */ { "x" : -110, "y" : 667 },
  264. /* 180 */ { "x" : -130, "y" : 667 },
  265. /* 181 */ { "x" : -150, "y" : 667 },
  266. /* 182 */ { "x" : -170, "y" : 667 },
  267. /* 183 */ { "x" : -190, "y" : 667 },
  268. /* 184 */ { "x" : -210, "y" : 667 },
  269. /* 185 */ { "x" : -230, "y" : 667 },
  270. /* 186 */ { "x" : -250, "y" : 667 },
  271. /* 187 */ { "x" : -287.01500879340676, "y" : 667, "color" : "ffffff" },
  272. /* 188 */ { "x" : -286.93953763264415, "y" : 687, "color" : "ffffff" },
  273. /* 189 */ { "x" : -270, "y" : 667, "color" : "ffffff" },
  274. /* 190 */ { "x" : -286.93953763264415, "y" : 736 },
  275. /* 191 */ { "x" : -286.93953763264415, "y" : 724 },
  276. /* 192 */ { "x" : -286.93953763264415, "y" : 710 },
  277. /* 193 */ { "x" : -286.93953763264415, "y" : 698 },
  278. /* 194 */ { "x" : -70, "y" : 734.04149391746 },
  279. /* 195 */ { "x" : -70, "y" : 722.0417049239776 },
  280. /* 196 */ { "x" : -70, "y" : 710 },
  281. /* 197 */ { "x" : -70, "y" : 698 },
  282. /* 198 */ { "x" : 297, "y" : 667, "color" : "ffffff" },
  283. /* 199 */ { "x" : 277, "y" : 667, "color" : "ffffff" },
  284. /* 200 */ { "x" : 297, "y" : 687, "color" : "ffffff" },
  285. /* 201 */ { "x" : 257, "y" : 667 },
  286. /* 202 */ { "x" : 237, "y" : 667 },
  287. /* 203 */ { "x" : 217, "y" : 667 },
  288. /* 204 */ { "x" : 197, "y" : 667 },
  289. /* 205 */ { "x" : 177, "y" : 667 },
  290. /* 206 */ { "x" : 157, "y" : 667 },
  291. /* 207 */ { "x" : 137, "y" : 667 },
  292. /* 208 */ { "x" : 117, "y" : 667 },
  293. /* 209 */ { "x" : 79.98499120659324, "y" : 667, "color" : "ffffff" },
  294. /* 210 */ { "x" : 80.06046236735585, "y" : 687, "color" : "ffffff" },
  295. /* 211 */ { "x" : 97, "y" : 667, "color" : "ffffff" },
  296. /* 212 */ { "x" : 80.06046236735585, "y" : 736 },
  297. /* 213 */ { "x" : 80.06046236735585, "y" : 724 },
  298. /* 214 */ { "x" : 80.06046236735585, "y" : 710 },
  299. /* 215 */ { "x" : 80.06046236735585, "y" : 698 },
  300. /* 216 */ { "x" : 297, "y" : 734.04149391746 },
  301. /* 217 */ { "x" : 297, "y" : 722.0417049239776 },
  302. /* 218 */ { "x" : 297, "y" : 710 },
  303. /* 219 */ { "x" : 297, "y" : 698 },
  304.  
  305. /* 220 */ { "x" : 1149.968665547433, "y" : -618.9686646206542, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag", "curve" : 0, "color" : "D7D7D9" },
  306. /* 221 */ { "x" : 1150.0694602019682, "y" : -600.4728455134504, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag", "curve" : 0, "color" : "D7D7D9" },
  307.  
  308. /* 222 */ { "x" : 1148.069489899352, "y" : -600.4619464927276, "bCoef" : 0, "cMask" : ["wall" ] },
  309. /* 223 */ { "x" : 1147.9686952448167, "y" : -618.9577655999315, "bCoef" : 0, "cMask" : ["wall" ] },
  310.  
  311. /* 224 */ { "x" : 1158, "y" : -623, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "DEFE2E" },
  312.  
  313. /* 225 */ { "x" : 1168, "y" : -623, "bCoef" : 0, "cMask" : ["wall" ], "color" : "FA2E49" },
  314.  
  315. /* 226 */ { "x" : 1149, "y" : -623, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "DEFE2E" },
  316. /* 227 */ { "x" : 1158, "y" : -619.3999938964844, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "DEFE2E" },
  317.  
  318. /* 228 */ { "x" : 1149, "y" : -619.3999938964844, "bCoef" : 0, "cMask" : ["wall" ], "color" : "FA2E49" },
  319.  
  320. /* 229 */ { "x" : 1168, "y" : -619.3999938964844, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "DEFE2E" },
  321.  
  322. /* 230 */ { "x" : 1149.7396826762401, "y" : 597.9263578863065, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag", "curve" : 0, "color" : "D7D7D9" },
  323. /* 231 */ { "x" : 1153.08526210564, "y" : 579.1424902194007, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag", "curve" : 0, "color" : "D7D7D9" },
  324.  
  325. /* 232 */ { "x" : 1155.0010783610655, "y" : 579.7166400913391, "bCoef" : 0, "cMask" : ["wall" ] },
  326. /* 233 */ { "x" : 1151.7040246689874, "y" : 598.3023373212908, "bCoef" : 0, "cMask" : ["wall" ] },
  327.  
  328. /* 234 */ { "x" : 1161.6678517948505, "y" : 578.0712784773244, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "DEFE2E" },
  329.  
  330. /* 235 */ { "x" : 1171.2713154212654, "y" : 580.8593757453787, "bCoef" : 0, "cMask" : ["wall" ], "color" : "FA2E49" },
  331.  
  332. /* 236 */ { "x" : 1153.0247345310775, "y" : 575.5619909360759, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "DEFE2E" },
  333. /* 237 */ { "x" : 1160.6641350766317, "y" : 581.528531244323, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "DEFE2E" },
  334.  
  335. /* 238 */ { "x" : 1152.0210178128586, "y" : 579.0192437030742, "bCoef" : 0, "cMask" : ["wall" ], "color" : "FA2E49" },
  336.  
  337. /* 239 */ { "x" : 1170.2675987030466, "y" : 584.316628512377, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "DEFE2E" },
  338.  
  339. /* 240 */ { "x" : -1152.8011166944932, "y" : 581.2713204942369, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag", "curve" : 0, "color" : "D7D7D9" },
  340. /* 241 */ { "x" : -1150.0489225384003, "y" : 599.5615066971152, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag", "curve" : 0, "color" : "D7D7D9" },
  341.  
  342. /* 242 */ { "x" : -1152.026657561816, "y" : 599.8591040377528, "bCoef" : 0, "cMask" : ["wall" ] },
  343. /* 243 */ { "x" : -1154.7788517179088, "y" : 581.5689178348746, "bCoef" : 0, "cMask" : ["wall" ] },
  344.  
  345. /* 244 */ { "x" : -1162.170956870286, "y" : 578.11573185304, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "DEFE2E" },
  346.  
  347. /* 245 */ { "x" : -1152.4133863896525, "y" : 575.9271664975008, "bCoef" : 0, "cMask" : ["wall" ], "color" : "FA2E49" },
  348.  
  349. /* 246 */ { "x" : -1170.9527703028564, "y" : 580.085440673025, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "DEFE2E" },
  350. /* 247 */ { "x" : -1161.383072006498, "y" : 581.6284631816164, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "curve" : 0, "color" : "DEFE2E" },
  351.  
  352. /* 248 */ { "x" : -1170.1648854390683, "y" : 583.5981720016015, "bCoef" : 0, "cMask" : ["wall" ], "color" : "FA2E49" },
  353.  
  354. /* 249 */ { "x" : -1151.6255015258641, "y" : 579.4398978260773, "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "color" : "DEFE2E" }
  355.  
  356. ],
  357.  
  358. "segments" : [
  359. { "v0" : 0, "v1" : 1, "trait" : "kickOffBarrier" },
  360. { "v0" : 2, "v1" : 3, "trait" : "kickOffBarrier" },
  361.  
  362. { "v0" : 4, "v1" : 5, "color" : "b3d4a7", "trait" : "line", "y" : 250 },
  363. { "v0" : 5, "v1" : 7, "color" : "b3d4a7", "trait" : "line", "x" : 840 },
  364. { "v0" : 6, "v1" : 7, "color" : "b3d4a7", "trait" : "line", "y" : -250 },
  365. { "v0" : 8, "v1" : 9, "color" : "b3d4a7", "trait" : "line", "y" : 195 },
  366. { "v0" : 9, "v1" : 11, "color" : "b3d4a7", "trait" : "line", "x" : 1030 },
  367. { "v0" : 10, "v1" : 11, "color" : "b3d4a7", "trait" : "line", "y" : -150 },
  368. { "v0" : 12, "v1" : 13, "curve" : -110, "color" : "b3d4a7", "trait" : "line", "x" : 840 },
  369. { "v0" : 14, "v1" : 15, "color" : "b3d4a7", "trait" : "line", "y" : -337 },
  370. { "v0" : 15, "v1" : 17, "color" : "b3d4a7", "trait" : "line", "x" : -840 },
  371. { "v0" : 16, "v1" : 17, "color" : "b3d4a7", "trait" : "line", "y" : 250 },
  372. { "v0" : 18, "v1" : 19, "color" : "b3d4a7", "trait" : "line", "y" : -150 },
  373. { "v0" : 19, "v1" : 21, "color" : "b3d4a7", "trait" : "line", "x" : -1030 },
  374. { "v0" : 20, "v1" : 21, "color" : "b3d4a7", "trait" : "line", "y" : 150 },
  375. { "v0" : 22, "v1" : 23, "curve" : -110, "color" : "b3d4a7", "trait" : "line", "x" : -840 },
  376. { "v0" : 24, "v1" : 25, "curve" : -180, "color" : "a7cf9b", "trait" : "line", "x" : 935 },
  377. { "v0" : 26, "v1" : 27, "curve" : -180, "color" : "a7cf9b", "trait" : "line", "x" : -935 },
  378. { "v0" : 24, "v1" : 25, "curve" : 180, "color" : "a7cf9b", "trait" : "line", "x" : 935 },
  379. { "v0" : 26, "v1" : 27, "curve" : 180, "color" : "a7cf9b", "trait" : "line", "x" : -935 },
  380. { "v0" : 24, "v1" : 25, "curve" : 90, "color" : "a7cf9b", "trait" : "line", "x" : 935 },
  381. { "v0" : 26, "v1" : 27, "curve" : 90, "color" : "a7cf9b", "trait" : "line", "x" : -935 },
  382. { "v0" : 24, "v1" : 25, "curve" : -90, "color" : "a7cf9b", "trait" : "line", "x" : 935 },
  383. { "v0" : 26, "v1" : 27, "curve" : -90, "color" : "a7cf9b", "trait" : "line", "x" : -935 },
  384. { "v0" : 24, "v1" : 25, "color" : "a7cf9b", "trait" : "line", "x" : 935 },
  385. { "v0" : 26, "v1" : 27, "color" : "a7cf9b", "trait" : "line", "x" : -935 },
  386. { "v0" : 28, "v1" : 29, "curve" : 90, "color" : "b3d4a7", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  387. { "v0" : 30, "v1" : 31, "curve" : 90, "color" : "b3d4a7", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  388. { "v0" : 32, "v1" : 33, "curve" : 90, "color" : "b3d4a7", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  389. { "v0" : 34, "v1" : 35, "curve" : 90, "color" : "b3d4a7", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  390. { "v0" : 36, "v1" : 37, "curve" : -180, "color" : "b3d4a7", "trait" : "line" },
  391. { "v0" : 38, "v1" : 39, "curve" : 180, "color" : "b3d4a7", "trait" : "line" },
  392. { "v0" : 36, "v1" : 37, "curve" : -90, "color" : "b3d4a7", "trait" : "line" },
  393. { "v0" : 38, "v1" : 39, "curve" : 90, "color" : "b3d4a7", "trait" : "line" },
  394. { "v0" : 40, "v1" : 41, "curve" : 40, "vis" : true, "color" : "576C46", "bCoef" : -4.7, "cMask" : ["ball" ], "trait" : "line", "x" : -1220 },
  395. { "v0" : 42, "v1" : 43, "curve" : -40, "vis" : true, "color" : "576C46", "bCoef" : -4.7, "cMask" : ["ball" ], "trait" : "line", "x" : 1220 },
  396. { "v0" : 44, "v1" : 45, "curve" : -40, "vis" : true, "color" : "576C46", "bCoef" : -4.7, "cMask" : ["ball" ], "trait" : "line", "x" : -1220 },
  397. { "v0" : 46, "v1" : 47, "curve" : 40, "vis" : true, "color" : "576C46", "bCoef" : -4.7, "cMask" : ["ball" ], "trait" : "line", "x" : 1220 },
  398. { "v0" : 48, "v1" : 49, "curve" : -60, "vis" : true, "color" : "576C46", "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line" },
  399. { "v0" : 50, "v1" : 51, "curve" : 60, "vis" : true, "color" : "576C46", "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line" },
  400. { "v0" : 52, "v1" : 53, "curve" : -60, "vis" : true, "color" : "576C46", "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line" },
  401. { "v0" : 54, "v1" : 55, "curve" : 60, "vis" : true, "color" : "576C46", "bCoef" : -2.45, "cMask" : ["ball" ], "trait" : "line" },
  402.  
  403. { "v0" : 45, "v1" : 56, "vis" : true, "bCoef" : 0, "cMask" : ["ball" ] },
  404. { "v0" : 44, "v1" : 57, "vis" : true, "cMask" : ["ball" ] },
  405. { "v0" : 61, "v1" : 60, "vis" : true, "cMask" : ["ball" ] },
  406. { "v0" : 59, "v1" : 58, "vis" : true, "cMask" : ["ball" ] },
  407. { "v0" : 67, "v1" : 69, "vis" : true, "color" : "000000", "cMask" : ["ball" ] },
  408. { "v0" : 66, "v1" : 68, "vis" : true, "color" : "000000", "cMask" : ["ball" ] },
  409. { "v0" : 62, "v1" : 65, "vis" : true, "color" : "000000", "cMask" : ["ball" ] },
  410. { "v0" : 63, "v1" : 64, "vis" : true, "color" : "000000", "cMask" : ["ball" ] },
  411.  
  412. { "v0" : 70, "v1" : 71, "curve" : 180, "vis" : true, "color" : "b3d4a7", "cGroup" : ["blueKO" ], "trait" : "kickOffBarrier", "x" : 0 },
  413. { "v0" : 70, "v1" : 71, "curve" : -180, "vis" : true, "color" : "b3d4a7", "cGroup" : ["redKO" ], "trait" : "kickOffBarrier", "x" : 0 },
  414. { "v0" : 74, "v1" : 73, "vis" : true, "color" : "b3d4a7", "bCoef" : 0.1, "cMask" : ["red" ], "cGroup" : ["blueKO" ], "trait" : "kickOffBarrier", "x" : 0 },
  415.  
  416. { "v0" : 78, "v1" : 79, "curve" : 90, "vis" : true, "color" : "638750", "trait" : "line" },
  417. { "v0" : 80, "v1" : 81, "curve" : 90, "vis" : true, "color" : "638750", "trait" : "line" },
  418. { "v0" : 82, "v1" : 83, "curve" : 90, "vis" : true, "color" : "638750", "trait" : "line" },
  419. { "v0" : 84, "v1" : 85, "curve" : -90, "vis" : true, "color" : "638750", "trait" : "line" },
  420. { "v0" : 86, "v1" : 87, "curve" : 0, "vis" : true, "color" : "638750", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  421. { "v0" : 88, "v1" : 89, "curve" : 0, "vis" : true, "color" : "638750", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "y" : 475 },
  422. { "v0" : 90, "v1" : 91, "vis" : true, "color" : "b3d4a7", "trait" : "line" },
  423. { "v0" : 91, "v1" : 92, "vis" : true, "color" : "b3d4a7", "trait" : "line", "y" : 600 },
  424. { "v0" : 90, "v1" : 93, "vis" : true, "color" : "b3d4a7", "trait" : "line", "y" : -600 },
  425. { "v0" : 92, "v1" : 93, "vis" : true, "color" : "b3d4a7", "trait" : "line" },
  426.  
  427. { "v0" : 94, "v1" : 95, "vis" : false, "bCoef" : 0, "cMask" : ["blue" ], "y" : -475 },
  428. { "v0" : 95, "v1" : 96, "vis" : false, "bCoef" : 0, "cMask" : ["blue" ], "x" : -1300 },
  429. { "v0" : 96, "v1" : 97, "vis" : false, "bCoef" : 0, "cMask" : ["blue" ], "y" : 475 },
  430.  
  431. { "v0" : 98, "v1" : 99, "trait" : "kickOffBarrier", "y" : -475 },
  432. { "v0" : 100, "v1" : 101, "trait" : "kickOffBarrier", "y" : 475 },
  433.  
  434. { "v0" : 102, "v1" : 103, "color" : "6666FF", "bCoef" : 1000000, "cMask" : ["blue" ] },
  435. { "v0" : 104, "v1" : 105, "vis" : false, "bCoef" : 0, "cMask" : ["blue" ] },
  436. { "v0" : 106, "v1" : 107, "vis" : false, "bCoef" : 0, "cMask" : ["blue" ] },
  437. { "v0" : 108, "v1" : 109, "vis" : false, "bCoef" : 1000000, "cMask" : ["red" ], "x" : -1410 },
  438. { "v0" : 110, "v1" : 111, "vis" : false, "bCoef" : 0, "cMask" : ["red" ], "y" : -475 },
  439. { "v0" : 111, "v1" : 112, "vis" : false, "bCoef" : 0, "cMask" : ["red" ], "x" : 1300 },
  440. { "v0" : 112, "v1" : 113, "vis" : false, "bCoef" : 0, "cMask" : ["red" ], "y" : 475 },
  441.  
  442. { "v0" : 114, "v1" : 115, "trait" : "kickOffBarrier", "y" : -475 },
  443. { "v0" : 116, "v1" : 117, "trait" : "kickOffBarrier", "y" : 475 },
  444.  
  445. { "v0" : 118, "v1" : 119, "color" : "FF6666", "bCoef" : 1000000, "cMask" : ["red" ] },
  446. { "v0" : 120, "v1" : 121, "vis" : false, "bCoef" : 0, "cMask" : ["red" ] },
  447. { "v0" : 122, "v1" : 123, "vis" : false, "bCoef" : 0, "cMask" : ["red" ] },
  448. { "v0" : 124, "v1" : 125, "vis" : false, "bCoef" : 1000000, "cMask" : ["blue" ], "x" : 1410 },
  449. { "v0" : 126, "v1" : 130, "curve" : 0, "vis" : true, "color" : "b3d4a7", "bCoef" : 0, "cMask" : ["wall" ], "x" : 1150 },
  450. { "v0" : 127, "v1" : 131, "curve" : 0, "vis" : true, "color" : "ffffff", "bCoef" : 0, "cMask" : ["wall" ] },
  451. { "v0" : 129, "v1" : 132, "curve" : 0, "vis" : true, "color" : "ffffff", "bCoef" : 0, "cMask" : ["wall" ] },
  452. { "v0" : 133, "v1" : 134, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ] },
  453. { "v0" : 135, "v1" : 136, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ] },
  454. { "v0" : 137, "v1" : 138, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ] },
  455. { "v0" : 139, "v1" : 140, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ] },
  456.  
  457. { "v0" : 142, "v1" : 144, "curve" : 0, "color" : "ffffff", "cMask" : ["ball" ], "trait" : "reargoalNetleft", "x" : -242 },
  458.  
  459. { "v0" : 141, "v1" : 142, "curve" : 0, "color" : "ffffff", "cMask" : ["ball" ], "trait" : "sidegoalNet" },
  460. { "v0" : 143, "v1" : 144, "curve" : 0, "color" : "ffffff", "cMask" : ["ball" ], "trait" : "sidegoalNet" },
  461.  
  462. { "v0" : 145, "v1" : 149, "curve" : 0, "vis" : true, "color" : "b3d4a7", "bCoef" : 0, "cMask" : ["wall" ], "x" : -1150 },
  463. { "v0" : 146, "v1" : 150, "curve" : 0, "vis" : true, "color" : "ffffff", "bCoef" : 0, "cMask" : ["wall" ] },
  464. { "v0" : 148, "v1" : 151, "curve" : 0, "vis" : true, "color" : "ffffff", "bCoef" : 0, "cMask" : ["wall" ] },
  465. { "v0" : 152, "v1" : 153, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ] },
  466. { "v0" : 154, "v1" : 155, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ] },
  467. { "v0" : 156, "v1" : 157, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ] },
  468. { "v0" : 158, "v1" : 159, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ] },
  469.  
  470. { "v0" : 161, "v1" : 163, "curve" : 0, "color" : "ffffff", "cMask" : ["ball" ], "trait" : "reargoalNetleft", "x" : -242 },
  471.  
  472. { "v0" : 160, "v1" : 161, "curve" : 0, "color" : "ffffff", "cMask" : ["ball" ], "trait" : "sidegoalNet" },
  473. { "v0" : 162, "v1" : 163, "curve" : 0, "color" : "ffffff", "cMask" : ["ball" ], "trait" : "sidegoalNet" },
  474.  
  475. { "v0" : 164, "v1" : 165, "color" : "ffffff", "x" : -286.93953763264415 },
  476.  
  477. { "v0" : 166, "v1" : 167, "curve" : 0, "vis" : true, "color" : "D7D7D9", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag" },
  478.  
  479. { "v0" : 168, "v1" : 169, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ], "x" : 717 },
  480. { "v0" : 170, "v1" : 171, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "_selected" : true },
  481. { "v0" : 170, "v1" : 171, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "_selected" : true },
  482. { "v0" : 171, "v1" : 171, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "x" : -1148, "_selected" : true },
  483.  
  484. { "v0" : 170, "v1" : 172, "vis" : true, "color" : "DEFE2E", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "_selected" : true },
  485.  
  486. { "v0" : 173, "v1" : 174, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "_selected" : true },
  487. { "v0" : 173, "v1" : 174, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "_selected" : true },
  488. { "v0" : 174, "v1" : 174, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "_selected" : true },
  489.  
  490. { "v0" : 173, "v1" : 175, "vis" : true, "color" : "DEFE2E", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line", "_selected" : true },
  491.  
  492. { "v0" : 176, "v1" : 177, "color" : "ffffff" },
  493. { "v0" : 176, "v1" : 178, "color" : "ffffff", "x" : -70 },
  494. { "v0" : 179, "v1" : 180, "color" : "ffffff", "y" : 667 },
  495. { "v0" : 181, "v1" : 182, "color" : "ffffff", "y" : 667 },
  496. { "v0" : 183, "v1" : 184, "color" : "ffffff", "y" : 667 },
  497. { "v0" : 185, "v1" : 186, "color" : "ffffff", "y" : 667 },
  498. { "v0" : 187, "v1" : 188, "color" : "ffffff" },
  499. { "v0" : 187, "v1" : 189, "color" : "ffffff" },
  500. { "v0" : 190, "v1" : 191, "color" : "ffffff", "x" : -286.93953763264415 },
  501. { "v0" : 192, "v1" : 193, "color" : "ffffff", "x" : -286.93953763264415 },
  502. { "v0" : 194, "v1" : 195, "color" : "ffffff", "x" : -70 },
  503. { "v0" : 196, "v1" : 197, "color" : "ffffff", "x" : -70 },
  504. { "v0" : 198, "v1" : 199, "color" : "ffffff" },
  505. { "v0" : 198, "v1" : 200, "color" : "ffffff", "x" : -70 },
  506. { "v0" : 201, "v1" : 202, "color" : "ffffff", "y" : 667 },
  507. { "v0" : 203, "v1" : 204, "color" : "ffffff", "y" : 667 },
  508. { "v0" : 205, "v1" : 206, "color" : "ffffff", "y" : 667 },
  509. { "v0" : 207, "v1" : 208, "color" : "ffffff", "y" : 667 },
  510. { "v0" : 209, "v1" : 210, "color" : "ffffff" },
  511. { "v0" : 209, "v1" : 211, "color" : "ffffff" },
  512. { "v0" : 214, "v1" : 215, "color" : "ffffff", "x" : -286.93953763264415 },
  513. { "v0" : 216, "v1" : 217, "color" : "ffffff", "x" : -70 },
  514. { "v0" : 218, "v1" : 219, "color" : "ffffff", "x" : -70 },
  515.  
  516. { "v0" : 220, "v1" : 221, "curve" : 0, "vis" : true, "color" : "D7D7D9", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag" },
  517.  
  518. { "v0" : 222, "v1" : 223, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ], "x" : 717 },
  519. { "v0" : 224, "v1" : 225, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  520. { "v0" : 224, "v1" : 225, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  521. { "v0" : 225, "v1" : 225, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "x" : -1148 },
  522.  
  523. { "v0" : 224, "v1" : 226, "vis" : true, "color" : "DEFE2E", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  524.  
  525. { "v0" : 227, "v1" : 228, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  526. { "v0" : 227, "v1" : 228, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  527. { "v0" : 228, "v1" : 228, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  528.  
  529. { "v0" : 227, "v1" : 229, "vis" : true, "color" : "DEFE2E", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  530.  
  531. { "v0" : 230, "v1" : 231, "curve" : 0, "vis" : true, "color" : "D7D7D9", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag" },
  532.  
  533. { "v0" : 232, "v1" : 233, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ], "x" : 717 },
  534. { "v0" : 234, "v1" : 235, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  535. { "v0" : 234, "v1" : 235, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  536. { "v0" : 235, "v1" : 235, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "x" : -1148 },
  537.  
  538. { "v0" : 234, "v1" : 236, "vis" : true, "color" : "DEFE2E", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  539.  
  540. { "v0" : 237, "v1" : 238, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  541. { "v0" : 237, "v1" : 238, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  542. { "v0" : 238, "v1" : 238, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  543.  
  544. { "v0" : 237, "v1" : 239, "vis" : true, "color" : "DEFE2E", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  545.  
  546. { "v0" : 240, "v1" : 241, "curve" : 0, "vis" : true, "color" : "D7D7D9", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "cornerflag" },
  547.  
  548. { "v0" : 242, "v1" : 243, "curve" : 0, "vis" : true, "color" : "708a5a", "bCoef" : 0, "cMask" : ["wall" ], "x" : 717 },
  549. { "v0" : 244, "v1" : 245, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  550. { "v0" : 244, "v1" : 245, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  551. { "v0" : 245, "v1" : 245, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ], "x" : -1148 },
  552.  
  553. { "v0" : 244, "v1" : 246, "vis" : true, "color" : "DEFE2E", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" },
  554.  
  555. { "v0" : 247, "v1" : 248, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  556. { "v0" : 247, "v1" : 248, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  557. { "v0" : 248, "v1" : 248, "curve" : 0, "vis" : true, "color" : "FA2E49", "bCoef" : 0, "cMask" : ["wall" ] },
  558.  
  559. { "v0" : 247, "v1" : 249, "vis" : true, "color" : "DEFE2E", "bCoef" : 0, "cMask" : ["wall" ], "trait" : "line" }
  560.  
  561. ],
  562.  
  563. "goals" : [
  564. { "p0" : [-1160,115 ], "p1" : [-1160,-116.89189189189187 ], "team" : "red" },
  565. { "p0" : [1160,115.16891891891896 ], "p1" : [1160,-117.98923923923925 ], "team" : "blue" }
  566.  
  567. ],
  568.  
  569. "discs" : [
  570. { "radius" : 5, "pos" : [1150,-119 ], "trait" : "goalPost" },
  571. { "radius" : 5, "pos" : [1150,116 ], "trait" : "goalPost" },
  572.  
  573. { "radius" : 3, "invMass" : 0, "pos" : [1260.5,144 ], "color" : "4a4e52" },
  574. { "radius" : 3, "invMass" : 0, "pos" : [1259.5,-148 ], "color" : "4a4e52" },
  575.  
  576. { "radius" : 5, "pos" : [-1150,116.08750755868094 ], "trait" : "goalPost" },
  577. { "radius" : 5, "pos" : [-1150,-118.91461989892463 ], "trait" : "goalPost" },
  578.  
  579. { "radius" : 3, "invMass" : 0, "pos" : [-1259.8669727834986,-147.38010906609267 ], "color" : "4a4e52" },
  580. { "radius" : 3, "invMass" : 0, "pos" : [-1260.0977098047515,144.62151209452182 ], "color" : "4a4e52" },
  581.  
  582. { "radius" : 1.5, "pos" : [-1150.5542972394846,-600.1732586129118 ], "color" : "13181C", "trait" : "cornerflag", "curve" : 0 },
  583. { "radius" : 1.5, "pos" : [1150.4457027605154,-600.1732586129118 ], "color" : "13181C", "trait" : "cornerflag", "curve" : 0 },
  584. { "radius" : 1.5, "pos" : [1148.8518594069587,599.6163281131223 ], "color" : "13181C", "trait" : "cornerflag", "curve" : 0 },
  585. { "radius" : 1.5, "pos" : [-1149.6336058891993,599.8040409312609 ], "color" : "13181C", "trait" : "cornerflag", "curve" : 0 }
  586.  
  587. ],
  588.  
  589. "planes" : [
  590. { "normal" : [0,1 ], "dist" : -625, "bCoef" : 0, "trait" : "ballArea" },
  591. { "normal" : [0,-1 ], "dist" : -625, "bCoef" : 0, "trait" : "ballArea" },
  592.  
  593. { "normal" : [0,1 ], "dist" : -665, "bCoef" : 0 },
  594. { "normal" : [0,-1 ], "dist" : -660, "bCoef" : 0 },
  595. { "normal" : [1,0 ], "dist" : -1220, "bCoef" : 0, "cMask" : ["ball" ] },
  596. { "normal" : [-1,0 ], "dist" : -1220, "bCoef" : 0, "cMask" : ["ball" ] },
  597. { "normal" : [1,0 ], "dist" : -1420, "bCoef" : 0 },
  598. { "normal" : [-1,0 ], "dist" : -1420, "bCoef" : 0 }
  599.  
  600. ],
  601.  
  602. "traits" : {
  603. "ballArea" : { "vis" : false, "bCoef" : 0, "cMask" : ["ball" ] },
  604. "goalPost" : { "radius" : 5, "invMass" : 0, "bCoef" : 2 },
  605. "stanchion" : { "radius" : 3, "invMass" : 0, "bCoef" : 3, "cMask" : ["none" ] },
  606. "cornerflag" : { "radius" : 3, "invMass" : 0, "bCoef" : 0.5, "color" : "FFFF00", "cGroup" : [ ] },
  607. "reargoalNetleft" : { "vis" : true, "bCoef" : 0.1, "cMask" : ["ball","red","blue" ], "curve" : 10, "color" : "C7E6BD" },
  608. "reargoalNetright" : { "vis" : true, "bCoef" : 0.1, "cMask" : ["ball","red","blue" ], "curve" : -10, "color" : "C7E6BD" },
  609. "sidegoalNet" : { "vis" : true, "bCoef" : 1, "cMask" : ["ball","red","blue" ], "color" : "C7E6BD" },
  610. "kickOffBarrier" : { "vis" : false, "bCoef" : 0.1, "cGroup" : ["redKO","blueKO" ], "cMask" : ["red","blue" ] },
  611. "line" : { "vis" : true, "cMask" : [ ], "color" : "C7E6BD" },
  612. "tunnel" : { "vis" : true, "cMask" : ["red","blue" ], "color" : "000000" },
  613. "advertising" : { "vis" : true, "cMask" : ["red","blue" ], "color" : "333333" },
  614. "teambench" : { "vis" : true, "cMask" : [ ], "color" : "000000" },
  615. "manager" : { "radius" : 15, "vis" : true, "cMask" : ["red","blue" ], "invMass" : 0, "color" : "333333" },
  616. "physio" : { "radius" : 15, "vis" : true, "cMask" : ["red","blue" ], "invMass" : 0, "color" : "666666" },
  617. "redsubs" : { "radius" : 15, "vis" : true, "cMask" : ["red","blue" ], "invMass" : 0, "color" : "E56E56" },
  618. "bluesubs" : { "radius" : 15, "vis" : true, "cMask" : ["red","blue" ], "invMass" : 0, "color" : "5689E5" }
  619.  
  620. }
  621. }`
  622.  
  623. /* SETTINGS */
  624. //Musi być true jeśli hostujesz mecz ligowy, false - jeśli hostujesz publika
  625. var officialRSHLHost = false;
  626. /* ROOM */
  627. //
  628. //Jeśli nie hostujesz meczu ligowego, możesz ustawić poniższe wartości
  629.  
  630. var roomName = "🏆 Real Soccer | v4 Con arbitro !myscore";
  631. var maxPlayers = 30;
  632. var roomPublic = true;
  633. var playerName = "🏁 Á𝗋𝖻𝗂𝗍𝗋𝗈 𝗕𝗢𝗧";
  634.  
  635. /* STADIUM */
  636. //Wartości dotyczą boiska na którym rozgrywany jest mecz - wartości domyślne to oficjalna mapa RS
  637. var stadiumWidth = 1150;
  638. var stadiumHeight = 600;
  639. var radiusBall = 10;
  640. var throwInLeeway = 200;
  641. var greenLine = 510;
  642.  
  643. /* SETTINGS */
  644.  
  645. var triggerDistance = radiusBall + 15 + 0.01;
  646. var outLineY = stadiumWidth - (radiusBall / 2) + 6;
  647. stadiumWidth += (radiusBall / 2) + 6;
  648. stadiumHeight += (radiusBall / 2) + 6;
  649.  
  650. var Team = {
  651. SPECTATORS: 0,
  652. RED: 1,
  653. BLUE: 2
  654. };
  655. var lastScores = 0;
  656. var lastTeamTouched = 0;
  657. var lineBallPosition;
  658. var exitingPos = null;
  659. var previousBallPos;
  660. var assistingTouch = "";
  661. var botSus = false;
  662. var lastPlayerTouched = "";
  663. var backMSG = false;
  664. var lastCall;
  665. var oyuncular = []; // isim:,id:,galibiyet:,yenilgi:
  666. var isBallUp = false;
  667. var crossed = false;
  668. var gol;
  669. var redMax = 4;
  670. var blueMax = 4;
  671.  
  672. var db = { p: { N: 10, kt: 1 }, 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 spamFilter(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) / 1000) > db.p.kt) { room.kickPlayer(player.id, "spam", false); } } }
  673.  
  674. function MacOynanabilir()
  675. {
  676. if (GetTeam(1).length == redMax && GetTeam(2).length == blueMax){room.startGame();clearTimeout(gol); gol = setTimeout(function(){MacBitti(2);}, 74414000);}
  677. else {room.stopGame();}
  678. }
  679. function TakimlariDengele(redMaksimumOyuncuSayisi, blueMaksimumOyuncuSayisi)
  680. {
  681. var spec = GetTeam(0);
  682. var red = GetTeam(1);
  683. var blue = GetTeam(2);
  684. var red_ = red.length;
  685. var blue_ = blue.length;
  686. var spec_ = spec.length;
  687. var tempRed = red_;
  688. var tempBlue = blue_;
  689. for(var i = 0; i < spec_; i++) // Spec Varsa Dağıt
  690. {
  691. if(red_ < redMaksimumOyuncuSayisi && red_ <= blue_) // Öncelik Az Kişi Olan Takıma Oyuncu Göndermekte.
  692. {
  693. room.setPlayerTeam(spec[i].id,1);
  694. red_++;
  695. }
  696. else if(blue_ < blueMaksimumOyuncuSayisi && blue_ <= red_)
  697. {
  698. room.setPlayerTeam(spec[i].id,2);
  699. blue_++;
  700. }
  701. else if(red_ < redMaksimumOyuncuSayisi)
  702. {
  703. room.setPlayerTeam(spec[i].id,1);
  704. red_++;
  705. }
  706. else if(blue_ < blueMaksimumOyuncuSayisi)
  707. {
  708. room.setPlayerTeam(spec[i].id,2);
  709. blue_++;
  710. }
  711. }
  712. if(red_ > blue_ + 1 && blue_ < blueMaksimumOyuncuSayisi)
  713. {
  714. for (var i = 1; i < red_ - blue_; i++)
  715. {
  716. if(!(blue < blueMaksimumOyuncuSayisi)) return;
  717. room.setPlayerTeam(red[red_ - i].id,2);
  718. blue_++;
  719. }
  720. }
  721. else if (blue_ > red_ + 1 && red_ < redMaksimumOyuncuSayisi)
  722. {
  723. for (var i = 1; i < blue_ - red_; i++)
  724. {
  725. if(!(red < redMaksimumOyuncuSayisi)) return;
  726. room.setPlayerTeam(blue[blue_ - i].id,1);
  727. red_++;
  728. }
  729. }
  730. if(red_ != tempRed || blue_ != tempBlue){setTimeout(function(){MacOynanabilir();},100);}
  731. }
  732.  
  733. var isBallKickedOutside = false;
  734. var previousPlayerTouched;
  735.  
  736. if(officialRSHLHost)
  737. {
  738. roomName = "😜 RS | 4v4 | 🤖 Oto Hakem"
  739. playerName = "Minerva"
  740. maxPlayers = 20;
  741. roomPublic = true;
  742. }
  743. var room = HBInit({ roomName: roomName, maxPlayers: maxPlayers, public: roomPublic, playerName: playerName});
  744. if(officialRSHLHost)
  745. {
  746. room.setScoreLimit(0);
  747. room.setTimeLimit(0);
  748. }else
  749. {
  750. var lineCrossedPlayers = [{name: "temp", times: 0}];
  751. room.setCustomStadium(rs);
  752. room.setTimeLimit(5);
  753. room.setScoreLimit(3);
  754. room.setTeamsLock(true);
  755. room.onStadiumChange = function(newStadiumName, byPlayer) {
  756. if (newStadiumName != "\ud835\udde5\ud835\uddd8\ud835\uddd4\ud835\udddf \ud835\udde6\ud835\udde2\ud835\uddd6\ud835\uddd6\ud835\uddd8\ud835\udde5 \ud835\ude23\ud835\ude3a \u0040\ud835\udda6\ud835\uddcb\ud835\uddba\ud835\uddc7\ud835\uddbd\ud835\uddbe\ud835\uddcc\ud835\uddab\ud835\uddc2\ud835\uddc0\ud835\uddba\ud835\uddcc\ud835\udda0\ud835\uddb1\ud835\udda6") {
  757. room.setCustomStadium(rs);
  758. }
  759. }
  760. }
  761. room.onTeamGoal = function(team) {
  762. var players = room.getPlayerList();
  763. if(!officialRSHLHost)
  764. {
  765. for(var i = 0; i < players.length; i++) {
  766. if(players[i].name==lastPlayerTouched)
  767. {
  768. if(players[i].team==team)
  769. {
  770. if(players[i].name!=assistingTouch && assistingTouch!="")
  771. {
  772. room.sendChat("Goooooooooooooool ✅ - ⚽ Gol de " + players[i].name + " y 👟 asistencia de " + assistingTouch + " 🔥");
  773. assistingTouch = "";
  774. lastPlayerTouched = "";
  775.  
  776. }else
  777. {
  778. room.sendChat("Goooooooooooooool ✅ - ⚽ Gol de " + players[i].name + " 🔥");
  779. assistingTouch = "";
  780. lastPlayerTouched = "";
  781. }
  782.  
  783. }else room.sendChat("Goooooooooooooool - en contra! 😱");
  784. }
  785. }
  786. }
  787. }
  788. room.onGameStart = function(player) {
  789. lineCrossedPlayers = [{name: "temp", times: 0}];
  790. lastScores = room.getScores().red + room.getScores().blue;
  791. }
  792.  
  793. room.onPlayerBallKick = function(player) {
  794. var ballPosition = room.getBallPosition();
  795. if(player.name!=lastPlayerTouched)
  796. {
  797. if(lastTeamTouched==player.team)
  798. {
  799. assistingTouch = lastPlayerTouched;
  800. }else assistingTouch = "";
  801. }
  802. previousPlayerTouched = lastPlayerTouched;
  803. lastPlayerTouched = player.name;
  804. lastTeamTouched = player.team;
  805.  
  806. if(isBallOutsideStadium && ballPosition.y<0 && isBallUp==1)
  807. {
  808. isBallKickedOutside = true;
  809. }else if(isBallOutsideStadium && ballPosition.y>0 && isBallUp==2)
  810. {
  811. isBallKickedOutside = true;
  812. }else isBallKickedOutside = false;
  813.  
  814. }
  815. room.onGameTick = function() {
  816. isThrowInCorrect();
  817. getLastTouchTheBall();
  818. checkBallPosition();
  819. isBackRequired();
  820. getPlayersNotWithinLine();
  821. hasBallLeftTheLine();
  822. isBallGoingUp();
  823. if(!officialRSHLHost)
  824. {
  825. checkLineCrosses();
  826. }
  827. }
  828.  
  829. function checkLineCrosses()
  830. {
  831. var players = room.getPlayerList();
  832. for(var i = 0; i < lineCrossedPlayers.length; i++)
  833. {
  834. if(lineCrossedPlayers[i].times>=100)
  835. {
  836. players = room.getPlayerList();
  837. for(var j = 0; j<players.length; j++)
  838. {
  839. players = room.getPlayerList();
  840. if(lineCrossedPlayers[i].name==players[j].name)
  841. {
  842. lineCrossedPlayers[i].times=0;
  843. room.kickPlayer(players[j].id, " ➡️ 🔶 Amonestado", false);
  844. lineCrossedPlayers.splice(i,i);
  845. }
  846. }
  847. }
  848. }
  849. }
  850.  
  851.  
  852. function isOutsideStadium(ballPosition) {
  853. return ballPosition.x > stadiumWidth || ballPosition.x < -stadiumWidth || ballPosition.y > stadiumHeight || ballPosition.y < -stadiumHeight;
  854. }
  855.  
  856. var isBallOutsideStadium = false;
  857.  
  858. function Mesaj(msg, botsusGecersiz=true){if(!botsusGecersiz && botSus){return;}room.sendChat(msg);};
  859. function SusBot(){if(!botSus){Mesaj("Bot Artık Fazla Konuşmayacak.",true);}else{Mesaj("Bot Artık Konuşacak!",true)}botSus=!botSus;}
  860.  
  861. function checkBallPosition() {
  862. var ballPosition = room.getBallPosition();
  863. if(isOutsideStadium(ballPosition)) {
  864. if(!isBallOutsideStadium) {
  865. isBallOutsideStadium = true;
  866. exitingPos = ballPosition.x;
  867. var totalScores = room.getScores().red + room.getScores().blue;
  868. if(lastScores != totalScores) {
  869. lastScores = totalScores;
  870. return false;
  871. }
  872. if(ballPosition.x > stadiumWidth && lastTeamTouched == Team.RED || ballPosition.x < -stadiumWidth && lastTeamTouched == Team.BLUE) {
  873. lastCall = "[⚽] Saque de Arco";
  874. room.sendChat("[⚽] Saque de Arco");
  875. }
  876. else if(ballPosition.x > stadiumWidth && lastTeamTouched == Team.BLUE || ballPosition.x < -stadiumWidth && lastTeamTouched == Team.RED) {
  877. room.sendChat("[🚩] Corner");
  878. lastCall = "[🚩] Corner";
  879. }
  880. else {
  881. isBallKickedOutside = false;
  882. room.sendChat(lastTeamTouched == Team.RED ? "[B] El lateral es del Blue 🔵" : "[R] El lateral es del Red 🔴");
  883. lastCall = lastTeamTouched == Team.RED ? "2" : "1";
  884. }
  885.  
  886. }
  887. }
  888. else {
  889. isBallOutsideStadium = false;
  890. backMSG = true;
  891.  
  892. }
  893. return true;
  894. }
  895.  
  896. function getLastTouchTheBall() {
  897. var ballPosition = room.getBallPosition();
  898. var players = room.getPlayerList();
  899. for(var i = 0; i < players.length; i++) {
  900. if(players[i].position != null) {
  901. var distanceToBall = pointDistance(players[i].position, ballPosition);
  902. if(distanceToBall < triggerDistance) {
  903. if(lastPlayerTouched!=players[i].name)
  904. {
  905. if(lastTeamTouched==players[i].team)
  906. {
  907. assistingTouch = lastPlayerTouched;
  908. }else assistingTouch = "";
  909. }
  910. lastTeamTouched = players[i].team;
  911. previousPlayerTouched == lastPlayerTouched;
  912. lastPlayerTouched = players[i].name;
  913. }
  914. }
  915. }
  916. return lastPlayerTouched;
  917. }
  918.  
  919. function pointDistance(p1, p2) {
  920. var d1 = p1.x - p2.x;
  921. var d2 = p1.y - p2.y;
  922. return Math.sqrt(d1 * d1 + d2 * d2);
  923. }
  924.  
  925. function getPlayersNotWithinLine()
  926. {
  927. var players = room.getPlayerList();
  928. var found = false;
  929. if(crossed)
  930. {
  931. for(var i = 0; i < players.length; i++) {
  932. if(players[i].position != null) {
  933. if(players[i].team != lastTeamTouched && players[i].team!= lastCall)
  934. {
  935. if((players[i].position.y > greenLine || players[i].position.y < -greenLine) && pointDistance(room.getBallPosition(), players[i].position)<500)
  936. {
  937. for(var j = 0; j < lineCrossedPlayers.length; j++)
  938. {
  939. if(lineCrossedPlayers[j].name==players[i].name)
  940. {
  941. lineCrossedPlayers[j].times = lineCrossedPlayers[j].times + 1;
  942. room.sendChat(" ➡️ 🔶 Amonestado: " + players[i].name + " (" + lineCrossedPlayers[j].times + ") | Por no dejar distancia");
  943. found = true;
  944. }
  945.  
  946. }
  947. if(!found)
  948. {
  949. lineCrossedPlayers.push({name: players[i].name, times: 1});
  950. room.sendChat(" ⏱➡️ 🔶 Amonestado: " + players[i].name + " (1) | Por no dejar distancia");
  951. }
  952. }
  953. }
  954.  
  955. }
  956. }
  957. }
  958. crossed = false;
  959. }
  960.  
  961. function isBackRequired()
  962. {
  963. var ballPosition = room.getBallPosition();
  964. if(lastCall=="1")
  965. {
  966. if((ballPosition.x - exitingPos > throwInLeeway) && backMSG==true && isOutsideStadium(ballPosition))
  967. {
  968. backMSG = false;
  969. room.sendChat("⚠ NO SACAR DESDE CUALQUIER LUGAR ⚠");
  970.  
  971. }
  972. if((ballPosition.x - exitingPos < -throwInLeeway) && backMSG==true && isOutsideStadium(ballPosition))
  973. {
  974. backMSG = false;
  975.  
  976.  
  977. room.sendChat("⚠ NO SACAR DESDE CUALQUIER LUGAR ⚠");
  978.  
  979.  
  980. }
  981. }
  982. if(lastCall=="2")
  983. {
  984. if((ballPosition.x - exitingPos > throwInLeeway) && backMSG==true && isOutsideStadium(ballPosition))
  985. {
  986. backMSG = false;
  987. room.sendChat("⚠ NO SACAR DESDE CUALQUIER LUGAR ⚠");
  988.  
  989.  
  990. }
  991. if((ballPosition.x - exitingPos < -throwInLeeway) && backMSG==true && isOutsideStadium(ballPosition))
  992. {
  993. backMSG = false;
  994. room.sendChat("⚠ NO SACAR DESDE CUALQUIER LUGAR ⚠");
  995.  
  996. }
  997. }
  998.  
  999.  
  1000. }
  1001. function isThrowInCorrect()
  1002. {
  1003. var ballPosition = room.getBallPosition();
  1004. var boolCrossing = isBallCrossingTheLine();
  1005. var string = lastTeamTouched.toString();
  1006. if(boolCrossing && !isBallKickedOutside && string==lastCall && (lastCall=="1" || lastCall=="2"))
  1007. {
  1008.  
  1009. if(lastCall=="2")
  1010. {
  1011. room.sendChat("🚨 No arrastre la pelota, saque bien")
  1012. }
  1013. if(lastCall=="1")
  1014. {
  1015. room.sendChat("🚨 No arrastre la pelota, saque bien");
  1016. }
  1017.  
  1018. isBallKickedOutside == false;
  1019. }else if(boolCrossing && string!=lastCall && (lastCall=="1" || lastCall=="2"))
  1020. {
  1021. //room.sendChat("WRONG TEAM");
  1022. }
  1023.  
  1024. }
  1025. function isBallCrossingTheLine()
  1026. {
  1027. previousBallPos = lineBallPosition;
  1028. lineBallPosition = room.getBallPosition().y;
  1029. crossed = (lineBallPosition<stadiumHeight && previousBallPos>stadiumHeight) || (lineBallPosition>-stadiumHeight && previousBallPos<-stadiumHeight);
  1030. return (lineBallPosition<stadiumHeight && previousBallPos>stadiumHeight) || (lineBallPosition>-stadiumHeight && previousBallPos<-stadiumHeight);
  1031. }
  1032.  
  1033. var previousBallPosForGoingUp;
  1034. var currentBallPosForGoingUp;
  1035. function isBallGoingUp()
  1036. {
  1037. previousBallPosForGoingUp = currentBallPosForGoingUp;
  1038. currentBallPosForGoingUp = room.getBallPosition().y;
  1039. if(previousBallPosForGoingUp - currentBallPosForGoingUp > 0.01)
  1040. {
  1041. isBallUp = 2;
  1042. }else if(previousBallPosForGoingUp - currentBallPosForGoingUp < -0.01)
  1043. {
  1044.  
  1045. isBallUp = 1;
  1046. }else
  1047. {
  1048. isBallUp = 0;
  1049. }
  1050. }
  1051.  
  1052. function hasBallLeftTheLine()
  1053. {
  1054. var ballPosition = room.getBallPosition();
  1055. if(ballPosition.y<outLineY && isBallKickedOutside)
  1056. {
  1057.  
  1058. }else if (ballPosition.y>outLineY && isBallKickedOutside && lastPlayerTouched==previousPlayerTouched)
  1059. {
  1060. room.sendChat("Bad");
  1061. }
  1062.  
  1063. }
  1064. var db = { p: { N: 10, kt: 1 }, 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 spamFilter(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) / 1000) > db.p.kt) { room.kickPlayer(player.id, "spam", false); } } }
  1065.  
  1066.  
  1067.  
  1068. function GetTeam(id){ return room.getPlayerList().filter((player) => player.id != 0 && player.team == id); }
  1069. function CreateOyuncu(player) { oyuncular[oyuncular.length] = {isim:player.name,id:player.id,galibiyet:0,yenilgi:0}; }
  1070. function DeleteOyuncu(id) { for(var i = 0; i < oyuncular.length; i++) {if(oyuncular[i].id == id) {oyuncular.splice(i, 1);}} }
  1071. function GetOyuncu(id) { for(var i = 0; i < oyuncular.length; i++) {if(oyuncular[i].id == id) {return oyuncular[i];}} }
  1072. function MacBitti(id)
  1073. {
  1074. room.stopGame();
  1075. clearTimeout(gol);
  1076. var spec = GetTeam(0);
  1077. var red = GetTeam(1);
  1078. var blue = GetTeam(2);
  1079. for(var i = 0; i < red.length; i++)
  1080. {
  1081. if(id == 1) { GetOyuncu(red[i].id).galibiyet++; }
  1082. else { GetOyuncu(red[i].id).yenilgi++; }
  1083. }
  1084.  
  1085. for(var i = 0; i < blue.length; i++)
  1086. {
  1087. if(id == 2) { GetOyuncu(blue[i].id).galibiyet++; }
  1088. else { GetOyuncu(blue[i].id).yenilgi++; }
  1089. }
  1090.  
  1091. if (id == 2) // If Blue Wins
  1092. {
  1093. room.sendChat("Felicitaciones! El equipo azul gano!");
  1094. for(var i = 0; i < blue.length; i++) {AnnounceOyuncuStatus(blue[i].id);room.setPlayerTeam(blue[i].id, 1);}
  1095. for(var i = 0; i < red.length; i++) {room.setPlayerTeam(red[i].id, 0);}
  1096. }
  1097. else
  1098. {
  1099. room.sendChat("Felicitaciones! El equipo rojo gano!");
  1100. for(var i = 0; i < red.length; i++) {AnnounceOyuncuStatus(red[i].id);}
  1101. for(var i = 0; i < blue.length; i++) {room.setPlayerTeam(blue[i].id, 0);}
  1102. }
  1103. setTimeout(function(){spec = GetTeam(0); for(var i = 0; i < blueMax; i++){TakimlariDengele(redMax, blueMax);}}, 100);
  1104. }
  1105. function AnnounceTopOyuncu() {var enYuksekOyuncu = GetOyuncu(1); for(var i = 0; i < oyuncular.length; i++){if(enYuksekOyuncu == null){enYuksekOyuncu = oyuncular[i];}else if(oyuncular[i].galibiyet > enYuksekOyuncu.galibiyet){enYuksekOyuncu = oyuncular[i];}}if(enYuksekOyuncu == null){return;}room.sendChat("🥇: " + enYuksekOyuncu.isim + " - " + enYuksekOyuncu.galibiyet + " 🏆");}
  1106. function AnnounceOyuncuStatus(id) {var oyuncu=GetOyuncu(id); room.sendChat(oyuncu.isim+" - "+oyuncu.galibiyet+" 𝗩𝗜𝗖𝗧𝗢𝗥𝗜𝗔𝗦 , "+oyuncu.yenilgi+" 𝗗𝗘𝗥𝗥𝗢𝗧𝗔𝗦 "); }
  1107. room.onPlayerJoin = function(player) {
  1108. if (db.log.filter((p) => p.id == player.id).length == 0) { db.log.push({ id: player.id, lm: [] }); }
  1109. console.log(player.name + " has joined.");Mesaj("Bienvenido al host " + player.name + " ",false);
  1110. CreateOyuncu(player);
  1111. var players = room.getPlayerList();
  1112. var adminNumber = 0;
  1113. for (var i = 0; i < players.length; i++) {
  1114. if (players[i].admin) {
  1115. adminNumber++;
  1116. }
  1117. }
  1118. if (adminNumber < 2) {
  1119. room.setPlayerAdmin(players[1].id, true);
  1120. }
  1121. };
  1122. room.onPlayerLeave = function(player) {db.log.splice(f(db.log, 'id', player.id), 1); console.log(player.name + " Has Left.");DeleteOyuncu(player.id);};
  1123. room.onPlayerChat = function(player, message) {spamFilter(player, message); console.log(player.name + ": " + message); if(message == "!myscore"){AnnounceOyuncuStatus(player.id);} else if(message == "!best"){AnnounceTopOyuncu();} };
  1124. room.onTeamVictory = function(scores) { if(scores.red>scores.blue){MacBitti(1);}else{MacBitti(2);} };
  1125.  
  1126. function pointDistance(p1, p2) {
  1127. var d1 = p1.x - p2.x;
  1128. var d2 = p1.y - p2.y;
  1129. return Math.sqrt(d1 * d1 + d2 * d2);
  1130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement