I’m trying to make my current gen in a duplicationfriendly format so ppl can just edit the Starter lists on the left to edit the styles the gen starts with. BUT ITS HARD. I did the accessing the “Starters” list thru root and it definitely has the items as seen below when it runs. but joinitems doesn’t work on the object root gives and nor does it have a length or any way to iterate thru the entries to build an object out of the list entries. How do I get all the entries from the twotiered ‘Starters’ list in to javascript so i can access the info it contains?
So what you are trying to do is that after getting the ‘Starter’ from the
root["Starter"]
you want to combine the subsequent lists into a single sentence? e.g. if the randomly selected starter fromroot["Starter"]
isFoxpony
, then you want the lists0
to4
to be joined into a sentence, while randomizing between the items under the ‘number’ lists?You can do so with the following:
let starter = root["Starters"].selectOne // gets either Foxpony or Spaceship list object let sentence = starter.selectAll // selects all lists under the object i.e. 0 to 4 .map(list => list.selectOne) // iterates through the lists and selects a random item from them .joinItems(" ") // joins the randomized items into a single sentence Crystalline.say(sentence)
nevermind. i tried and thought it would be nicer to do in perchancescript but looks like i have to do it in javascript.
i dont know why this would output 3 instead of foxpony
off to do it all in javascript i guess. ty for teh help tho
Okay, so in your
a
you have all items from theroot["Starter"]
. If you usea[0]
it would indeed selectFoxpony
BUT it would also evaluate and select an item on that list, so it would output one of its children (0
to4
) which is why you got3
as the result. You can get the name of the list witha[0].getName
to getFoxpony
then use.selectOne
to get an item from it which would result to selecting, for example,1
and it would output an item from under that.and with that i was able to do it :)
thank you so much!
o cool ty :)
deleted by creator
thank you for the help vioneT! im not trying to do anything random and combining was just a workaround i was thinking could work. the gen is here with the html code at the bottom
im trying to read thru the list of lists and create an element for each thing. Every number translated in to an element and every individual description translated in to an element. So i need to, not randomly, get the whole list. Trying For loops now to iterate thru each level to access every item and then I can just make the elements on each level of For loop, but it just repeats like 9+ blank popups instead when i test whether it’s outputting correctly.