Hey guys...I've been wondering if some of you can tip me with a good "Pass Leadership" code...
I've made this one
The thing that it does is screw up the guilds...so any help? :D thanks in advance
I've made this one
Code:
#region Leadership
else if (Control == 7)
{
if ((GC.MyChar.MyGuild != null && GC.MyChar.GuildRank == NewestCOServer.Features.GuildRank.GuildLeader))
{
GC.AddSend(Packets.NPCSay("Insert the name of the player in your guild you want to pass the leadership."));
GC.AddSend(Packets.NPCLink2("Here", 8));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You are not a guild leader."));
GC.AddSend(Packets.NPCLink("Silly me.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else if (Control == 8)
{
string PlayerName = ReadString(Data);
Features.MemberInfo M = GC.MyChar.MyGuild.MembOfName(PlayerName);
if (M != null && M.MembName == PlayerName && M.MembName != GC.MyChar.Name && (((Hashtable)GC.MyChar.MyGuild.Members[(byte)50]).Contains(M.MembID) || ((Hashtable)GC.MyChar.MyGuild.Members[(byte)90]).Contains(M.MembID)))
{
GC.MyChar.GuildRank = NewestCOServer.Features.GuildRank.Member;
((Hashtable)GC.MyChar.MyGuild.Members[(byte)100]).Remove(GC.MyChar.MembInfo.MembID);
((Hashtable)GC.MyChar.MyGuild.Members[(byte)50]).Add(GC.MyChar.MembInfo.MembID, GC.MyChar.MembInfo);
GC.MyChar.GuildRank = NewestCOServer.Features.GuildRank.Member;
Game.World.Spawn(GC.MyChar, false);
GC.MyChar.MyClient.AddSend(Packets.GuildInfo(GC.MyChar.MyGuild, GC.MyChar));
if (M.Rank == NewestCOServer.Features.GuildRank.Member)
((Hashtable)GC.MyChar.MyGuild.Members[(byte)50]).Remove(M.MembID);
else if (M.Rank == NewestCOServer.Features.GuildRank.DeputyManager)
((Hashtable)GC.MyChar.MyGuild.Members[(byte)90]).Remove(M.MembID);
M.Rank = NewestCOServer.Features.GuildRank.GuildLeader;
((Hashtable)GC.MyChar.MyGuild.Members[(byte)100]).Add(M.MembID, M);
Game.Character C = M.Info;
if (C != null)
{
C.GuildRank = NewestCOServer.Features.GuildRank.GuildLeader;
Game.World.Spawn(C, false);
C.MyClient.AddSend(Packets.GuildInfo(GC.MyChar.MyGuild, GC.MyChar));
}
if (GC.MyChar.Top == 1)
{
GC.MyChar.Top = 0;
C.Top = 1;
C.StatEff.Add(Game.StatusEffectEn.TopGuildLeader);
GC.MyChar.StatEff.Remove(Game.StatusEffectEn.TopGuildLeader);
}
}
else
{
GC.AddSend(Packets.NPCSay("The player is not in your guild."));
GC.AddSend(Packets.NPCLink("Oh, sorry.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
#endregion
The thing that it does is screw up the guilds...so any help? :D thanks in advance