diff --git a/src/lib/SideBars/Scripts/TriggerList2.svelte b/src/lib/SideBars/Scripts/TriggerList2.svelte
index dbb1929e..df1b3665 100644
--- a/src/lib/SideBars/Scripts/TriggerList2.svelte
+++ b/src/lib/SideBars/Scripts/TriggerList2.svelte
@@ -101,6 +101,7 @@
'v2UpdateGUI',
'v2Wait',
"v2StopPromptSending",
+ 'v2Tokenize'
]
@@ -556,6 +557,15 @@
indent: 0
}
break;
+ case 'v2Tokenize':{
+ editTrigger = {
+ type: 'v2Tokenize',
+ value: '',
+ valueType: 'value',
+ indent: 0,
+ outputVar: ""
+ }
+ }
case 'v2PushArrayVar':
editTrigger = {
type: 'v2PushArrayVar',
@@ -1910,7 +1920,16 @@
{language.outputVar}
+ {:else if editTrigger.type === 'v2Tokenize'}
+ {language.value}
+
+ {language.value}
+ {language.var}
+
+
+ {language.outputVar}
+
{:else}
{language.noConfig}
{/if}
diff --git a/src/ts/process/triggers.ts b/src/ts/process/triggers.ts
index 75a91d51..e0e345cc 100644
--- a/src/ts/process/triggers.ts
+++ b/src/ts/process/triggers.ts
@@ -39,7 +39,7 @@ export type triggerEffectV2 = triggerV2Header|triggerV2IfVar|triggerV2Else|tri
triggerV2SliceArrayVar|triggerV2GetIndexOfValueInArrayVar|triggerV2RemoveIndexFromArrayVar|triggerV2ConcatString|triggerV2GetLastUserMessage|
triggerV2GetLastCharMessage|triggerV2GetAlertInput|triggerV2GetDisplayState|triggerV2SetDisplayState|triggerV2UpdateGUI|triggerV2Wait|
triggerV2GetRequestState|triggerV2SetRequestState|triggerV2GetRequestStateRole|triggerV2SetRequestStateRole|triggerV2GetReuqestStateLength|triggerV2IfAdvanced|
- triggerV2QuickSearchChat|triggerV2StopPromptSending
+ triggerV2QuickSearchChat|triggerV2StopPromptSending|triggerV2Tokenize
export type triggerConditionsVar = {
type:'var'|'value'
@@ -705,6 +705,14 @@ export type triggerV2StopPromptSending = {
indent: number
}
+export type triggerV2Tokenize = {
+ type: 'v2Tokenize',
+ indent: number,
+ value: string
+ valueType: "var"|"value"
+ outputVar:string
+}
+
const safeSubset = [
'v2SetVar',
'v2If',
@@ -1920,6 +1928,11 @@ export async function runTrigger(char:character,mode:triggerMode, arg:{
setVar(effect.outputVar, pass ? '1' : '0')
break
}
+ case 'v2Tokenize':{
+ const value = effect.valueType === 'value' ? risuChatParser(effect.value,{chara:char}) : getVar(risuChatParser(effect.value,{chara:char}))
+ setVar(effect.outputVar, (await tokenize(value)).toString())
+ break
+ }
}
}
}