コード例 #1
0
 public static void HandleCreateContextRequest(GameContextCreateRequestMessage message, WorldClient client)
 {
     client.Character.DestroyContext();
     client.Character.CreateContext(GameContextEnum.ROLE_PLAY);
     client.Character.OnContextCreated();
     client.Character.RefreshStats();
     client.Character.Teleport(client.Character.Record.MapId, client.Character.Record.CellId);
 }
コード例 #2
0
ファイル: ContextFrames.cs プロジェクト: leonardo-spy/Bolgrot
 public void GameContextCreateRequestMessageFrame(GameClient client, GameContextCreateRequestMessage gameContextCreateRequestMessage)
 {
     client.Send(new GameContextDestroyMessage());
     client.Send(new GameContextCreateMessage(1)); //1 ??
     //LifePointsRegenBeginMessage regen rate:5
     client.Send(new CurrentMapMessage(client.Character.MapId, "649ae451ca33ec53bbcbcc33becf15f4"));
     client.Send(new BasicTimeMessage(1606023934, 60));// time which yet it
     //CharacterStatsListMessage
 }
コード例 #3
0
        public static void HandleGameContextCreateRequestMessage(WorldClient client, GameContextCreateRequestMessage message)
        {
            if (client.Character.IsInWorld)
            {
                client.Character.SendServerMessage("You are already Logged !");
                return;
            }

            client.Character.LogIn();
        }
コード例 #4
0
 public static void HandleGameContextCreate(GameContextCreateRequestMessage message, WorldClient client)
 {
     client.Send(new GameContextDestroyMessage());
     client.Send(new GameContextCreateMessage((sbyte)GameContextEnum.ROLE_PLAY));
     client.Character.RefreshStats();
     client.Character.Teleport(client.Character.Record.MapId);
     #region Dofus Cinematic
     if (client.Character.IsNew)
     {
         client.Send(new CinematicMessage(10));
         client.Character.IsNew = false;
     }
     #endregion
 }
コード例 #5
0
 public static void HandleGameContextCreateRequestMessage(WorldClient client, GameContextCreateRequestMessage message)
 {
     if (client.Character.IsInWorld)
     {
         client.Character.SendServerMessage("You are already Logged !");
     }
     else
     {
         ContextHandler.SendGameContextDestroyMessage(client);
         ContextHandler.SendGameContextCreateMessage(client, (sbyte)(client.Character.IsInFight() ? GameContextEnum.FIGHT : GameContextEnum.ROLE_PLAY));
         client.Character.RefreshStats();
         client.Character.LogIn();
     }
 }
コード例 #6
0
        public void GameContextCreateRequestMessageFrame(WorldClient client, GameContextCreateRequestMessage gameContextCreateRequestMessage)
        {
            client.SendPacket(new GameContextDestroyMessage());
            client.SendPacket(new GameContextCreateMessage(1));
            client.SendPacket(new LifePointsRegenBeginMessage(5));
            client.SendPacket(new CurrentMapMessage(client.ActiveCharacter.MapId, "649ae451ca33ec53bbcbcc33becf15f4"));
            client.SendPacket(new SetCharacterRestrictionsMessage(client.ActiveCharacter.Id, new ActorRestrictionsInformations()));

            client.SendPacket(new UpdateMapPlayersAgressableStatusMessage(new List <double>()
            {
                client.ActiveCharacter.Id
            }, new List <uint>()
            {
                0
            }));
        }
コード例 #7
0
 public static void HandleGameContextCreateRequestMessage(Client client, GameContextCreateRequestMessage message)
 {
     SendGameContextDestroyMessage(client);
     SendGameContextCreateMessage(client, GameContextEnum.ROLE_PLAY);
     SendCurrentMapMessage(client, client.Character.CurrentMapId);
 }
コード例 #8
0
 public void GameContextCreateRequestMessageFrame(GameClient client, GameContextCreateRequestMessage gameContextCreateRequestMessage)
 {
     client.Send(new GameContextDestroyMessage());
     client.Send(new GameContextCreateMessage(1)); //1 ??
     client.Send(new CurrentMapMessage(client.Character.MapId, "649ae451ca33ec53bbcbcc33becf15f4"));
 }
コード例 #9
0
        public static void InventoryContentAndPresetMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
        {
            InventoryContentAndPresetMessage msg = (InventoryContentAndPresetMessage)message;

            using (BigEndianReader reader = new BigEndianReader(packetDatas))
            {
                msg.Deserialize(reader);
            }
            foreach (ObjectItem item in msg.Objects)
            {
                Core.Inventory.Item i = new Core.Inventory.Item(item.Effects.ToList(), item.ObjectGID, item.Position, (int)item.Quantity, (int)item.ObjectUID, account);
                account.Inventory.Items.Add(i);
            }
            account.ActualizeInventory();
            account.petsList = new List <Pet>();
            foreach (Core.Inventory.Item item in account.Inventory.Items)
            {
                DataClass itemData = GameData.GetDataObject(D2oFileEnum.Items, item.GID);
                if ((int)itemData.Fields["typeId"] == 18)
                {
                    Pet pet = new Pet(item, itemData, account);
                    account.petsList.Add(pet);
                    pet.SetFood();
                }
            }
            account.Log(new BotTextInformation("Vos " +
                                               account.petsList.Count + " familiers vous font un gros bisou de la part de BlueSheep."), 5);
            if (!account.IsMITM)
            {
                FriendsGetListMessage friendGetListMessage = new FriendsGetListMessage();
                account.SocketManager.Send(friendGetListMessage);
                IgnoredGetListMessage ignoredGetListMessage = new IgnoredGetListMessage();
                account.SocketManager.Send(ignoredGetListMessage);
                SpouseGetInformationsMessage spouseGetInformationsMessage = new SpouseGetInformationsMessage();
                account.SocketManager.Send(spouseGetInformationsMessage);
                Random       random   = new Random();
                const string hexChars = "0123456789ABCDEF";
                string       key      = string.Empty;
                for (int index = 0; index < 20; index++)
                {
                    int randomValue = random.Next(100);
                    if (randomValue <= 40)
                    {
                        key += (char)(random.Next(26) + 65);
                    }
                    else if (randomValue <= 80)
                    {
                        key += (char)(random.Next(26) + 97);
                    }
                    else
                    {
                        key += (char)(random.Next(10) + 48);
                    }
                }
                int pos = key.Sum(t => t % 16);
                key += hexChars[pos % 16];
                ClientKeyMessage clientKeyMessage = new ClientKeyMessage(key);
                account.SocketManager.Send(clientKeyMessage);
                GameContextCreateRequestMessage gameContextCreateRequestMessage = new GameContextCreateRequestMessage();
                account.SocketManager.Send(gameContextCreateRequestMessage);
                ChannelEnablingMessage channelEnablingMessage = new ChannelEnablingMessage(7, false);
                account.SocketManager.Send(channelEnablingMessage);
            }
        }
コード例 #10
0
 public static void OnCreateRequest(INetworkClient client, GameContextCreateRequestMessage gccrm)
 {
     client.GetEntity().Notify(new GameContextCreateRequestEventArgs());
 }