Kết quả 1 đến 10 của 15
Chủ đề: Chỉ mình cách sửa ?
-
19-10-14, 12:33 PM #1Vi 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 ?
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 #2Vi 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ùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 12:03 PM #3Vi 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
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ạ.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ùm
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:16 PM #4Thà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é!
-
21-10-14, 02:55 PM #5Vi 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ùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 03:46 PM #6Thà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 ?
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 #7Vi 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
Nhưng tình hình vẫn vậypkg.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 #8Thà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ậ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
Vậy nên chỉ có thể truyền "" như ban đầu hoặc có ",","|"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 functionKhá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 #9Vi 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ùngOldGamerxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
21-10-14, 04:59 PM #10Thà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 ?
Khách viếng thăm hãy cùng meocon5000 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!





Trả lời kèm Trích dẫn
