예제 #1
0
        private void RPC_020(NetMessage arg1, NetMessageInfo arg2)
        {
            var player = _server[arg2.Sender.Id];

            switch (arg1.ReadByte())
            {
            default:
                arg1.Position -= 8;
                ServerLogger.LogServer(_server, $"Unhandled sub 20 rpc {arg1.PeekByte()}");
                break;
            }
        }
예제 #2
0
        private void RPC_049(NetMessage arg1, NetMessageInfo arg2)
        {
            var player = _server[arg2.Sender.Id];

            switch (arg1.ReadByte())
            {
            case 206:    //tele
                if (player.User.Access < AccessLevel.TeamMember)
                {
                    player.SystemMsg($"You haven't permission to teleport");
                }
                else
                {
                    string tPlayer = arg1.ReadString();
                    string tLevel  = arg1.ReadString();
                    if (player.Char.Pony.Name == tPlayer)
                    {
                        player.Player.ChangeRoom(tLevel);
                    }
                    else
                    {
                        player.SystemMsg($"teleport player not implemented");
                    }
                }
                break;

            case 230:    //add xp
                if (player.User.Access < AccessLevel.TeamMember)
                {
                    player.SystemMsg($"You haven't permission to adding xp");
                }
                else
                {
                    player.Stats.AddExpAll(arg1.ReadUInt32());
                }
                break;

            default:
                arg1.Position -= 8;
                ServerLogger.LogServer(_server, $"Unhandled sub 49 rpc {arg1.PeekByte()}");
                break;
            }
        }