Add wait and updategui trigger

This commit is contained in:
Kwaroran
2025-02-16 00:39:11 +09:00
parent 2b36ad073f
commit d6472971c5
4 changed files with 55 additions and 1 deletions

View File

@@ -361,6 +361,10 @@ export const languageEnglish = {
v2GetDisplayStateDesc: "Get Display State => {{outputVar}}", v2GetDisplayStateDesc: "Get Display State => {{outputVar}}",
v2SetDisplayState: "Set Display State", v2SetDisplayState: "Set Display State",
v2SetDisplayStateDesc: "Set Display State to {{value}}", v2SetDisplayStateDesc: "Set Display State to {{value}}",
v2UpdateGUI: "Update GUI",
v2UpdateGUIDesc: "Update GUI",
v2Wait: "Wait",
v2WaitDesc: "Wait {{value}} seconds",
}, },
confirm: "Confirm", confirm: "Confirm",

View File

@@ -313,6 +313,10 @@ export const languageKorean = {
"v2SetDisplayStateDesc": "디스플레이 상태를 {{value}}로 설정", "v2SetDisplayStateDesc": "디스플레이 상태를 {{value}}로 설정",
"v2GetDisplayState": "현재 디스플레이 데이터 가져오기", "v2GetDisplayState": "현재 디스플레이 데이터 가져오기",
"v2GetDisplayStateDesc": "현재 디스플레이 테이터 가져오기 => {{outputVar}}", "v2GetDisplayStateDesc": "현재 디스플레이 테이터 가져오기 => {{outputVar}}",
"v2UpdateGUI": "GUI 업데이트",
"v2UpdateGUIDesc": "GUI 업데이트",
"v2Wait": "기다리기",
"v2WaitDesc": "{{value}} 초 기다리기",
}, },
"confirm": "확인", "confirm": "확인",
"goback": "뒤로", "goback": "뒤로",

View File

@@ -31,6 +31,8 @@
'v2ConsoleLog', 'v2ConsoleLog',
'v2StopTrigger', 'v2StopTrigger',
'v2Random', 'v2Random',
'v2UpdateGUI',
'v2Wait',
//Chat //Chat
'v2CutChat', 'v2CutChat',
@@ -647,6 +649,22 @@
} }
break; 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 @@
<OptionInput value="var">{language.var}</OptionInput> <OptionInput value="var">{language.var}</OptionInput>
</SelectInput> </SelectInput>
<TextInput bind:value={editTrigger.value} /> <TextInput bind:value={editTrigger.value} />
{:else if editTrigger.type === 'v2Wait'}
<span class="block text-textcolor">{language.value}</span>
<SelectInput bind:value={editTrigger.valueType}>
<OptionInput value="value">{language.value}</OptionInput>
<OptionInput value="var">{language.var}</OptionInput>
</SelectInput>
<TextInput bind:value={editTrigger.value} />
{:else} {:else}
<span>{language.noConfig}</span> <span>{language.noConfig}</span>
{/if} {/if}

View File

@@ -37,7 +37,7 @@ export type triggerEffectV2 = triggerV2Header|triggerV2IfVar|triggerV2Else|tri
triggerV2SetCharacterDesc|triggerV2MakeArrayVar|triggerV2GetArrayVarLength|triggerV2GetArrayVar|triggerV2SetArrayVar| triggerV2SetCharacterDesc|triggerV2MakeArrayVar|triggerV2GetArrayVarLength|triggerV2GetArrayVar|triggerV2SetArrayVar|
triggerV2PushArrayVar|triggerV2PopArrayVar|triggerV2ShiftArrayVar|triggerV2UnshiftArrayVar|triggerV2SpliceArrayVar|triggerV2GetFirstMessage| triggerV2PushArrayVar|triggerV2PopArrayVar|triggerV2ShiftArrayVar|triggerV2UnshiftArrayVar|triggerV2SpliceArrayVar|triggerV2GetFirstMessage|
triggerV2SliceArrayVar|triggerV2GetIndexOfValueInArrayVar|triggerV2RemoveIndexFromArrayVar|triggerV2ConcatString|triggerV2GetLastUserMessage| triggerV2SliceArrayVar|triggerV2GetIndexOfValueInArrayVar|triggerV2RemoveIndexFromArrayVar|triggerV2ConcatString|triggerV2GetLastUserMessage|
triggerV2GetLastCharMessage|triggerV2GetAlertInput|triggerV2GetDisplayState|triggerV2SetDisplayState triggerV2GetLastCharMessage|triggerV2GetAlertInput|triggerV2GetDisplayState|triggerV2SetDisplayState|triggerV2UpdateGUI|triggerV2Wait
export type triggerConditionsVar = { export type triggerConditionsVar = {
type:'var'|'value' type:'var'|'value'
@@ -625,6 +625,18 @@ export type triggerV2SetDisplayState = {
indent: number indent: number
} }
export type triggerV2UpdateGUI = {
type: 'v2UpdateGUI',
indent: number
}
export type triggerV2Wait = {
type: 'v2Wait',
value: string,
valueType: 'var'|'value',
indent: number
}
export const displayAllowList = [ export const displayAllowList = [
'v2GetDisplayState', 'v2GetDisplayState',
'v2SetDisplayState', '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})) arg.displayData = effect.valueType === 'value' ? risuChatParser(effect.value,{chara:char}) : getVar(risuChatParser(effect.value,{chara:char}))
break 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
}
} }
} }
} }