Tabletop Simulator

Tabletop Simulator

Character Sheet Template
227 Comments
kalez Jun 9 @ 6:50am 
So I have made my sheet and saved it, but I want several variations that have 1 different thing missing from what I added. And I guess I messed something up, because when I delete one number counter and then enable saving, the counter reappears. It is gone from the code, but there on the sheet. I don't understand why.
Dogsteeves Jan 24 @ 5:17pm 
I am having trouble making the 2024 DND sheet
YoGGoH Dec 21, 2024 @ 4:07am 
Hey, when I click on the Checkbox it shows chinese signs instead of the tick symbol. Can you please help how to fix that?
UKMasters Sep 28, 2024 @ 3:18pm 
Thank you for this. It's great. I've successfully added fields to one of the editable cards in my board game. I'm wondering if it's possible to apply the same fields to the other cards and define the "default" values for them. There are 100+ cards, so it would take a long time to do this manually!

I'd be grateful for any help you could provide
exhausted Jul 17, 2024 @ 12:18pm 
Thanks so much for making this and providing instructions on how to use it! I am however curious if it is possible to add a second page to the sheet? I've been tinkering with Monster of the Week sheets and it would be great if it was possible to do that!
SporeHarvest Jul 7, 2024 @ 9:22am 
Hello in your object at the very bottom of it you have some code deeply indented. I do not know what the prurpose of it is. But it has caused me much trouble when trying to make a sheet to use on a tabble with one world. That bit of code at the end infects all items on the tabble and causes some stuff to break.

Please remove it so that anyone who tries to make any other sheet and use it with one world doesn't end up having the same frustrations.

Thank you for the tool and have a nice day.

P.S. Make sure you delete all other objects with the same code as well as it does cross infect.
Mr. Von Grimmsy Jun 14, 2024 @ 9:12am 
Just started fiddling around with this, and it's pretty awesome so far - great job! :D

I had a question: Is there any way at all to have different fields react to each other's information..?

I think you may get where I'm going with this, but for example - I set my Strength to whatever, and then the sheet autopopulates the derived stats for to hit/damage bonus etc. based upon values I input elsewhere.

If this is possible, I 100% plan on making an insanely detailed AD&D 2e sheet with the help of your tool! :p03:
mooonmagic Jun 5, 2024 @ 8:37am 
Just want to say, this is such a helpful, useful, and well-commented object.
kajislav May 25, 2024 @ 12:15am 
Hi. I tried to use this tool to make a sheet and everything worked well, like i put all the text boxes and check boxes and counters where i wanted but during the game whenever i do some changes like filling the text box or marking the check box, they do not save for the future game . What am i doing wrong?
FREEDOM May 17, 2024 @ 7:00pm 
Cascading errors are fixed when you reload the table. Good to know.
FREEDOM May 17, 2024 @ 5:23pm 
Cascading errors after deleting the position helper tool. Will this go away upon reload or do I need to find its function and kill it?
Hamburger May 12, 2024 @ 6:45am 
question: why does my character HAVE to buy groceries every day??
Ryosh_Dagr Jan 5, 2024 @ 8:33am 
Thank you a lot for this.
Desperoni Dec 2, 2023 @ 11:43pm 
Just out of curiosity, how complicated would it be to add maximum and minimum values to the counters? Like if I don't want them to go lower than zero, or higher than ten?
eggdropsoap Aug 26, 2023 @ 5:12pm 
@Laminmammoth You saved the table and sheet at least once already with DisableSave = false, and now it’s stored in the sheet data and loading that when the table loads. That data can’t be removed easily, but you can easily remake a clean copy without that stored data: start a new custom sheet object, use the same image(s), then copy all the code from the tainted sheet into the remade sheet but ensure disableSave = true. Now save your table. Voilà, a fresh sheet with all your layout, but no saved data!

