🛠️
⚄︎
👥︎ forum (14h)
🌈 hub
📚 learn
🎲︎ generators
➕ new
🗄️ backups
💾 saved
⚙️ settings
🛠️ edit
👤 account
🔑 login
❌
fold
wrap
99999
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
▸
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
▾
// Generated standalone jzl-kawai-merge-2: kaw-ai-jzl base + jzlimagen JZL tab.
// Imports are flattened; the JZL tab houses jzlimagen options.

//🔽 To import:
// betterSEQUENCE = {inlined:better-sequencer}
// new update 28/02/26 ddmmyy: filter list

betterSEQUENCE(separator, Name, tagsToSelect)=> // Use in the inputs (descriptions or negatives).
if (typeof tagsToSelect === "string") {
if (separator === "") { separator = "," }
tagsToSelect = tagsToSelect
.split(separator)
.map(s => s.trim());
} else {
if (separator === "" || separator.trim() === ",") { separator = "-#-" }
tagsToSelect = tagsToSelect.selectAll
.map(String)
.join(separator)
.split(separator)
.map(s => s.trim());
}

/* new
Filter list, create a global array withe same name + BL like:
(window.listNameBL = ["item1", "item2"])
and it will be automatically filtered. */
if (window[Name + "BL"]) {
tagsToSelect = tagsToSelect.filter(bannedItems => !window[Name + "BL"].includes(bannedItems));
}
/* * * * * * * * * */
if (typeof window[Name + "ItemList"] === "undefined") {
window[Name + "ItemList"] = [...tagsToSelect];
}
if (String(window[Name + "ItemList"]) !== String(tagsToSelect)) {
window[Name + "ItemList"] = [...tagsToSelect];
window[Name + "ItemArray"] = [];
}
if (typeof window[Name + "ItemArray"] === "undefined") {
window[Name + "ItemArray"] = []
}
if (window[Name + "ItemArray"].length >= window[Name + "ItemList"].length) {
window[Name + "ItemArray"] = [];
}
window[Name + "SelectedItem"] = window[Name + "ItemList"][window[Name + "ItemArray"].length];

window[Name + "ItemArray"].push(window[Name + "SelectedItem"]);
return window[Name + "SelectedItem"];

// A 'ban list' would be nice to exclude some items fron selection. Maybe in the future with a new version.

// AdvRS = {inlined:adv-random-styles}
AdvRS(name, banList, ...args) =>
let listArray = [...args];

if (!window[name + "AlreadySelected"] || window[name + "AlreadySelected"].length <= 0) {
window[name + "AlreadySelected"] = [...banList];
}

// Flatten into [key, value] pairs
const entries = listArray.flatMap(obj => Object.entries(obj));

// Filter out entries whose key is in seArray
const filtered = entries.filter(([key]) => !window[name + "AlreadySelected"].includes(key));

// Choose a random item
const randomEntry = filtered[Math.floor(Math.random() * filtered.length)];

