null nil RBX1 0 0 0 0 1 0 0 0 1 0 0 0 1 Workspace null null 0 -6.12742996 31.1496696 38.2083282 0.99389565 0.0684972182 -0.0864843205 -3.7252903e-009 0.783911467 0.620872676 0.1103241 -0.617082655 0.779126167 70 -5.9544611 29.9079227 36.650074 1 0 0 0 1 0 0 0 1 Camera true -0.5 0.5 0 0 -0.5 0.5 4 0 194 -2 126 -2 1 0 0 0 1 0 0 0 1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 true 256 Terrain 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2044 252 2044 0 0 0 1 0 0 0 1 0 0 0 1 Chessboard RBX4 0 0 0 1 0 0 0 1 0 0 0 1 Board RBX4 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -19 5.20000029 13 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -21 5.20000029 13 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -21 5.20000029 11 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -19 5.20000029 11 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -17 5.20000029 13 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -17 5.20000029 11 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -13 5.20000029 11 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -19 5.20000029 9 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -15 5.20000029 11 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -15 5.20000029 7 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -15 5.20000029 9 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -13 5.20000029 7 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -21 5.20000029 9 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -19 5.20000029 7 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -15 5.20000029 13 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -21 5.20000029 7 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -17 5.20000029 7 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -17 5.20000029 9 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -13 5.20000029 13 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -13 5.20000029 9 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -13 5.20000029 5 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -21 5.20000029 5 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -11 5.20000029 13 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -19 5.20000029 5 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -11 5.20000029 5 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -15 5.20000029 5 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -17 5.20000029 5 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -11 5.20000029 7 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -11 5.20000029 9 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -11 5.20000029 11 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -21 5.20000029 3 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -9 5.20000029 3 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -9 5.20000029 5 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -9 5.20000029 13 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -17 5.20000029 3 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -11 5.20000029 3 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -15 5.20000029 3 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -9 5.20000029 9 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -9 5.20000029 7 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -13 5.20000029 3 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -9 5.20000029 11 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -19 5.20000029 3 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -9 5.20000029 1 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -19 5.20000029 1 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -11 5.20000029 1 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -17 5.20000029 1 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -21 5.20000029 1 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -13 5.20000029 1 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -15 5.20000029 1 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -11 5.20000029 -1 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -21 5.20000029 -1 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -7 5.20000029 13 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -7 5.20000029 -1 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -15 5.20000029 -1 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -19 5.20000029 -1 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -7 5.20000029 9 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -13 5.20000029 -1 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -7 5.20000029 1 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -17 5.20000029 -1 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -7 5.20000029 11 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -7 5.20000029 5 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -7 5.20000029 7 0 0 -1 0 1 0 1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 1 -9 5.20000029 -1 0 0 1 0 1 0 -1 0 0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 false -0.5 0.5 2 0 -0.5 0.5 4 0 26 -7 5.20000029 3 0 0 -1 0 1 -0 1 0 -0 true 0.5 0.300000012 -0.5 0.5 2 0 -0.5 0.5 2 0 false 256 Smooth Block Model 0 -0.5 0.5 2 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 0 0 0 1 0 0 0 1 0 0 0 1 Model RBX70 false -0.5 0.5 0 0 -0.5 0.5 4 0 194 12 5.20000029 12 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530246 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 194 9 5.20000029 12 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530245 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 194 6 5.20000029 12 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530243 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 194 3 5.20000029 12 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530242 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 194 0 5.20000029 12 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530241 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 194 -3 5.20000029 12 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530240 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 199 12 5.20000029 9 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530239 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 199 9 5.20000029 9 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530238 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 199 6 5.20000029 9 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530237 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 199 3 5.20000029 9 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530236 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 199 0 5.20000029 9 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530234 0 false -0.5 0.5 0 0 -0.5 0.5 4 0 199 -3 5.20000029 9 -1 0 -0 -0 1 -0 -0 0 -1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 256 Smooth Block Model 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 2 1 2 0.400000006 2 1 Decal 20 0 http://www.roblox.com/asset/?id=1530235 0 true -0.5 0.5 0 0 -0.5 0.5 4 0 194 0 0.600000024 0 1 0 0 0 1 0 0 0 1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 true 256 Part 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 3 0 0 0 0 0 1 1 2000 1.20000005 2000 true ChessRoom function split(str, delimiter) local result = { } local from = 1 local delim_from, delim_to = string.find( str, delimiter, from ) while delim_from do table.insert( result, string.sub( str, from , delim_from-1 ) ) from = delim_to + 1 delim_from, delim_to = string.find( str, delimiter, from ) end table.insert( result, string.sub( str, from ) ) return result end function onChatted(msg, recipient, speaker) -- convert to all lower case local source = string.lower(speaker.Name) msg = string.lower(msg) local args = split(msg, " ") -- Below is only for me --if (source ~= "telamon") then return end if (args[1] == "newgame") then local numTeams = args[2] local numPlayers = args[3] AssignTeams(numTeams, numPlayers) end end function onPlayerEntered(newPlayer) newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end) end game.Players.ChildAdded:connect(onPlayerEntered) true ChessGame print("Chess Game 1.0") function split(str, delimiter) local result = { } local from = 1 local delim_from, delim_to = string.find( str, delimiter, from ) while delim_from do table.insert( result, string.sub( str, from , delim_from-1 ) ) from = delim_to + 1 delim_from, delim_to = string.find( str, delimiter, from ) end table.insert( result, string.sub( str, from ) ) return result end function newgame() local g = game.Lighting.ChessGui:Clone() g.ChessGuiManager.WhitePlayer.Value = game.Players:GetPlayers()[1] g.ChessGuiManager.BlackPlayer.Value = game.Players:GetPlayers()[1] g.Parent = game.Players:GetPlayers()[1].PlayerGui end function cmd(c) if (c.Name == "Cmd") then local s = c.Value args = split(s, ' ') for i=1,#args do print("Cmd arg " .. i .. ": " .. args[i]) end if (args[1] == "newgame") then end if (args[1] == "move") then end end end script.ChildAdded:connect(cmd) StarterPack StarterGui true ChessGui false 4288914085 0 4279970357 1 false false Frame 0 25 0 25 1 -50 1 -50 0 3 true 1 false 4288914085 0.899999976 4294967295 1 false false Info 0.600000024 0 0 0 0.400000006 0 1 0 0 0 true 1 false 4288914085 0 4279970357 1 false false 2 8 OpponentName 0 0 0 0 1 0 0.100000001 0 0 Shedletsky 4294967295 false 4278190080 0 0 false 2 1 true 1 false 4288914085 0 4279970357 1 false false 2 8 PlayerName 0 0 0.5 0 1 0 0.100000001 0 0 Telamon 4294967295 false 4278190080 0 0 false 2 1 true 1 false ChessGuiManager print 'Chessboard GUI 1.0' local frame = script.Parent.Frame local boardFrame = Instance.new("Frame") --frame.Size = UDim2.new(.8,0,.8,0) boardFrame.Parent = frame boardFrame.Size = UDim2.new(.9,0,.9,0) boardFrame.Name = "Board" boardFrame.SizeConstraint = 2 --enum.SizeConstraint.RelativeYY -- piece pics local pics = {} pics['R'] = 'http://www.roblox.com/asset/?id=1530246' pics['Q'] = 'http://www.roblox.com/asset/?id=1530245' pics['P'] = 'http://www.roblox.com/asset/?id=1530243' pics['K'] = 'http://www.roblox.com/asset/?id=1530241' pics['N'] = 'http://www.roblox.com/asset/?id=1530242' pics['B'] = 'http://www.roblox.com/asset/?id=1530240' pics['r'] = 'http://www.roblox.com/asset/?id=1530239' pics['q'] = 'http://www.roblox.com/asset/?id=1530238' pics['p'] = 'http://www.roblox.com/asset/?id=1530237' pics['n'] = 'http://www.roblox.com/asset/?id=1530236' pics['b'] = 'http://www.roblox.com/asset/?id=1530234' pics['k'] = 'http://www.roblox.com/asset/?id=1530235' -- squares, graphically local sq = {} -- board state local board = {} local curMove = {} curMove.Start = nil curMove.End = nil function GetCoord(str) local row = string.byte(str) - 65 local col = string.byte(str,2) - 49 return col, row end function MakeMove() print("MakeMove " .. curMove.Start .. " to " .. curMove.End) r1,c1 = GetCoord(curMove.Start) r2,c2 = GetCoord(curMove.End) print(c2 .. r2 .. c1 .. r1) --if board[c2][r2] == nil then print("board[c2][r2] is nil") else print(board[c2][r2]) end --if board[c1][r1] == nil then print("board[c1][r1] is nil") else print(board[c1][r1]) end board[c2][r2] = board[c1][r1] board[c1][r1] = nil --print("---") --if board[c2][r2] == nil then print("board[c2][r2] is nil") else print(board[c2][r2]) end --if board[c1][r1] == nil then print("board[c1][r1] is nil") else print(board[c1][r1]) end updateBoard() curMove.Start = nil curMove.End = nil end function SquareClicked(s, isLeftButton) print(s.Name .. ' ' .. isLeftButton) if isLeftButton == 1 then if curMove.Start == nil then curMove.Start = s.Name else curMove.End = s.Name MakeMove() end else print('nil it') curMove.Start = nil curMove.End = nil end end function initBoard() local white = false for x=0,7 do sq[x] = {} for y=0,7 do local s = Instance.new("ImageButton") if white then s.BackgroundColor3 = Color3.new(168/255,150/255,137/255) else s.BackgroundColor3 = Color3.new(49/255,70/255,82/255) end s.Size = UDim2.new(1/8,0,1/8,0) s.Position = UDim2.new(x / 8, 0, (7-y) / 8, 0) s.Parent = boardFrame s.Name = string.format('%c%d', 65 + x, y + 1) sq[x][y] = s s.MouseButton1Click:connect(function() SquareClicked(s, 1) end) s.MouseButton2Click:connect(function() SquareClicked(s, 0) end) white = not white end white = not white end end function initGui() frame.Info.OpponentName.Text = script.BlackPlayer.Value.Name frame.Info.PlayerName.Text = script.WhitePlayer.Value.Name end function updateBoard() for x=0,7 do for y=0,7 do if board[x][y] ~= nil then sq[x][y].Image = pics[board[x][y]] else sq[x][y].Image = "" end end end end function loadFEN(fen) board = {} local row = 7 local col = 0 for x=0,7 do board[x] = {} for y=0,7 do board[x][y] = nil end end for i=1,string.len(fen) do (function() -- return from this to achieve "continue" semantics local c = fen:sub(i,i) -- get ith char if c == '/' then row = row - 1 col = 0 return end if c == ' ' then --these are the data fields, ignore for now print("datafields") end if string.find(c, "%d") ~= nil then -- c is a number print("col " .. col .. " c " .. c) col = col + c -- type coercion return end if string.find("rnbqkpRNBQKP", c) ~= nil then board[col][row] = c print(col .. " " .. row .. " " .. c) col = col + 1 end end)() end end function split(str, delimiter) local result = { } local from = 1 local delim_from, delim_to = string.find( str, delimiter, from ) while delim_from do table.insert( result, string.sub( str, from , delim_from-1 ) ) from = delim_to + 1 delim_from, delim_to = string.find( str, delimiter, from ) end table.insert( result, string.sub( str, from ) ) return result end function cmd(c) if (c.Name == "Cmd") then local s = c.Value args = split(s, ' ') for i=1,#args do print("Cmd arg " .. i .. ": " .. args[i]) end if (args[1] == "newgame") then end if (args[1] == "move") then end end end script.ChildAdded:connect(cmd) initBoard() loadFEN('rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR') --loadFEN('rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1') updateBoard() initGui() WhitePlayer null BlackPlayer null 0 10 1 Soundscape 1 CollectionService PhysicsService BadgeService Geometry RenderHooksService SocialService 1000 Debris Instance Instance CookiesService Teleport Service true Players Selection 4286611584 1 4278190080 4278190080 4290822336 100000 0 41.7332993 Lighting 4289967032 14:00:00 ChangeHistoryService