Spyke

Replies

Comment on

Can I sell Perchance-generated AI images and not get in trouble?

As stated in the Stable Diffusion License - Sec.3 Paragraph 6:

The Output You Generate. Except as set forth herein, Licensor claims no rights in the Output You generate using the Model. You are accountable for the Output you generate and its subsequent uses. No use of the output can contravene any provision as stated in the License.

Basically, you are free to do whatever you want with the image (but still adhering to the use-restrictions (see Attachment A on the license)) but if you get into trouble with it, Perchance and the creators of the model are not responsible, you are.

I would recommend having the AI generated content as a 'reference' or an 'idea' builder to base your images from and you would be more than free to commercialize your own work.

Comment on

Text to Image Plugin Gallery Moderation Example

🎉🎉🎉
Just a suggestion, can we have a hide button to only hide images for ourselves? i.e. to self moderate the images for ourselves?
We might not want to block the user generating them, but only hide some images that we don't want to see.

Also, possibly the RegEx formatting here can be applied to the RegEx for the comments-plugin, since we still can't use commas (,) on the RegEx for the banned words.

Edit: I think RegEx with Perchance Syntax ( square brackets, curly brackets, caret, etc) still doesn't work or at least it currently throws errors.

Thanks again for the amazing update!!! 💜💜💜

Comment on

What are the limits of the Random Dice Icon Plugin?

Reply in thread

Hello, sorry for late reply!

If you want to access individual dice output from the plugin, you can do so with:

[x = rIcon('2d6'), x.icons] [x.rolls[0].value] [x.rolls[1].value]

Where 0 is the first element in the rolls array returned by the plugin, and accessing its value with .value.

If you just want to add the same buffs to all of the individual dice, you can probably just do something like this:

[x = rIcon(numDice+'d6', 'solid'), x.icons] [x.sum + (numDice * buffs) + (numDice * debuffs)] 

Where numDice is the number of dice. We then get the sum of all values in the rolls and then add the appropriate increase and decrease to the value by multiplying the increase and decrease based on the number of dice rolled and adding them to the sum of the rolls.

Comment on

[Help] T2i Styles tech question...

Reply in thread

Maybe, I don't actually understand what you said xD.
Remember if you use the styles, you need to bind the User input base prompt to the window.input.description variable and the User Input negative prompt to the window.input.negative variable so when you select the style, the base prompt and negative prompt is added to the styles.

Also, I recommend just using the update(imageCon) to just update the images and not the user inputs so you don't have to add a new function and new variable and just use the selectEl.value to get the value. Here is the demo of it

Comment on

gallery maintenance

You can block the person that generated those images on the gallery, and if enough people block them on their view as well, those images wouldn't be shown in the gallery anymore.

You can also downvote it, but it would only be hidden if the score is below a certain value, which is set on your settings, the hideIfScoreIsBelow property on the gallery, you can have it to -1 so when someone downvotes an image, it would be hidden immediately, but remember that only if the score is below that value that it would be removed.

Comment on

Help building a condition-based logic generator

Here is a modified generator.

So first, we store the selection from the tooth list in a variable called x. We use .evaluateItem on the tooth so we can have the 'string' / evaluated form of the item i.e. a text without the perchance syntax.

What we have on the surface list is what we call Dynamic Odds. Basically, it modifies the odds of the items in the list depending on the 'condition' that is on the odds. Essentially a 'If/Else' statement to control the odds/probability of an item to be chosen.

In this case, we use the value on the variable x and check if it 'includes' a certain string, which would be your conditions 'UL1' and 'LR2'.

On the first three items:

surface
  Mesio-occlusal (MO) ^[!x.includes('UL1') && !x.includes('LR2')]
  Disto-occlusal (DO)^[!x.includes('UL1') && !x.includes('LR2')]
  Mesio-occlusal-distal (MOD)^[!x.includes('UL1') && !x.includes('LR2')]
  ...

We use the native JavaScript method .includes() to check if the value on x includes a certain string, in this case it is checking for 'UL1' and 'LR2'. However, we are using the ! or 'NOT' notation to invert it, so we are checking if the string doesn't contain the following strings. We then use the && or 'AND' notation to only return a 'true' statement if and only if BOTH conditions are true.

In this case, it would be true if x doesn't include UL1 AND LR2. Which means other than UL1 and LR2, the engine wouldn't be able to 'pick' those first three items unless x doesn't includes UL1 and LR2

On the last items:

surface
  ...
  Buccal (B)^[x.includes('UL1') || x.includes('LR2')]
  Labial (L)^[x.includes('UL1') || x.includes('LR2')]
  Palatal (P)^[x.includes('UL1') || x.includes('LR2')]
  Distal (D)^[x.includes('UL1') || x.includes('LR2')]
  Mesial (M)^[x.includes('UL1') || x.includes('LR2')]
  ...

We do the opposite, we only allow the engine to select those items ONLY if x has UL1 OR LR2. The || is the OR operator in which it would return 'true' if only one of the items are 'true'.

I also added on the generator my 'debugging' utilities in which you can see the how the 'odds' are on the items depending on the value on x.

Here are some resources to read:

Comment on

Some thoughts about the Generator Jam on Perchance Hub

Reply in thread

The Gen Jam theme might be Arcade or just 'Fun and Games'. I'll probably update the hub designs by tomorrow.

I might also just remove the 'Forms' tab and make it an 'Events' tab. Then just place the 'Forms' that are needed in their respective tabs i.e. Gen Submissions for the Gens Tab is at the Gens Tab, then Gen Submissions for the Events are in the Events tab (as well as the feedback form).

The 'Events' tab will probably be an 'iframe' with a separate Hub page, so we can modularize the sheets (and anyone can add an event? maybe), I like the way you have the events, might be a similar one there (I could also probably create a poll there via Glitch if maybe needed for voting and such).

I'm just throwing ideas for the events in Hub, and how it is handled for the future ones.

Comment on

Suggestions for the **Perchance Comments Plugin.**

Regarding the Dark Mode on the comments plugin, you could probably set up a list and change their values depending on your theme variable. So when the user clicks on your main theme switcher, it would also update the container of the comments plugin which would change the styles.

For example, on the comments here: https://perchance.org/question-this

I have a checkbox set up for the theme switch. On the comments option, I have

...
forceColorScheme
    dark^[themeInput.checked]
    light^[!themeInput.checked]
...

which will 'force' the color scheme of the comments plugin depending on the theme of the page.

On the theme switch, I just essentially re-create the comments embed with commentsCon.innerHMTL = c(copts) to re-render the new options.

Since I was also using a remember-plugin so the input on the checkbox is saved.

Comment on

I need help with a Consumable List where second choice depends on first choice

I think dynamic odds with consumable list should work fine.

randomList
  A
  B

specificList
  X^[selected == 'A']
  Y^[selected == 'B']

item
  [selected = consumableRandomList.selectOne] [specificList]

output
  [consumableRandomList = randomList.consumableList, ''] [item] <br> [item]

If you want key-value pairs, you could do Hierarchical sub listing like so

list
  A
    X
  B
    Y

item
  [selected = consumable.selectOne.getName] [list[selected]]

output
  [consumable = list.consumableList, ''] [item] <br> [item]