Grasscutter
Grasscutter copied to clipboard
Windrise element totems reward without completion
Did you look for other closed issues that have the same problem? ye it wasnt posted anywhere
Describe the bug the element totems/pillars behind windrise tree give you reward without activating cryo totem/pillar
Which branch did you use? development 1.7.1-no git found (latest for 15.09.2023)
Screenshots
talking abt this but cant show the chest and un-activated cryo pillar/totem
Additional context the order i did it in is : electro -> pyro(got chest) -> cryo(did nothin)
@scooterboo please look into this, i dont even have the totems spawning
I did all three monuments in that order and got nothing. No chest for me. (this group is group 133001146 BTW)
I got:
06:24:02 ERROR:SceneScriptManager [LUA] call trigger failed in group 133001146 with condition_EVENT_GADGET_STATE_CHANGE_146005,ScriptArgs(param1=201, param2=146002, param3=0, source_eid=0, target_eid=0, group_id=133001146, source=null, type=7) org.luaj.vm2.LuaError: script:88 attempt to index ? (a nil value) stack traceback: script:88: in function script:87 [Java]: in ? at org.luaj.vm2.LuaValue.error(Unknown Source) at org.luaj.vm2.LuaValue.indexerror(Unknown Source) at org.luaj.vm2.LuaValue.gettable(Unknown Source) at org.luaj.vm2.LuaValue.get(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at emu.grasscutter.scripts.SceneScriptManager.safetyCall(SceneScriptManager.java:958) at emu.grasscutter.scripts.SceneScriptManager.callScriptFunc(SceneScriptManager.java:951) at emu.grasscutter.scripts.SceneScriptManager.evaluateTriggerCondition(SceneScriptManager.java:892) at emu.grasscutter.scripts.SceneScriptManager.handleEventForTrigger(SceneScriptManager.java:866) at emu.grasscutter.scripts.SceneScriptManager.realCallEvent(SceneScriptManager.java:847) at emu.grasscutter.scripts.SceneScriptManager.lambda$callEvent$27(SceneScriptManager.java:818) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:833)
line 88 of that group's script file is: if ScriptLib.GetGroupVariableValue(context, "start") == #suites[1].gadgets then
I'm guessing it does not like that #suites[1].gadgets part. Maybe not the #, but because we currently don't store suites in an array that can be accessed like suites[1]
This will be fixed if the third error in https://github.com/Grasscutters/Grasscutter/issues/2217 is fixed.
Besides that line, the logic checks out and should work if fixed.