mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-05-08 13:06:02 +08:00
Implement SetEntityServerGlobalValueByEntityId
This commit is contained in:
parent
7cdb774b1f
commit
e859d87ae3
@ -8,37 +8,25 @@ import emu.grasscutter.game.dungeons.challenge.enums.FatherChallengeProperty;
|
|||||||
import emu.grasscutter.game.dungeons.challenge.factory.ChallengeFactory;
|
import emu.grasscutter.game.dungeons.challenge.factory.ChallengeFactory;
|
||||||
import emu.grasscutter.game.entity.*;
|
import emu.grasscutter.game.entity.*;
|
||||||
import emu.grasscutter.game.entity.gadget.GadgetWorktop;
|
import emu.grasscutter.game.entity.gadget.GadgetWorktop;
|
||||||
import emu.grasscutter.game.entity.gadget.platform.ConfigRoute;
|
import emu.grasscutter.game.entity.gadget.platform.*;
|
||||||
import emu.grasscutter.game.entity.gadget.platform.PointArrayRoute;
|
import emu.grasscutter.game.props.*;
|
||||||
import emu.grasscutter.game.props.ClimateType;
|
import emu.grasscutter.game.quest.enums.*;
|
||||||
import emu.grasscutter.game.props.EntityIdType;
|
import emu.grasscutter.game.world.*;
|
||||||
import emu.grasscutter.game.props.EntityType;
|
|
||||||
import emu.grasscutter.game.quest.enums.QuestCond;
|
|
||||||
import emu.grasscutter.game.quest.enums.QuestContent;
|
|
||||||
import emu.grasscutter.game.quest.enums.QuestState;
|
|
||||||
import emu.grasscutter.game.world.SceneGroupInstance;
|
|
||||||
import emu.grasscutter.net.proto.EnterTypeOuterClass;
|
import emu.grasscutter.net.proto.EnterTypeOuterClass;
|
||||||
import emu.grasscutter.net.proto.VisionTypeOuterClass.VisionType;
|
import emu.grasscutter.net.proto.VisionTypeOuterClass.VisionType;
|
||||||
import emu.grasscutter.scripts.constants.EventType;
|
import emu.grasscutter.scripts.constants.*;
|
||||||
import emu.grasscutter.scripts.constants.GroupKillPolicy;
|
import emu.grasscutter.scripts.data.*;
|
||||||
import emu.grasscutter.scripts.data.SceneGroup;
|
|
||||||
import emu.grasscutter.scripts.data.SceneObject;
|
|
||||||
import emu.grasscutter.scripts.data.ScriptArgs;
|
|
||||||
import emu.grasscutter.server.packet.send.*;
|
import emu.grasscutter.server.packet.send.*;
|
||||||
import emu.grasscutter.game.world.Position;
|
|
||||||
import io.netty.util.concurrent.FastThreadLocal;
|
import io.netty.util.concurrent.FastThreadLocal;
|
||||||
import lombok.val;
|
import lombok.val;
|
||||||
import org.luaj.vm2.LuaTable;
|
import org.luaj.vm2.*;
|
||||||
import org.luaj.vm2.LuaValue;
|
import org.slf4j.*;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static emu.grasscutter.game.props.EnterReason.Lua;
|
import static emu.grasscutter.game.props.EnterReason.Lua;
|
||||||
import static emu.grasscutter.scripts.ScriptUtils.luaToPos;
|
import static emu.grasscutter.scripts.ScriptUtils.*;
|
||||||
import static emu.grasscutter.scripts.ScriptUtils.posToLua;
|
|
||||||
import static emu.grasscutter.scripts.constants.GroupKillPolicy.*;
|
import static emu.grasscutter.scripts.constants.GroupKillPolicy.*;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
@ -537,6 +525,22 @@ public class ScriptLib {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int SetEntityServerGlobalValueByEntityId(int entityId, String sgvName, int value) {
|
||||||
|
logger.debug("[LUA] Call SetEntityServerGlobalValueByEntityId with {}, {}, {}",
|
||||||
|
entityId, sgvName, value);
|
||||||
|
|
||||||
|
var scriptManager = this.getSceneScriptManager();
|
||||||
|
if (scriptManager == null) return 1;
|
||||||
|
|
||||||
|
var scene = scriptManager.getScene();
|
||||||
|
var entity = scene.getEntityById(entityId);
|
||||||
|
if (entity == null) return 2;
|
||||||
|
|
||||||
|
scene.broadcastPacket(
|
||||||
|
new PacketServerGlobalValueChangeNotify(entity, sgvName, value));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
public int GetGroupVariableValueByGroup(String name, int groupId){
|
public int GetGroupVariableValueByGroup(String name, int groupId){
|
||||||
logger.debug("[LUA] Call GetGroupVariableValueByGroup with {},{}",
|
logger.debug("[LUA] Call GetGroupVariableValueByGroup with {},{}",
|
||||||
name,groupId);
|
name,groupId);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user