Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

ScriptCards Not Rolling Certain Tables?

Hi! I'm brand new to scripting and am learning as I go but I am trying to take a Google Sheet I've been working on for over a year and convert it into Roll20. It's an NPC generator that references table and combines the data into organized tables and even sentences referencing many descriptors. Here's what I have so far. It's not giving me an error like it was previously but everything except the Species, Gender, and Motivation won't output anything. !scriptcard {{   --#title|NPC Generator   --=Species|[T#Species]   --=Gender|[T#Gender]   --=Motivation|[T#Motivations]   --=FirstNameTable|[$Species.tableEntryText]-First-[$Gender.tableEntryText]   --=LastNameTable|[$Species.tableEntryText]-Last   --=SizeTable|[$Species.tableEntryText]-Size   --=BuildTable|[$Species.tableEntryText]-Build   --=SkinTable|[$Species.tableEntryText]-Skin/Scales   --=HairStyleTable|[$Species.tableEntryText]-Beard/Hair-Style   --=HairColorTable|[$Species.tableEntryText]-Beard/Hair-Color   --=EyesTable|[$Species.tableEntryText]-Eyes   --=FeaturesTable|[$Species.tableEntryText]-Features   --=VoiceTable|[$Species.tableEntryText]-Voice   --=ClothingTable|[$Species.tableEntryText]-Clothing   --=TemperamentTable|[$Species.tableEntryText]-Temperament   --=GoalTable|[$Motivation.tableEntryText]-Motivations   --=FirstName|[T#[$FirstNameTable]]   --=LastName|[T#[$LastNameTable]]   --=Size|[T#[$SizeTable]]   --=Build|[T#[$BuildTable]]   --=Skin|[T#[$SkinTable]]   --=HairStyle|[T#[$HairStyleTable]]   --=HairColor|[T#[$HairColorTable]]   --=Eyes|[T#[$EyesTable]]   --=Features|[T#[$FeaturesTable]]   --=Voice|[T#[$VoiceTable]]   --=Clothing|[T#[$ClothingTable]]   --=Temperament|[T#[$TemperamentTable]]   --=Goal|[T#[$GoalTable]]   --+Name:|[$FirstName.tableEntryText] [$LastName.tableEntryText]   --+Species:|[$Species.tableEntryText]   --+Gender:|[$Gender.tableEntryText]   --+Description:|A [$Size.tableEntryText] and/yet [$Build.tableEntryText] [$Species.tableEntryText], with [$Skin.tableEntryText] Skin/Scales, [$HairStyle.tableEntryText] [$HairColor.tableEntryText] Beard/Hair/Horns, [$Eyes.tableEntryText] Eyes, [$Features.tableEntryText] Features, a [$Voice.tableEntryText] Voice, [$Clothing.tableEntryText] Clothing, and a [$Temperament.tableEntryText] Temperament.   --+Quirk:|[$Quirk.tableEntryText]   --+Attitude Towards Party:|[$Attitude Towards Party.tableEntryText]   --+Motivation:|[$Motivation.tableEntryText]   --+Goal:|[$Goal.tableEntryText] }} Any help is appreciated!
1743456093

Edited 1743456132
David M.
Pro
API Scripter
My guess is that it is due to you using roll variables for your dynamically-generated table names instead of string variables. Those are probably resolving to a numeric 0 instead of a string containing your table name.  E.g. instead of  --=FirstNameTable, try --& FirstNameTable, etc.
Hmmmmm still nothing. Is this what you meant? !scriptcard {{   --#title|NPC Generator   --=Species|[T#Species]   --=Gender|[T#Gender]   --=Motivation|[T#Motivations]   --&FirstNameTable|[$Species.tableEntryText]-First-[$Gender.tableEntryText]   --&LastNameTable|[$Species.tableEntryText]-Last   --&SizeTable|[$Species.tableEntryText]-Size   --&BuildTable|[$Species.tableEntryText]-Build   --&SkinTable|[$Species.tableEntryText]-Skin/Scales   --&HairStyleTable|[$Species.tableEntryText]-Beard/Hair-Style   --&HairColorTable|[$Species.tableEntryText]-Beard/Hair-Color   --&EyesTable|[$Species.tableEntryText]-Eyes   --&FeaturesTable|[$Species.tableEntryText]-Features   --&VoiceTable|[$Species.tableEntryText]-Voice   --&ClothingTable|[$Species.tableEntryText]-Clothing   --&TemperamentTable|[$Species.tableEntryText]-Temperament   --&GoalTable|[$Motivation.tableEntryText]-Motivations   --&FirstName|[T#[$FirstNameTable]]   --&LastName|[T#[$LastNameTable]]   --&Size|[T#[$SizeTable]]   --&Build|[T#[$BuildTable]]   --&Skin|[T#[$SkinTable]]   --&HairStyle|[T#[$HairStyleTable]]   --&HairColor|[T#[$HairColorTable]]   --&Eyes|[T#[$EyesTable]]   --&Features|[T#[$FeaturesTable]]   --&Voice|[T#[$VoiceTable]]   --&Clothing|[T#[$ClothingTable]]   --&Temperament|[T#[$TemperamentTable]]   --&Goal|[T#[$GoalTable]]   --+Name:|[$FirstName.tableEntryText] [$LastName.tableEntryText]   --+Species:|[$Species.tableEntryText]   --+Gender:|[$Gender.tableEntryText]   --+Description:|A [$Size.tableEntryText] and/yet [$Build.tableEntryText] [$Species.tableEntryText], with [$Skin.tableEntryText] Skin/Scales, [$HairStyle.tableEntryText] [$HairColor.tableEntryText] Beard/Hair/Horns, [$Eyes.tableEntryText] Eyes, [$Features.tableEntryText] Features, a [$Voice.tableEntryText] Voice, [$Clothing.tableEntryText] Clothing, and a [$Temperament.tableEntryText] Temperament.   --+Quirk:|[$Quirk.tableEntryText]   --+Attitude Towards Party:|[$Attitude Towards Party.tableEntryText]   --+Motivation:|[$Motivation.tableEntryText]   --+Goal:|[$Goal.tableEntryText] }}
1743462182
David M.
Pro
API Scripter
Close. When you only want to build a string (text), use --&. When you want to roll dice/table or assign numeric values, use --= Try this. I obviously can't test it, so hope I didn't typo. !scriptcard {{ --#title|NPC Generator --:RESULTS OF THESE TABLE ROLLS ARE USED LATER TO GENERATE SUBORDINATE TABLE NAMES| use roll variables --=Species|[T#Species] --=Gender|[T#Gender] --=Motivation|[T#Motivations] --:DYNAMICALLY GENERATE TABLE NAMES| use string variables --&FirstNameTable|[$Species.tableEntryText]-First-[$Gender.tableEntryText] --&LastNameTable|[$Species.tableEntryText]-Last --&SizeTable|[$Species.tableEntryText]-Size --&BuildTable|[$Species.tableEntryText]-Build --&SkinTable|[$Species.tableEntryText]-Skin/Scales --&HairStyleTable|[$Species.tableEntryText]-Beard/Hair-Style --&HairColorTable|[$Species.tableEntryText]-Beard/Hair-Color --&EyesTable|[$Species.tableEntryText]-Eyes --&FeaturesTable|[$Species.tableEntryText]-Features --&VoiceTable|[$Species.tableEntryText]-Voice --&ClothingTable|[$Species.tableEntryText]-Clothing --&TemperamentTable|[$Species.tableEntryText]-Temperament --&GoalTable|[$Motivation.tableEntryText]-Motivations --:ROLL ON THE SUBORDINATE TABLES| use roll variables --=FirstName|[T#[$FirstNameTable]] --=LastName|[T#[$LastNameTable]] --=Size|[T#[$SizeTable]] --=Build|[T#[$BuildTable]] --=Skin|[T#[$SkinTable]] --=HairStyle|[T#[$HairStyleTable]] --=HairColor|[T#[$HairColorTable]] --=Eyes|[T#[$EyesTable]] --=Features|[T#[$FeaturesTable]] --=Voice|[T#[$VoiceTable]] --=Clothing|[T#[$ClothingTable]] --=Temperament|[T#[$TemperamentTable]] --=Goal|[T#[$GoalTable]] --:DISPLAY RESULTS| --+Name:|[$FirstName.tableEntryText] [$LastName.tableEntryText] --+Species:|[$Species.tableEntryText] --+Gender:|[$Gender.tableEntryText] --+Description:|A [$Size.tableEntryText] and/yet [$Build.tableEntryText] [$Species.tableEntryText], with [$Skin.tableEntryText] Skin/Scales, [$HairStyle.tableEntryText] [$HairColor.tableEntryText] Beard/Hair/Horns, [$Eyes.tableEntryText] Eyes, [$Features.tableEntryText] Features, a [$Voice.tableEntryText] Voice, [$Clothing.tableEntryText] Clothing, and a [$Temperament.tableEntryText] Temperament. --+Quirk:|[$Quirk.tableEntryText] --+Attitude Towards Party:|[$Attitude Towards Party.tableEntryText] --+Motivation:|[$Motivation.tableEntryText] --+Goal:|[$Goal.tableEntryText] }}
1743463650

Edited 1743463710
Ok. So I took what you said and modified it slightly to account for the table names and some things I left out. I was able to get more than before but it does seem that none of the rolls from the subordinate tables are returning results. I've also checked to make sure that there weren't issues with the rollable table names or conflicts like that. !scriptcard {{   --#title|NPC Generator   --:RESULTS OF THESE TABLE ROLLS ARE USED LATER TO GENERATE SUBORDINATE TABLE NAMES| use roll variables   --=Species|[T#Species]   --=Gender|[T#Gender]   --=Motivation|[T#Motivations]   --=Quirk|[T#Quirks]   --=AttitudeTowardsParty|[T#Party-Attitude]   --:DYNAMICALLY GENERATE TABLE NAMES| use string variables   --&FirstNameTable|[$Species.tableEntryText]-First-[$Gender.tableEntryText]   --&LastNameTable|[$Species.tableEntryText]-Last   --&SizeTable|[$Species.tableEntryText]-Size   --&BuildTable|[$Species.tableEntryText]-Build   --&SkinTable|[$Species.tableEntryText]-Skin/Scales   --&HairStyleTable|[$Species.tableEntryText]-Beard/Hair-Style   --&HairColorTable|[$Species.tableEntryText]-Beard/Hair-Color   --&EyesTable|[$Species.tableEntryText]-Eyes   --&FeaturesTable|[$Species.tableEntryText]-Features   --&VoiceTable|[$Species.tableEntryText]-Voice   --&ClothingTable|[$Species.tableEntryText]-Clothing   --&TemperamentTable|[$Species.tableEntryText]-Temperament   --&GoalTable|[$Motivation.tableEntryText]-Motivations   --:ROLL ON THE SUBORDINATE TABLES| use roll variables   --=FirstName|[T#[$FirstNameTable]]   --=LastName|[T#[$LastNameTable]]   --=Size|[T#[$SizeTable]]   --=Build|[T#[$BuildTable]]   --=Skin|[T#[$SkinTable]]   --=HairStyle|[T#[$HairStyleTable]]   --=HairColor|[T#[$HairColorTable]]   --=Eyes|[T#[$EyesTable]]   --=Features|[T#[$FeaturesTable]]   --=Voice|[T#[$VoiceTable]]   --=Clothing|[T#[$ClothingTable]]   --=Temperament|[T#[$TemperamentTable]]   --=Goal|[T#[$GoalTable]]   --:DISPLAY RESULTS|   --+Name:|[$FirstName.tableEntryText] [$LastName.tableEntryText]   --+Species:|[$Species.tableEntryText]   --+Gender:|[$Gender.tableEntryText]   --+Description:|A [$Size.tableEntryText] and/yet [$Build.tableEntryText] [$Species.tableEntryText], with [$Skin.tableEntryText] Skin/Scales, [$HairStyle.tableEntryText] [$HairColor.tableEntryText] Beard/Hair/Horns, [$Eyes.tableEntryText] Eyes, [$Features.tableEntryText] Features, a [$Voice.tableEntryText] Voice, [$Clothing.tableEntryText] Clothing, and a [$Temperament.tableEntryText] Temperament.   --+Quirk:|[$Quirk.tableEntryText]   --+Attitude Towards Party:|[$AttitudeTowardsParty.tableEntryText]   --+Motivation:|[$Motivation.tableEntryText]   --+Goal:|[$Goal.tableEntryText] }}
1743464707

Edited 1743464772
Found it. I was using the $ to reference things but according the the ScriptCards wiki, $ is for referencing Roll Variables, Not String Variables. Changing the Subordinate Tables to [T#[&FirstNameTable]] instead of  [T#[$FirstNameTable]]. Thanks for your help! !scriptcard {{   --#title|NPC Generator   --:RESULTS OF THESE TABLE ROLLS ARE USED LATER TO GENERATE SUBORDINATE TABLE NAMES| use roll variables   --=Species|[T#Species]   --=Gender|[T#Gender]   --=Motivation|[T#Motivations]   --=Quirk|[T#Quirks]   --=AttitudeTowardsParty|[T#Party-Attitude]   --:DYNAMICALLY GENERATE TABLE NAMES| use string variables   --&FirstNameTable|[$Species.tableEntryText]-First-[$Gender.tableEntryText]   --&LastNameTable|[$Species.tableEntryText]-Last   --&SizeTable|[$Species.tableEntryText]-Size   --&BuildTable|[$Species.tableEntryText]-Build   --&SkinTable|[$Species.tableEntryText]-Skin/Scales   --&HairStyleTable|[$Species.tableEntryText]-Beard/Hair-Style   --&HairColorTable|[$Species.tableEntryText]-Beard/Hair-Color   --&EyesTable|[$Species.tableEntryText]-Eyes   --&FeaturesTable|[$Species.tableEntryText]-Features   --&VoiceTable|[$Species.tableEntryText]-Voice   --&ClothingTable|[$Species.tableEntryText]-Clothing   --&TemperamentTable|[$Species.tableEntryText]-Temperament   --&GoalTable|[$Motivation.tableEntryText]-Motivations   --:ROLL ON THE SUBORDINATE TABLES| use roll variables   --=FirstName|[T#[&FirstNameTable]]   --=LastName|[T#[&LastNameTable]]   --=Size|[T#[&SizeTable]]   --=Build|[T#[&BuildTable]]   --=Skin|[T#[&SkinTable]]   --=HairStyle|[T#[&HairStyleTable]]   --=HairColor|[T#[&HairColorTable]]   --=Eyes|[T#[&EyesTable]]   --=Features|[T#[&FeaturesTable]]   --=Voice|[T#[&VoiceTable]]   --=Clothing|[T#[&ClothingTable]]   --=Temperament|[T#[&TemperamentTable]]   --=Goal|[T#[&GoalTable]]   --:DISPLAY RESULTS|   --+Name:|[$FirstName.tableEntryText] [$LastName.tableEntryText]   --+Species:|[$Species.tableEntryText]   --+Gender:|[$Gender.tableEntryText]   --+Description:|A [$Size.tableEntryText] and/yet [$Build.tableEntryText] [$Species.tableEntryText], with [$Skin.tableEntryText] Skin/Scales, [$HairStyle.tableEntryText] [$HairColor.tableEntryText] Beard/Hair/Horns, [$Eyes.tableEntryText] Eyes, [$Features.tableEntryText] Features, a [$Voice.tableEntryText] Voice, [$Clothing.tableEntryText] Clothing, and a [$Temperament.tableEntryText] Temperament.   --+Quirk:|[$Quirk.tableEntryText]   --+Attitude Towards Party:|[$AttitudeTowardsParty.tableEntryText]   --+Motivation:|[$Motivation.tableEntryText]   --+Goal:|[$Goal.tableEntryText] }}
1743464860
David M.
Pro
API Scripter
Ah, excellent! I should have caught that, but that's the problem with air-coding without being able to test. Glad you figured it out!
Thanks again! Resolved the last issue as well. It didn't like referencing a table with a / in it so getting rid of that for "Skin/Scales" and "Beard/Hair" fixed the last problem!
1743587625
David M.
Pro
API Scripter
Great!