From 47c96fd96445749220a940071b23be56d3daf708 Mon Sep 17 00:00:00 2001 From: Nazrin Date: Sat, 9 Sep 2023 17:49:22 -0700 Subject: [PATCH] Regular ScriptLib update! (#2349) * Regular ScriptLib update! * Move RefreshGroup down to debug * Update SetGadgetEnableInteract --- .../emu/grasscutter/scripts/ScriptLib.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/emu/grasscutter/scripts/ScriptLib.java b/src/main/java/emu/grasscutter/scripts/ScriptLib.java index 984c994ba..990ac11b4 100644 --- a/src/main/java/emu/grasscutter/scripts/ScriptLib.java +++ b/src/main/java/emu/grasscutter/scripts/ScriptLib.java @@ -1105,6 +1105,12 @@ public class ScriptLib { return 0; } + public int MoveAvatarByPointArrayWithTemplate(int uid, int pointarray_id, int[] routelist, int var4, LuaTable var5){ + logger.warn("[LUA] Call unimplemented MoveAvatarByPointArrayWithTemplate with {} {} {} {} {}", uid, pointarray_id, routelist, var4, printTable(var5)); + //TODO implement var5 contains int speed + return 0; + } + public int MovePlayerToPos(LuaTable var1){ logger.warn("[LUA] Call unchecked MovePlayerToPos with {}", printTable(var1)); //TODO implement var1 contains int[] uid_list, Position pos, int radius, Position rot @@ -1262,6 +1268,7 @@ public class ScriptLib { } public int SetWeatherAreaState(int var1, int var2) { + logger.debug("[LUA] Call SetWeatherAreaState with {} {}", var1, var2); this.getSceneScriptManager().getScene().getPlayers() .forEach(p -> p.setWeather(var1, ClimateType.getTypeByValue(var2))); return 0; @@ -1405,6 +1412,11 @@ public class ScriptLib { return 0; } + public int SetPlayerInteractOption(String var1){ + logger.warn("[LUA] Call unimplemented SetPlayerInteractOption {}", var1); + return 0; + } + public int UnlockForce(int force){ logger.debug("[LUA] Call UnlockForce {}", force); getSceneScriptManager().getScene().unlockForce(force); @@ -1552,7 +1564,7 @@ public class ScriptLib { } public int GetRegionConfigId(LuaTable var1){ - logger.warn("[LUA] Call untested GetRegionConfigId with {}", printTable(var1)); + logger.debug("[LUA] Call GetRegionConfigId with {}", printTable(var1)); var EntityId = var1.get("region_eid").toint(); var entity = getSceneScriptManager().getScene().getScriptManager().getRegionById(EntityId); if (entity == null){ @@ -1657,9 +1669,11 @@ public class ScriptLib { } public int SetGadgetEnableInteract(int groupId, int configId, boolean enable) { - EntityGadget gadget = getCurrentEntityGadget(); - if(gadget.getGroupId() != groupId || gadget.getConfigId() != configId) return -1; - + logger.debug("[LUA] Call SetGadgetEnableInteract with {} {} {}", groupId, configId, enable); + var entity = getSceneScriptManager().getScene().getEntityByConfigId(configId, groupId); + if (!(entity instanceof EntityGadget gadget)) { + return -1; + } gadget.setInteractEnabled(enable); return 0;