Tabletop Simulator

Tabletop Simulator

Character Sheet Template
227 Comments
kalez 9 Jun @ 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 24 Jan @ 5:17pm 
I am having trouble making the 2024 DND sheet
YoGGoH 21 Dec, 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 28 Sep, 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 17 Jul, 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 7 Jul, 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 14 Jun, 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 5 Jun, 2024 @ 8:37am 
Just want to say, this is such a helpful, useful, and well-commented object.
kajislav 25 May, 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 17 May, 2024 @ 7:00pm 
Cascading errors are fixed when you reload the table. Good to know.
FREEDOM 17 May, 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 12 May, 2024 @ 6:45am 
question: why does my character HAVE to buy groceries every day??
Ryosh_Dagr 5 Jan, 2024 @ 8:33am 
Thank you a lot for this.
Desperoni 2 Dec, 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 26 Aug, 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 21 Aug, 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!? 17 Aug, 2023 @ 5:41pm 
This is really cool, but when I delete the position helper tool, I start getting cascading errors
Fredward 29 Jul, 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 27 Jun, 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 23 Jun, 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 30 May, 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 5 Apr, 2023 @ 9:10pm 
Disregard, It was a font issue on my side, I just didn't have the fancy checkmark in my font.
Tourfaint 4 Apr, 2023 @ 7:40pm 
The checkboxes dont seem to work for me, but thank you for this great piece of code
WombatCombat 1 Apr, 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 23 Mar, 2023 @ 9:17am 
This made making character sheets sooooo easy and helped me create other assets as well. Huge thanks!
Lav 16 Mar, 2023 @ 4:25pm 
Thx dude
Pizzamovies 11 Jan, 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 24 Nov, 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 23 Nov, 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 19 Oct, 2022 @ 11:04am 
Any option to move the boxes faster than changing it number by number and reloading the sheet?
oskar 10 Sep, 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 26 Aug, 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://steamhost.cn/steamcommunity_com/profiles/76561197984745835
https://steamhost.cn/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 3 Aug, 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 26 Jul, 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 20 Jul, 2022 @ 8:01am 
how do i make round checkboxes or dots?
AlteUnke 29 May, 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 28 May, 2022 @ 10:06am 
or make checkbxoes transparent?
Blasted 28 May, 2022 @ 12:57am 
is there a way to put a label on a checkbox? would be useful to have
Sun 3 May, 2022 @ 9:13pm 
oh woops, it also needs
updateSave()
before the last 'end' on the two blocks
Sun 3 May, 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 17 Apr, 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 15 Apr, 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 14 Apr, 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 22 Dec, 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 29 Nov, 2021 @ 6:43pm 
I'm having a problem where the coordinate finder just stops working for no reason...
VampireGamer 27 Nov, 2021 @ 4:05pm 
Unfortunately, the sheets lose all the entered data after loading a save.
Malixx 6 Nov, 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 6 Nov, 2021 @ 5:25am 
This is almost perfect! Like MasterHorus said transparent background and text rotation is all that is missing.
Hectodar 4 Oct, 2021 @ 3:40pm 
Is it possible to remove/hide the background of a textbox like you do with the counters ?
Penisland 22 Jul, 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