if (!randomEntry) {
window[name + "AlreadySelected"] = [];
⚙️
open popout
collab link
wrap lines
fold lines
font size
predict (on)
bug check (on)
⚠️
 auto
wrap
999
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
▸
▾
▾
▾
▾
▾
<!-- 👄🍆 -->
<div style="margin-bottom:15px;">
<h4 style="margin-bottom:1px;">JZL-KAWAI</h4>
</div>


<div id="mainOptionsBtn">
<button onclick="qolf.changeDisplayStatus('allOptions', 'contents', 'none')">Hide/Show</button>
<button onclick="displayCtnGrid('styleCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">🎨</button>
<button onclick="displayCtnGrid('cameraCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">📹</button>
<button onclick="displayCtnGrid('bodyCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">👤</button>
<button onclick="displayCtnGrid('hairCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">💇‍♀️</button>
<button onclick="displayCtnGrid('outfitCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">👙</button>
<button onclick="displayCtnGrid('jzlCtn', 'contents', 'save', 'styleCtn', 'cameraCtn', 'bodyCtn', 'hairCtn', 'outfitCtn', 'jzlCtn')">🎭</button>
<button class="rstButton" onclick="resetOptions('selectOptions')">Reset</button>
</div>


[generateHTML(settings)]


[t2iExtra.createDefaultCSS()]
[t2iExtra.createObjects(3), ""]

[runAtStart()]

<div id="leftCtn">
</div>

<div id="extraImgSeed"></div>

<style>
body {
background: #000;
}
⚙️
open popout
collab link
wrap lines
fold lines
font size
predict (on)
bug check (on)
⚠️
The items listed below aren't errors - they're just "warnings". Perchance generates "warnings" when it detects code in your editor panel that looks like it may be a mistake, but which is technically not "erroneous" - that is, it's valid Perchance syntax, but it's "unusual" code and so might have been an accident on your part. Feel free to ignore these warnings if you know what you're doing! ꒰•ᴗ•꒱

sign up or login to create your own generators ᕕ(ᐛ)ᕗ we only email you at your request (e.g. for password reset) 👍︎

there was a problem connecting to the server ¯\_(⊙_ʖ⊙)_/¯ check your internet connection?

that password is not correct (⊙.☉)7 forgot it?

that password is too short (⌐■_■) >6 chars plz

something seems wrong about that email address (⊙︿⊙)

too many requests (this can sometimes be caused by VPN browser extensions)

something went wrong on the server (✖╭╮✖) plz post to forum if problem persists

⏳ loading...

we just sent a verification code to (check spam folder too)

hmm. there was a problem connecting to the server. check your internet connection?

that code is not correct (⊙.☉)7 pls ensure you copied it exactly 👌︎

something went wrong on the server (✖╭╮✖) pls post to forum if problem persists

you're logged in! s(^‿^)-b

forgot your password? o(╥﹏╥)o that's all right! just enter the email you used to sign up and you'll be sent a reset code

there was a problem connecting to the server ¯\_(⊙_ʖ⊙)_/¯ check your internet connection?

very spooky: that account was not found (⊙.☉)7 are you sure you put in the correct email? 👻︎

something went wrong on the server (✖╭╮✖) pls post to forum if problem persists

we just sent a password reset code to 💌 when you recieve it (check your spam folder too) enter it below and then enter a new password of your choosing

there was a problem connecting to the server ¯\_(⊙_ʖ⊙)_/¯ check your internet connection?

that code is not correct (⊙.☉)7 pls ensure you copied it exactly 👌︎

that password is too short (⌐■_■) >6 chars plz

something went wrong on the server (✖╭╮✖) pls post to forum if problem persists

you're logged in as jakjones15@gmail.com - you can:

  • view your generators
  • change your password
  • change your email
  • logout

changing your password is easy, just enter your current password and your new password:

there was a problem connecting to the server ¯\_(⊙_ʖ⊙)_/¯ check your internet connection?

the current password is not correct (⊙.☉)7

that password is too short (⌐■_■) >7 chars pls

something went wrong on the server (✖╭╮✖) pls post to forum if problem persists

your password has been changed!

your current email is jakjones15@gmail.com to change your email, just enter your password and your new email below

there was a problem connecting to the server ¯\_(⊙_ʖ⊙)_/¯ check your internet connection?

that password is not correct (⊙.☉)7

that new email address looks weird (⌐■_■)

something went wrong on the server (✖╭╮✖) plz post to forum if problem persists

your email hand been changed!

🔤

there was a problem loading your generators ¯\_(⊙_ʖ⊙)_/¯ check your internet connection? if the problem persists, please post to forum

⏳ loading...

you're viewing your generator with the url l4piyxgtac - you can:

  • change its url
  • duplicate it
  • make public
  • download it
  • delete it

this generator's current url is: l4piyxgtac

to change it, just enter a new one below. remember: you can only use lower-case letters, numbers and hyphens in your url

caution: if you change it, the old url will no longer work! if your generator is popular, and others have imported it into their own, you will break their generators! (they will get import errors). because of this, if your generator is popular, it's better to make a copy of this generator rather than change this one's name

sorry, the new url must be at least 4 characters long

there was a problem connecting to the server ¯\_(⊙_ʖ⊙)_/¯ check your internet connection?

sorry, a generator with that name already exists (⌐■_■)

something went wrong on the server (✖╭╮✖) plz post to forum if problem persists

your generator's url has been changed ヾ(⌐■_■)ノ♪♬

⏳ loading...

if you click the button below, it will load a list of older versions of your generator so you can download them in case you accidentally deleted your code, or there was a system error. copies of your generator code are also backed-up to your local browser storage, so if your computer ever crashes and you hadn't saved in a while, you'll be able to come here to recover your data.

    ⏳ loading...

    hmm (⊙_☉) there was some sort of server error while trying to get your revision history. sorry! this doesn't happen very often. if it keeps happening (and you've checked your internet connection), could you please make a post on the forum?

    This is AI-generated and may be incorrect. You can add a comment above a particular bit of incorrectly-flagged code to tell the AI why it isn't actually an issue.
    The ✨ button in the lower-right can be used to fix things. This is AI-generated and may be incorrect. You can add a comment above a particular bit of incorrectly-flagged code to tell the AI why it isn't actually an issue.