예제 #1
0
 public override void Unload(bool shutdown)
 {
     OnEntitySpawnedEvent.Unregister(HandleEntitySpawned);
     OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded);
     OnMoneyChangedEvent.Unregister(HandleMoneyChanged);
     OnPlayerConnectEvent.Unregister(HandlePlayerConnect);
     OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect);
     OnPlayerMoveEvent.Unregister(HandlePlayerMove);
     OnPlayerActionEvent.Unregister(HandlePlayerAction);
     OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning);
     OnBlockChangeEvent.Unregister(HandleBlockChange);
     OnLevelUnloadEvent.Unregister(HandleLevelUnload);
 }
예제 #2
0
 public override void Load(bool startup)
 {
     OnEntitySpawnedEvent.Register(HandleEntitySpawned, Priority.High);
     OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High);
     OnMoneyChangedEvent.Register(HandleMoneyChanged, Priority.High);
     OnPlayerConnectEvent.Register(HandlePlayerConnect, Priority.High);
     OnPlayerDisconnectEvent.Register(HandlePlayerDisconnect, Priority.High);
     OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High);
     OnPlayerActionEvent.Register(HandlePlayerAction, Priority.High);
     OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
     OnBlockChangeEvent.Register(HandleBlockChange, Priority.High);
     OnLevelUnloadEvent.Register(HandleLevelUnload, Priority.High);
 }
예제 #3
0
        public static void Spawn(Player dst, Player p, Position pos,
                                 Orientation rot, string possession = "")
        {
            byte   id = p == dst ? Entities.SelfID : p.id;
            string name = p.color + p.truename + possession;
            string skin = p.SkinName, model = p.Model;

            OnEntitySpawnedEvent.Call(p, ref name, ref skin, ref model, dst);

            SpawnRaw(dst, id, p, pos, rot, skin, name, model);
            if (!Server.Config.TablistGlobal)
            {
                TabList.Add(dst, p, id);
            }
        }
예제 #4
0
        protected override void UnhookEventHandlers()
        {
            OnEntitySpawnedEvent.Unregister(HandleEntitySpawned);
            OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded);
            OnMoneyChangedEvent.Unregister(HandleMoneyChanged);
            OnBlockChangeEvent.Unregister(HandleBlockChange);

            OnPlayerConnectEvent.Unregister(HandlePlayerConnect);
            OnPlayerMoveEvent.Unregister(HandlePlayerMove);
            OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning);
            OnJoinedLevelEvent.Unregister(HandleJoinedLevel);
            OnPlayerChatEvent.Unregister(HandlePlayerChat);

            base.UnhookEventHandlers();
        }
예제 #5
0
        protected override void HookEventHandlers()
        {
            OnEntitySpawnedEvent.Register(HandleEntitySpawned, Priority.High);
            OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High);
            OnMoneyChangedEvent.Register(HandleMoneyChanged, Priority.High);
            OnBlockChangeEvent.Register(HandleBlockChange, Priority.High);

            OnPlayerConnectEvent.Register(HandlePlayerConnect, Priority.High);
            OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High);
            OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
            OnJoinedLevelEvent.Register(HandleJoinedLevel, Priority.High);
            OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High);

            base.HookEventHandlers();
        }
예제 #6
0
        internal static void Spawn(Player dst, PlayerBot b)
        {
            string name = Chat.Format(b.color + b.DisplayName, dst, true, false);

            if (b.DisplayName.CaselessEq("empty"))
            {
                name = "";
            }
            string skin  = Chat.Format(b.SkinName, dst, true, false);
            string model = Chat.Format(b.Model, dst, true, false);

            OnEntitySpawnedEvent.Call(b, ref name, ref skin, ref model, dst);
            SpawnRaw(dst, b.id, b, b.Pos, b.Rot, skin, name, model);
            if (Server.Config.TablistBots)
            {
                TabList.Add(dst, b);
            }
        }