Remember: never save the table while disableSave = false until a sheet is 100% finished and ready to be used. 😊
talkativetoilet Aug 21, 2023 @ 9:06am 
I've been having an issue with my second original sheet. Whenever I set DisableSave = false, it will automatically load the sheet information from the first sheet I created. Are there files I need to rename within the script editor, or is there a particular line of code that I have to tweak in the mod file to have different unique sheets? help pls
Gilbals!? Aug 17, 2023 @ 5:41pm 
This is really cool, but when I delete the position helper tool, I start getting cascading errors
Fredward Jul 29, 2023 @ 9:10am 
Just wanted to say a massive thank you for this, I got my Shadowdark Char Sheets made in less than 2 hours. You're brilliant!:steamhappy:
eggdropsoap Jun 27, 2023 @ 7:18pm 
@MireskaSunbreeze It looks like it might be z-fighting: at that size, the textbox is more likely to visually clip into the surface of the object it's on when the camera is further away. Try setting the Y coordinate (middle one: pos = {x, y, z}) of the text field to a tiny bit larger. E.g., if it's currently 0.2, try 0.21 or 0.25 or 0.3.
Endain Jun 23, 2023 @ 9:49am 
Hey guys i have a bug with the big textfield that i have strange artifacts in the font.
Here is a Screenshot from the bug: https://imgur.com/a/Wsyga9q .
Thanks for Help!
blissman2020 May 30, 2023 @ 12:49am 
I just wanted to say thank you, your code is well documented and easy to follow, and helped me make a custom scoresheet for my own personal game i'm working on!
Tourfaint Apr 5, 2023 @ 9:10pm 
Disregard, It was a font issue on my side, I just didn't have the fancy checkmark in my font.
Tourfaint Apr 4, 2023 @ 7:40pm 
The checkboxes dont seem to work for me, but thank you for this great piece of code
WombatCombat Apr 1, 2023 @ 12:33am 
Managed to create a nice looking character sheet for the Spire - The City Must Fall TTRPG with this!

The only problem I'm having is the background image (a PDF character sheet converted to PNG using an online tool) seems to look 'off' due to the lighting as I try it out in different scenes. Anybody got a fix for this?
Konjirmos Mar 23, 2023 @ 9:17am 
This made making character sheets sooooo easy and helped me create other assets as well. Huge thanks!
Lav Mar 16, 2023 @ 4:25pm 
Thx dude
Pizzamovies Jan 11, 2023 @ 5:48am 
Instructions unclear. After fiddling with this for a solid 40 minutes i cant get anything to work. Its unclear what lines and brackets are needed to make the code work, or what needs to be deleted to remove a simple textbox.
Sometimes changing the default image causes the location tool to stop functioning.
VipreRX Nov 24, 2022 @ 3:54am 
shinjox, Rectangular works just fine. I imagine that is just saying a circular or some other non-four-sided shape won't work.
shinjox Nov 23, 2022 @ 2:34pm 
The sheet says that the image you copy over should be square. Most character sheets are rectangular, and so does this mean I need to make the image image square by changing the canvas on an image, or can I just use the rectangular one? I am trying to make a sheet form a landscape sheet that is wider than it is tall.
YoGGoH Oct 19, 2022 @ 11:04am 
Any option to move the boxes faster than changing it number by number and reloading the sheet?
oskar Sep 10, 2022 @ 9:18am 
Hi I've created a Warhammer Fantasy 4e character sheet out of a dnd character sheet that was based on your work and I have a problem with the checkboxes, I'd like them to completely change their color when they're pressed. Please help me if u can
Kaija Aug 26, 2022 @ 1:11pm 
Hey People, i have something very interesting that many here may want/need.
The functionality to Lock/Unlock everything on the Character sheet, that you cant accidentaly change/something important.
Creator oft the code:
https://steamcommunity.com/profiles/76561197984745835
https://steamcommunity.com/app/286160/discussions/7/3317484899032468003/
In Fact its such a good function that maybe MrStump would want to implement it into the mod itself.
Here's the code: https://pastebin.com/zkwygaRs
Have fun Everyone :D
Riff Rath Aug 3, 2022 @ 7:01pm 
I'm having an issue where I make my editing changes while set to "true" but after I've finished editing and I change it back to "false", all my changes go away.
Also, it seems this only happens randomly. For instance, I made a copy of the sheet and the copy didn't revert but the original did.... which... why would that even make a difference??
If anybody can help, please let me know.
Ron Helldiver Jul 26, 2022 @ 12:07am 
This is an absolutely brilliant template, and fairly straightforward to use for somebody who has little to no experience in scripting. Nice work, and thank you!
AssRipa Jul 20, 2022 @ 8:01am 
how do i make round checkboxes or dots?
AlteUnke May 29, 2022 @ 11:42am 
Works good so far, just one thing we ran into multiple times yesterday:

