diff --git a/src/lang/en.ts b/src/lang/en.ts
index e6b4b176..dd02a418 100644
--- a/src/lang/en.ts
+++ b/src/lang/en.ts
@@ -361,6 +361,10 @@ export const languageEnglish = {
v2GetDisplayStateDesc: "Get Display State => {{outputVar}}",
v2SetDisplayState: "Set Display State",
v2SetDisplayStateDesc: "Set Display State to {{value}}",
+ v2UpdateGUI: "Update GUI",
+ v2UpdateGUIDesc: "Update GUI",
+ v2Wait: "Wait",
+ v2WaitDesc: "Wait {{value}} seconds",
},
confirm: "Confirm",
diff --git a/src/lang/ko.ts b/src/lang/ko.ts
index d6204b74..9ba40a73 100644
--- a/src/lang/ko.ts
+++ b/src/lang/ko.ts
@@ -313,6 +313,10 @@ export const languageKorean = {
"v2SetDisplayStateDesc": "디스플레이 상태를 {{value}}로 설정",
"v2GetDisplayState": "현재 디스플레이 데이터 가져오기",
"v2GetDisplayStateDesc": "현재 디스플레이 테이터 가져오기 => {{outputVar}}",
+ "v2UpdateGUI": "GUI 업데이트",
+ "v2UpdateGUIDesc": "GUI 업데이트",
+ "v2Wait": "기다리기",
+ "v2WaitDesc": "{{value}} 초 기다리기",
},
"confirm": "확인",
"goback": "뒤로",
diff --git a/src/lib/SideBars/Scripts/TriggerList2.svelte b/src/lib/SideBars/Scripts/TriggerList2.svelte
index 2c60a062..8f71584e 100644
--- a/src/lib/SideBars/Scripts/TriggerList2.svelte
+++ b/src/lib/SideBars/Scripts/TriggerList2.svelte
@@ -31,6 +31,8 @@
'v2ConsoleLog',
'v2StopTrigger',
'v2Random',
+ 'v2UpdateGUI',
+ 'v2Wait',
//Chat
'v2CutChat',
@@ -647,6 +649,22 @@
}
break;
}
+ case 'v2UpdateGUI':{
+ editTrigger = {
+ type: 'v2UpdateGUI',
+ indent: 0
+ }
+ break;
+ }
+ case 'v2Wait':{
+ editTrigger = {
+ type: 'v2Wait',
+ value: '1',
+ valueType: 'value',
+ indent: 0
+ }
+ break;
+ }
}
}
@@ -1459,6 +1477,13 @@
{language.var}
+ {:else if editTrigger.type === 'v2Wait'}
+ {language.value}
+
+ {language.value}
+ {language.var}
+
+
{:else}
{language.noConfig}
{/if}
diff --git a/src/ts/process/triggers.ts b/src/ts/process/triggers.ts
index 3ae324d4..f6b86301 100644
--- a/src/ts/process/triggers.ts
+++ b/src/ts/process/triggers.ts
@@ -37,7 +37,7 @@ export type triggerEffectV2 = triggerV2Header|triggerV2IfVar|triggerV2Else|tri
triggerV2SetCharacterDesc|triggerV2MakeArrayVar|triggerV2GetArrayVarLength|triggerV2GetArrayVar|triggerV2SetArrayVar|
triggerV2PushArrayVar|triggerV2PopArrayVar|triggerV2ShiftArrayVar|triggerV2UnshiftArrayVar|triggerV2SpliceArrayVar|triggerV2GetFirstMessage|
triggerV2SliceArrayVar|triggerV2GetIndexOfValueInArrayVar|triggerV2RemoveIndexFromArrayVar|triggerV2ConcatString|triggerV2GetLastUserMessage|
- triggerV2GetLastCharMessage|triggerV2GetAlertInput|triggerV2GetDisplayState|triggerV2SetDisplayState
+ triggerV2GetLastCharMessage|triggerV2GetAlertInput|triggerV2GetDisplayState|triggerV2SetDisplayState|triggerV2UpdateGUI|triggerV2Wait
export type triggerConditionsVar = {
type:'var'|'value'
@@ -625,6 +625,18 @@ export type triggerV2SetDisplayState = {
indent: number
}
+export type triggerV2UpdateGUI = {
+ type: 'v2UpdateGUI',
+ indent: number
+}
+
+export type triggerV2Wait = {
+ type: 'v2Wait',
+ value: string,
+ valueType: 'var'|'value',
+ indent: number
+}
+
export const displayAllowList = [
'v2GetDisplayState',
'v2SetDisplayState',
@@ -1683,6 +1695,15 @@ export async function runTrigger(char:character,mode:triggerMode, arg:{
arg.displayData = effect.valueType === 'value' ? risuChatParser(effect.value,{chara:char}) : getVar(risuChatParser(effect.value,{chara:char}))
break
}
+ case 'v2UpdateGUI':{
+ ReloadGUIPointer.set(get(ReloadGUIPointer) + 1)
+ break
+ }
+ case 'v2Wait':{
+ let value = effect.valueType === 'value' ? Number(risuChatParser(effect.value,{chara:char})) : Number(getVar(risuChatParser(effect.value,{chara:char})))
+ await sleep(value * 1000)
+ break
+ }
}
}
}