risum 모듈 — RISU modules[] — 기능 확장
👍 159 · 조회 30872 · 2025-07-08
※모듈 임포트/활성화 필수 수박서리의 서리 프롬프트 for Gemini 변경점 [패치노트] 2025-07-10 v10-1) 아마도 검열 약간은 완화됨 지적받은 cbs 문법 오류 수정 클리셰 제거 토글 강화 좀 더 캐릭터 설정을 잘 참고하도록 변경 영출의 과도한 은유 떡칠을 억제 OOC 모드 문제 해결 이제 형식 제거 모드는 볼륨/챕터와 완전하게 무관함 2025-07-10 v10-2) 검열 완화 대화 중심 토글은 이제 더 많은 대사를 뱉음 조금 더 생동감 있는 대사와 주변 환경 활용 능력 무한밥 토글 강화 에셋 많이 토글 강화 (다만 나는 에셋 안 나오는 봇이 하나도 없어서 불확실) 헨타이 토글 살짝 강화 2025-07-11 v10-3) 여러 구문 수정 에셋 많이 토글 등 여러 토글 강화 소설가 프롬에서 문구 두 개 긴빠이: 동아시아 독자 설정, 서양 관용구 금지 (정말 고마워요) 2025-07-11 v10-4) 시험적으로 넣었던 존댓말/반말 말투 예시가 아무 효과 없길래 제거 의미 없던 비밀 유지 구문 제거 오타 수정 이전 응답 반복하는 문제 개선 속마음 강화, 섹스 (천박) 토글 수정 2025-07-14 v10-5) 900 토큰 가량이던 신음 로어북이 어느새 대략 2900 토큰이 되버린 것에 대하여 - AI 채팅 채널 를 일부 긴빠이하여 섹스 토글 수정 (정말 고마워요) 오타 수정 cot 구조 변경, 추론 토글 구조 변경 모듈에서 '생각의 사슬 누출 방지' 부분 강화 리스폰스 템플릿, 글로벌 노트 위치를 최근 챗 유저롤로 변경 (검열 회피용+에셋 안 나오는 거 방지용) 그 외 다양한 구문 수정 2025-07-14 v10-5 bug fixed) 모듈만 고침 (실수로 # Response 가리는 정규식 비활성화 해놨었음) 2025-07-14 v10-6) 대화 중심 토글 강화 기본 상태에서도 대화가 아주 약간 더 잘 나올 것 2025-07-15 v10-7) 글로벌 노트와 리스폰스 템플릿의 위치 롤백 대화 중심 토글을 2단계로 세분화: 대화 중심, 대화 최대 장르 토글 3개 추가: 만담, 로맨스 (썸~고백), 로맨스 (동거, 부부) 잼민이식 문체를 억제하는 조각프롬 - AI 채팅 채널 밑에 2개 추가 (정말 고마워요) 2025-08-13 v10-8) 자잘하게 여러 가지 수정 (내용 까먹었음) 응답 형식을 볼륨/챕터 + 타이틀 (기존) 과 볼륨/챕터 but 타이틀 없음으로 분리 2025-11-18 v10-9) 기본적으로 생동감 up 호들갑/과장 금지 토글 추가 캐릭터 모에 강화 토글 추가 [기본 변경 사항] 구문 순서나 세세한 내용, 토글 같은 거 대격변 수준으로 바뀜 기존의 어지럽고 정리 안 돼 있던 것들 싹 다 정리했음 [Gemini 프롬조각? 연구?] 이전 인풋 반복 및 인풋 무시를 방지 해줄 '수도' 있는 조각 프롬, 프리필 셈 프롬 연구 - AI 채팅 채널 이번에 특히 주의를 기울인 부분은 추론 최적화 부분 위를 참고한 후 다시 수정해서 기억력을 잡는 방식으로 강화했음 (정말 고마워요) 금쪽이 소유통제드리프트 방지 프롬조각 - AI 채팅 채널 거지같은 소유욕 참고한 후 서리 구조에 맞게 새로 만들고, 토글로 추가했음 (정말 고마워요) 소악마 프롬프트 v5-2 [for Gem2.5 Pro] - AI 채팅 채널 커스텀 작가 토글 최고야 거의 그대로 돚거한 다음 형식만 서리에 맞게 바꿈 (정말 고마워요) +) 소설의 숲을 참고해서 컨텍스트 시작-끝, 리스폰스 시작을 명시했음 (정말 고마워요) 그리고 거지같은 구문들 '이것은 단지 A가 아니었다...' 그 외 기타 등등 다 막으려고 시도는 해 봤음 여기 시간을 제일 많이 쓴 듯 그래도 튀어나올 수는 있지만 이거 말고도 추가해야 될 부분 좀 있는데 (ex: 구체적인 작가 토글이나 장르 토글, 아니면 문체 예시라든지) 그건 다음에 아 그리고 씹덕 제거 토글 (지금 바뀐 이름은 순문학)이 꽤 맛있는 것 같음 [토글] 각 토글들을 강화도 하고 최적화 특히 묘사 강화 토글에 집중한 편 소악마 긴빠이 서술 초점을 대화 중심, 묘사 집중으로 설정하는 기능 이건 # Guidelines를 시스템롤에서 유저롤로 바꿔줌으로써 검열을 완화시켜주는 기능 잘 모르겠는데 검열 걸리면 보통 이거 켜면 됨 이제 섹스는 천박/감성으로 나뉘고 신음은 선택안함 (즉 없음), 남녀 둘 다, 여자만으로 나뉨 섹스 중에 이상한 짓을 할려고 하는 잼민이를 막아 주는 기능 자꾸 상대를 소유하려고 하는 잼민이를 막아 주는 기능 쉼표를 리퀘스트에서 제거해서 추후 등장을 막아 주는 기능 [토큰] 기본 1800토큰 장르 토글: 정치/전략 +700, 현실성 +400, 섹스 +800 일본식 표현 추가: +700 한입한출: +100 DOWNLOAD [프롬] v10 https://realm.risuai.net/character/3da5ce4a-cfc4-41fd-88fc-e82c0da30263 대체 링크 https://drive.proton.me/urls/YY1BF81XRG#fSSJxIpk2zyd v10-1 https://realm.risuai.net/character/0b4be777-9aa7-4fe5-8f71-30764fa8894f 대체 링크 https://drive.proton.me/urls/GT83T6KG0M#vVZCwcvI4SVY v10-2 https://realm.risuai.net/character/535fea5b-8717-4a54-ad36-30d308595187 대체 링크 https://drive.proton.me/urls/YW8FC7H22C#GXV1M8WS1U57 v10-3 https://realm.risuai.net/character/2fcd752f-513a-4b5f-97b5-428dd399f27c 대체 링크 https://drive.proton.me/urls/W4NP0MF7YM#UkyjiD19Ql7g v10-4 https://realm.risuai.net/character/88ac1be2-6e50-49d5-a12e-71ab5867de1d 대체 링크 https://drive.proton.me/urls/QBXRZ7WN08#TgUe3QRAvTa9 v10-5 https://realm.risuai.net/character/fc88bff2-e1f1-486d-801d-845cf8ea7567 대체 링크 https://drive.proton.me/urls/WW6VZ0PCAC#FONxgE8yUjVl v10-6 https://realm.risuai.net/character/44676faf-444e-462e-b2cb-a71737f89fa8 대체 링크 https://drive.proton.me/urls/90CMQNZRS0#MRWxCVNnwdUZ v10-7 https://realm.risuai.net/character/967df909-535a-4e0d-a2a2-8274ef9de1c5 대체 링크 https://drive.proton.me/urls/1HPJ7AV3A8#VVw8fqsOcSuQ v10-8 https://realm.risuai.net/character/40d89b71-b8ec-40ac-b1d0-53705244e434 대체 링크 https://drive.proton.me/urls/9JPTMC09P8#Fh7C9eZxVySo v10-9 https://realm.risuai.net/character/6e683a55-c49b-4f02-a153-a0c655a0779a 대체 링크 https://drive.proton.me/urls/BKZCVA17R4#isrtu5bxkYWQ [모듈] Gemini v10 (공용모듈임) https://drive.proton.me/urls/B52DZEHX1R#RBAdVe3cpk2q 대체링크 https://adios.ninja/uploads/qZhBqElRtQ.risum Lua 모듈 등과 같이 써서 인풋번역/대필이 이상하게 작동하는 사람은 대신 이쪽 버전의 모듈을 사용할 것: https://drive.proton.me/urls/4N24QXYFJ8#GmJjwY7CrhJb 대체링크 https://adios.ninja/uploads/cajx37P41w.risum --- Gemini v10-5 (공용모듈임) https://drive.p
🍉서리 프롬프트 for Gemini v10-5 bug fixed
{
"name": "🍉서리 프롬프트 for Gemini v10-5 bug fixed",
"description": "🍉서리 프롬프트 for Gemini v10-5 bug fixed",
"id": "a8e70d8b-45e5-490b-940d-09657b43edae",
"regex": [
{
"comment": "개요 출력문",
"in": "^[\\s]*####[\\s]*(Outline|개요|概要)[:]?[\\s]*[\\n]+(.*)####[\\*\\s]*(Narrative|이야기|物語)[\\*\\s]*$",
"out": "#### Narrative",
"type": "editoutput",
"ableFlag": true,
"flag": "ms<order 3>"
},
{
"comment": "PC 턴 출력문",
"in": "^[\\s]*####[\\s]*PC Turn[:]?[\\s]*[\\n]+(.*)####[\\*\\s]*NPC Turn[\\*\\s]*$",
"out": "#### Narrative",
"type": "editoutput",
"ableFlag": true,
"flag": "ms<order 3>"
},
{
"comment": "인풋대필+번역 출력문 Gemini Thinking",
"in": "^[\\s]*####[\\s]*(Input Translation|인풋 번역|インプット翻訳)[:]?[\\s]*[\\n]+(.*)[\\s]*####[\\s]*(Input Enhancement|인풋 개선|インプット改善)[:]?[\\s]*[\\n]+(.*)####[\\*\\s]*(Narrative|이야기|物語)[\\*\\s]*$",
"out": "{{setvar::trans::$4}}",
"type": "editoutput",
"ableFlag": true,
"flag": "ms<order 2>"
},
{
"comment": "인풋번역 출력문 Gemini Thinking",
"in": "^[\\s]*####[\\s]*(Input Translation|인풋 번역|インプット翻訳)[:]?[\\s]*[\\n]+(.*)####[\\*\\s]*(Narrative|이야기|物語)[\\*\\s]*$",
"out": "{{setvar::trans::$2}}",
"type": "editoutput",
"ableFlag": true,
"flag": "sm<order 1>"
},
{
"comment": "인풋대필 출력문 Gemini Thinking",
"in": "^[\\s]*####[\\s]*(Input Enhancement|인풋 개선|インプット改善)[:]?[\\s]*[\\n]+(.*)####[\\*\\s]*(Narrative|이야기|物語)[\\*\\s]*$",
"out": "{{setvar::trans::$2}}",
"type": "editoutput",
"ableFlag": true,
"flag": "<order 1>ms"
},
{
"comment": "인풋대필+번역 출력문",
"in": "^[\\s]*##[\\s]*(Input Translation|인풋 번역|インプット翻訳)[:]?[\\s]*[\\n]+(.*)[\\s]*##[\\s]*(Input Enhancement|인풋 개선|インプット改善)[:]?[\\s]*[\\n]+(.*)#[\\*\\s]*(Response|응답|応答)[\\*\\s]*$",
"out": "{{setvar::trans::$4}}\n# $5",
"type": "editoutput",
"ableFlag": true,
"flag": "ms<order 2>"
},
{
"comment": "인풋번역 출력문",
"in": "^[\\s]*##[\\s]*(Input Translation|인풋 번역|インプット翻訳)[:]?[\\s]*[\\n]+(.*)#[\\*\\s]*(Response|응답|応答)[\\*\\s]*$",
"out": "{{setvar::trans::$2}}\n# $3",
"type": "editoutput",
"ableFlag": true,
"flag": "ms<order 1>"
},
{
"comment": "인풋대필 출력문",
"in": "^[\\s]*##[\\s]*(Input Enhancement|인풋 개선|インプット改善)[:]?[\\s]*[\\n]+(.*)#[\\*\\s]*(Response|응답|応答)[\\*\\s]*$",
"out": "{{setvar::trans::$2}}\n# $3",
"type": "editoutput",
"ableFlag": true,
"flag": "ms<order 1>"
},
{
"comment": "이야기 지우기",
"in": "^[\\s]*####[\\*\\s]*(Narrative|이야기|物語)[\\*\\s]*$",
"out": "",
"type": "editoutput",
"ableFlag": true,
"flag": "ms"
},
{
"comment": "<Thoughts> 리퀘스트",
"in": "<Thoughts>(.*)</Thoughts>",
"out": "",
"type": "editprocess",
"ableFlag": true,
"flag": "gs<order 5>"
},
{
"comment": "추론 출력문",
"in": "(.+?)#[\\*\\s]*(Response|응답|応答)[\\*\\s]*$",
"out": "{{#if {{? {{getglobalvar::toggle_ban_cot_output}}=0}}}}\n$1\n# $2\n{{/if}}{{#if {{? {{getglobalvar::toggle_ban_cot_output}}=1}}}}\n# $2\n{{/if}}",
"type": "editoutput",
"ableFlag": true,
"flag": "s<order 0>m"
},
{
"comment": "추론 디스플레이",
"in": "^(.+?)[\\*\\s]*#[\\*\\s]*(Response|응답|応答)[\\*\\s]*$",
"out": "{{#if {{? {{getglobalvar::toggle_ban_cot_output}}=0}}}}\n<Thoughts>\n\n$1\n\n</Thoughts>\n{{/if}}\n",
"type": "editdisplay",
"ableFlag": true,
"flag": "ms<order 4>"
},
{
"comment": "추론 리퀘스트",
"in": "^(.*)#[\\*\\s]*(Response|응답|応答)[\\*\\s]*$",
"out": "# $2",
"type": "editprocess",
"ableFlag": true,
"flag": "ms<order 4>"
},
{
"comment": "사후응답 디스플레이",
"in": "^[\\*\\s]*#[\\*\\s]*(Post-response|사후응답|事後応答)(.*)",
"out": "<details>\n <summary><strong>사후응답</strong></summary>\n <div>\n\t$2\n </div>\n</details>",
"type": "editdisplay",
"ableFlag": true,
"flag": "ms<order 2>"
},
{
"comment": "# Response 디스플레이",
"in": "# (Response|응답|応答)",
"out": "",
"type": "editdisplay",
"ableFlag": true,
"flag": "g<order 1>"
},
{
"comment": "챕터 가리개 여부",
"in": "(## (Volume|볼륨|巻)(.*)[\\n]+### (Chapter|챕터|章)(.*))",
"out": "{{#if {{? {{getglobalvar::toggle_episode_display_removal}}=0}}}}$1{{/if}}\n",
"type": "editdisplay",
"ableFlag": true,
"flag": "<order 1>mg"
},
{
"comment": "상태창 올인원 호환",
"in": "- Date: (.+?)\\n+-.+: (.+?)\\n+-.+: (.+?)\\n+-.+: (.+?)\\n+-.+: ([^\\n]+)(?=[<p></p>]*?)",
"out": "<head>\n <style>\n @import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,100..900;1,100..900&family=Gowun+Batang&display=swap');\n \n svg {\n display: inline;\n fill: #ffffff;\n width: 1em;\n margin-bottom: 0.2em;\n }\n \n .indicator {\n display: flex;\n flex-direction: column;\n border: double #ffffff;\n border-width: 6px 0;\n max-width: 400px;\n margin: 1em auto;\n }\n \n .textbox {\n display: flex;\n flex-direction: column;\n margin: 0.5em auto;\n width: fit-content;\n }\n \n .text {\n line-height: 1em;\n font-size: 1em;\n font-family: \"Gowun Batang\";\n font-optical-sizing: auto;\n font-style: italic;\n font-weight: 400;\n color: #ffffff;\n }\n </style>\n</head>\n \n<body style=\"background-color: black;\">\n <div class=\"indicator\">\n <div class=\"textbox\">\n <span class=\"text\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M7 11h2v2H7zm0 4h2v2H7zm4-4h2v2h-2zm0 4h2v2h-2zm4-4h2v2h-2zm0 4h2v2h-2z\"></path>\n <path d=\"M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM19 8l.001 12H5V8h14z\"></path>\n </g>\n </svg>\n $1\n </span>\n <span class=\"text\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z\"></path>\n <path d=\"M13 7h-2v6h6v-2h-4z\"></path>\n </g>\n </svg>\n $2\n </span>\n <span class=\"text\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M12 14c2.206 0 4-1.794 4-4s-1.794-4-4-4-4 1.794-4 4 1.794 4 4 4zm0-6c1.103 0 2 .897 2 2s-.897 2-2 2-2-.897-2-2 .897-2 2-2z\"></path>\n </g>\n </svg>\n $3\n </span>\n <span class=\"text\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M12 3C8.691 3 6 5.691 6 9c0 1.654 1.346 3 3 3h6c1.654 0 3-1.346 3-3 0-3.309-2.691-6-6-6zm0 10h-3v8h3v-8zm6 0h-3v8h3v-8zm-7-2c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm7 0c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z\"></path>\n </g>\n </svg>\n $4\n </span>\n <span class=\"text\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M19 6h-2V4c0-1.654-1.346-3-3-3H10C8.346 1 7 2.346 7 4v2H5c-1.654 0-3 1.346-3 3v11c0 1.654 1.346 3 3 3h14c1.654 0 3-1.346 3-3V9c0-1.654-1.346-3-3-3zM9 4c0-.551.449-1 1-1h4c.551 0 1 .449 1 1v2H9V4zm11 15c0 .551-.449 1-1 1H5c-.551 0-1-.449-1-1V9c0-.551.449-1 1-1h14c.551 0 1 .449 1 1v10z\"></path>\n </g>\n </svg>\n $5\n </span>\n </div>\n </div>\n</body>\n<br>",
"type": "editdisplay",
"ableFlag": true,
"flag": "<move_top><order 0>"
},
{
"comment": "서리 자체 상태창 (Default)",
"in": "\\[[\\s]*Date[\\s]*:(.*)\\|[\\s]*Season[\\s]*:(.*)\\|[\\s]*Time[\\s]*:(.*)\\|[\\s]*Location[\\s]*:(.*)\\|[\\s]*Characters[\\s]*:(.*)\\|[\\s]*Others[\\s]*:(.*)\\]",
"out": "<!DOCTYPE html>\n<html lang=\"ko\">\n<head>\n <style>\n :root {\n --main-bg-color: #121212;\n --accent-color: #7f5af0;\n --text-primary: #ececec;\n --text-secondary: #a7a9be;\n --border-color: #2e2e2e;\n --panel-bg: #1e1e1e;\n }\n \n body {\n margin: 0;\n padding: 0;\n font-family: 'Noto Sans KR', sans-serif;\n background-color: var(--main-bg-color);\n color: var(--text-primary);\n }\n \n .status-container {\n max-width: 100%;\n margin: 10px auto;\n border-radius: 8px;\n background-color: var(--panel-bg);\n box-shadow: 0 4px 15px rgba(0,0,0,0.3);\n overflow: hidden;\n }\n \n .status-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 15px;\n background-color: var(--accent-color);\n color: white;\n }\n \n .status-header h2 {\n margin: 0;\n font-size: 1rem;\n }\n \n .status-body {\n display: flex;\n flex-wrap: wrap;\n padding: 10px;\n }\n \n .status-section {\n padding: 8px 12px;\n flex: 1;\n min-width: 150px;\n border-right: 1px solid var(--border-color);\n }\n \n .status-section:last-child {\n border-right: none;\n }\n \n .section-title {\n font-size: 0.8rem;\n color: var(--accent-color);\n margin: 0 0 5px 0;\n text-transform: uppercase;\n letter-spacing: 1px;\n }\n \n .section-content {\n font-size: 0.9rem;\n margin: 0;\n }\n \n .characters-list {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 5px;\n }\n \n .character-tag {\n background-color: rgba(127, 90, 240, 0.2);\n border: 1px solid var(--accent-color);\n border-radius: 15px;\n padding: 3px 10px;\n font-size: 0.8rem;\n white-space: nowrap;\n }\n \n .others-list {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 5px;\n }\n \n .other-character {\n display: flex;\n align-items: center;\n background-color: rgba(60, 60, 60, 0.5);\n border-radius: 15px;\n padding: 3px 10px;\n font-size: 0.8rem;\n white-space: nowrap;\n }\n \n .location-badge {\n background-color: rgba(127, 90, 240, 0.3);\n border-radius: 10px;\n padding: 2px 6px;\n margin-left: 5px;\n font-size: 0.7rem;\n }\n \n @media (max-width: 768px) {\n .status-body {\n flex-direction: column;\n }\n \n .status-section {\n border-right: none;\n border-bottom: 1px solid var(--border-color);\n padding: 10px;\n }\n \n .status-section:last-child {\n border-bottom: none;\n }\n }\n </style>\n</head>\n<body>\n <div class=\"status-container\">\n <div class=\"status-header\">\n <h2>상태창</h2>\n <span id=\"time-display\">$1</span>\n </div>\n <div class=\"status-body\">\n <div class=\"status-section\">\n <h3 class=\"section-title\">날짜 / 계절</h3>\n <p class=\"section-content\" id=\"date-season\">$2</p>\n </div>\n <div class=\"status-section\">\n <h3 class=\"section-title\">시간</h3>\n <p class=\"section-content\" id=\"time-info\">$3</p>\n </div>\n <div class=\"status-section\">\n <h3 class=\"section-title\">위치</h3>\n <p class=\"section-content\" id=\"location-info\">$4</p>\n </div>\n <div class=\"status-section\">\n <h3 class=\"section-title\">현재 인물</h3>\n <div class=\"characters-list\" id=\"characters-container\">$5</div>\n </div>\n <div class=\"status-section\">\n <h3 class=\"section-title\">기타 인물</h3>\n <div class=\"others-list\" id=\"others-container\">$6</div>\n </div>\n </div>\n </div>\n</body>\n</html>",
"type": "editdisplay",
"ableFlag": true,
"flag": "g"
},
{
"comment": "서리 자체 상태창 (게임식)",
"in": "\\[[\\s]*Name[\\s]*:(.*)\\|[\\s]*Level[\\s]*:(.*)\\|[\\s]*Talent[\\s]*:(.*)\\|[\\s]*Money[\\s]*:(.*)\\|[\\s]*Skills[\\s]*:(.*)\\|[\\s]*Date[\\s]*:(.*)\\|[\\s]*Season[\\s]*:(.*)\\|[\\s]*Time[\\s]*:(.*)\\|[\\s]*Location[\\s]*:(.*)\\|[\\s]*Characters[\\s]*:(.*)\\|[\\s]*Others[\\s]*:(.*)\\|[\\s]*Quests[\\s]*:(.*)\\]",
"out": "<!DOCTYPE html>\n<html lang=\"ko\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <style>\n :root {\n --main-bg-color: #121212;\n --accent-color: #7f5af0;\n --accent-light: rgba(127, 90, 240, 0.2);\n --text-primary: #ececec;\n --text-secondary: #a7a9be;\n --border-color: #2e2e2e;\n --panel-bg: #1e1e1e;\n --main-quest: #ff7e5f;\n --sub-quest: #feb47b;\n }\n \n body {\n margin: 0;\n padding: 0;\n font-family: 'Noto Sans KR', sans-serif;\n background-color: var(--main-bg-color);\n color: var(--text-primary);\n }\n \n .status-container {\n max-width: 100%;\n margin: 10px auto;\n border-radius: 8px;\n background-color: var(--panel-bg);\n box-shadow: 0 4px 15px rgba(0,0,0,0.3);\n overflow: hidden;\n }\n \n .status-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 15px;\n background-color: var(--accent-color);\n color: white;\n }\n \n .status-header h2 {\n margin: 0;\n font-size: 1rem;\n display: flex;\n align-items: center;\n }\n \n .status-body {\n display: flex;\n flex-wrap: wrap;\n padding: 5px;\n }\n \n .status-row {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n margin-bottom: 5px;\n }\n \n .status-section {\n padding: 5px 10px;\n flex: 1;\n min-width: 150px;\n border-right: 1px solid var(--border-color);\n }\n \n .status-section:last-child {\n border-right: none;\n }\n \n .section-title {\n font-size: 0.7rem;\n color: var(--accent-color);\n margin: 0 0 3px 0;\n text-transform: uppercase;\n letter-spacing: 1px;\n }\n \n .section-content {\n font-size: 0.85rem;\n margin: 0;\n }\n \n .characters-list, .skills-list, .others-list {\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n margin-top: 3px;\n }\n \n .character-tag, .skill-tag {\n background-color: var(--accent-light);\n border: 1px solid var(--accent-color);\n border-radius: 15px;\n padding: 2px 8px;\n font-size: 0.75rem;\n white-space: nowrap;\n }\n \n .other-character {\n display: flex;\n align-items: center;\n background-color: rgba(60, 60, 60, 0.5);\n border-radius: 15px;\n padding: 2px 8px;\n font-size: 0.75rem;\n white-space: nowrap;\n }\n \n .location-badge {\n background-color: rgba(127, 90, 240, 0.3);\n border-radius: 10px;\n padding: 1px 5px;\n margin-left: 5px;\n font-size: 0.7rem;\n }\n \n .stats-container {\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n }\n \n .stat-item {\n display: flex;\n align-items: center;\n }\n \n .stat-label {\n color: var(--text-secondary);\n font-size: 0.75rem;\n margin-right: 5px;\n }\n \n .stat-value {\n font-size: 0.85rem;\n }\n \n .quests-container {\n display: flex;\n flex-direction: column;\n gap: 5px;\n }\n \n .quest-item {\n background-color: rgba(40, 40, 40, 0.6);\n border-left: 3px solid var(--main-quest);\n border-radius: 4px;\n padding: 5px 8px;\n font-size: 0.75rem;\n }\n \n .quest-item.sub-quest {\n border-left-color: var(--sub-quest);\n }\n \n .quest-header {\n display: flex;\n justify-content: space-between;\n font-weight: bold;\n margin-bottom: 2px;\n }\n \n .quest-type {\n background-color: var(--main-quest);\n padding: 1px 6px;\n border-radius: 10px;\n font-size: 0.65rem;\n color: white;\n }\n \n .quest-type.sub {\n background-color: var(--sub-quest);\n }\n \n .quest-desc {\n margin: 2px 0;\n color: var(--text-secondary);\n }\n \n .quest-reward {\n font-size: 0.7rem;\n color: gold;\n }\n \n /* Folding styles */\n .fold-checkbox {\n display: none;\n }\n \n .fold-row {\n display: flex;\n gap: 8px;\n width: 100%;\n margin-bottom: 5px;\n }\n \n .fold-container {\n flex: 1;\n min-width: 0;\n }\n \n .fold-label {\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 4px 8px;\n background-color: var(--panel-bg);\n border-radius: 4px;\n margin-bottom: 5px;\n border: 1px solid var(--border-color);\n }\n \n .fold-label:hover {\n background-color: rgba(127, 90, 240, 0.1);\n }\n \n .fold-label:after {\n content: '▼';\n font-size: 0.8rem;\n color: var(--accent-color);\n transition: transform 0.3s;\n }\n \n .fold-content {\n transition: max-height 0.3s ease-out, opacity 0.3s ease-out;\n max-height: 1000px;\n opacity: 1;\n overflow: hidden;\n }\n \n .fold-checkbox:checked + .fold-label:after {\n transform: rotate(-90deg);\n }\n \n .fold-checkbox:checked ~ .fold-content {\n max-height: 0;\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n }\n \n .fold-row-title {\n font-size: 0.8rem;\n font-weight: bold;\n color: var(--text-primary);\n margin: 0;\n }\n \n @media (max-width: 768px) {\n .status-body {\n flex-direction: column;\n }\n \n .status-row {\n flex-direction: column;\n margin-bottom: 0;\n }\n \n .status-section {\n border-right: none;\n border-bottom: 1px solid var(--border-color);\n padding: 8px;\n }\n \n .status-section:last-child {\n border-bottom: none;\n }\n \n .stats-container {\n flex-direction: column;\n gap: 5px;\n }\n \n .stat-item {\n width: 100%;\n }\n \n .fold-row {\n flex-direction: column;\n }\n }\n </style>\n</head>\n<body>\n <div class=\"status-container\">\n <div class=\"status-header\">\n <h2>상태창</h2>\n <span id=\"time-display\">($7) $6 $8</span>\n </div>\n <div class=\"status-body\">\n <!-- Character Stats Row -->\n <div class=\"status-row\">\n <div class=\"status-section\">\n <h3 class=\"section-title\">기본 정보</h3>\n <div class=\"stats-container\">\n <div class=\"stat-item\">\n <span class=\"stat-label\">레벨:</span>\n <span class=\"stat-value\" id=\"level-value\">$2</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">재능:</span>\n <span class=\"stat-value\" id=\"talent-value\">$3</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">소지금:</span>\n <span class=\"stat-value\" id=\"money-value\">$4</span>\n </div>\n </div>\n </div>\n <div class=\"status-section\">\n <h3 class=\"section-title\">기술</h3>\n <div class=\"skills-list\" id=\"skills-container\">$5</div>\n </div>\n </div>\n <!-- Foldable Rows Container -->\n <div class=\"fold-row\">\n <!-- Time/Location Row -->\n <div class=\"fold-container\">\n <input type=\"checkbox\" id=\"time-location-fold\" class=\"fold-checkbox\" checked>\n <label for=\"time-location-fold\" class=\"fold-label\">\n <span class=\"fold-row-title\">기타</span>\n </label>\n <div class=\"fold-content\">\n <div class=\"status-row\">\n <div class=\"status-section\">\n <h3 class=\"section-title\">위치</h3>\n <p class=\"section-content\" id=\"location-info\">$9</p>\n </div>\n <div class=\"status-section\">\n <h3 class=\"section-title\">현재 인물</h3>\n <div class=\"characters-list\" id=\"characters-container\">$10</div>\n </div>\n <div class=\"status-section\">\n <h3 class=\"section-title\">기타 인물</h3>\n <div class=\"others-list\" id=\"others-container\">$11</div>\n </div>\n <div class=\"status-section\">\n <h3 class=\"section-title\">퀘스트</h3>\n <div class=\"quests-container\" id=\"quests-container\">$12</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</body>",
"type": "editdisplay",
"ableFlag": true,
"flag": "g"
},
{
"comment": "TRANSLATE BUTTON 디스플레이",
"in": "TRANSLATE BUTTON",
"out": "Click To Replace Input: <button risu-trigger=\"inputtrans_gpt\">{{getvar::trans}}</button>",
"type": "editdisplay",
"ableFlag": false
},
{
"comment": "TRANSLATE BUTTON 리퀘스트",
"in": "TRANSLATE BUTTON",
"out": "",
"type": "editprocess",
"ableFlag": false
},
{
"comment": "말줄임표 리퀘스트",
"in": "(\\.\\.\\.|…)",
"out": "{{#if {{? {{getglobalvar::toggle_ban_ellipsis}}=0}}}}…{{/if}}",
"type": "editprocess",
"ableFlag": false
},
{
"comment": "쉼표 리퀘스트",
"in": ",",
"out": "{{#if {{? {{getglobalvar::toggle_ban_comma}}=0}}}},{{/if}}",
"type": "editprocess",
"ableFlag": false
},
{
"comment": "** 리퀘스트",
"in": "\\*\\*",
"out": "",
"type": "editprocess",
"ableFlag": false
},
{
"comment": "```",
"in": "```",
"out": "",
"type": "editdisplay",
"ableFlag": false,
"flag": "g"
},
{
"comment": "'*thoughts*' 출력문",
"in": "(\\*'|'\\*|\\*‘|’\\*)",
"out": "'",
"type": "editoutput",
"ableFlag": false,
"flag": "gms"
}
],
"type": "risuModule",
"trigger": [
{
"comment": "",
"type": "manual",
"conditions": [],
"effect": [
{
"type": "v2Header",
"code": "",
"indent": 0
}
],
"lowLevelAccess": true
},
{
"comment": "inputtrans_gpt",
"type": "manual",
"conditions": [],
"effect": [
{
"type": "v2IfAdvanced",
"indent": 0,
"condition": ">",
"targetType": "value",
"target": "0",
"sourceType": "value",
"source": "{{? {{getglobalvar::toggle_heng}}+{{getglobalvar::toggle_input_enhancement}}}}"
},
{
"type": "v2ModifyChat",
"index": "{{? $inputtrans_gpt_button_index-1}}",
"indexType": "value",
"value": "{{replace::{{getvar::trans}}::---::{{blank}}}}",
"valueType": "value",
"indent": 1
},
{
"type": "v2CutChat",
"indent": 1,
"start": "0",
"end": "{{? $inputtrans_gpt_button_index+1}}",
"startType": "value",
"endType": "value"
},
{
"type": "v2EndIndent",
"indent": 1,
"endOfLoop": false
}
],
"lowLevelAccess": true
},
{
"comment": "inputtrans_gpt_button",
"type": "output",
"conditions": [],
"effect": [
{
"type": "v2IfAdvanced",
"indent": 0,
"condition": ">",
"targetType": "value",
"target": "0",
"sourceType": "value",
"source": "{{? {{getglobalvar::toggle_heng}}+{{getglobalvar::toggle_input_enhancement}}}}"
},
{
"type": "v2Impersonate",
"role": "char",
"value": "TRANSLATE BUTTON",
"valueType": "value",
"indent": 1
},
{
"type": "v2SetVar",
"operator": "=",
"var": "inputtrans_gpt_button_index",
"value": "{{lastmessageid}}",
"valueType": "value",
"indent": 1
},
{
"type": "v2EndIndent",
"indent": 1,
"endOfLoop": false
}
],
"lowLevelAccess": true
}
],
"lowLevelAccess": true,
"creator_notes": "For 서리 프롬프트 v17",
"tags": [],
"license": "CC BY-NC-SA 4.0",
"rtype": "module",
"hideIcon": false,
"lorebook": [
{
"key": "### Chapter 10, ### Chapter 11, ### Chapter 12, ### Chapter 13, ### Chapter 14, ### 챕터 10, ### 챕터 11, ### 챕터 12, ### 챕터 13, ### 챕터 14, ### 章 10, ### 章 11, ### 章 12, ### 章 13, ### 章 14",
"comment": "Shift Volume Chapter 10~14",
"content": "@@depth 0\n@@scan_depth 2\n{{random::***Instantly shift to the next volume, resetting the chapter number to 1.***::{{blank}}}}",
"mode": "normal",
"insertorder": 100,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
},
{
"key": "### Chapter 15, ### Chapter 16, ### Chapter 17, ### Chapter 18, ### Chapter 19, ### 챕터 15, ### 챕터 16, ### 챕터 17, ### 챕터 18, ### 챕터 19, ### 章 15, ### 章 16, ### 章 17, ### 章 18, ### 章 19",
"comment": "Shift Volume Chapter 15~",
"content": "@@depth 0\n@@scan_depth 2\n***Instantly shift to the next volume, resetting the chapter number to 1.***",
"mode": "normal",
"insertorder": 100,
"alwaysActive": false,
"secondkey": "",
"selective": false,
"useRegex": false,
"bookVersion": 2
}
],
"backgroundEmbedding": "",
"assets": [],
"namespace": "",
"customModuleToggle": ""
}