disband bug?

For any problems with Dawn of Light website or game server, please direct questions and problems here.

Moderator: Support Team

disband bug?

Postby Sovereign » Wed Nov 23, 2011 5:40 am

Does anybody know what is currently going on with the disband button in the group window? When you click it you cant disband, you have to manually disband by typing /disband... does the button work off of a packet or does it just send the /disband command to the server?
Sovereign
DOL Initiate
 
Posts: 22
Joined: Sat Oct 29, 2011 7:45 am

Re: disband bug?

Postby Tolakram » Wed Nov 23, 2011 5:50 am

It could be your user interface, it could be an issue with 1.109 or 1.110 rolled back to 1.109. Most likely it's the UI you're using.
- Mark
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Re: disband bug?

Postby Sovereign » Wed Nov 23, 2011 6:44 am

It could be your user interface, it could be an issue with 1.109 or 1.110 rolled back to 1.109. Most likely it's the UI you're using.
I'm using the basic daoc UI, and have never patched past 1.109.
Sovereign
DOL Initiate
 
Posts: 22
Joined: Sat Oct 29, 2011 7:45 am

Re: disband bug?

Postby Horizon » Wed Nov 23, 2011 12:38 pm

Nop it's just a small DOL bug if i remember well, fulmine fixed it on our server.
/disband work
Myrddin - Developper Staff 14/88
Horizon
Contributor
 
Posts: 235
Joined: Fri Mar 25, 2011 7:22 am
Location: Somewhere in DolCore

Re: disband bug?

Postby Horizon » Wed Nov 23, 2011 12:46 pm

Myrddin - Developper Staff 14/88
Horizon
Contributor
 
Posts: 235
Joined: Fri Mar 25, 2011 7:22 am
Location: Somewhere in DolCore

Re: disband bug?

Postby Sovereign » Thu Nov 24, 2011 9:48 pm

No go on the addition of /groupdisband... they must of changed the command that the disband button sends, but to what?
Sovereign
DOL Initiate
 
Posts: 22
Joined: Sat Oct 29, 2011 7:45 am

Re: disband bug?

Postby Tolakram » Fri Nov 25, 2011 2:52 pm

It's just text so should be easy enough to sniff it out in the command handler. If I had time I would.
- Mark
User avatar
Tolakram
Storm / Storm-D2 Admin
 
Posts: 9189
Joined: Tue Jun 13, 2006 1:49 am
Location: Kentucky, USA

Re: disband bug?

Postby whria78 » Sun May 03, 2015 5:43 am

1)

This is very old bug.

Fix) IPacketLib.cs
Code: Select all
DisbandFromGroup = 0x9F, // 0x37 ^ 168
( 0x37 ^ 168 = 0x9F , But old svn code had wrong value and it makes no reponse when player click "disband" button. )


2)
Another "makeleader" bug.

