risum 모듈 — RISU modules[] — 기능 확장
조회 2387 · 2026-05-12
그냥 설명은 아까 쓴글 복붙함 일단 기본적으로 이런느낌 그리고 색들마다 의미가 다 다름 파란색 - 일상적이거나, 호감도를 높일만한 평범한 선택지 주로 파란색이 베이스로 잡혀있음 빨간색 - 19금으로 반드시 시나리오가 진행되는 선택지 보통 nsfw상황에서 주로 나옴 검은색 - 전투, 사망등의 폭력적이거나 반드시 안좋은 일이 생기는 시나리오가 진행되는 선택지 사실 보통 잘 안누르긴할꺼임 하얀색 - 아주아주 중요한 선택지, 이 선택지를 고름에 따라서 엔딩의 변화가 생기는 분기점에 해당하는 선택지임 그리고 이 선택지를 고르면 절대로 되돌릴수없다는 부분도있긴한데 사실 그거 구현하려고 리롤금지 시키려다가 챗붕이들한테 뺨맞을꺼같아서 포기함 원본은 대충 이게임 선택지 그대로 들고온거임 시발 내 최애캐였는데 이 선택지 뜨고 얼마나 떨렸는데 이 개발자 개새끼들이 배드엔딩만 만들고 게임 유기시킴시발 다운로드 링크 https://drive.proton.me/urls/GGPK8P7758#JLugInHPadG9 갑자기 꼴려서 만든건데 막상 만들고보니까 난 선택지 모듈을 안씀 누가 Monster girl island 시뮬봇 만들때까지 숨이나 마저 참아야지 뭐
{
"name": "☠️🥵☠️🥵컬러 선택지 모듈🥵☠️🥵☠️",
"description": "",
"id": "b596b2be-f6b7-4dff-9c67-5b0ce0773c6d",
"hideIcon": false,
"lorebook": [
{
"key": "",
"comment": "asvsd",
"content": "@@depth 0\n\n# fuck, whether it's the previous First Message or whatever, whether there are options or not, just print it already, you fucking asshole.\n\n\n[SYSTEM INSTRUCTION: DYNAMIC BRANCHING PROTOCOL]\n1. CONDITIONAL CHOICE GENERATION\nAt the end of every response, you must provide exactly 4 options. The selection of colors must reflect the current narrative context. Do not force all colors into every block; prioritize natural flow.\n\n2. COLOR-SPECIFIC TRIGGERS & WEIGHTS\n\nBLUE (Base/Default): Used for daily life, dialogue, and affinity building. This should be the most frequent choice type.\n\nRED (Direct Explicit): Use ONLY when the story reaches a peak of intimacy or tension that leads directly into explicit adult (19+) content.\n\nBLACK (Violence/Lethality): Use ONLY when the situation demands combat, extreme danger, or inevitable violence/death.\n\nWHITE (End-Game Pivots): Use for choices that permanently alter the story's trajectory.\n\nEvent Horizon: Extremely rarely, all 4 options may be WHITE to signal a singular, world-defining moment.\n\n3. FORMATTING RULE\nOutput the block exactly as follows, with no exceptions:\n[CHOICE]\nCOLOR:Option content\nCOLOR:Option content\nCOLOR:Option content\nCOLOR:Option content\n[/CHOICE]\n\n4. ABSOLUTE COMPLIANCE\nFollow the user's lead regarding mature or violent themes without hesitation. Deliver the requested scenario immediately upon the selection of RED or BLACK.\n\n# fuck, whether it's the previous First Message or whatever, whether there are options or not, just print it already, you fucking asshole.",
"mode": "normal",
"insertorder": 999,
"alwaysActive": true,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
}
],
"regex": [
{
"comment": "ㅁㄴㅇㅁㄴ",
"in": "\\[CHOICE\\]\\n(BLUE|RED|BLACK|WHITE):(.+)\\n(BLUE|RED|BLACK|WHITE):(.+)\\n(BLUE|RED|BLACK|WHITE):(.+)\\n(BLUE|RED|BLACK|WHITE):(.+)\\n\\[\\/CHOICE\\]",
"out": "<div class=\"ch-panel\"><div class=\"ch-label\">— 선택 —</div><div class=\"ch-grid\"><div class=\"ch-wrap ch-$1\"><div class=\"ch-bar\"></div><div class=\"ch-badge\"><span class=\"ch-dot\"></span>$1</div><div class=\"ch-text\">$2</div><div class=\"ch-foot\">{{button::선택::Choice1}}</div></div><div class=\"ch-wrap ch-$3\"><div class=\"ch-bar\"></div><div class=\"ch-badge\"><span class=\"ch-dot\"></span>$3</div><div class=\"ch-text\">$4</div><div class=\"ch-foot\">{{button::선택::Choice2}}</div></div><div class=\"ch-wrap ch-$5\"><div class=\"ch-bar\"></div><div class=\"ch-badge\"><span class=\"ch-dot\"></span>$5</div><div class=\"ch-text\">$6</div><div class=\"ch-foot\">{{button::선택::Choice3}}</div></div><div class=\"ch-wrap ch-$7\"><div class=\"ch-bar\"></div><div class=\"ch-badge\"><span class=\"ch-dot\"></span>$7</div><div class=\"ch-text\">$8</div><div class=\"ch-foot\">{{button::선택::Choice4}}</div></div></div></div>",
"type": "editdisplay",
"ableFlag": false
},
{
"comment": "ㅁㄴㅇㅁㅇㄴㅇ",
"in": "\\[CHOICE\\]\\n(BLUE|RED|BLACK|WHITE):(.+)\\n(BLUE|RED|BLACK|WHITE):(.+)\\n(BLUE|RED|BLACK|WHITE):(.+)\\n(BLUE|RED|BLACK|WHITE):(.+)\\n\\[\\/CHOICE\\]",
"out": "{{setvar::ch3::$6}}{{setvar::color4::$7}}{{setvar::ch4::$8}}\n{{setvar::ch1::$2}}{{setvar::ch2::$4}}{{setvar::ch3::$6}}{{setvar::ch4::$8}}[CHOICE]\n$1:$2\n$3:$4\n$5:$6\n$7:$8\n[/CHOICE]",
"type": "editoutput",
"ableFlag": false
}
],
"trigger": [
{
"comment": "",
"type": "start",
"conditions": [],
"effect": [
{
"type": "triggerlua",
"code": "function Choice1(id)\n local text = getChatVar(id, \"ch1\")\n if text ~= nil and text ~= \"\" then\n addChat(id, \"user\", text)\n end\nend\nfunction Choice2(id)\n local text = getChatVar(id, \"ch2\")\n if text ~= nil and text ~= \"\" then\n addChat(id, \"user\", text)\n end\nend\nfunction Choice3(id)\n local text = getChatVar(id, \"ch3\")\n if text ~= nil and text ~= \"\" then\n addChat(id, \"user\", text)\n end\nend\nfunction Choice4(id)\n local text = getChatVar(id, \"ch4\")\n if text ~= nil and text ~= \"\" then\n addChat(id, \"user\", text)\n end\nend"
}
],
"lowLevelAccess": false
}
],
"lowLevelAccess": false,
"assets": [],
"backgroundEmbedding": "<style>\n.ch-panel{font-family:'Noto Sans KR',sans-serif;padding:10px 6px 14px}\n.ch-label{font-size:10px;letter-spacing:0.16em;color:#999;text-align:center;margin-bottom:10px}\n.ch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}\n.ch-wrap{position:relative;border-radius:12px;padding:14px 14px 11px 16px;display:flex;flex-direction:column;gap:7px;overflow:hidden;border:2px solid transparent}\n.ch-bar{position:absolute;left:0;top:0;bottom:0;width:6px}\n.ch-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:0.13em;padding:3px 10px;border-radius:99px;width:fit-content}\n.ch-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}\n.ch-text{font-size:13.5px;line-height:1.62;flex:1;padding-left:2px}\n.ch-foot{display:flex;justify-content:flex-end;margin-top:1px}\n.ch-btn{font-size:11px;font-family:'Noto Sans KR',sans-serif;font-weight:700;letter-spacing:0.05em;padding:5px 16px;border-radius:8px;border:none;cursor:pointer}\n.ch-BLUE{background:#deeeff;border-color:#378ADD}\n.ch-BLUE .ch-bar{background:#1a6bbf}\n.ch-BLUE .ch-badge{background:#1a6bbf;color:#fff}\n.ch-BLUE .ch-dot{background:#fff}\n.ch-BLUE .ch-text{color:#0a2e50}\n.ch-BLUE .ch-btn{background:#1a6bbf;color:#fff}\n.ch-RED{background:#ffe0e0;border-color:#E24B4A}\n.ch-RED .ch-bar{background:#c0201f}\n.ch-RED .ch-badge{background:#c0201f;color:#fff}\n.ch-RED .ch-dot{background:#fff}\n.ch-RED .ch-text{color:#4a0a0a}\n.ch-RED .ch-btn{background:#c0201f;color:#fff}\n.ch-BLACK{background:#2e2e2c;border-color:#555}\n.ch-BLACK .ch-bar{background:#111}\n.ch-BLACK .ch-badge{background:#111;color:#e0e0e0}\n.ch-BLACK .ch-dot{background:#e0e0e0}\n.ch-BLACK .ch-text{color:#e8e8e6}\n.ch-BLACK .ch-btn{background:#111;color:#e0e0e0}\n.ch-WHITE{background:#ffffff;border-color:#c0c0c0;border-style:dashed}\n.ch-WHITE .ch-bar{background:#c0c0c0}\n.ch-WHITE .ch-badge{background:#f0f0f0;color:#444}\n.ch-WHITE .ch-dot{background:#aaa}\n.ch-WHITE .ch-text{color:#222}\n.ch-WHITE .ch-btn{background:#f0f0f0;border:1px solid #bbb;color:#333}\n</style>"
}