I'm using one big Textbox for Character Traits/Notes. So it happened that Players wanted to edit the field, click into which automatically marks all existing Text and then moved their Camera with 's'. And whoops, all the Text got replaced by an S.

Is there any way to prevent easy overwrites like that from happening? I'm able to rewind time, but I'm hesitant of doing that all the time.
Blasted May 28, 2022 @ 10:06am 
or make checkbxoes transparent?
Blasted May 28, 2022 @ 12:57am 
is there a way to put a label on a checkbox? would be useful to have
Sun May 3, 2022 @ 9:13pm 
oh woops, it also needs
updateSave()
before the last 'end' on the two blocks
Sun May 3, 2022 @ 9:07pm 
thank you SO MUCH for this! its super helpful and ive been using it to track turn phases for some heavier games. in case this helps anyone, i made a couple buttons for clearing checkboxes (i dont know LUA/scripting so im sure theres a lot thats wrong, but so far it seems to work). it requires buttons set up in UI.

---

function click_resetAll()
for i,data in ipairs(ref_buttonData.checkbox) do
data.state = false
self.editButton({index=i-1, label=""})
end
end

function click_resetSection()
for i,data in ipairs(ref_buttonData.checkbox) do
if i>=4 and i<=8 then
self.editButton({index=i-1, label=""})
data.state = false
end
end
end
Moberget Apr 17, 2022 @ 2:58pm 
@Paul Branigade - That's it! I had missed that oh so important part of the script. This made it all work, thanks a bunch!
Master Cylinder Apr 15, 2022 @ 3:36pm 
I used this for a recreation of VCR Clue that I'm working on and it worked incredibly well! If you are looking to make a very specific sheet for a game, this is the template to do it right here!
Paul Branigade Apr 14, 2022 @ 5:27pm 
@Moberget I had your exact same issue a couple of days ago, after populating my whole template and then find out I lost pretty much everything.

I look back at the answers that had been given here and I report here the one that worked for me.

---

Make sure that after you enter all the text boxes, checkmarks and counters in LUA you change disableSave = true (towards the top) to disableSave = false. That's my only guess, if that's still true data won't be saved.

Otherwise I've just saved them as objects and pulled out the stack, I've never put them into boxes.
Moberget Dec 22, 2021 @ 1:32am 
Awesome tool! But is there any way to make the checks and info persist between saves/states or even just being put in a bag and taken out again? This is a rather big issue that I feel should have a pretty simple solution. But does it?
Riff Rath Nov 29, 2021 @ 6:43pm 
I'm having a problem where the coordinate finder just stops working for no reason...
VampireGamer Nov 27, 2021 @ 4:05pm 
Unfortunately, the sheets lose all the entered data after loading a save.
Malixx Nov 6, 2021 @ 9:25am 
Ok, if you want to remove/hide (or change opacity/transparency) of the background of a textbox AND rotate the textbox you must change the self.createInput like this:

self.createInput({
input_function = funcName,
function_owner = self,
label = data.label,
alignment = data.alignment,
position = data.pos,
rotation = data.rot,
scale = buttonScale,
width = data.width,
height = (data.font_size*data.rows)+24,
font_size = data.font_size,
color = data.color,
font_color = data.font_color,
value = data.value,

And then the textbox should looke like this:

pos = {-0.026,0.1,1.474},
rot = {0,180,0}, -- change 180 for rotation
rows = 1,
width = 5000,
font_size = 800,
color = {1,1,1,0.4}, -- change 0.4 for opacity
font_color = {0,0,0,255},
scale = {0.1,0.1,0.1},
label = "Empty",
value = "",
alignment = 3
Malixx Nov 6, 2021 @ 5:25am 
This is almost perfect! Like MasterHorus said transparent background and text rotation is all that is missing.
Hectodar Oct 4, 2021 @ 3:40pm 
Is it possible to remove/hide the background of a textbox like you do with the counters ?
Penisland Jul 22, 2021 @ 12:05pm 
I found this to be an insanely useful tool. Unfortunately we ran into a problem, where if you click in any of the text boxes and type something, it immediately deletes everything. This is the native response for any text box in TTS. If you click on a text box and then click again to place your cursor at the end of the text you can just add text, but if you click once and type, it erases. 5/5 stars