Fix) makeleader.cs
Code: Select all
client.Player.Group.MakeLeader(target); //WHRIA client.Player.Group.UpdateGroupWindow(); client.Player.Group.SendMessageToGroupMembers(string.Format("{0} is the new group leader.", target.Name), eChatType.CT_System, eChatLoc.CL_SystemWindow); //END client.Player.Group.SendMessageToGroupMembers(target.Name + " is new group leader.", eChatType.CT_System, eChatLoc.CL_SystemWindow);
Fix) group.cs
Code: Select all
public bool MakeLeader(GameLiving living) { return m_groupMembers.FreezeWhile<bool>(l => { if (!l.Contains(living)) return false; byte ind = living.GroupIndex; var oldLeader = l[0]; l[ind] = oldLeader; l[0] = living; LivingLeader = living; living.GroupIndex = 0; oldLeader.GroupIndex = ind; // all went ok //WHRIA // UpdateGroupWindow(); // SendMessageToGroupMembers(string.Format("{0} is the new group leader.", Leader.Name), eChatType.CT_System, eChatLoc.CL_SystemWindow); return true; }); }
User avatar
whria78
Contributor
 
Posts: 128
Joined: Fri Sep 21, 2007 11:27 pm

Re: disband bug?

Postby Leodagan » Sun May 03, 2015 10:38 am

Thanks for finding these ;)

I committed some of your fix and other update (the problem around Makeleader is locking collection getting deadlocked) to Revision 3461
Code: Select all
Index: GameServer/gameutils/Group.cs =================================================================== --- GameServer/gameutils/Group.cs (revision 3460) +++ GameServer/gameutils/Group.cs (revision 3461) @@ -249,7 +249,7 @@ } // Update all members - if (MemberCount > 1 && Leader == living) + if (MemberCount > 1 && LivingLeader == living) { var newLeader = m_groupMembers.OfType<GamePlayer>().First(); @@ -303,7 +303,7 @@ /// <returns></returns> public bool MakeLeader(GameLiving living) { - return m_groupMembers.FreezeWhile<bool>(l => { + bool allOk = m_groupMembers.FreezeWhile<bool>(l => { if (!l.Contains(living)) return false; @@ -315,11 +315,16 @@ living.GroupIndex = 0; oldLeader.GroupIndex = ind; - // all went ok - UpdateGroupWindow(); - SendMessageToGroupMembers(string.Format("{0} is the new group leader.", Leader.Name), eChatType.CT_System, eChatLoc.CL_SystemWindow); return true; }); + if (allOk) + { + // all went ok + UpdateGroupWindow(); + SendMessageToGroupMembers(string.Format("{0} is the new group leader.", Leader.Name), eChatType.CT_System, eChatLoc.CL_SystemWindow); + } + + return allOk; } #endregion Index: GameServer/packets/Server/IPacketLib.cs =================================================================== --- GameServer/packets/Server/IPacketLib.cs (revision 3460) +++ GameServer/packets/Server/IPacketLib.cs (revision 3461) @@ -154,7 +154,7 @@ InviteToGroup = 0x87, // 0x2F ^ 168 HouseEnterLeave = 0x0B, // 0xA3 ^ 168 DoorRequest = 0x99, // 0x31 ^ 168 - DisbandFromGroup = 0xA8, // 0x37 ^ 168 + DisbandFromGroup = 0x9F, // 0x37 ^ 168 DialogResponse = 0x82, // 0x2A ^ 168 CheckLOSRequest = 0xD0, // 0x78 ^ 168 UseSpell = 0x7D, // 0xD5 ^ 168 Index: GameServer/commands/playercommands/makeleader.cs =================================================================== --- GameServer/commands/playercommands/makeleader.cs (revision 3460) +++ GameServer/commands/playercommands/makeleader.cs (revision 3461) @@ -86,8 +86,7 @@ } - client.Player.Group.MakeLeader(target); - client.Player.Group.SendMessageToGroupMembers(target.Name + " is new group leader.", eChatType.CT_System, eChatLoc.CL_SystemWindow); + client.Player.Group.MakeLeader(target); } } } \ No newline at end of file Index: GameServer/commands/playercommands/disband.cs =================================================================== --- GameServer/commands/playercommands/disband.cs (revision 3460) +++ GameServer/commands/playercommands/disband.cs (revision 3461) @@ -18,6 +18,7 @@ */ using DOL.GS.PacketHandler; using DOL.Language; +using System.Linq; namespace DOL.GS.Commands { @@ -50,7 +51,7 @@ string name = args[1]; - if (name == client.Player.Name) + if (name.Equals(client.Player.Name, System.StringComparison.OrdinalIgnoreCase)) { client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "Scripts.Players.Disband.NoYourself"), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; @@ -58,14 +59,13 @@ int startCount = client.Player.Group.MemberCount; - foreach (GameLiving living in client.Player.Group.GetMembersInTheGroup()) + foreach (GameLiving living in client.Player.Group.GetMembersInTheGroup().Where(gl => gl.Name.Equals(name, System.StringComparison.OrdinalIgnoreCase))) { - if (living.Name == name) client.Player.Group.RemoveMember(living); } //no target found to remove - if (client.Player.Group.MemberCount == startCount) + if (client.Player.Group != null && client.Player.Group.MemberCount == startCount) { client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "Scripts.Players.Disband.NoPlayer"), eChatType.CT_System, eChatLoc.CL_SystemWindow); return;
User avatar
Leodagan
Developer
 
Posts: 1350
Joined: Tue May 01, 2012 9:30 am
Website: https://daoc.freyad.net
Location: Lyon

Re: disband bug?

Postby Graveen » Thu May 07, 2015 8:00 am

TY guys !
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: disband bug?

Postby HunabKu » Sat May 09, 2015 11:15 am

Realy nice ;-)
"C'est l'ignorance qui apporte le chaos, pas la connaissance."
Scarlett Johansson dans "Lucy" de Luc Besson
-------------------------------------------------------------------------------
"Ignorance brings chaos, not knowledge."
Scarlett Johansson on "Lucy" by Luc Besson
User avatar
HunabKu
Developer
 
Posts: 1905
Joined: Sat Jun 18, 2011 4:48 am


Return to “%s” Support

Who is online

Users browsing this forum: No registered users and 1 guest