[extension_name] Loot's Tools SAMMI Bridge [extension_info] This SAMMI extension allows connecting to Loot's Tools Desktop and both hear Streamloots Events from it and tell it to simulate Events, or call the SAMMI Event if the SAMMI EXtension is installed on Loot's Tools. Loot's Tools is an Automation Tool centered on, but not limited to, Streamloots. NOTE: Some things, like installing the SAMMI EXtension on Loot's Tools Desktop or some Events, require Loot's Tools Plus. [insert_external]

This SAMMI extension allows connecting to Loot's Tools Desktop and both hear Streamloots Events from it and tell it to simulate Events, or call the SAMMI Event if the SAMMI EXtension is installed on Loot's Tools.

Loot's Tools is an Automation Tool centered on, but not limited to, Streamloots.

NOTE: Some things, like installing the SAMMI EXtension on Loot's Tools Desktop or some Events, require Loot's Tools Plus.

Triggers and Trigger Data

[insert_command] SAMMI.extCommand("Loot's Tools: Trigger Event", 3355443, 52, { event: ['Event to trigger', 18, 0, null, []], }); [insert_hook] case "Loot's Tools: Trigger Event":{ eventList = [] for (eventNo in eventValues.cEvents) { cEvent = eventValues.cEvents[eventNo] eventList.push({"type": "cEvent", "eventInfo": cEvent}) } for (eventNo in eventValues.cards) { card = eventValues.cards[eventNo] eventList.push({"type": "card", "eventInfo": card}) } event = eventList[SAMMIJSON.event] console.log(event) if (event.type == "card") { LootsToolsWS.send(JSON.stringify({"testCard": event.eventInfo})) } else if (event.type == "cEvent") {} } break case "Loot's Tools: Call SAMMI Event":{ console.log(SAMMIJSON) id = SAMMIJSON.id eventData = SAMMIJSON.eventData LootsToolsWS.send(JSON.stringify({"cEventSend": [ { "eventName": "sammiEvent", "eventData": { "id": id, "eventData": eventData, }, }, { "eventName": "sammiEventID", "eventData": id }, { "eventName": "sammiEventData", "eventData": eventData }, ]})) } break [insert_script] var cards = [] var eventValues = {"cEvents":[], "cards":[]} var cEvents = [] var LootsToolsWS = false var closingLootsToolsWS = false function connecttolt(reconnect=false) { console.log("Connecting to Loot's Tools...") if (reconnect) { closingLootsToolsWS = true } try { if (LootsToolsWS) { LootsToolsWS.close() } } catch (error) {} LootsToolsWS = (new WebSocket("ws://127.0.0.1:4848")); LootsToolsWS.onclose = function (event) { console.log("close") if (!(closingLootsToolsWS)) { window.setTimeout(connecttolt, 10000); SAMMI.alert("Failed to connect to Loot's Tools Desktop, trying to connect again in 10 seconds.") } else { SAMMI.alert("Disconnected from Loot's Tools Desktop.") } }; //notice that connection is established LootsToolsWS.onopen = function (event) { LootsToolsWS.send("plsLootsTools") closingLootsToolsWS = false }; LootsToolsWS.onmessage = function (event) { try { data = JSON.parse(event.data) // console.log(data) if ("cards" in data) { cards = [] eventValues.cards = [] for (collectionNo in data.cards) { collection = data.cards[collectionNo] cardsList = collection.cards for (card in cardsList){ card = cardsList[card] cards.push(card.cardName+" ("+collection.collectionName+")") eventValues.cards.push([collection.collectionID, card.cardID]) } } SAMMI.extCommand("Loot's Tools: Trigger Event", 3355443, 52, { event: ['Event to trigger', 18, 0, null, cEvents.concat(cards)], }); } else if ("plugins" in data) { SAMMI.alert("Connected to Loot's Tools Desktop") cEvents = [] eventValues.cEvents = [] for (extensionNo in data.plugins) { extension = data.plugins[extensionNo] if (extension.pluginID == "sammiEX") { // if (extension.pluginID == "twitchEX") { SAMMI.extCommand("Loot's Tools: Call SAMMI Event", 3355443, 52, { id: ['Identifier', 14, "", 0.5], eventData: ['Event Data (JSON format)', 0, "", 1], }); } // if ("customEvents" in extension) { // customEventsList = extension.customEvents // for (cEventNo in customEventsList){ // cEvent = customEventsList[cEventNo] // cEvents.push(cEvent.name+" ("+collection.collectionName+")") // eventValues.cEvents.push([collection.collectionID, card.cardID]) // } // } } // SAMMI.extCommand("Loot's Tools: Trigger Event", 3355443, 52, { // event: ['Event to trigger', 18, 0, null, cEvents.concat(cards)], // }); } else if ("gift" in data) { gift = data.gift user = gift.user giftee = gift.giftee data = gift.data packQuantity = gift.packQuantity collectionName = (data.fields.length > 3) ? data.fields[0].value : "" SAMMI.triggerExt('LootsToolsStreamlootsGift', {"user": user, "giftee": giftee, "data": data, "packQuantity": packQuantity}) } else if ("purchase" in data) { purchase = data.purchase user = purchase.user data = purchase.data packQuantity = purchase.packQuantity collectionName = (data.fields.length > 2) ? data.fields[0].value : "" SAMMI.triggerExt('LootsToolsStreamlootsPurchase', {"user": user, "data": data, "packQuantity": packQuantity}) } else if ("random-community-gift" in data) { randomcommunitygift = data["random-community-gift"] user = randomcommunitygift.user data = randomcommunitygift.data packQuantity = randomcommunitygift.packQuantity collectionName = randomcommunitygift.collectionName SAMMI.triggerExt('LootsToolsStreamlootsSubscriptionCommunityGift', {"user": user, "giftee": giftee, "data": data, "packQuantity": packQuantity}) } else if ("newEvent" in data) { card = data.newEvent console.log(card) user = card.user cardName = card.cardName data = card.data console.log(card.data.fields) fields = {} for (fieldNo in card.data.fields) { if (!(["rarity", "username"].includes(card.data.fields[fieldNo].name))) { if ("value" in card.data.fields[fieldNo]) { fields[card.data.fields[fieldNo].name] = card.data.fields[fieldNo].value } } } SAMMI.triggerExt('LootsToolsStreamlootsCard', {"user": user, "cardName": cardName, "data": data, "fields": fields}) } else if ("subscription" in data) { subscription = data.subscription user = subscription.user data = subscription.data SAMMI.triggerExt('LootsToolsStreamlootsSubscription', {"user": user, "data": data}) } else if ("communityGiftSubscription" in data) { communityGiftSubscription = data.communityGiftSubscription user = communityGiftSubscription.user data = communityGiftSubscription.data SAMMI.triggerExt('LootsToolsStreamlootsCommunityGiftSubscription', {"user": user, "data": data}) } else if ("giftSubscription" in data) { giftSubscription = data.giftSubscription user = giftSubscription.gifter giftee = giftSubscription.giftee data = giftSubscription.data SAMMI.triggerExt('LootsToolsStreamlootsSubscriptionGift', {"user": user, "giftee": giftee, "data": data}) } else if ("reaction" in data) { reaction = data.reaction user = reaction.user reactionName = reaction.reactionName videoUrl = ("videoUrl" in reaction) ? reaction.videoUrl : "" imageUrl = ("imageUrl" in reaction) ? reaction.imageUrl : "" data = reaction.data SAMMI.triggerExt('LootsToolsStreamlootsReaction', {"user": user, "reactionName": reactionName, "videoUrl": videoUrl, "imageUrl": imageUrl, "data": data}) } else if ("cEvent" in data) { cEvent = data.cEvent name = cEvent.name data = cEvent.data SAMMI.triggerExt('LootsToolsCustomEvent', {"name": name, "data": data}) } } catch (error) { } }; } connecttolt() [insert_over] { "deck_data": "{ \"background_color\": 4210752.0, \"on\": 1.0, \"grid_y\": 11.0, \"snap_grid\": true, \"lb_version\": \"2022.4.1\", \"background_image\": \"\", \"encrypted\": false, \"adaptive_resizing\": true, \"unique_id\": \"20220826191658527364089\", \"button_list\": [ { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Streamloots Card Redemption\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsStreamlootsCard\\\" when a Streamloots Card is played.\\nEste botón es llamado por \\\"LootsToolsStreamlootsCard\\\" cuando una Carta de Streamloots se juega.\", \"v0\": 10.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"user\\\" is a String, and it contains the username of who used the Card.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien haya usado la Carta.\", \"v0\": 2.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"b1\": \"\", \"cmd\": 148.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 1, \"xpan\": 0.0, \"b0\": \"This user used the Card --> \\\/$user$\\\/\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 19.0, \"b0\": \"\\\"fields\\\" is an Object, and it contains all the user-written fields of the Card.\\n\\\"fields\\\" es un Objeto, y contiene todos los campos rellenados por el usuario al usar la Carta.\", \"v0\": 1.0 }, { \"b1\": \"fields\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 5.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"fields\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 6.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 19.0, \"b0\": \"\\\"cardName\\\" is a String, and it contains the name of the Card Played.\\n\\\"cardName\\\" es una String, y contiene el nombre de la Carta jugada.\", \"v0\": 2.0 }, { \"b1\": \"cardName\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 7.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"cardName\" }, { \"b1\": \"\", \"cmd\": 148.0, \"obsid\": \"Main\", \"pos\": 8.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 1.0, \"xpan\": 0.0, \"b0\": \"What Card? This card! --> \\\/$cardName$\\\/\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 9.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 10.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.0, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsCard\", \"group_id\": \"\", \"button_id\": \"ID8\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID8\", \"button_duration\": 0.0, \"y\": 0.090909090909090911614143237784447, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Streamloots Pack Purchase\\n\\n(Needs Loot's Tools Plus)\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsStreamlootsPurchase\\\" when a Streamloots Pack is bought.\\nEste botón es llamado por \\\"LootsToolsStreamlootsPurchase\\\" cuando un Cofre de Streamloots se compra.\", \"v0\": 8.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"user\\\" is a String, and it contains the username of who bought the Pack.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien haya comprado el Cofre.\", \"v0\": 1.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 19.0, \"b0\": \"\\\"packQuantity\\\" is a String, and it contains the amount of Packs bought.\\n\\\"packQuantity\\\" es una String, y contiene la cantidad de Cofres comprados.\", \"v0\": 1.0 }, { \"b1\": \"packQuantity\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"packQuantity\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 5.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 19.0, \"b0\": \"\\\"collectionName\\\" is a String, and it contains the name of the Pack's Collection.\\n\\\"collectionName\\\" es una String, y contiene el nombre de la Colección de la Carta.\", \"v0\": 1.0 }, { \"b1\": \"collectionName\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 6.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"collectionName\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 7.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 8.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.0, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsPurchase\", \"group_id\": \"\", \"button_id\": \"ID20\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID20\", \"button_duration\": 0.0, \"y\": 0.36363636363636364645657295113779, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Streamloots Subscription\\n\\n(Needs Loot's Tools Plus)\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsStreamlootsSubscription\\\" when someone subscribes on Streamloots.\\nEste botón es llamado por \\\"LootsToolsStreamlootsSubscription\\\" cuando alguien se suscribe en Streamloots.\", \"v0\": 4.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"user\\\" is a String, and it contains the username of who subscribed.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien se haya suscrito.\", \"v0\": 1.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.0, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsSubscription\", \"group_id\": \"\", \"button_id\": \"ID21\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID21\", \"button_duration\": 0.0, \"y\": 0.63636363636363635354342704886221, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Streamloots Reaction\\n\\n(Needs Loot's Tools Plus)\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsStreamlootsReaction\\\" when someone sends a Reaction on Streamloots.\\nEste botón es llamado por \\\"LootsToolsStreamlootsReaction\\\" cuando alguien usa una Reacción en Streamloots.\", \"v0\": 9.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"user\\\" is a String, and it contains the username of who used the Reaction.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien haya usado la Reacción.\", \"v0\": 1.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"reactionName\\\" is a String, and it contains the name of the Reaction.\\n\\\"reactionName\\\" es una String, y contiene el nombre de la Reacción.\", \"v0\": 1.0 }, { \"b1\": \"reactionName\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"reactionName\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 5.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"videoUrl\\\" and \\\"imageUrl\\\" are Strings, and they contain the URL of the video or image of the Reaction.\\n\\\"videoUrl\\\" y \\\"imageUrl\\\" son Strings, y contienen la URL del video o imagen de la Reacción.\", \"v0\": 2.0 }, { \"b1\": \"videoUrl\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 6.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"videoUrl\" }, { \"b1\": \"imageUrl\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 7.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"imageUrl\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 8.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 9.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.20000000000000001110223024625157, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsReaction\", \"group_id\": \"\", \"button_id\": \"ID22\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID22\", \"button_duration\": 0.0, \"y\": 0.090909090909090911614143237784447, \"switch_deck\": \"\", \"height\": 0.27272727272727270708685409772443, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Streamloots Pack Gift\\n\\n(Needs Loot's Tools Plus)\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsStreamlootsGift\\\" when a Streamloots Pack is gifted.\\nEste botón es llamado por \\\"LootsToolsStreamlootsGift\\\" cuando un Cofre de Streamloots se regala.\", \"v0\": 10.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"user\\\" is a String, and it contains the username of who gifted the Pack.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien haya regalado el Cofre.\", \"v0\": 1.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"giftee\\\" is a String, and it contains the username of who recieves the Pack.\\n\\\"giftee\\\" es una String, y contiene el nombre de Usuario de quien recibe el Cofre.\", \"v0\": 1.0 }, { \"b1\": \"giftee\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"giftee\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 5.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 19.0, \"b0\": \"\\\"packQuantity\\\" is a String, and it contains the amount of Packs gifted.\\n\\\"packQuantity\\\" es una String, y contiene la cantidad de Cofres regalados.\", \"v0\": 1.0 }, { \"b1\": \"packQuantity\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 6.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"packQuantity\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 7.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 19.0, \"b0\": \"\\\"collectionName\\\" is a String, and it contains the name of the Pack's Collection.\\n\\\"collectionName\\\" es una String, y contiene el nombre de la Colección de la Carta.\", \"v0\": 1.0 }, { \"b1\": \"collectionName\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 8.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"collectionName\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 9.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 10.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.20000000000000001110223024625157, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsGift\", \"group_id\": \"\", \"button_id\": \"ID23\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID23\", \"button_duration\": 0.0, \"y\": 0.36363636363636364645657295113779, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Streamloots Subscription\\nGift\\n\\n(Needs Loot's Tools Plus)\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsStreamlootsSubscription\\\" when someone gifts a Streamloots Subscription.\\nEste botón es llamado por \\\"LootsToolsStreamlootsSubscription\\\" cuando alguien regala una Suscripción en Streamloots.\", \"v0\": 6.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"user\\\" is a String, and it contains the username of who gifted the subscription.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien haya regalado la suscripción.\", \"v0\": 1.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"giftee\\\" is a String, and it contains the username of who gets the subscription.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien haya recibido la suscripción.\", \"v0\": 1.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 5.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 6.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.20000000000000001110223024625157, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsSubscriptionGift\", \"group_id\": \"\", \"button_id\": \"ID24\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID24\", \"button_duration\": 0.0, \"y\": 0.63636363636363635354342704886221, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Loot's Tools Custom Event\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsCustomEvent\\\" when a Custom Event is triggered on Loot's Tools.\\nEste botón es llamado por \\\"LootsToolsCustomEvent\\\" cuando un Evento Custom es llamado en Loot's Tools.\", \"v0\": 4.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"name\\\" is a String, and it contains the name of the Custom Event.\\n\\\"name\\\" es una String, y contiene el nombre del Evento Custom.\", \"v0\": 1.0 }, { \"b1\": \"name\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"name\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.40000000000000002220446049250313, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsCustomEvent\", \"group_id\": \"\", \"button_id\": \"ID25\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID25\", \"button_duration\": 0.0, \"y\": 0.090909090909090911614143237784447, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Streamloots Pack\\nCommunity Gift\\n\\n(Needs Loot's Tools Plus)\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsStreamlootsCommunityGift\\\" when a Streamloots Pack is gifted to the Community.\\nEste botón es llamado por \\\"LootsToolsStreamlootsCommunityGift\\\" cuando un Cofre de Streamloots se regala a la Comunidad.\", \"v0\": 8.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"user\\\" is a String, and it contains the username of who gifted the Pack.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien haya regalado el Cofre.\", \"v0\": 1.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 19.0, \"b0\": \"\\\"packQuantity\\\" is a String, and it contains the amount of Packs gifted.\\n\\\"packQuantity\\\" es una String, y contiene la cantidad de Cofres regalados.\", \"v0\": 1.0 }, { \"b1\": \"packQuantity\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"packQuantity\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 5.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 19.0, \"b0\": \"\\\"collectionName\\\" is a String, and it contains the name of the Pack's Collection.\\n\\\"collectionName\\\" es una String, y contiene el nombre de la Colección de la Carta.\", \"v0\": 1.0 }, { \"b1\": \"collectionName\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 6.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"collectionName\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 7.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 8.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.40000000000000002220446049250313, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsCommunityGift\", \"group_id\": \"\", \"button_id\": \"ID26\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID26\", \"button_duration\": 0.0, \"y\": 0.36363636363636364645657295113779, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"On Streamloots Subscription\\nCommunity Gift\\n\\n(Needs Loot's Tools Plus)\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"This Button is triggered by \\\"LootsToolsStreamlootsCommunityGiftSubscription\\\" when someone gifts a Streamloots Subscription to the Community.\\nEste botón es llamado por \\\"LootsToolsStreamlootsCommunityGiftSubscription\\\" cuando alguien regala una Suscripción en Streamloots a la Comunidad.\", \"v0\": 4.0 }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 22.0, \"b0\": \"\\\"user\\\" is a String, and it contains the username of who gifted the Subscription.\\n\\\"user\\\" es una String, y contiene el nombre de Usuario de quien haya regalado la Suscripción.\", \"v0\": 1.0 }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 15.0, \"b0\": \"\\\"data\\\" is an Object and contains all the info about the Event.\\n\\\"data\\\" es un Objeto y contiene toda la info del Evento.\", \"v0\": 1.0 }, { \"b1\": \"data\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"data\" } ], \"press_type\": 0.0, \"x\": 0.40000000000000002220446049250313, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsSubscriptionCommunityGift\", \"group_id\": \"\", \"button_id\": \"ID27\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.20000000000000001110223024625157, \"button_id\": \"ID27\", \"button_duration\": 0.0, \"y\": 0.63636363636363635354342704886221, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"Test a Streamloots Card\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 0.0, \"obsid\": \"Main\", \"pos\": 0.0, \"event\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"extcmd\": \"Loot's Tools: Trigger Event\", \"ext\": \"SAMMI Bridge\" } ], \"press_type\": 0.0, \"x\": 0.66666666666666662965923251249478, \"border\": 2.0, \"image\": \"\", \"triggers\": [ ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.33333333333333325931846502498956, \"button_id\": \"ID29\", \"button_duration\": 0.0, \"y\": 0.18181818181818182322828647556889, \"switch_deck\": \"\", \"height\": 0.27272727272727270708685409772443, \"release_list\": [ ], \"functions\": 65.0, \"stretch\": 0.0 }, { \"color\": 11993196.0, \"persistent\": 1.0, \"text\": \"MAKE SURE YOU HAVE LOOT'S TOOLS RUNNING\\nOR ELSE NOTHING HERE WILL WORK\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ ], \"press_type\": 0.0, \"x\": 0.0, \"border\": 2.0, \"image\": \"\", \"triggers\": [ ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.46666666666666667406815349750104, \"button_id\": \"ID31\", \"button_duration\": 0.0, \"y\": 0.0, \"switch_deck\": \"\", \"height\": 0.090909090909090883858567622155533, \"release_list\": [ ], \"functions\": 64.0, \"stretch\": 0.0 }, { \"color\": 11993196.0, \"persistent\": 1.0, \"text\": \"ASEGÚRATE DE TENER LOOT'S TOOLS CORRIENDO\\nO NADA DE AQUÍ FUNCIONARÁ\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ ], \"press_type\": 0.0, \"x\": 0.53333333333333332593184650249896, \"border\": 2.0, \"image\": \"\", \"triggers\": [ ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.46666666666666667406815349750104, \"button_id\": \"ID35\", \"button_duration\": 0.0, \"y\": 0.0, \"switch_deck\": \"\", \"height\": 0.090909090909090883858567622155533, \"release_list\": [ ], \"functions\": 64.0, \"stretch\": 0.0 }, { \"color\": 12632256.0, \"persistent\": 1.0, \"text\": \"Card Redirector\\n\\n(Use this to redirect your Card\\n Events to your Buttons)\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 6.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 17.0, \"b0\": \"You can use this as a base to direct what Card triggers what Button.\\nPuedes usar esto como una base para decir qué Carta llama a qué Botón.\", \"v0\": 7.0 }, { \"b1\": \"cardName\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 1.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"cardName\" }, { \"b1\": \"user\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 2.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"user\" }, { \"b1\": \"fields\", \"cmd\": 66.0, \"obsid\": \"Main\", \"pos\": 3.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"fields\" }, { \"cmd\": 5.0, \"obsid\": \"Main\", \"pos\": 4.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 88.0, \"b0\": \"Duplicate the Case Statement and change \\\"{nameOfTheCard}\\\" for the name of your Card, and \\\"{someButtonID}\\\" for the Button's ID you want to trigger. \\nOr not, you could code what your Card does here. You could just do it. Just pray for me not to find out.\\n\\nDuplica el Case Statement y cambia \\\"{nameOfTheCard}\\\" por el nombre de tu Carta, y \\\"{someButtonID}\\\" por el ID del Botón que quieres llamar.\\nO no, podrías programar lo que quieres que haga tu carta aquí mismo. Puedes hacerlo. Solo reza para que no me entere.\", \"v0\": 0.0 }, { \"cmd\": 24.0, \"obsid\": \"Main\", \"pos\": 5.0, \"v3\": { \"{nameOfTheCard}\": 6.0, \"default\": 0.0 }, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"cardName\", \"v0\": 2.0 }, { \"b5\": \"\", \"b13\": \"\", \"b19\": \"\", \"b17\": \"\", \"b1\": \"\", \"b7\": \"\", \"b11\": \"\", \"b9\": \"\", \"b15\": \"\", \"b3\": \"\", \"cmd\": 26.0, \"obsid\": \"Main\", \"pos\": 6.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b16\": \"\", \"b0\": \"{nameOfTheCard}\", \"b18\": \"\", \"b4\": \"\", \"b12\": \"\", \"b14\": \"\", \"b2\": \"\", \"b8\": \"\", \"b6\": \"\", \"b10\": \"\", \"v0\": 1.0, \"v2\": 1.0 }, { \"b1\": \"0\", \"cmd\": 132.0, \"obsid\": \"Main\", \"pos\": 7.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": false, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"{someButtonID}\", \"v0\": false } ], \"press_type\": 0.0, \"x\": 0.66666666666666662965923251249478, \"border\": 1.0, \"image\": \"\", \"triggers\": [ { \"case_sensitive\": 0.0, \"message\": \"LootsToolsStreamlootsCard\", \"group_id\": \"\", \"button_id\": \"ID7\", \"trg\": 12.0, \"allow_empty_wildcard\": 0.0 } ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 0.33333333333333337034076748750522, \"button_id\": \"ID7\", \"button_duration\": 0.0, \"y\": 0.54545454545454541417370819544885, \"switch_deck\": \"\", \"height\": 0.27272727272727276259800532898225, \"release_list\": [ ], \"functions\": 81.0, \"stretch\": 0.0 }, { \"color\": 11993196.0, \"persistent\": 1.0, \"text\": \"Download Loot's Tools:\\nlootstools.darye.dev\", \"release_duration\": 0.0, \"queueable\": 0.0, \"command_list\": [ { \"cmd\": 136.0, \"obsid\": \"Main\", \"pos\": 0.0, \"vis\": 1.0, \"ms\": 0.0, \"sel\": 0.0, \"dis\": 0.0, \"xpan\": 0.0, \"b0\": \"https:\\\/\\\/lootstools.darye.dev\" } ], \"press_type\": 0.0, \"x\": 0.0, \"border\": 2.0, \"image\": \"\", \"triggers\": [ ], \"group_id\": \"\", \"overlappable\": 0.0, \"init_variable\": \"\", \"deck\": 4.0, \"width\": 1.0, \"button_id\": \"ID30\", \"button_duration\": 0.0, \"y\": 0.90909090909090906063028114658664, \"switch_deck\": \"\", \"height\": 0.090909090909090883858567622155533, \"release_list\": [ ], \"functions\": 65.0, \"stretch\": 0.0 } ], \"deck_name\": \"Loot's Tools SAMMI Bridge Showcase Deck\", \"grid_x\": 15.0, \"stretch\": 0.0 }", "unique_id": "20220826191658527364089", "deck_verification_code": "033c0969edc5497b2b7876c1c99c85b45d3585f3", "include_image": { } }