[Gunny] Chỉ mình cách sửa ?
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 2 1 2 CuốiCuối
Kết quả 1 đến 10 của 15
  1. #1
    Vi phạm quy định
    Ngày tham gia
    Jul 2011
    Bài viết
    171
    Thanks
    17
    Thanked 16 Times in 14 Posts

    Chỉ mình cách sửa ?

    Hi,

    Mình gặp lỗi này, vào PVP thì 1 nhân vật di chuyển bắn bình thường với HP, Dander đúng, 1 nhân vật thì bắn được nhưng không di chuyển được và HP, Dander sai. Chỉnh sửa mãi không được. Cao nhân nào giúp dùm ?

    [Only registered and activated users can see links. ]
    Khách viếng thăm hãy cùng OldGamer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Vi phạm quy định
    Ngày tham gia
    Jul 2011
    Bài viết
    171
    Thanks
    17
    Thanked 16 Times in 14 Posts

    Ðề: Chỉ mình cách sửa ?

    Cao nhân nào giúp với.

    Mò hôm qua nay mãi không ra. Xem code và log các hàm têp BaseGame, PVEGame, PVPGame nhưng không thấy lỗi đâu :/
    Khách viếng thăm hãy cùng OldGamer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Vi phạm quy định
    Ngày tham gia
    Jul 2011
    Bài viết
    171
    Thanks
    17
    Thanked 16 Times in 14 Posts

    Ðề: Chỉ mình cách sửa ?

    Mình dùng resource bản 5.4 và test với các thông số khác nhau ở hàm SendCreateGame
    internal void SendCreateGame()
    {
    GSPacketIn pkg = new GSPacketIn((byte)ePackageType.GAME_CMD);
    pkg.WriteByte((byte)eTankCmdType.GAME_CREATE);
    pkg.WriteInt((byte)m_roomType);
    pkg.WriteInt((byte)m_gameType);
    pkg.WriteInt(this.m_timeType);
    List<Player> allFightPlayers = this.GetAllFightPlayers();
    pkg.WriteInt(allFightPlayers.Count);
    foreach (Player player in allFightPlayers)
    {
    IGamePlayer playerDetail = player.PlayerDetail;

    pkg.WriteInt(4);
    pkg.WriteString("zonename");
    pkg.WriteInt(playerDetail.PlayerCharacter.ID);
    pkg.WriteString(playerDetail.PlayerCharacter.NickN ame);
    pkg.WriteBoolean(false);
    pkg.WriteByte(playerDetail.PlayerCharacter.typeVIP );
    pkg.WriteInt(playerDetail.PlayerCharacter.VIPLevel );
    pkg.WriteBoolean(playerDetail.PlayerCharacter.Sex) ;
    pkg.WriteInt(playerDetail.PlayerCharacter.Hide);
    pkg.WriteString(playerDetail.PlayerCharacter.Style );
    pkg.WriteString(playerDetail.PlayerCharacter.Color s);
    pkg.WriteString(playerDetail.PlayerCharacter.Skin) ;
    pkg.WriteInt(playerDetail.PlayerCharacter.Grade);
    pkg.WriteInt(playerDetail.PlayerCharacter.Repute);
    pkg.WriteInt(playerDetail.MainWeapon.TemplateID);
    pkg.WriteInt(playerDetail.MainWeapon.RefineryLevel );
    pkg.WriteString(playerDetail.MainWeapon.Name);
    pkg.WriteDateTime(DateTime.Now);
    if (playerDetail.SecondWeapon == null)
    pkg.WriteInt(0);
    else
    pkg.WriteInt(playerDetail.SecondWeapon.TemplateID) ;
    pkg.WriteInt(0);//_loc_9.pvpBadgeId
    pkg.WriteInt(playerDetail.PlayerCharacter.Nimbus);
    pkg.WriteBoolean(playerDetail.PlayerCharacter.IsSh owConsortia);
    pkg.WriteInt(playerDetail.PlayerCharacter.Consorti aID);
    pkg.WriteString(playerDetail.PlayerCharacter.Conso rtiaName);
    pkg.WriteInt(playerDetail.PlayerCharacter.badgeID) ;
    pkg.WriteInt(0);
    pkg.WriteInt(0);
    pkg.WriteInt(playerDetail.PlayerCharacter.Win);
    pkg.WriteInt(playerDetail.PlayerCharacter.Total);
    pkg.WriteInt(playerDetail.PlayerCharacter.FightPow er);
    pkg.WriteInt(0);//apprenticeshipState
    pkg.WriteInt(0);//masterID
    pkg.WriteString("");
    pkg.WriteInt(playerDetail.PlayerCharacter.Achievem entPoint);
    pkg.WriteString(playerDetail.PlayerCharacter.Honor );
    pkg.WriteInt(playerDetail.PlayerCharacter.Offer);
    pkg.WriteBoolean(false);
    pkg.WriteInt(0);
    pkg.WriteBoolean(playerDetail.PlayerCharacter.IsMa rried);
    if (playerDetail.PlayerCharacter.IsMarried)
    {
    pkg.WriteInt(playerDetail.PlayerCharacter.SpouseID );
    pkg.WriteString(playerDetail.PlayerCharacter.Spous eName);
    }
    pkg.WriteInt(5); //GMExperienceAddition
    pkg.WriteInt(5); //AuncherExperienceAddition
    pkg.WriteInt(5); //GMOfferAddition
    pkg.WriteInt(5); //AuncherOfferAddition
    pkg.WriteInt(5); //GMRichesAddition
    pkg.WriteInt(5); //AuncherRichesAddition
    pkg.WriteInt(player.Team);
    pkg.WriteInt(player.Id);
    pkg.WriteInt(player.MaxBlood);
    if (player.Pet != null)
    {
    pkg.WriteInt(1);
    pkg.WriteInt(player.Pet.Place);
    pkg.WriteInt(player.Pet.TemplateID);
    pkg.WriteInt(player.Pet.ID);
    pkg.WriteString(player.Pet.Name);
    pkg.WriteInt(player.Pet.UserID);
    pkg.WriteInt(player.Pet.Level);
    List<string> skillEquip = player.Pet.GetSkillEquip();
    pkg.WriteInt(skillEquip.Count);
    foreach (string str in skillEquip)
    {
    pkg.WriteInt(int.Parse(str.Split(new char[1]{','})[1]));
    pkg.WriteInt(int.Parse(str.Split(new char[1]{','})[0]));
    }
    }
    else
    pkg.WriteInt(0);
    }
    this.SendToAll(pkg);
    }
    Khi thay đổi dòng pkg.WriteString(""); thành pkg.WriteString("Master") thì nhân vật 2 không di chuyển được và HP/Dancer sai, bỏ trống thì ngược lạ.
    Xem lại source của TranMinhPC thì thấy còn vài thông số ở pkg.WriteInt(0);//apprenticeshipState

    Ai biết giúp dùm
    Khách viếng thăm hãy cùng OldGamer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #4
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    356
    Thanks
    107
    Thanked 523 Times in 144 Posts

    Ðề: Chỉ mình cách sửa ?

    Vào source client xem nó đọc cái chuỗi đó để làm gì thì hiểu tại sao ko thay đổi đc
    Khách viếng thăm hãy cùng meocon5000 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #5
    Vi phạm quy định
    Ngày tham gia
    Jul 2011
    Bài viết
    171
    Thanks
    17
    Thanked 16 Times in 14 Posts

    Ðề: Chỉ mình cách sửa ?

    Soi mù mắt không ra mới hỏi cao nhân đi trước ấy chws
    Khách viếng thăm hãy cùng OldGamer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #6
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    356
    Thanks
    107
    Thanked 523 Times in 144 Posts

    Ðề: Chỉ mình cách sửa ?

    Trích dẫn Gửi bởi OldGamer [Only registered and activated users can see links. ]
    Soi mù mắt không ra mới hỏi cao nhân đi trước ấy chws
    Cái chuỗi bạn truyền ko đúng định dạng nên nó ko analyze dc, ở client nó là MasterOrApprentices, bạn có thể vào 2.png/GameManager.as để hiểu thêm
    Khách viếng thăm hãy cùng meocon5000 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #7
    Vi phạm quy định
    Ngày tham gia
    Jul 2011
    Bài viết
    171
    Thanks
    17
    Thanked 16 Times in 14 Posts

    Ðề: Chỉ mình cách sửa ?

    Mình thử nhiều cách nhưng tình vẫn như trên, hoặc Team 1 hoặc Team 2 hiện máu đúng, di chuyển được; team kia thì máu sau đwsng yên
    Và thậm chí đổi code truyền MasterApprentices như sau
    pkg.WriteInt(playerDetail.PlayerCharacter.Win);
    pkg.WriteInt(playerDetail.PlayerCharacter.Total);
    pkg.WriteInt(playerDetail.PlayerCharacter.FightPow er);
    pkg.WriteInt(0);//apprenticeshipState
    pkg.WriteInt(0);//masterID
    if (player.Team == 1)
    pkg.WriteString("Master");
    else
    pkg.WriteString("Apprentices");
    pkg.WriteInt(playerDetail.PlayerCharacter.Achievem entPoint);
    pkg.WriteString(playerDetail.PlayerCharacter.Honor );
    pkg.WriteInt(playerDetail.PlayerCharacter.Offer);
    pkg.WriteBoolean(false);
    pkg.WriteInt(0);
    pkg.WriteBoolean(playerDetail.PlayerCharacter.IsMa rried);
    Nhưng tình hình vẫn vậy
    Khách viếng thăm hãy cùng OldGamer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #8
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    356
    Thanks
    107
    Thanked 523 Times in 144 Posts

    Ðề: Chỉ mình cách sửa ?

    Trích dẫn Gửi bởi OldGamer [Only registered and activated users can see links. ]
    Mình thử nhiều cách nhưng tình vẫn như trên, hoặc Team 1 hoặc Team 2 hiện máu đúng, di chuyển được; team kia thì máu sau đwsng yên
    Và thậm chí đổi code truyền MasterApprentices như sau


    Nhưng tình hình vẫn vậy
    Vậy bạn chưa hiểu rồi

    Ý mình là cái chuỗi đó nó không truyền được kiểu như "Master" đâu , client nó chỉ nhận 2 trường hợp
    + Chuỗi đó là "";
    + Nếu không phải "" thì nó sẽ tách chuỗi bằng dấu "," và "|" , mà bạn truyền ko có dấu "," và "|" , nó không tách được nên lỗi thôi

    Đây là đoạn code tách chuỗi đó trong client , nằm ở PlayerInfo.as
    Code:
    public function setMasterOrApprentices(param1:String) : void
            {
                var _loc_2:Array = null;
                var _loc_3:int = 0;
                var _loc_4:Array = null;
                if (!this._masterOrApprentices)
                {
                    this._masterOrApprentices = new DictionaryData();
                }
                this._masterOrApprentices.clear();
                if (param1 != "")
                {
                    _loc_2 = param1.split(",");
                    _loc_3 = 0;
                    while (_loc_3 < _loc_2.length)
                    {
                        
                        _loc_4 = _loc_2[_loc_3].split("|");
                        this._masterOrApprentices.add(int(_loc_4[0]), _loc_4[1]);
                        _loc_3 = _loc_3 + 1;
                    }
                }
                onPropertiesChanged("masterOrApprentices");
                return;
            }// end function
    Vậy nên chỉ có thể truyền "" như ban đầu hoặc có ",","|"
    Khách viếng thăm hãy cùng meocon5000 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #9
    Vi phạm quy định
    Ngày tham gia
    Jul 2011
    Bài viết
    171
    Thanks
    17
    Thanked 16 Times in 14 Posts

    Ðề: Chỉ mình cách sửa ?

    Nếu mình để truyền rỗng như ban đầu thì tình trạng vẫn thế.
    Mình sẽ thử cách truyền chuỗi như bạn :/
    Khách viếng thăm hãy cùng OldGamer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #10
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    356
    Thanks
    107
    Thanked 523 Times in 144 Posts

    Ðề: Chỉ mình cách sửa ?

    Trích dẫn Gửi bởi OldGamer [Only registered and activated users can see links. ]
    Nếu mình để truyền rỗng như ban đầu thì tình trạng vẫn thế.
    Mình sẽ thử cách truyền chuỗi như bạn :/
    Ở trên bạn bảo sửa cái "" thành "Master" thì nó mới bị mà , mình chỉ giải thích thôi
    Khách viếng thăm hãy cùng meocon5000 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 2 1 2 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 09:23 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.