346 lines
26 KiB
YAML
346 lines
26 KiB
YAML
Autoraise: true
|
|
ColorDiffuse:
|
|
b: 1.0
|
|
g: 1.0
|
|
r: 1.0
|
|
CustomImage:
|
|
CustomTile:
|
|
Stackable: false
|
|
Stretch: true
|
|
Thickness: 0.1
|
|
Type: 0
|
|
ImageScalar: 1.0
|
|
ImageSecondaryURL: http://cloud-3.steamusercontent.com/ugc/1626320664132229615/137B40B3DFB0FF1D7FCC2D3BB67989CB89030E47/
|
|
ImageURL: http://cloud-3.steamusercontent.com/ugc/1626320664132228784/5EF35A0D9805878E46578143570DCD7526319F70/
|
|
WidthScale: 0.0
|
|
Description: ''
|
|
DragSelectable: true
|
|
GMNotes: ''
|
|
GUID: f40183
|
|
Grid: true
|
|
GridProjection: false
|
|
Hands: false
|
|
HideWhenFaceDown: false
|
|
IgnoreFoW: false
|
|
Locked: false
|
|
LuaScript: !include 'Custom_Tile The Innsmouth Conspiracy Campaign Log f40183.ttslua'
|
|
LuaScriptState: '{"checkbox":[],"counter":[{"hideBG":true,"pos":[-0.7,0.1,-0.46],"size":400,"value":"0"},{"hideBG":true,"pos":[-0.51,0.1,-0.46],"size":400,"value":"0"},{"hideBG":true,"pos":[-0.517,0.1,-0.56],"size":300,"value":"0"},{"hideBG":true,"pos":[-0.274,0.1,-0.455],"size":400,"value":"0"},{"hideBG":true,"pos":[-0.06,0.1,-0.455],"size":400,"value":"0"},{"hideBG":true,"pos":[-0.061,0.1,-0.55],"size":300,"value":"0"},{"hideBG":true,"pos":[0.15,0.1,-0.45],"size":400,"value":"0"},{"hideBG":true,"pos":[0.379,0.1,-0.45],"size":400,"value":"0"},{"hideBG":true,"pos":[0.38,0.1,-0.55],"size":300,"value":"0"},{"hideBG":true,"pos":[0.614,0.1,-0.44],"size":400,"value":"0"},{"hideBG":true,"pos":[0.82,0.1,-0.44],"size":400,"value":"0"},{"hideBG":true,"pos":[0.827,0.1,-0.54],"size":300,"value":"0"}],"textbox":[{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[-0.64,0.1,-0.72],"rows":1,"value":"","width":2000},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[-0.64,0.1,-0.63],"rows":1,"value":"","width":2000},{"alignment":2,"font_size":100,"label":"Click
|
|
to type","pos":[-0.64,0.1,-0.27],"rows":9,"value":"","width":2000},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[-0.2,0.1,-0.715],"rows":1,"value":"","width":2000},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[-0.2,0.1,-0.63],"rows":1,"value":"","width":2000},{"alignment":2,"font_size":100,"label":"Click
|
|
to type","pos":[-0.2,0.1,-0.27],"rows":9,"value":"","width":2000},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[0.241,0.1,-0.71],"rows":1,"value":"","width":2000},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[0.24,0.1,-0.625],"rows":1,"value":"","width":2000},{"alignment":2,"font_size":100,"label":"Click
|
|
to type","pos":[0.24,0.1,-0.268],"rows":9,"value":"","width":2000},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[0.69,0.1,-0.71],"rows":1,"value":"","width":2000},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[0.69,0.1,-0.62],"rows":1,"value":"","width":2000},{"alignment":2,"font_size":100,"label":"Click
|
|
to type","pos":[0.671,0.1,-0.265],"rows":9,"value":"","width":2000},{"alignment":2,"font_size":200,"label":"Click
|
|
to type","pos":[0.44,0.1,0.325],"rows":14,"value":"","width":3500},{"alignment":2,"font_size":200,"label":"Click
|
|
to type","pos":[-0.43,0.1,0.33],"rows":14,"value":"","width":3500},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[-0.478,0.1,0.8],"rows":8,"value":"","width":3000},{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[0.448,0.1,0.887],"rows":5,"value":"","width":4000}]}'
|
|
MeasureMovement: false
|
|
Name: Custom_Tile
|
|
Nickname: The Innsmouth Conspiracy Campaign Log
|
|
Snap: true
|
|
States:
|
|
'2':
|
|
Autoraise: true
|
|
ColorDiffuse:
|
|
b: 1.0
|
|
g: 1.0
|
|
r: 1.0
|
|
CustomImage:
|
|
CustomTile:
|
|
Stackable: false
|
|
Stretch: true
|
|
Thickness: 0.1
|
|
Type: 0
|
|
ImageScalar: 1.0
|
|
ImageSecondaryURL: http://cloud-3.steamusercontent.com/ugc/1626320664132229615/137B40B3DFB0FF1D7FCC2D3BB67989CB89030E47/
|
|
ImageURL: http://cloud-3.steamusercontent.com/ugc/1626320664132232101/81F6ECC6E6248F522561D4C3177F3C3F7F15DB75/
|
|
WidthScale: 0.0
|
|
Description: ''
|
|
DragSelectable: true
|
|
GMNotes: ''
|
|
GUID: 4e2191
|
|
Grid: true
|
|
GridProjection: false
|
|
Hands: false
|
|
HideWhenFaceDown: false
|
|
IgnoreFoW: false
|
|
Locked: false
|
|
LuaScript: "\t--[[ Character Sheet Template by: MrStump\r\n\r\n\tYou can\
|
|
\ set up your own character sheet if you follow these steps.\r\n\r\n\tStep 1)\
|
|
\ Change the character sheet image\r\n\t\t-Right click on the character sheet,\
|
|
\ click Custom\r\n\t\t-Replace the image URL with one for your character sheet\r\
|
|
\n\t\t-Click import, make sure your sheet loads\r\n\t\t-SAVE THE GAME (the table\
|
|
\ setup)\r\n\t\t-LOAD FROM THAT SAVE YOU JUST MADE\r\n\r\n\tStep 2) Edit script\
|
|
\ to fit your character sheet\r\n\t\t-Below you will see some general options,\
|
|
\ and then the big data table\r\n\t\t-The data table is what determines how\
|
|
\ many of which buttons are made\r\n\t\t\t-Checkboxes\r\n\t\t\t-Counters\r\n\
|
|
\t\t\t-Textboxes\r\n\t\t-By default, there are 3 of each. You can add more or\
|
|
\ remove entries\r\n\t\t-If you intend to add/remove, be sure only to add/remove\
|
|
\ ENTRIES\r\n\t\t\t-This is what an entry looks like:\r\n\t\t\t\t{\r\n\t\t\t\
|
|
\t\tpos = {-0.977,0.1,-0.589},\r\n\t\t\t\t\tsize = 800,\r\n\t\t\t\t\tstate\
|
|
\ = false\r\n\t\t\t\t},\r\n\t\t\t-Deleting the whole thing would remove that\
|
|
\ specific item on the sheet\r\n\t\t\t-Copy and pasting it after another entry\
|
|
\ would create another\r\n\t\t-Each entry type has unique data points (pos,\
|
|
\ size, state, etc)\r\n\t\t\t-Do not try to add in your own data points or remove\
|
|
\ them individually\r\n\t\t\t-There is a summary of what each point does at\
|
|
\ the top of its category\r\n\r\n\tStep 3) Save and check script changes\r\n\
|
|
\t\t-Hit Save & Apply in the script window to save your code\r\n\t\t-You can\
|
|
\ edit your code as needed and Save+Apply as often as needed\r\n\t\t-When you\
|
|
\ are finished, make disableSave = false below then Save+apply\r\n\t\t\t-This\
|
|
\ enables saving, so your sheet will remember whats on it.\r\n\r\n\tBonus) Finding/Editing\
|
|
\ Positions for elements\r\n\t\tI have included a tool to get positions for\
|
|
\ buttons in {x,y,z} form\r\n\t\tPlace it where you want the center of your\
|
|
\ element to be\r\n\t\tThen copy the table from the notes (lower right of screen)\r\
|
|
\n\t\t\tYou can highlight it and CTRL+C\r\n\t\tPaste it into the data table\
|
|
\ where needed (pos=)\r\n\t\tIf you want to manually tweek the values:\r\n\t\
|
|
\t\t{0,0,0} is the center of the character sheet\r\n\t\t\t{1,0,0} is right,\
|
|
\ {-1,0,0} is left\r\n\t\t\t{0,0,-1} is up, {0,0,1} is down\r\n\t\t\t0.1 for\
|
|
\ Y is the height off of the page.\r\n\t\t\t\tIf it was 0, it would be down\
|
|
\ inside the model of the sheet\r\n\r\n\tBegin editing below: ]]\r\n\r\n\t\
|
|
--Set this to true while editing and false when you have finished\r\n\tdisableSave\
|
|
\ = false\r\n\t--Remember to set this to false once you are done making changes\r\
|
|
\n\t--Then, after you save & apply it, save your game too\r\n\r\n\t--Color information\
|
|
\ for button text (r,g,b, values of 0-1)\r\n\tbuttonFontColor = {0,0,0}\r\n\t\
|
|
--Color information for button background\r\n\tbuttonColor = {0.902,0.886,0.788}\r\
|
|
\n\t--Change scale of button (Avoid changing if possible)\r\n\tbuttonScale =\
|
|
\ {0.1,0.1,0.1}\r\n\r\n\t--This is the button placement information\r\n\tdefaultButtonData\
|
|
\ = {\r\n\t --Add checkboxes\r\n\t checkbox = {\r\n\t\t --[[\r\n\t\t pos\
|
|
\ = the position (pasted from the helper tool)\r\n\t\t size = height/width/font_size\
|
|
\ for checkbox\r\n\t\t state = default starting value for checkbox (true=checked,\
|
|
\ false=not)\r\n\t\t ]]\r\n\t\t --1 checkbox\r\n\t\t {\r\n\t\t\t pos =\
|
|
\ {-0.741,0.1,-0.78},\r\n\t\t\t size = 250,\r\n\t\t\t state = false\r\n\t\
|
|
\t },\r\n\t\t --2 checkbox\r\n\t\t {\r\n\t\t\t pos = {-0.67,0.1,-0.593},\r\
|
|
\n\t\t\t size = 250,\r\n\t\t\t state = false\r\n\t\t },\r\n\t\t --3 checkbox\r\
|
|
\n\t\t {\r\n\t\t\t pos = {-0.755,0.1,-0.376},\r\n\t\t\t size = 250,\r\n\
|
|
\t\t\t state = false\r\n\t\t },\r\n\t\t --4 checkbox\r\n\t\t {\r\n\t\t\t\
|
|
\ pos = {-0.659,0.1,-0.301},\r\n\t\t\t size = 250,\r\n\t\t\t state = false\r\
|
|
\n\t\t },\r\n\t\t --5 checkbox\r\n\t\t {\r\n\t\t\t pos = {-0.776,0.1,-0.095},\r\
|
|
\n\t\t\t size = 250,\r\n\t\t\t state = false\r\n\t\t },\r\n\t\t --6 checkbox\r\
|
|
\n\t\t {\r\n\t\t\t pos = {-0.769,0.1,0.001},\r\n\t\t\t size = 250,\r\n\
|
|
\t\t\t state = false\r\n\t\t },\r\n\t\t --7 checkbox\r\n\t\t {\r\n\t\t\t\
|
|
\ pos = {-0.726,0.1,0.149},\r\n\t\t\t size = 250,\r\n\t\t\t state = false\r\
|
|
\n\t\t },\r\n\t\t --8 checkbox\r\n\t\t {\r\n\t\t\t pos = {-0.744,0.1,0.297},\r\
|
|
\n\t\t\t size = 250,\r\n\t\t\t state = false\r\n\t\t },\r\n\t\t --Brian\r\
|
|
\n\t\t {\r\n\t\t\t pos = {-0.781,0.1,0.755},\r\n\t\t\t size = 250,\r\n\
|
|
\t\t\t state = false\r\n\t\t },\r\n\t\t --Othera\r\n\t\t {\r\n\t\t\t pos\
|
|
\ = {-0.779,0.1,0.822},\r\n\t\t\t size = 250,\r\n\t\t\t state = false\r\
|
|
\n\t\t },\r\n\t\t --Joyce\r\n\t\t {\r\n\t\t\t pos = {-0.775,0.1,0.891},\r\
|
|
\n\t\t\t size = 250,\r\n\t\t\t state = false\r\n\t\t },\r\n\t\t --Barnabas\r\
|
|
\n\t\t {\r\n\t\t\t pos = {-0.478,0.1,0.72},\r\n\t\t\t size = 250,\r\n\t\
|
|
\t\t state = false\r\n\t\t },\r\n\t\t --Zadok\r\n\t\t {\r\n\t\t\t pos \
|
|
\ = {-0.47,0.1,0.781},\r\n\t\t\t size = 250,\r\n\t\t\t state = false\r\n\
|
|
\t\t },\r\n\t\t --Robert\r\n\t\t {\r\n\t\t\t pos = {-0.467,0.1,0.854},\r\
|
|
\n\t\t\t size = 250,\r\n\t\t\t state = false\r\n\t\t },\r\n\t\t --Innsmouth\
|
|
\ Jail\r\n\t\t {\r\n\t\t\t pos = {-0.152,0.1,0.677},\r\n\t\t\t size =\
|
|
\ 250,\r\n\t\t\t state = false\r\n\t\t },\r\n\t\t --Shoeward Slums\r\n\t\t\
|
|
\ {\r\n\t\t\t pos = {-0.143,0.1,0.751},\r\n\t\t\t size = 250,\r\n\t\t\t\
|
|
\ state = false\r\n\t\t },\r\n\t\t --Sawbone Alley\r\n\t\t {\r\n\t\t\t \
|
|
\ pos = {-0.133,0.1,0.826},\r\n\t\t\t size = 250,\r\n\t\t\t state = false\r\
|
|
\n\t\t },\r\n\t\t --House on Water Street\r\n\t\t {\r\n\t\t\t pos = {0.152,0.1,0.643},\r\
|
|
\n\t\t\t size = 250,\r\n\t\t\t state = false\r\n\t\t },\r\n\t\t --Order\
|
|
\ of Dagon\r\n\t\t {\r\n\t\t\t pos = {0.156,0.1,0.715},\r\n\t\t\t size\
|
|
\ = 250,\r\n\t\t\t state = false\r\n\t\t },\r\n\t\t --New Church Green\r\
|
|
\n\t\t {\r\n\t\t\t pos = {0.165,0.1,0.787},\r\n\t\t\t size = 250,\r\n\t\
|
|
\t\t state = false\r\n\t\t },\r\n\r\n\t\t --End of checkboxes\r\n\t },\r\
|
|
\n\t\t--Add counters that have a + and - button\r\n\t\tcounter = {\r\n\t\t\t\
|
|
--[[\r\n\t\t\tpos = the position (pasted from the helper tool)\r\n\t\t\t\
|
|
size = height/width/font_size for counter\r\n\t\t\tvalue = default starting\
|
|
\ value for counter\r\n\t\t\thideBG = if background of counter is hidden (true=hidden,\
|
|
\ false=not)\r\n\t\t\t]]\r\n\r\n\t\t\t--Slot four xp 1\r\n\t-- {\r\n\t\
|
|
-- pos = {0.78,0.1,-0.54},\r\n\t-- size = 300,\r\n\
|
|
\t-- value = 0,\r\n\t-- hideBG = true\r\n\t-- \
|
|
\ },\r\n\r\n\t\t\t--End of counters\r\n\t\t},\r\n\t\t--Add editable text boxes\r\
|
|
\n\t\ttextbox = {\r\n\t\t\t--[[\r\n\t\t\tpos = the position (pasted from\
|
|
\ the helper tool)\r\n\t\t\trows = how many lines of text you want for\
|
|
\ this box\r\n\t\t\twidth = how wide the text box is\r\n\t\t\tfont_size\
|
|
\ = size of text. This and \"rows\" effect overall height\r\n\t\t\tlabel \
|
|
\ = what is shown when there is no text. \"\" = nothing\r\n\t\t\tvalue \
|
|
\ = text entered into box. \"\" = nothing\r\n\t\t\talignment = Number to indicate\
|
|
\ how you want text aligned\r\n\t\t\t\t\t\t(1=Automatic, 2=Left, 3=Center, 4=Right,\
|
|
\ 5=Justified)\r\n\t\t\t]]\r\n\t\t\t--Slot one player\r\n\r\n\t\t\t--Chaos Bag\r\
|
|
\n\t\t\t{\r\n\t\t\t\tpos = {0.8,0.1,0.25},\r\n\t\t\t\trows = 12,\r\
|
|
\n\t\t\t\twidth = 1500,\r\n\t\t\t\tfont_size = 150,\r\n\t\t\t\tlabel \
|
|
\ = \"Click to type\",\r\n\t\t\t\tvalue = \"\",\r\n\t\t\t\talignment =\
|
|
\ 2\r\n\t\t\t},\r\n\t\t\t--End of textboxes\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t\
|
|
--Lua beyond this point, I recommend doing something more fun with your life\r\
|
|
\n\r\n\r\n\r\n--Save function\r\nlocal alreadySaving = false -- Copy this too!\r\
|
|
\nfunction updateSave()\r\n\r\n function string.replaceText(text, old, new)\r\
|
|
\n local b,e = text:find(old,1,true)\r\n if b==nil then\r\n \
|
|
\ return text\r\n else\r\n return text:sub(1,b-1) .. new .. text:sub(e+1)\r\
|
|
\n end\r\n end\r\n\r\n function wait(time)\r\n local start =\
|
|
\ os.time()\r\n repeat coroutine.yield(0) until os.time() > start + time\r\
|
|
\n end\r\n\r\n function deepcopy(orig)\r\n local orig_type = type(orig)\r\
|
|
\n local copy\r\n if orig_type == 'table' then\r\n copy =\
|
|
\ {}\r\n for orig_key, orig_value in next, orig, nil do\r\n \
|
|
\ copy[deepcopy(orig_key)] = deepcopy(orig_value)\r\n end\r\n\
|
|
\ setmetatable(copy, deepcopy(getmetatable(orig)))\r\n else --\
|
|
\ number, string, boolean, etc\r\n copy = orig\r\n end\r\n \
|
|
\ return copy\r\n end\r\n\r\n function startSaving()\r\n while\
|
|
\ alreadySaving do\r\n wait(0.01)\r\n end\r\n alreadySaving =\
|
|
\ true\r\n local ref_buttonData = deepcopy(ref_buttonData)\r\n local input_values\
|
|
\ = {}\r\n local checkbox_values = {}\r\n local counter_values = {}\r\n\
|
|
\r\n local GUID = self.getGUID()\r\n local counter = 1\r\n for _, val\
|
|
\ in ipairs(ref_buttonData.textbox) do\r\n if val.value != nil then\r\
|
|
\n input_values[counter] = val.value\r\n val.value = \"u\"\
|
|
..GUID..\":iv:\"..counter..\"u\"\r\n counter = counter + 1\r\n \
|
|
\ end\r\n if val.label != nil then\r\n input_values[counter]\
|
|
\ = val.label\r\n val.label = \"u\"..GUID..\":iv:\"..counter..\"u\"\
|
|
\r\n counter = counter + 1\r\n end\r\n end\r\n\r\n local\
|
|
\ counter = 1\r\n for _, val in ipairs(ref_buttonData.checkbox) do\r\n \
|
|
\ if val.value != nil then\r\n checkbox_values[counter] = val.value\r\
|
|
\n val.value = \"u\"..GUID..\":bv:\"..counter..\"u\"\r\n counter\
|
|
\ = counter + 1\r\n end\r\n end\r\n\r\n local counter = 1\r\n \
|
|
\ for _, val in ipairs(ref_buttonData.counter) do\r\n if val.value\
|
|
\ != nil then\r\n counter_values[counter] = val.value\r\n \
|
|
\ val.value = \"u\"..GUID..\":cv:\"..counter..\"u\"\r\n counter = counter\
|
|
\ + 1\r\n if val.counters != nil then\r\n for _, val2 in\
|
|
\ ipairs(val.counters) do\r\n if val2.value != nil then\r\n \
|
|
\ counter_values[counter] = val2.value\r\n val2.value\
|
|
\ = \"u\"..GUID..\":cv:\"..counter..\"u\"\r\n counter = counter\
|
|
\ + 1\r\n end\r\n if val2.change_value != nil then\r\
|
|
\n counter_values[counter] = val2.change_value\r\n \
|
|
\ val2.change_value = \"u\"..GUID..\":cv:\"..counter..\"u\"\r\n \
|
|
\ counter = counter + 1\r\n end\r\n end\r\n\
|
|
\ end\r\n\r\n end\r\n end\r\n\r\n saved_data = JSON.encode(ref_buttonData)\r\
|
|
\n\r\n local counter = 1\r\n for _, val in ipairs(ref_buttonData.textbox)\
|
|
\ do\r\n if val.value != nil then\r\n saved_data = saved_data:replaceText(\"\
|
|
u\"..GUID..\":iv:\"..counter..\"u\", string.gsub(input_values[counter], \"[\\\
|
|
\\\\\"']\", \"\\\\%1\"))\r\n val.value = input_values[counter]\r\n\
|
|
\ counter = counter + 1\r\n end\r\n if val.label != nil\
|
|
\ then\r\n saved_data = saved_data:replaceText(\"u\"..GUID..\":iv:\"\
|
|
..counter..\"u\", string.gsub(input_values[counter], \"[\\\\\\\"']\", \"\\\\\
|
|
%1\"))\r\n val.label = input_values[counter]\r\n counter =\
|
|
\ counter + 1\r\n end\r\n end\r\n\r\n local counter = 1\r\n \
|
|
\ for _, val in ipairs(ref_buttonData.checkbox) do\r\n if val.value !=\
|
|
\ nil then\r\n val.value = checkbox_values[counter]\r\n saved_data\
|
|
\ = saved_data:replaceText(\"u\"..GUID..\":bv:\"..counter..\"u\", string.gsub(checkbox_values[counter],\
|
|
\ \"[\\\\\\\"']\", \"\\\\%1\"))\r\n counter = counter + 1\r\n \
|
|
\ end\r\n end\r\n\r\n local counter = 1\r\n for _, val in ipairs(ref_buttonData.counter)\
|
|
\ do\r\n if val.value != nil then\r\n val.value = counter_values[counter]\r\
|
|
\n saved_data = saved_data:replaceText(\"u\"..GUID..\":cv:\"..counter..\"\
|
|
u\", string.gsub(counter_values[counter], \"[\\\\\\\"']\", \"\\\\%1\"))\r\n\
|
|
\ counter = counter + 1\r\n\r\n if val.counters != nil then\r\
|
|
\n for _, val2 in ipairs(val.counters) do\r\n if val2.value\
|
|
\ != nil then\r\n val2.value = counter_values[counter]\r\n \
|
|
\ saved_data = saved_data:replaceText(\"u\"..GUID..\":cv:\"..counter..\"\
|
|
u\", string.gsub(counter_values[counter], \"[\\\\\\\"']\", \"\\\\%1\"))\r\n\
|
|
\ counter = counter + 1\r\n end\r\n \
|
|
\ if val2.change_value != nil then\r\n val2.change_value = counter_values[counter]\r\
|
|
\n saved_data = saved_data:replaceText(\"u\"..GUID..\":cv:\"\
|
|
..counter..\"u\", string.gsub(counter_values[counter], \"[\\\\\\\"']\", \"\\\
|
|
\\%1\"))\r\n counter = counter + 1\r\n end\r\n \
|
|
\ end\r\n end\r\n\r\n end\r\n end\r\n if disableSave==true\
|
|
\ then saved_data=\"\" end\r\n self.script_state = saved_data\r\n\r\n \
|
|
\ alreadySaving = false\r\n return 1\r\n end\r\n startLuaCoroutine(self,\
|
|
\ \"startSaving\")\r\nend\r\n\r\n\t--Startup procedure\r\n\tfunction onload(saved_data)\r\
|
|
\n\t\tif disableSave==true then saved_data=\"\" end\r\n\t\tif saved_data ~=\
|
|
\ \"\" then\r\n\t\t\tlocal loaded_data = JSON.decode(saved_data)\r\n\t\t\tref_buttonData\
|
|
\ = loaded_data\r\n\t\telse\r\n\t\t\tref_buttonData = defaultButtonData\r\n\t\
|
|
\tend\r\n\r\n\t\tspawnedButtonCount = 0\r\n\t\tcreateCheckbox()\r\n\t\tcreateCounter()\r\
|
|
\n\t\tcreateTextbox()\r\n\tend\r\n\r\n\r\n\r\n\t--Click functions for buttons\r\
|
|
\n\r\n\r\n\r\n\t--Checks or unchecks the given box\r\n\tfunction click_checkbox(tableIndex,\
|
|
\ buttonIndex)\r\n\t\tif ref_buttonData.checkbox[tableIndex].state == true then\r\
|
|
\n\t\t\tref_buttonData.checkbox[tableIndex].state = false\r\n\t\t\tself.editButton({index=buttonIndex,\
|
|
\ label=\"\"})\r\n\t\telse\r\n\t\t\tref_buttonData.checkbox[tableIndex].state\
|
|
\ = true\r\n\t\t\tself.editButton({index=buttonIndex, label=string.char(10008)})\r\
|
|
\n\t\tend\r\n\t\tupdateSave()\r\n\tend\r\n\r\n\t--Applies value to given counter\
|
|
\ display\r\n\tfunction click_counter(tableIndex, buttonIndex, amount)\r\n\t\
|
|
\tref_buttonData.counter[tableIndex].value = ref_buttonData.counter[tableIndex].value\
|
|
\ + amount\r\n\t\tself.editButton({index=buttonIndex, label=ref_buttonData.counter[tableIndex].value})\r\
|
|
\n\t\tupdateSave()\r\n\tend\r\n\r\n\t--Updates saved value for given text box\r\
|
|
\n\tfunction click_textbox(i, value, selected)\r\n\t\tif selected == false then\r\
|
|
\n\t\t\tref_buttonData.textbox[i].value = value\r\n\t\t\tupdateSave()\r\n\t\t\
|
|
end\r\n\tend\r\n\r\n\t--Dud function for if you have a background on a counter\r\
|
|
\n\tfunction click_none() end\r\n\r\n\r\n\r\n\t--Button creation\r\n\r\n\r\n\
|
|
\r\n\t--Makes checkboxes\r\n\tfunction createCheckbox()\r\n\t\tfor i, data in\
|
|
\ ipairs(ref_buttonData.checkbox) do\r\n\t\t\t--Sets up reference function\r\
|
|
\n\t\t\tlocal buttonNumber = spawnedButtonCount\r\n\t\t\tlocal funcName = \"\
|
|
checkbox\"..i\r\n\t\t\tlocal func = function() click_checkbox(i, buttonNumber)\
|
|
\ end\r\n\t\t\tself.setVar(funcName, func)\r\n\t\t\t--Sets up label\r\n\t\t\t\
|
|
local label = \"\"\r\n\t\t\tif data.state==true then label=string.char(10008)\
|
|
\ end\r\n\t\t\t--Creates button and counts it\r\n\t\t\tself.createButton({\r\
|
|
\n\t\t\t\tlabel=label, click_function=funcName, function_owner=self,\r\n\t\t\
|
|
\t\tposition=data.pos, height=data.size, width=data.size,\r\n\t\t\t\tfont_size=data.size,\
|
|
\ scale=buttonScale,\r\n\t\t\t\tcolor=buttonColor, font_color=buttonFontColor\r\
|
|
\n\t\t\t})\r\n\t\t\tspawnedButtonCount = spawnedButtonCount + 1\r\n\t\tend\r\
|
|
\n\tend\r\n\r\n\t--Makes counters\r\n\tfunction createCounter()\r\n\t\tfor i,\
|
|
\ data in ipairs(ref_buttonData.counter) do\r\n\t\t\t--Sets up display\r\n\t\
|
|
\t\tlocal displayNumber = spawnedButtonCount\r\n\t\t\t--Sets up label\r\n\t\t\
|
|
\tlocal label = data.value\r\n\t\t\t--Sets height/width for display\r\n\t\t\t\
|
|
local size = data.size\r\n\t\t\tif data.hideBG == true then size = 0 end\r\n\
|
|
\t\t\t--Creates button and counts it\r\n\t\t\tself.createButton({\r\n\t\t\t\t\
|
|
label=label, click_function=\"click_none\", function_owner=self,\r\n\t\t\t\t\
|
|
position=data.pos, height=size, width=size,\r\n\t\t\t\tfont_size=data.size,\
|
|
\ scale=buttonScale,\r\n\t\t\t\tcolor=buttonColor, font_color=buttonFontColor\r\
|
|
\n\t\t\t})\r\n\t\t\tspawnedButtonCount = spawnedButtonCount + 1\r\n\r\n\t\t\t\
|
|
--Sets up add 1\r\n\t\t\tlocal funcName = \"counterAdd\"..i\r\n\t\t\tlocal func\
|
|
\ = function() click_counter(i, displayNumber, 1) end\r\n\t\t\tself.setVar(funcName,\
|
|
\ func)\r\n\t\t\t--Sets up label\r\n\t\t\tlocal label = \"+\"\r\n\t\t\t--Sets\
|
|
\ up position\r\n\t\t\tlocal offsetDistance = (data.size/2 + data.size/4) *\
|
|
\ (buttonScale[1] * 0.002)\r\n\t\t\tlocal pos = {data.pos[1] + offsetDistance,\
|
|
\ data.pos[2], data.pos[3]}\r\n\t\t\t--Sets up size\r\n\t\t\tlocal size = data.size\
|
|
\ / 2\r\n\t\t\t--Creates button and counts it\r\n\t\t\tself.createButton({\r\
|
|
\n\t\t\t\tlabel=label, click_function=funcName, function_owner=self,\r\n\t\t\
|
|
\t\tposition=pos, height=size, width=size,\r\n\t\t\t\tfont_size=size, scale=buttonScale,\r\
|
|
\n\t\t\t\tcolor=buttonColor, font_color=buttonFontColor\r\n\t\t\t})\r\n\t\t\t\
|
|
spawnedButtonCount = spawnedButtonCount + 1\r\n\r\n\t\t\t--Sets up subtract\
|
|
\ 1\r\n\t\t\tlocal funcName = \"counterSub\"..i\r\n\t\t\tlocal func = function()\
|
|
\ click_counter(i, displayNumber, -1) end\r\n\t\t\tself.setVar(funcName, func)\r\
|
|
\n\t\t\t--Sets up label\r\n\t\t\tlocal label = \"-\"\r\n\t\t\t--Set up position\r\
|
|
\n\t\t\tlocal pos = {data.pos[1] - offsetDistance, data.pos[2], data.pos[3]}\r\
|
|
\n\t\t\t--Creates button and counts it\r\n\t\t\tself.createButton({\r\n\t\t\t\
|
|
\tlabel=label, click_function=funcName, function_owner=self,\r\n\t\t\t\tposition=pos,\
|
|
\ height=size, width=size,\r\n\t\t\t\tfont_size=size, scale=buttonScale,\r\n\
|
|
\t\t\t\tcolor=buttonColor, font_color=buttonFontColor\r\n\t\t\t})\r\n\t\t\t\
|
|
spawnedButtonCount = spawnedButtonCount + 1\r\n\t\tend\r\n\tend\r\n\r\n\tfunction\
|
|
\ createTextbox()\r\n\t\tfor i, data in ipairs(ref_buttonData.textbox) do\r\n\
|
|
\t\t\t--Sets up reference function\r\n\t\t\tlocal funcName = \"textbox\"..i\r\
|
|
\n\t\t\tlocal func = function(_,_,val,sel) click_textbox(i,val,sel) end\r\n\t\
|
|
\t\tself.setVar(funcName, func)\r\n\r\n\t\t\tself.createInput({\r\n\t\t\t\t\
|
|
input_function = funcName,\r\n\t\t\t\tfunction_owner = self,\r\n\t\t\t\tlabel\
|
|
\ = data.label,\r\n\t\t\t\talignment = data.alignment,\r\n\t\t\
|
|
\t\tposition = data.pos,\r\n\t\t\t\tscale = buttonScale,\r\n\t\
|
|
\t\t\twidth = data.width,\r\n\t\t\t\theight = (data.font_size*data.rows)+24,\r\
|
|
\n\t\t\t\tfont_size = data.font_size,\r\n\t\t\t\tcolor = buttonColor,\r\
|
|
\n\t\t\t\tfont_color = buttonFontColor,\r\n\t\t\t\tvalue = data.value,\r\
|
|
\n\t\t\t})\r\n\t\tend\r\n\tend"
|
|
LuaScriptState: '{"checkbox":[{"pos":[-0.741,0.1,-0.78],"size":250,"state":false},{"pos":[-0.67,0.1,-0.593],"size":250,"state":false},{"pos":[-0.755,0.1,-0.376],"size":250,"state":false},{"pos":[-0.659,0.1,-0.301],"size":250,"state":false},{"pos":[-0.776,0.1,-0.095],"size":250,"state":false},{"pos":[-0.769,0.1,0.001],"size":250,"state":false},{"pos":[-0.726,0.1,0.149],"size":250,"state":false},{"pos":[-0.744,0.1,0.297],"size":250,"state":false},{"pos":[-0.781,0.1,0.755],"size":250,"state":false},{"pos":[-0.779,0.1,0.822],"size":250,"state":false},{"pos":[-0.775,0.1,0.891],"size":250,"state":false},{"pos":[-0.478,0.1,0.72],"size":250,"state":false},{"pos":[-0.47,0.1,0.781],"size":250,"state":false},{"pos":[-0.467,0.1,0.854],"size":250,"state":false},{"pos":[-0.152,0.1,0.677],"size":250,"state":false},{"pos":[-0.143,0.1,0.751],"size":250,"state":false},{"pos":[-0.133,0.1,0.826],"size":250,"state":false},{"pos":[0.152,0.1,0.643],"size":250,"state":false},{"pos":[0.156,0.1,0.715],"size":250,"state":false},{"pos":[0.165,0.1,0.787],"size":250,"state":false}],"counter":[],"textbox":[{"alignment":2,"font_size":150,"label":"Click
|
|
to type","pos":[0.8,0.1,0.25],"rows":12,"value":"","width":1500}]}'
|
|
MeasureMovement: false
|
|
Name: Custom_Tile
|
|
Nickname: The Innsmouth Conspiracy Campaign Log
|
|
Snap: true
|
|
Sticky: true
|
|
Tooltip: true
|
|
Transform:
|
|
posX: -1.46563876
|
|
posY: 1.4756223
|
|
posZ: -26.9309864
|
|
rotX: 359.920135
|
|
rotY: 270.004181
|
|
rotZ: 0.01686577
|
|
scaleX: 6.5
|
|
scaleY: 1.0
|
|
scaleZ: 6.5
|
|
XmlUI: ''
|
|
Sticky: true
|
|
Tooltip: true
|
|
Transform:
|
|
posX: -1.47
|
|
posY: 1.48
|
|
posZ: -26.93
|
|
rotX: 359.92
|
|
rotY: 270.0
|
|
rotZ: 0.02
|
|
scaleX: 6.5
|
|
scaleY: 1.0
|
|
scaleZ: 6.5
|
|
XmlUI: ''
|