Advertisement
Krammy

TS_Save_168

Jan 1st, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 41.70 KB | None | 0 0
  1. {
  2.   "SaveName": "Quiplash 10",
  3.   "GameMode": "Quiplash",
  4.   "Date": "12/18/2016 3:06:20 PM",
  5.   "Table": "Table_Custom",
  6.   "TableURL": "http://i.imgur.com/NGDZtRM.jpg",
  7.   "Sky": "Sky_Sunset",
  8.   "Note": "",
  9.   "Rules": "",
  10.   "PlayerTurn": "",
  11.   "LuaScript": "--QUIPLASH SCRIPT BY MARKIMUS\r\n\r\npromptList, usingPrompts, cards, boardScreen, zones, coloursPlaying, gameTimer = {}, {}, {}, {}, {}, {}, {}\r\n\r\ncurrentPrompt = \"\"\r\n\r\nsurfaceHeight = 1.03\r\namountForward = 4\r\n\r\nanswerCharLimit = 45\r\npromptCharLimit = 120\r\n\r\ndefaultCardScale = {6, 0.05, 12}\r\nboardScreen.defaultScale = {8, 0.2, 55}\r\ndefaultZoneScale = {7.5, 3.5, 4.5}\r\ndefaultPointScale = {3, 1, 3}\r\n\r\n--RGB Colours\r\nboardTextColours = { {{60, 50, 85}, {22, 203, 255}}, {{255, 255, 255}, {255, 255, 255}} }\r\n\r\n--CONVERT VALUES TO 0-1.\r\nfor i1, round in pairs(boardTextColours) do\r\n    for i2, col in pairs(round) do\r\n        for i3, v in pairs(col) do\r\n            boardTextColours[i1][i2][i3] = v / 255\r\n        end\r\n    end\r\nend\r\n\r\nfunction onLoad(saved_string)\r\n    if saved_string ~= \"\" then\r\n        --print('\"'.. tostring(saved_string) ..'\"')\r\n        print(\"Rewind capability is not functional yet.\")\r\n    end\r\n\r\n    --SET-UP VARIABLES, BUTTONS ETC.\r\n    gameTimer.board = getObjectFromGUID(\"df7eae\")\r\n    \r\n    gameTimer.board.interactable = false\r\n    gameTimer.text = getObjectFromGUID(\"cc53dd\")\r\n    gameTimer.text:setScale({1, 1, 1})\r\n    gameTimer.text:setScale({2, 2, 2})\r\n    gameTimer.text.interactable = false\r\n    \r\n    --[[\r\n    local bp = gameTimer.board:getPosition()\r\n    gameTimer.text:setPosition({0, bp[\"y\"] + 1.5, (bp[\"z\"] - 0.2) + 1.5})\r\n    --]]\r\n    \r\n    zones.Green = getObjectFromGUID(\"377e1e\")\r\n    zones.Yellow = getObjectFromGUID(\"cd40b0\")\r\n    zones.Orange = getObjectFromGUID(\"8aa0c7\")\r\n    zones.Red = getObjectFromGUID(\"255bc9\")\r\n    zones.Brown = getObjectFromGUID(\"c02f4a\")\r\n    zones.White = getObjectFromGUID(\"251121\")\r\n    zones.Pink = getObjectFromGUID(\"7ecbcf\")\r\n    zones.Purple = getObjectFromGUID(\"89b347\")\r\n    zones.Blue = getObjectFromGUID(\"0ddf83\")\r\n    zones.Teal = getObjectFromGUID(\"63946d\")\r\n    \r\n    --[[\r\n    for i, v in pairs(zones) do\r\n        local myPos = v:getPosition()\r\n        local handPos = getSpawnPosition(i, amountForward)\r\n        \r\n        v:setPosition({handPos[\"pos_x\"], myPos[\"y\"], handPos[\"pos_z\"]})\r\n        v:setRotation({0, handPos[\"rot_y\"], 0})\r\n    end\r\n    --]]\r\n    \r\n    cards[1] = {}\r\n    cards[2] = {}\r\n    cards[1].card = getObjectFromGUID(\"f6d7c7\")\r\n    cards[2].card = getObjectFromGUID(\"a4d3ab\")\r\n    cards[1].text = getObjectFromGUID(\"e49920\")\r\n    cards[2].text = getObjectFromGUID(\"60049e\")\r\n    cards[1].pointCounter = getObjectFromGUID(\"9f88d6\")\r\n    cards[2].pointCounter = getObjectFromGUID(\"7a235c\")\r\n    cards[1].pointText = getObjectFromGUID(\"256da2\")\r\n    cards[2].pointText = getObjectFromGUID(\"a40d9d\")\r\n    \r\n    cards[1].card.interactable = false\r\n    cards[2].card.interactable = false\r\n    cards[1].text.interactable = false\r\n    cards[2].text.interactable = false\r\n    cards[1].pointCounter.interactable = false\r\n    cards[2].pointCounter.interactable = false\r\n    cards[1].pointText.interactable = false\r\n    cards[2].pointText.interactable = false\r\n    \r\n    boardScreen.board = getObjectFromGUID(\"889ef0\")\r\n    boardScreen.board.interactable = false\r\n    boardScreen.text = getObjectFromGUID(\"46d982\")\r\n    boardScreen.text.interactable = false\r\n    \r\n    --recoverDefault()\r\n    \r\n    makeStartButton()\r\n    \r\nend\r\n\r\nfunction recoverDefault()\r\n    cards[1].text:setValue(\" \")\r\n    cards[2].text:setValue(\" \")\r\n    cards[1].pointText:setValue(\" \")\r\n    cards[2].pointText:setValue(\" \")\r\n    gameTimer.text:setValue(\" \")\r\n    boardScreen.text:setValue(\" \")\r\n    \r\n    cards[1].pointCounter:setScale({0, 0, 0})\r\n    cards[2].pointCounter:setScale({0, 0, 0})\r\n    cards[1].card:setScale({0, 0, 0})\r\n    cards[2].card:setScale({0, 0, 0})\r\n    \r\n    for _, v in pairs(zones) do\r\n        v:setScale({0, 0, 0})\r\n    end\r\n    \r\n    boardScreen.board:setScale({0, 0, 0})\r\n    \r\nend\r\n\r\nfunction startTimer(seconds, function_name, useCountdown)\r\n    if seconds == nil then print(\"ERROR: startTimer not set to an amount of seconds.\") return end\r\n    if useCountdown == nil then useCountdown = true end\r\n\r\n    Timer:destroy(\"gameTimer\")\r\n    \r\n    local timerP = {}\r\n    timerP.identifier = \"gameTimer\"\r\n    if useCountdown == true then\r\n        timerP.function_name = \"timerInterval\"\r\n        timerP.delay = 1\r\n        timerP.repetitions = seconds\r\n    else\r\n        timerP.function_name = function_name\r\n        timerP.delay = seconds\r\n        timerP.repetitions = 1\r\n    end\r\n    \r\n    function timerInterval()\r\n        seconds = seconds - 1\r\n        gameTimer.text:setValue(tostring(seconds))\r\n        if seconds == 0 then\r\n            if useCountdown == true then\r\n                broadcastToAll(\"Time's Up!\", boardTextColours[1][2])\r\n                boardScreen.text:setValue(\"\\nTime's Up!\")\r\n            end\r\n            if function_name ~= nil then\r\n                _G[function_name]()\r\n            end\r\n        end\r\n    end\r\n    \r\n    Timer:create(timerP)\r\n    \r\n    if useCountdown == true then\r\n        gameTimer.text:setValue(tostring(seconds))\r\n    end\r\nend\r\n\r\nfunction makeStartButton()\r\n    local butParams = {}\r\n    butParams.position = {0, 0.6, 0}\r\n    butParams.rotation = {0, 90, 0}\r\n    butParams.width = 450\r\n    butParams.height = 450\r\n    butParams.font_size = 150\r\n    butParams.label = \"Start\\nGame\"\r\n    butParams.click_function = \"startGame\"\r\n    butParams.function_owner = Global\r\n    gameTimer.board:createButton(butParams)\r\nend\r\n\r\nfunction getSpawnPosition(col, amountInFront)\r\n    local h = Player[col]:getPlayerHand()\r\n    h[\"pos_x\"] = h[\"pos_x\"] + h[\"trigger_forward_x\"] * amountInFront\r\n    h[\"pos_z\"] = h[\"pos_z\"] + h[\"trigger_forward_z\"] * amountInFront\r\n    return h\r\nend\r\n\r\nfunction makeNotecard(colour)\r\n    local function cb() end\r\n    \r\n    local noteP = {}\r\n    noteP.type = \"Notecard\"\r\n    local handPos = getSpawnPosition(colour, amountForward)\r\n    noteP.position = {handPos[\"pos_x\"], surfaceHeight, handPos[\"pos_z\"]}\r\n    noteP.rotation = {0, handPos[\"rot_y\"], 0}\r\n    noteP.scale = {1, 1, 1}\r\n    noteP.callback = \"cb\"\r\n    \r\n    local note = spawnObject(noteP)\r\n    note:setName(\"[b]Quiplash![/b]\")\r\n    note.tooltip = false\r\n    note:lock()\r\n    \r\n    return note\r\nend\r\n\r\nfunction makeEnterButton(note)\r\n    if note ~= nil then\r\n        local noteButP = {}\r\n        noteButP.position = {-0.34, 3, -0.4}\r\n        noteButP.rotation = {0, 180, 0}\r\n        noteButP.width = 150\r\n        noteButP.height = 80\r\n        noteButP.font_size = 40\r\n        noteButP.label = \"Enter\"\r\n        noteButP.click_function = \"pressingEnter\"\r\n        noteButP.function_owner = Global\r\n        \r\n        note:createButton(noteButP)\r\n    end\r\nend\r\n\r\nfunction makeChoiceButtons(note)\r\n    local noteButP = {}\r\n    noteButP.position = {0.2, 3, 0}\r\n    noteButP.rotation = {0, 180, 0}\r\n    noteButP.width = 150\r\n    noteButP.height = 80\r\n    noteButP.font_size = 40\r\n    noteButP.label = \"Answer 1\"\r\n    noteButP.click_function = \"chooseLeft\"\r\n    noteButP.function_owner = Global\r\n    \r\n    note:createButton(noteButP)\r\n    \r\n    noteButP.click_function = \"chooseRight\"\r\n    noteButP.label = \"Answer 2\"\r\n    noteButP.position = {-0.2, 3, -0.4}\r\n    \r\n    note:createButton(noteButP)\r\n    \r\nend\r\n\r\nfunction chooseLeft(obj, colourPressing)\r\n    if coloursPlaying[colourPressing] ~= nil and obj == coloursPlaying[colourPressing].card then\r\n        table.insert(colourPressing)\r\n    end\r\nend\r\n\r\nfunction getPrompts()\r\n    local prompts = {}\r\n    \r\n    local countFailedPrompts = 0\r\n    \r\n    local a = getNotebookTabs()\r\n    for _, v in pairs(a) do\r\n        if string.find(string.lower(v.title), \"prompts\") ~= nil then\r\n            local p = v.body\r\n            \r\n            while p ~= \"\" do\r\n                local newLine = p:find(\"\\n\")\r\n                local currentPrompt = \"\"\r\n                if newLine ~= nil then\r\n                    currentPrompt = p:sub(1, newLine-1)\r\n                    p = p:sub(newLine+1)\r\n                else\r\n                    currentPrompt = p\r\n                    p = \"\"\r\n                end\r\n                \r\n                if string.len(currentPrompt) > promptCharLimit then\r\n                    countFailedPrompts = countFailedPrompts + 1\r\n                else\r\n                    table.insert(prompts, currentPrompt)\r\n                end\r\n                \r\n            end\r\n            \r\n        end\r\n    end\r\n    if countFailedPrompts > 0 then\r\n        if countFailedPrompts == 1 then\r\n            print(\"1 prompt was over the \".. promptCharLimit ..\" character limit and so was not included.\")\r\n        else\r\n            print(countFailedPrompts .. \" prompts were over the \".. promptCharLimit ..\" character limit and so were not included.\")\r\n        end\r\n    end\r\n    \r\n    return prompts\r\nend\r\n\r\nfunction prepareNotes()\r\n    for _, v in pairs(coloursPlaying) do\r\n        v.card:setDescription(\"[b]Question:[/b] \".. v.prompts[1] ..\"\\n\\n[b]Answer:[/b] \")\r\n    end\r\nend\r\n\r\nfunction pressingEnter(obj, colourPressing)\r\n    if coloursPlaying[colourPressing] ~= nil and obj == coloursPlaying[colourPressing].card then\r\n        local desc = obj:getDescription()\r\n        \r\n        local a1, a2 = string.find(desc, \"Answer:[/b] \", nil, true)\r\n        \r\n        if a2 == nil then\r\n            --RESET NOTE.\r\n            broadcastToColor(\"No input field found! Quiplash has reset your note.\", colourPressing, stringColorToRGB(colourPressing))\r\n            if usingPrompts[coloursPlaying[colourPressing].prompts[1]][colourPressing] == \"\" then\r\n                obj:setDescription(\"[b]Question:[/b] \".. coloursPlaying[colourPressing].prompts[1] ..\"\\n\\n[b]Answer:[/b] \")\r\n            else\r\n                obj:setDescription(\"[b]Question:[/b] \".. coloursPlaying[colourPressing].prompts[2] ..\"\\n\\n[b]Answer:[/b] \")\r\n            end\r\n            \r\n        else\r\n            local myAnswer = desc:sub(a2 + 1)\r\n            if myAnswer == \"\" then\r\n                broadcastToColor('Please type after \"Answer[/b]: \"!', colourPressing, stringColorToRGB(colourPressing))\r\n                return\r\n            elseif string.len(myAnswer) > answerCharLimit then\r\n                myAnswer = myAnswer:sub(1, answerCharLimit)\r\n                obj:setDescription(\"[b]Question:[/b] \".. coloursPlaying[colourPressing].prompts[2] ..\"\\n\\n[b]Answer:[/b] \".. myAnswer)\r\n                broadcastToColor(\"Your answer has been cut to fit under the \".. answerCharLimit ..\" character limit!\", colourPressing, stringColorToRGB(colourPressing))\r\n                return\r\n            end\r\n            \r\n            if usingPrompts[coloursPlaying[colourPressing].prompts[1]][colourPressing] == \"\" then\r\n                broadcastToColor(\"Prompt 1 Entered.\", colourPressing, stringColorToRGB(colourPressing))\r\n                \r\n                usingPrompts[coloursPlaying[colourPressing].prompts[1]][colourPressing].answer = myAnswer\r\n                \r\n                obj:setDescription(\"[b]Question:[/b] \".. coloursPlaying[colourPressing].prompts[2] ..\"\\n\\n[b]Answer:[/b] \")\r\n                \r\n            elseif usingPrompts[coloursPlaying[colourPressing].prompts[2]][colourPressing] == \"\" then\r\n                broadcastToColor(\"Prompt 2 Entered.\", colourPressing, stringColorToRGB(colourPressing))\r\n                usingPrompts[coloursPlaying[colourPressing].prompts[2]][colourPressing].answer = myAnswer\r\n                obj:clearButtons()\r\n                \r\n                for _, v in pairs(usingPrompts) do\r\n                    for _, w in pairs(v) do\r\n                        if w == \"\" then\r\n                            obj:setDescription(\"All done! Waiting...\")\r\n                            return\r\n                        end\r\n                    end\r\n                end\r\n                \r\n                Timer.destroy(\"gameTimer\")\r\n                broadcastToAll(\"All players have submitted their answers!\", boardTextColours[1][2])\r\n                boardScreen.text:setValue(\"\\nAll players have submitted their answers!\")\r\n                \r\n                showAnswers()\r\n                \r\n            end\r\n        end\r\n    end\r\nend\r\n\r\nfunction startGame()\r\n    if #getSeatedPlayers() < 3 then broadcastToAll(\"Quiplash requires at least 3 players to start.\", boardTextColours[1][2]) return end\r\n\r\n    gameTimer.board:clearButtons()\r\n    \r\n    boardScreen.board:setScale(boardScreen.defaultScale)\r\n    boardScreen.text:setValue(\"\\nWrite your answers on your notecards now!\")\r\n    broadcastToAll(\"Write your answers on your notecards now!\", boardTextColours[1][2])\r\n    \r\n    coloursPlaying = {}\r\n    \r\n    for _, v in pairs(getSeatedPlayers()) do\r\n        coloursPlaying[v] = {}\r\n        coloursPlaying[v].card = makeNotecard(v)\r\n        makeEnterButton(coloursPlaying[v].card)\r\n        \r\n        coloursPlaying[v].zone = zones[v]\r\n        coloursPlaying[v].prompts = {}\r\n    end\r\n    \r\n    startLuaCoroutine(nil, \"startGame2\")\r\n    \r\nend\r\n\r\nfunction startGame2()\r\n    coroutine.yield()\r\n    for i, _ in pairs(coloursPlaying) do\r\n        zones[i]:setScale(defaultZoneScale)\r\n    end\r\n    \r\n    promptList = getPrompts()\r\n    dealOutPrompts(promptList)\r\n    prepareNotes()\r\n    \r\n    startTimer(80, \"showAnswers\")\r\n    return 1\r\nend\r\n\r\nfunction dealOutPrompts(promptsTable)\r\n    usingPrompts = {}\r\n    \r\n    local ranPrompts = {}\r\n    for _, v in pairs(coloursPlaying) do\r\n        local ranIndex = math.random(1, #promptsTable)\r\n        local ranPrompt = promptsTable[ranIndex]\r\n        table.remove(promptsTable, ranIndex)\r\n        \r\n        local tab = {}\r\n        tab.prompt = ranPrompt\r\n        tab.amount = 2\r\n        \r\n        table.insert(ranPrompts, tab)\r\n        \r\n        usingPrompts[ranPrompt] = {}\r\n    end\r\n    \r\n    for col, player in pairs(coloursPlaying) do\r\n        \r\n        for i, p in pairs(ranPrompts) do\r\n            if p.amount == 0 then\r\n                table.remove(ranPrompts, i)\r\n            end\r\n        end\r\n        \r\n        local pIndex1 = math.random(1, #ranPrompts)\r\n        \r\n        p1 = ranPrompts[pIndex1].prompt\r\n        ranPrompts[pIndex1].amount = ranPrompts[pIndex1].amount - 1\r\n        \r\n        local ranPromptsCopy = {}\r\n        for _, p in pairs(ranPrompts) do\r\n            if p.prompt ~= p1 then\r\n                table.insert(ranPromptsCopy, p.prompt)\r\n            end\r\n        end\r\n        \r\n        local pIndex2 = math.random(1, #ranPromptsCopy)\r\n        local p2 = ranPromptsCopy[pIndex2]\r\n        \r\n        for _, p in pairs(ranPrompts) do\r\n            if p.prompt == ranPrompt2 then\r\n                p.amount = p.amount - 1\r\n                break\r\n            end\r\n        end\r\n        \r\n        player.prompts[1] = p1\r\n        player.prompts[2] = p2\r\n        \r\n        local tab = {}\r\n        tab.answer = \"\"\r\n        tab.votes = 0\r\n        \r\n        usingPrompts[p1][col] = tab\r\n        usingPrompts[p2][col] = tab\r\n        \r\n    end\r\nend\r\n\r\nfunction showAnswers()\r\n    \r\n    gameTimer.text:setValue(\" \")\r\n    gameTimer.board:setScale({0, 0, 0})\r\n    \r\n    for _, v in pairs(coloursPlaying) do\r\n        v.card:setName(\"[b]Quiplash![/b]\")\r\n        v.card:setDescription(\"\")\r\n        v.card:clearButtons()\r\n    end\r\n    \r\n    startTimer(5, \"showAnswers2\", false)\r\n    \r\nend\r\n\r\nfunction showAnswers2()\r\n    \r\n    for _, v in pairs(cards) do\r\n        v.card:setScale(defaultCardScale)\r\n    end\r\n    \r\n    --DOUBLE TAKE JUST IN CASE PEOPLE CLICK OUT.\r\n    for _, v in pairs(coloursPlaying) do\r\n        v.card:setName(\"[b]Quiplash![/b]\")\r\n        v.card:setDescription(\"\")\r\n        \r\n    end\r\n    \r\n    \r\n    for i, _ in pairs(usingPrompts) do\r\n        currentPrompt = i\r\n        break\r\n    end\r\n    \r\n    local participants = {}\r\n    for i, _ in pairs(usingPrompts[currentPrompt]) do\r\n        table.insert(participants, i)\r\n    end\r\n    \r\n    for i, v in pairs(cards) do\r\n        local myAnswer = usingPrompts[currentPrompt][participants[i]].answer\r\n        if myAnswer == \"\" then\r\n            myAnswer = \"[ No Answer ]\"\r\n        end\r\n        \r\n        v.text:setValue(usingPrompts[currentPrompt][participants[i]].answer)\r\n    end\r\n    \r\nend\r\n\r\n",
  12.   "LuaScriptState": "",
  13.   "Grid": {
  14.     "Type": 0,
  15.     "Lines": false,
  16.     "Snapping": false,
  17.     "Offset": false,
  18.     "BothSnapping": false,
  19.     "xSize": 0.5,
  20.     "ySize": 0.5,
  21.     "PosOffset": {
  22.       "x": 0.0,
  23.       "y": 1.0,
  24.       "z": 0.0
  25.     }
  26.   },
  27.   "Hands": {
  28.     "Enable": false,
  29.     "DisableUnused": false,
  30.     "Hidding": 0,
  31.     "HandTransforms": [
  32.       {
  33.         "Color": "Green",
  34.         "Transform": {
  35.           "posX": -44.6787758,
  36.           "posY": 3.29337883,
  37.           "posZ": -12.5840235,
  38.           "rotX": 0.0,
  39.           "rotY": 52.2580338,
  40.           "rotZ": 0.0,
  41.           "scaleX": 6.147032,
  42.           "scaleY": 11.8970528,
  43.           "scaleZ": 2.5613637
  44.         }
  45.       },
  46.       {
  47.         "Color": "Yellow",
  48.         "Transform": {
  49.           "posX": -36.8024864,
  50.           "posY": 3.29337883,
  51.           "posZ": -20.86986,
  52.           "rotX": 0.0,
  53.           "rotY": 40.6451,
  54.           "rotZ": 0.0,
  55.           "scaleX": 6.15333557,
  56.           "scaleY": 11.8970528,
  57.           "scaleZ": 2.563895
  58.         }
  59.       },
  60.       {
  61.         "Color": "Orange",
  62.         "Transform": {
  63.           "posX": -27.4195023,
  64.           "posY": 3.29337883,
  65.           "posZ": -27.4006023,
  66.           "rotX": 0.0,
  67.           "rotY": 29.0322285,
  68.           "rotZ": 0.0,
  69.           "scaleX": 6.11269236,
  70.           "scaleY": 11.8970528,
  71.           "scaleZ": 2.546975
  72.         }
  73.       },
  74.       {
  75.         "Color": "Red",
  76.         "Transform": {
  77.           "posX": -16.91395,
  78.           "posY": 3.29337883,
  79.           "posZ": -31.9088821,
  80.           "rotX": 0.0,
  81.           "rotY": 17.4193211,
  82.           "rotZ": 0.0,
  83.           "scaleX": 6.05019951,
  84.           "scaleY": 11.8970528,
  85.           "scaleZ": 2.52137017
  86.         }
  87.       },
  88.       {
  89.         "Color": "Brown",
  90.         "Transform": {
  91.           "posX": -5.71594238,
  92.           "posY": 3.29337883,
  93.           "posZ": -34.21012,
  94.           "rotX": 0.0,
  95.           "rotY": 5.806381,
  96.           "rotZ": 0.0,
  97.           "scaleX": 6.00609,
  98.           "scaleY": 11.8970528,
  99.           "scaleZ": 2.503005
  100.         }
  101.       },
  102.       {
  103.         "Color": "White",
  104.         "Transform": {
  105.           "posX": 5.71607971,
  106.           "posY": 3.29337883,
  107.           "posZ": -34.2101135,
  108.           "rotX": 0.0,
  109.           "rotY": 354.1935,
  110.           "rotZ": 0.0,
  111.           "scaleX": 6.006598,
  112.           "scaleY": 11.8970528,
  113.           "scaleZ": 2.5024817
  114.         }
  115.       },
  116.       {
  117.         "Color": "Pink",
  118.         "Transform": {
  119.           "posX": 16.9140835,
  120.           "posY": 3.29337883,
  121.           "posZ": -31.9088516,
  122.           "rotX": 0.0,
  123.           "rotY": 342.5806,
  124.           "rotZ": 0.0,
  125.           "scaleX": 6.05068254,
  126.           "scaleY": 11.8970528,
  127.           "scaleZ": 2.521211
  128.         }
  129.       },
  130.       {
  131.         "Color": "Purple",
  132.         "Transform": {
  133.           "posX": 27.4196281,
  134.           "posY": 3.29337883,
  135.           "posZ": -27.40056,
  136.           "rotX": 0.0,
  137.           "rotY": 330.967682,
  138.           "rotZ": 0.0,
  139.           "scaleX": 6.11232567,
  140.           "scaleY": 11.8970528,
  141.           "scaleZ": 2.54694486
  142.         }
  143.       },
  144.       {
  145.         "Color": "Blue",
  146.         "Transform": {
  147.           "posX": 36.8026047,
  148.           "posY": 3.29337883,
  149.           "posZ": -20.8698025,
  150.           "rotX": 0.0,
  151.           "rotY": 319.3548,
  152.           "rotZ": 0.0,
  153.           "scaleX": 6.153002,
  154.           "scaleY": 11.8970528,
  155.           "scaleZ": 2.563759
  156.         }
  157.       },
  158.       {
  159.         "Color": "Teal",
  160.         "Transform": {
  161.           "posX": 44.67888,
  162.           "posY": 3.29337883,
  163.           "posZ": -12.583951,
  164.           "rotX": 0.0,
  165.           "rotY": 307.741882,
  166.           "rotZ": 0.0,
  167.           "scaleX": 6.146205,
  168.           "scaleY": 11.8970528,
  169.           "scaleZ": 2.56108642
  170.         }
  171.       }
  172.     ]
  173.   },
  174.   "DrawImage": "iVBORw0KGgoAAAANSUhEUgAAAWAAAADQCAYAAAA53LuNAAAFFElEQVR4Ae3QgQAAAADDoPlTH+SFUGHAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgy8DQx5DAABHyNK3wAAAABJRU5ErkJggg==",
  175.   "VectorLines": [
  176.     {
  177.       "points3": [
  178.         {
  179.           "x": 53.0,
  180.           "y": 0.99,
  181.           "z": -27.48
  182.         },
  183.         {
  184.           "x": 53.01,
  185.           "y": 0.99,
  186.           "z": -27.47
  187.         }
  188.       ],
  189.       "color": {
  190.         "r": 0.117647059,
  191.         "g": 0.5294118,
  192.         "b": 1.0
  193.       },
  194.       "playerId": 4,
  195.       "lineId": 13,
  196.       "canvasId": 0
  197.     }
  198.   ],
  199.   "ObjectStates": [
  200.     {
  201.       "Name": "BlockSquare",
  202.       "Transform": {
  203.         "posX": -7.0,
  204.         "posY": 4.0,
  205.         "posZ": 31.0,
  206.         "rotX": 0.0,
  207.         "rotY": 90.0,
  208.         "rotZ": 315.000031,
  209.         "scaleX": 0.0,
  210.         "scaleY": 0.0,
  211.         "scaleZ": 0.0
  212.       },
  213.       "Nickname": "",
  214.       "Description": "",
  215.       "ColorDiffuse": {
  216.         "r": 1.0,
  217.         "g": 1.0,
  218.         "b": 1.0
  219.       },
  220.       "Locked": true,
  221.       "Grid": true,
  222.       "Snap": true,
  223.       "Autoraise": true,
  224.       "Sticky": true,
  225.       "Tooltip": true,
  226.       "LuaScript": "",
  227.       "LuaScriptState": "",
  228.       "GUID": "f6d7c7"
  229.     },
  230.     {
  231.       "Name": "3DText",
  232.       "Transform": {
  233.         "posX": -7.0,
  234.         "posY": 4.75000238,
  235.         "posZ": 31.65006,
  236.         "rotX": 45.0000076,
  237.         "rotY": 0.0,
  238.         "rotZ": 0.0,
  239.         "scaleX": 1.0,
  240.         "scaleY": 1.0,
  241.         "scaleZ": 1.0
  242.       },
  243.       "Nickname": "",
  244.       "Description": "",
  245.       "ColorDiffuse": {
  246.         "r": 1.0,
  247.         "g": 1.0,
  248.         "b": 1.0
  249.       },
  250.       "Locked": true,
  251.       "Grid": true,
  252.       "Snap": true,
  253.       "Autoraise": true,
  254.       "Sticky": true,
  255.       "Tooltip": true,
  256.       "Text": {
  257.         "Text": " ",
  258.         "colorstate": {
  259.           "r": 0.25,
  260.           "g": 0.25,
  261.           "b": 0.25
  262.         },
  263.         "fontSize": 56
  264.       },
  265.       "LuaScript": "",
  266.       "LuaScriptState": "",
  267.       "GUID": "e49920"
  268.     },
  269.     {
  270.       "Name": "3DText",
  271.       "Transform": {
  272.         "posX": 7.0,
  273.         "posY": 4.75000238,
  274.         "posZ": 31.65006,
  275.         "rotX": 45.0000076,
  276.         "rotY": 0.0,
  277.         "rotZ": 0.0,
  278.         "scaleX": 1.0,
  279.         "scaleY": 1.0,
  280.         "scaleZ": 1.0
  281.       },
  282.       "Nickname": "",
  283.       "Description": "",
  284.       "ColorDiffuse": {
  285.         "r": 1.0,
  286.         "g": 1.0,
  287.         "b": 1.0
  288.       },
  289.       "Locked": true,
  290.       "Grid": true,
  291.       "Snap": true,
  292.       "Autoraise": true,
  293.       "Sticky": true,
  294.       "Tooltip": true,
  295.       "Text": {
  296.         "Text": " ",
  297.         "colorstate": {
  298.           "r": 0.25,
  299.           "g": 0.25,
  300.           "b": 0.25
  301.         },
  302.         "fontSize": 56
  303.       },
  304.       "LuaScript": "",
  305.       "LuaScriptState": "",
  306.       "GUID": "60049e"
  307.     },
  308.     {
  309.       "Name": "BlockSquare",
  310.       "Transform": {
  311.         "posX": 0.0,
  312.         "posY": 10.72,
  313.         "posZ": 37.66,
  314.         "rotX": 0.0,
  315.         "rotY": 90.0,
  316.         "rotZ": 315.000031,
  317.         "scaleX": 0.0,
  318.         "scaleY": 0.0,
  319.         "scaleZ": 0.0
  320.       },
  321.       "Nickname": "",
  322.       "Description": "",
  323.       "ColorDiffuse": {
  324.         "r": 0.23529236,
  325.         "g": 0.196076676,
  326.         "b": 0.333331585
  327.       },
  328.       "Locked": true,
  329.       "Grid": true,
  330.       "Snap": true,
  331.       "Autoraise": true,
  332.       "Sticky": true,
  333.       "Tooltip": true,
  334.       "LuaScript": "",
  335.       "LuaScriptState": "",
  336.       "GUID": "889ef0"
  337.     },
  338.     {
  339.       "Name": "BlockSquare",
  340.       "Transform": {
  341.         "posX": 7.0,
  342.         "posY": 4.0,
  343.         "posZ": 31.0,
  344.         "rotX": 0.0,
  345.         "rotY": 90.0,
  346.         "rotZ": 315.000031,
  347.         "scaleX": 0.0,
  348.         "scaleY": 0.0,
  349.         "scaleZ": 0.0
  350.       },
  351.       "Nickname": "",
  352.       "Description": "",
  353.       "ColorDiffuse": {
  354.         "r": 1.0,
  355.         "g": 1.0,
  356.         "b": 1.0
  357.       },
  358.       "Locked": true,
  359.       "Grid": true,
  360.       "Snap": true,
  361.       "Autoraise": true,
  362.       "Sticky": true,
  363.       "Tooltip": true,
  364.       "LuaScript": "",
  365.       "LuaScriptState": "",
  366.       "GUID": "a4d3ab"
  367.     },
  368.     {
  369.       "Name": "3DText",
  370.       "Transform": {
  371.         "posX": 0.0,
  372.         "posY": 13.2200108,
  373.         "posZ": 39.8500328,
  374.         "rotX": 45.0000076,
  375.         "rotY": 0.0,
  376.         "rotZ": 0.0,
  377.         "scaleX": 1.0,
  378.         "scaleY": 1.0,
  379.         "scaleZ": 1.0
  380.       },
  381.       "Nickname": "",
  382.       "Description": "",
  383.       "ColorDiffuse": {
  384.         "r": 1.0,
  385.         "g": 1.0,
  386.         "b": 1.0
  387.       },
  388.       "Locked": true,
  389.       "Grid": true,
  390.       "Snap": true,
  391.       "Autoraise": true,
  392.       "Sticky": true,
  393.       "Tooltip": true,
  394.       "Text": {
  395.         "Text": " ",
  396.         "colorstate": {
  397.           "r": 0.08627451,
  398.           "g": 0.796078444,
  399.           "b": 1.0
  400.         },
  401.         "fontSize": 150
  402.       },
  403.       "LuaScript": "",
  404.       "LuaScriptState": "",
  405.       "GUID": "46d982"
  406.     },
  407.     {
  408.       "Name": "FogOfWarTrigger",
  409.       "Transform": {
  410.         "posX": -41.5156746,
  411.         "posY": 2.71113467,
  412.         "posZ": -10.1355991,
  413.         "rotX": 0.0,
  414.         "rotY": 52.2580338,
  415.         "rotZ": 0.0,
  416.         "scaleX": 0.0,
  417.         "scaleY": 0.0,
  418.         "scaleZ": 0.0
  419.       },
  420.       "Nickname": "",
  421.       "Description": "",
  422.       "ColorDiffuse": {
  423.         "r": 0.191999957,
  424.         "g": 0.701,
  425.         "b": 0.167999968
  426.       },
  427.       "Locked": true,
  428.       "Grid": true,
  429.       "Snap": true,
  430.       "Autoraise": true,
  431.       "Sticky": true,
  432.       "Tooltip": true,
  433.       "FogColor": "Green",
  434.       "FogHidePointers": true,
  435.       "FogReverseHiding": false,
  436.       "FogSeethrough": true,
  437.       "LuaScript": "",
  438.       "LuaScriptState": "",
  439.       "GUID": "377e1e"
  440.     },
  441.     {
  442.       "Name": "FogOfWarTrigger",
  443.       "Transform": {
  444.         "posX": -34.197,
  445.         "posY": 2.71113467,
  446.         "posZ": -17.8348236,
  447.         "rotX": 0.0,
  448.         "rotY": 40.6451,
  449.         "rotZ": 0.0,
  450.         "scaleX": 0.0,
  451.         "scaleY": 0.0,
  452.         "scaleZ": 0.0
  453.       },
  454.       "Nickname": "",
  455.       "Description": "",
  456.       "ColorDiffuse": {
  457.         "r": 0.905,
  458.         "g": 0.898,
  459.         "b": 0.171999976
  460.       },
  461.       "Locked": true,
  462.       "Grid": true,
  463.       "Snap": true,
  464.       "Autoraise": true,
  465.       "Sticky": true,
  466.       "Tooltip": true,
  467.       "FogColor": "Yellow",
  468.       "FogHidePointers": true,
  469.       "FogReverseHiding": false,
  470.       "FogSeethrough": true,
  471.       "LuaScript": "",
  472.       "LuaScriptState": "",
  473.       "GUID": "cd40b0"
  474.     },
  475.     {
  476.       "Name": "FogOfWarTrigger",
  477.       "Transform": {
  478.         "posX": -25.4782963,
  479.         "posY": 2.71113467,
  480.         "posZ": -23.9032154,
  481.         "rotX": 0.0,
  482.         "rotY": 29.0322285,
  483.         "rotZ": 0.0,
  484.         "scaleX": 0.0,
  485.         "scaleY": 0.0,
  486.         "scaleZ": 0.0
  487.       },
  488.       "Nickname": "",
  489.       "Description": "",
  490.       "ColorDiffuse": {
  491.         "r": 0.956,
  492.         "g": 0.39199996,
  493.         "b": 0.112999961
  494.       },
  495.       "Locked": true,
  496.       "Grid": true,
  497.       "Snap": true,
  498.       "Autoraise": true,
  499.       "Sticky": true,
  500.       "Tooltip": true,
  501.       "FogColor": "Orange",
  502.       "FogHidePointers": true,
  503.       "FogReverseHiding": false,
  504.       "FogSeethrough": true,
  505.       "LuaScript": "",
  506.       "LuaScriptState": "",
  507.       "GUID": "8aa0c7"
  508.     },
  509.     {
  510.       "Name": "FogOfWarTrigger",
  511.       "Transform": {
  512.         "posX": -15.7164993,
  513.         "posY": 2.71113467,
  514.         "posZ": -28.0923252,
  515.         "rotX": 0.0,
  516.         "rotY": 17.4193211,
  517.         "rotZ": 0.0,
  518.         "scaleX": 0.0,
  519.         "scaleY": 0.0,
  520.         "scaleZ": 0.0
  521.       },
  522.       "Nickname": "",
  523.       "Description": "",
  524.       "ColorDiffuse": {
  525.         "r": 0.856,
  526.         "g": 0.09999997,
  527.         "b": 0.0939999744
  528.       },
  529.       "Locked": true,
  530.       "Grid": true,
  531.       "Snap": true,
  532.       "Autoraise": true,
  533.       "Sticky": true,
  534.       "Tooltip": true,
  535.       "FogColor": "Red",
  536.       "FogHidePointers": true,
  537.       "FogReverseHiding": false,
  538.       "FogSeethrough": true,
  539.       "LuaScript": "",
  540.       "LuaScriptState": "",
  541.       "GUID": "255bc9"
  542.     },
  543.     {
  544.       "Name": "FogOfWarTrigger",
  545.       "Transform": {
  546.         "posX": -5.311274,
  547.         "posY": 2.71113467,
  548.         "posZ": -30.2306442,
  549.         "rotX": 0.0,
  550.         "rotY": 5.806381,
  551.         "rotZ": 0.0,
  552.         "scaleX": 0.0,
  553.         "scaleY": 0.0,
  554.         "scaleZ": 0.0
  555.       },
  556.       "Nickname": "",
  557.       "Description": "",
  558.       "ColorDiffuse": {
  559.         "r": 0.442999959,
  560.         "g": 0.230999961,
  561.         "b": 0.08999999
  562.       },
  563.       "Locked": true,
  564.       "Grid": true,
  565.       "Snap": true,
  566.       "Autoraise": true,
  567.       "Sticky": true,
  568.       "Tooltip": true,
  569.       "FogColor": "Brown",
  570.       "FogHidePointers": true,
  571.       "FogReverseHiding": false,
  572.       "FogSeethrough": true,
  573.       "LuaScript": "",
  574.       "LuaScriptState": "",
  575.       "GUID": "c02f4a"
  576.     },
  577.     {
  578.       "Name": "FogOfWarTrigger",
  579.       "Transform": {
  580.         "posX": 5.31140327,
  581.         "posY": 2.71113467,
  582.         "posZ": -30.2306366,
  583.         "rotX": 0.0,
  584.         "rotY": 354.1935,
  585.         "rotZ": 0.0,
  586.         "scaleX": 0.0,
  587.         "scaleY": 0.0,
  588.         "scaleZ": 0.0
  589.       },
  590.       "Nickname": "",
  591.       "Description": "",
  592.       "ColorDiffuse": {
  593.         "r": 1.0,
  594.         "g": 1.0,
  595.         "b": 1.0
  596.       },
  597.       "Locked": true,
  598.       "Grid": true,
  599.       "Snap": true,
  600.       "Autoraise": true,
  601.       "Sticky": true,
  602.       "Tooltip": true,
  603.       "FogColor": "White",
  604.       "FogHidePointers": true,
  605.       "FogReverseHiding": false,
  606.       "FogSeethrough": true,
  607.       "LuaScript": "",
  608.       "LuaScriptState": "",
  609.       "GUID": "251121"
  610.     },
  611.     {
  612.       "Name": "FogOfWarTrigger",
  613.       "Transform": {
  614.         "posX": 15.7166271,
  615.         "posY": 2.71113467,
  616.         "posZ": -28.0922966,
  617.         "rotX": 0.0,
  618.         "rotY": 342.5806,
  619.         "rotZ": 0.0,
  620.         "scaleX": 0.0,
  621.         "scaleY": 0.0,
  622.         "scaleZ": 0.0
  623.       },
  624.       "Nickname": "",
  625.       "Description": "",
  626.       "ColorDiffuse": {
  627.         "r": 0.9599999,
  628.         "g": 0.438999981,
  629.         "b": 0.807000041
  630.       },
  631.       "Locked": true,
  632.       "Grid": true,
  633.       "Snap": true,
  634.       "Autoraise": true,
  635.       "Sticky": true,
  636.       "Tooltip": true,
  637.       "FogColor": "Pink",
  638.       "FogHidePointers": true,
  639.       "FogReverseHiding": false,
  640.       "FogSeethrough": true,
  641.       "LuaScript": "",
  642.       "LuaScriptState": "",
  643.       "GUID": "7ecbcf"
  644.     },
  645.     {
  646.       "Name": "FogOfWarTrigger",
  647.       "Transform": {
  648.         "posX": 25.4784164,
  649.         "posY": 2.71113467,
  650.         "posZ": -23.9031754,
  651.         "rotX": 0.0,
  652.         "rotY": 330.967682,
  653.         "rotZ": 0.0,
  654.         "scaleX": 0.0,
  655.         "scaleY": 0.0,
  656.         "scaleZ": 0.0
  657.       },
  658.       "Nickname": "",
  659.       "Description": "",
  660.       "ColorDiffuse": {
  661.         "r": 0.627,
  662.         "g": 0.12499997,
  663.         "b": 0.941
  664.       },
  665.       "Locked": true,
  666.       "Grid": true,
  667.       "Snap": true,
  668.       "Autoraise": true,
  669.       "Sticky": true,
  670.       "Tooltip": true,
  671.       "FogColor": "Purple",
  672.       "FogHidePointers": true,
  673.       "FogReverseHiding": false,
  674.       "FogSeethrough": true,
  675.       "LuaScript": "",
  676.       "LuaScriptState": "",
  677.       "GUID": "89b347"
  678.     },
  679.     {
  680.       "Name": "FogOfWarTrigger",
  681.       "Transform": {
  682.         "posX": 34.19711,
  683.         "posY": 2.71113467,
  684.         "posZ": -17.8347721,
  685.         "rotX": 0.0,
  686.         "rotY": 319.3548,
  687.         "rotZ": 0.0,
  688.         "scaleX": 0.0,
  689.         "scaleY": 0.0,
  690.         "scaleZ": 0.0
  691.       },
  692.       "Nickname": "",
  693.       "Description": "",
  694.       "ColorDiffuse": {
  695.         "r": 0.117999971,
  696.         "g": 0.53,
  697.         "b": 1.0
  698.       },
  699.       "Locked": true,
  700.       "Grid": true,
  701.       "Snap": true,
  702.       "Autoraise": true,
  703.       "Sticky": true,
  704.       "Tooltip": true,
  705.       "FogColor": "Blue",
  706.       "FogHidePointers": true,
  707.       "FogReverseHiding": false,
  708.       "FogSeethrough": true,
  709.       "LuaScript": "",
  710.       "LuaScriptState": "",
  711.       "GUID": "0ddf83"
  712.     },
  713.     {
  714.       "Name": "FogOfWarTrigger",
  715.       "Transform": {
  716.         "posX": 41.5157738,
  717.         "posY": 2.71113467,
  718.         "posZ": -10.1355314,
  719.         "rotX": 0.0,
  720.         "rotY": 307.741882,
  721.         "rotZ": 0.0,
  722.         "scaleX": 0.0,
  723.         "scaleY": 0.0,
  724.         "scaleZ": 0.0
  725.       },
  726.       "Nickname": "",
  727.       "Description": "",
  728.       "ColorDiffuse": {
  729.         "r": 0.128999963,
  730.         "g": 0.694,
  731.         "b": 0.606999934
  732.       },
  733.       "Locked": true,
  734.       "Grid": true,
  735.       "Snap": true,
  736.       "Autoraise": true,
  737.       "Sticky": true,
  738.       "Tooltip": true,
  739.       "FogColor": "Teal",
  740.       "FogHidePointers": true,
  741.       "FogReverseHiding": false,
  742.       "FogSeethrough": true,
  743.       "LuaScript": "",
  744.       "LuaScriptState": "",
  745.       "GUID": "63946d"
  746.     },
  747.     {
  748.       "Name": "BlockSquare",
  749.       "Transform": {
  750.         "posX": 0.0,
  751.         "posY": 17.1,
  752.         "posZ": 44.3,
  753.         "rotX": 0.0,
  754.         "rotY": 90.0,
  755.         "rotZ": 315.000031,
  756.         "scaleX": 8.0,
  757.         "scaleY": 0.2,
  758.         "scaleZ": 8.0
  759.       },
  760.       "Nickname": "",
  761.       "Description": "",
  762.       "ColorDiffuse": {
  763.         "r": 0.24999918,
  764.         "g": 0.24999918,
  765.         "b": 0.24999918
  766.       },
  767.       "Locked": true,
  768.       "Grid": true,
  769.       "Snap": true,
  770.       "Autoraise": true,
  771.       "Sticky": true,
  772.       "Tooltip": true,
  773.       "LuaScript": "",
  774.       "LuaScriptState": "",
  775.       "GUID": "df7eae"
  776.     },
  777.     {
  778.       "Name": "3DText",
  779.       "Transform": {
  780.         "posX": -5.73487341E-05,
  781.         "posY": 18.6071,
  782.         "posZ": 45.6039925,
  783.         "rotX": 44.9940453,
  784.         "rotY": -3.02845056E-05,
  785.         "rotZ": 4.290347E-05,
  786.         "scaleX": 2.0,
  787.         "scaleY": 2.0,
  788.         "scaleZ": 2.0
  789.       },
  790.       "Nickname": "",
  791.       "Description": "",
  792.       "ColorDiffuse": {
  793.         "r": 1.0,
  794.         "g": 1.0,
  795.         "b": 1.0
  796.       },
  797.       "Locked": false,
  798.       "Grid": true,
  799.       "Snap": true,
  800.       "Autoraise": true,
  801.       "Sticky": true,
  802.       "Tooltip": true,
  803.       "Text": {
  804.         "Text": " ",
  805.         "colorstate": {
  806.           "r": 1.0,
  807.           "g": 1.0,
  808.           "b": 1.0
  809.         },
  810.         "fontSize": 150
  811.       },
  812.       "LuaScript": "",
  813.       "LuaScriptState": "",
  814.       "JointFixed": {
  815.         "ConnectedBodyGUID": "df7eae",
  816.         "EnableCollision": false,
  817.         "Axis": {
  818.           "x": 1.0,
  819.           "y": 0.0,
  820.           "z": 0.0
  821.         },
  822.         "Anchor": {
  823.           "x": 0.0,
  824.           "y": 0.0,
  825.           "z": 0.0
  826.         },
  827.         "ConnectedAnchor": {
  828.           "x": -0.114446081,
  829.           "y": -1.38516021,
  830.           "z": -0.0131455744
  831.         },
  832.         "BreakForce": Infinity,
  833.         "BreakTorgue": Infinity
  834.       },
  835.       "GUID": "cc53dd"
  836.     },
  837.     {
  838.       "Name": "backgammon_piece_white",
  839.       "Transform": {
  840.         "posX": 13.0,
  841.         "posY": 6.13,
  842.         "posZ": 32.95,
  843.         "rotX": 315.000031,
  844.         "rotY": 0.0,
  845.         "rotZ": 0.0,
  846.         "scaleX": 0.0,
  847.         "scaleY": 0.0,
  848.         "scaleZ": 0.0
  849.       },
  850.       "Nickname": "",
  851.       "Description": "",
  852.       "ColorDiffuse": {
  853.         "r": 0.0,
  854.         "g": 0.0,
  855.         "b": 0.0
  856.       },
  857.       "Locked": true,
  858.       "Grid": true,
  859.       "Snap": true,
  860.       "Autoraise": true,
  861.       "Sticky": true,
  862.       "Tooltip": true,
  863.       "LuaScript": "",
  864.       "LuaScriptState": "",
  865.       "GUID": "7a235c"
  866.     },
  867.     {
  868.       "Name": "backgammon_piece_white",
  869.       "Transform": {
  870.         "posX": -13.0,
  871.         "posY": 6.13,
  872.         "posZ": 32.95,
  873.         "rotX": 315.000031,
  874.         "rotY": 0.0,
  875.         "rotZ": 0.0,
  876.         "scaleX": 0.0,
  877.         "scaleY": 0.0,
  878.         "scaleZ": 0.0
  879.       },
  880.       "Nickname": "",
  881.       "Description": "",
  882.       "ColorDiffuse": {
  883.         "r": 0.0,
  884.         "g": 0.0,
  885.         "b": 0.0
  886.       },
  887.       "Locked": true,
  888.       "Grid": true,
  889.       "Snap": true,
  890.       "Autoraise": true,
  891.       "Sticky": true,
  892.       "Tooltip": true,
  893.       "LuaScript": "",
  894.       "LuaScriptState": "",
  895.       "GUID": "9f88d6"
  896.     },
  897.     {
  898.       "Name": "3DText",
  899.       "Transform": {
  900.         "posX": 13.0000048,
  901.         "posY": 6.47,
  902.         "posZ": 33.11,
  903.         "rotX": 45.0000038,
  904.         "rotY": 0.7283055,
  905.         "rotZ": 0.0,
  906.         "scaleX": 1.0,
  907.         "scaleY": 1.0,
  908.         "scaleZ": 1.0
  909.       },
  910.       "Nickname": "",
  911.       "Description": "",
  912.       "ColorDiffuse": {
  913.         "r": 1.0,
  914.         "g": 1.0,
  915.         "b": 1.0
  916.       },
  917.       "Locked": true,
  918.       "Grid": true,
  919.       "Snap": true,
  920.       "Autoraise": true,
  921.       "Sticky": true,
  922.       "Tooltip": true,
  923.       "Text": {
  924.         "Text": " ",
  925.         "colorstate": {
  926.           "r": 1.0,
  927.           "g": 1.0,
  928.           "b": 1.0
  929.         },
  930.         "fontSize": 64
  931.       },
  932.       "LuaScript": "",
  933.       "LuaScriptState": "",
  934.       "GUID": "a40d9d"
  935.     },
  936.     {
  937.       "Name": "3DText",
  938.       "Transform": {
  939.         "posX": -13.0000048,
  940.         "posY": 6.47,
  941.         "posZ": 33.11,
  942.         "rotX": 45.0000038,
  943.         "rotY": 0.479116857,
  944.         "rotZ": -3.773182E-08,
  945.         "scaleX": 1.0,
  946.         "scaleY": 1.0,
  947.         "scaleZ": 1.0
  948.       },
  949.       "Nickname": "",
  950.       "Description": "",
  951.       "ColorDiffuse": {
  952.         "r": 1.0,
  953.         "g": 1.0,
  954.         "b": 1.0
  955.       },
  956.       "Locked": true,
  957.       "Grid": true,
  958.       "Snap": true,
  959.       "Autoraise": true,
  960.       "Sticky": true,
  961.       "Tooltip": true,
  962.       "Text": {
  963.         "Text": " ",
  964.         "colorstate": {
  965.           "r": 1.0,
  966.           "g": 1.0,
  967.           "b": 1.0
  968.         },
  969.         "fontSize": 64
  970.       },
  971.       "LuaScript": "",
  972.       "LuaScriptState": "",
  973.       "GUID": "256da2"
  974.     }
  975.   ],
  976.   "TabStates": {
  977.     "0": {
  978.       "title": "Prompts (line seperated)",
  979.       "body": "What two words would passengers never want to hear a pilot say?\r\nYou would never go on a roller coaster called ______\r\nThe secret to a happy life\r\nYou should never give alcohol to ______\r\nEveryone knows that monkeys hate ______\r\nThe biggest downside to living in Hell\r\nThe worst thing for an evil witch to turn you into\r\nThe Skittles flavor that just missed the cut\r\nThe crime you would commit if you could get away with it\r\nWhat's actually causing global warming?\r\nThe name of a font nobody would ever use\r\nCome up with the name of a country that doesn't exist\r\nThe best way to keep warm on a cold winter night\r\nA not-very-scary name for a pirate\r\nThe worst way to be murdered\r\nSomething you shouldn't get your significant other for Valentine's Day\r\nThe hardest thing about being Batman\r\nA great way to kill time at work\r\nWhat's wrong with these kids today?\r\nSomething you should never use as a scarf\r\nThe best news you could get today\r\nThe worst thing you could stuff a bed mattress with",
  980.       "color": "Grey",
  981.       "visibleColor": {
  982.         "r": 0.5,
  983.         "g": 0.5,
  984.         "b": 0.5
  985.       },
  986.       "id": 0
  987.     }
  988.   },
  989.   "CameraStates": [
  990.     {
  991.       "Position": {
  992.         "x": 0.0,
  993.         "y": -2.5,
  994.         "z": -25.0
  995.       },
  996.       "Rotation": {
  997.         "x": 22.5,
  998.         "y": 0.0,
  999.         "z": 0.0
  1000.       },
  1001.       "Distance": 60.0,
  1002.       "Zoomed": false
  1003.     },
  1004.     null,
  1005.     null,
  1006.     null,
  1007.     null,
  1008.     null,
  1009.     null,
  1010.     null,
  1011.     null,
  1012.     null
  1013.   ]
  1014. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement