Kết quả 1 đến 10 của 15
Chủ đề: Chỉ mình cách sửa ?
-
19-10-14, 12:33 PM #1
- 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 ?
Khách viếng thăm hãy cùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
20-10-14, 09:25 PM #2
- 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ùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 12:03 PM #3
- 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);
}
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ùmKhách viếng thăm hãy cùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 12:16 PM #4
- 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é!
-
21-10-14, 02:55 PM #5
- 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ùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 03:46 PM #6
- 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 ?
Khách viếng thăm hãy cùng meocon5000 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 04:16 PM #7
- 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);Khách viếng thăm hãy cùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 04:33 PM #8
- 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ậ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
Khách viếng thăm hãy cùng meocon5000 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 04:44 PM #9
- 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ùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 04:59 PM #10
- 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 ?
Khách viếng thăm hãy cùng meocon5000 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!