i have a problem with guild enemy/allies NPC i try every thing and still not work with me and here the code i use
Code:
#region Guild NPC allied&enemied case 19999: { if (Control == 0) { GC.AddSend(Packets.NPCSay("I am what my name says. I create and manage guilds. So what do you want to do?")); GC.AddSend(Packets.NPCLink("Create Allies", 1)); GC.AddSend(Packets.NPCLink("Create Enemies", 3)); GC.AddSend(Packets.NPCLink("Just passing by.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } #region Ally if (Control == 1) { GC.AddSend(Packets.NPCSay("Who would you like to Ally?")); GC.AddSend(Packets.NPCLink2("Ally", 21)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } if (Control == 21) { if (GC.MyChar.MyGuild != null && GC.MyChar.GuildRank == NewestCOServer.Features.GuildRank.GuildLeader) { string Ally = ReadString(Data); foreach (Features.Guild g in Features.Guilds.AllTheGuilds.Values) { if (g.GuildName == Ally) { if (g.Creator.Info != null) { if (g.Creator.Info.MyTeam.Members.Contains(GC.MyChar.EntityID)) { if (!GC.MyChar.MyGuild.Allies.ContainsValue(Ally)) { GC.MyChar.MyGuild.Allies.Add(0, Ally); GC.AddSend(Packets.String(g.GuildID, 21, Ally)); GC.AddSend(Packets.NPCSay(g.GuildName + " is now your ally!")); GC.AddSend(Packets.NPCLink("Thanks.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else { GC.AddSend(Packets.NPCSay(g.GuildName + " is already allied.")); GC.AddSend(Packets.NPCLink("Oh alright.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } else { GC.AddSend(Packets.NPCSay("Make sure the guild leader of the Features guild is in your team.")); GC.AddSend(Packets.NPCLink("Okay", 255)); } } } } break; } } #endregion #region Enemy if (Control == 3) { GC.AddSend(Packets.NPCSay("Who would you like to Enemy?")); GC.AddSend(Packets.NPCLink2("Enemy", 23)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } if (Control == 23) { if (GC.MyChar.MyGuild != null && GC.MyChar.GuildRank == NewestCOServer.Features.GuildRank.GuildLeader) { string Enemy = ReadString(Data); foreach (Features.Guild g in Features.Guilds.AllTheGuilds.Values) { if (g.GuildName == Enemy) { if (g.Creator.Info != null) { if (!GC.MyChar.MyGuild.Enemies.ContainsValue(Enemy)) { GC.MyChar.MyGuild.Enemies.Add(0, Enemy); GC.AddSend(Packets.String(g.GuildID, 21, Enemy)); GC.AddSend(Packets.NPCSay(g.GuildName + " is now your enemy!")); GC.AddSend(Packets.NPCLink("Thanks.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else { GC.AddSend(Packets.NPCSay(g.GuildName + " is already enemied.")); GC.AddSend(Packets.NPCLink("Oh alright.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } else { GC.AddSend(Packets.NPCSay("Make sure the guild leader of the Features guild is in your team.")); GC.AddSend(Packets.NPCLink("Okay", 255)); } } } } break; } #endregion break; } #endregion #region Guild NPC case 10003: { if (Control == 0) { GC.AddSend(Packets.NPCSay("I am what my name says. I create and manage guilds. So what do you want to do?")); GC.AddSend(Packets.NPCLink("Create Guild", 1)); GC.AddSend(Packets.NPCLink("Deputize", 3)); GC.AddSend(Packets.NPCLink("Disband my guild", 5)); GC.AddSend(Packets.NPCLink("Allies", 7)); GC.AddSend(Packets.NPCLink("Enemies", 9)); GC.AddSend(Packets.NPCLink("Just passing by.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } #region Create else if (Control == 1) { if (GC.MyChar.MyGuild == null) { GC.AddSend(Packets.NPCSay("I don't know why, but you have to be level 95 or higher and need 1 million silvers to create one.")); GC.AddSend(Packets.NPCLink2("Create", 2)); GC.AddSend(Packets.NPCLink("No, i changed my mind.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else { GC.AddSend(Packets.NPCSay("You are already in a guild. You cannot create a guild.")); GC.AddSend(Packets.NPCLink("Oh, i forgot...", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } else if (Control == 2) { if (GC.MyChar.Level >= 95 && GC.MyChar.MyGuild == null) { if (GC.MyChar.Silvers >= 1000000) { string GuildName = ReadString(Data); if (Features.Guilds.ValidName(GuildName)) { GC.MyChar.Silvers -= 1000000; ushort NewGuildID = (ushort)Rnd.Next(ushort.MaxValue); while (Features.Guilds.AllTheGuilds.Contains(NewGuildID)) NewGuildID = (ushort)Rnd.Next(ushort.MaxValue); Features.Guilds.CreateNewGuild(GuildName, NewGuildID, GC.MyChar); Game.World.Spawn(GC.MyChar, false); GC.AddSend(Packets.GuildInfo(GC.MyChar.MyGuild, GC.MyChar)); GC.AddSend(Packets.String(GC.MyChar.MyGuild.GuildID, (byte)Game.StringType.GuildName, GC.MyChar.MyGuild.GuildName)); GC.AddSend(Packets.NPCSay("Congratulations! You now have your own guild.")); GC.AddSend(Packets.NPCLink("Thanks.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else { GC.AddSend(Packets.NPCSay("Choose another name, this name is taken or has invalid length.")); GC.AddSend(Packets.NPCLink2("Create", 2)); GC.AddSend(Packets.NPCLink("I changed my mind.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } else { GC.AddSend(Packets.NPCSay("I said you need 1 million silvers and you don't have enough.")); GC.AddSend(Packets.NPCLink("Ok ok, i'll go bring the money.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } else { GC.AddSend(Packets.NPCSay("Forget it! You're too weak.")); GC.AddSend(Packets.NPCLink("Alright, i will get stronger.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } #endregion #region Deputize else if (Control == 3) { 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 make a deputy leader.")); GC.AddSend(Packets.NPCLink2("Here", 4)); 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 == 4) { string PlayerName = ReadString(Data); Features.MemberInfo M = GC.MyChar.MyGuild.MembOfName(PlayerName); if (M != null && M.MembName == PlayerName && ((Hashtable)GC.MyChar.MyGuild.Members[(byte)90]).Count < 5) { M.Rank = NewestCOServer.Features.GuildRank.DeputyManager; ((Hashtable)GC.MyChar.MyGuild.Members[(byte)50]).Remove(M.MembID); ((Hashtable)GC.MyChar.MyGuild.Members[(byte)90]).Add(M.MembID, M); Game.Character C = M.Info; if (C != null) { C.GuildRank = NewestCOServer.Features.GuildRank.DeputyManager; Game.World.Spawn(C, false); C.MyClient.AddSend(Packets.GuildInfo(GC.MyChar.MyGuild, GC.MyChar)); } } else { GC.AddSend(Packets.NPCSay("The player is not in your guild or is not a normal member. By the way, the max number deputy leaders there can be is 5.")); GC.AddSend(Packets.NPCLink("Oh, sorry.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } #endregion #region Disband else if (Control == 5) { if (GC.MyChar.MyGuild != null && GC.MyChar.GuildRank == NewestCOServer.Features.GuildRank.GuildLeader) { GC.AddSend(Packets.NPCSay("Are you sure you want to disband your guild?")); GC.AddSend(Packets.NPCLink("Yes, i want to disband my guild.", 6)); GC.AddSend(Packets.NPCLink("I've changed my mind.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else { GC.AddSend(Packets.NPCSay("You are not a guild leader, therefore you cannot disband a guild.")); GC.AddSend(Packets.NPCLink("I see.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } else if (Control == 6) { if (GC.MyChar.MyGuild != null && GC.MyChar.GuildRank == NewestCOServer.Features.GuildRank.GuildLeader) { GC.MyChar.MyGuild.Disband(); } #endregion #region Ally if (Control == 7) { GC.AddSend(Packets.NPCSay("Who would you like to Ally?")); GC.AddSend(Packets.NPCLink2("Ally", 21)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else if (Control == 21) { if (GC.MyChar.MyGuild != null && GC.MyChar.GuildRank == NewestCOServer.Features.GuildRank.GuildLeader) { string Ally = ReadString(Data); foreach (Features.Guild g in Features.Guilds.AllTheGuilds.Values) { if (g.GuildName == Ally) { if (g.Creator.Info != null) { if (g.Creator.Info.MyTeam.Members.Contains(GC.MyChar.EntityID)) { if (!GC.MyChar.MyGuild.Allies.ContainsValue(Ally)) { GC.MyChar.MyGuild.Allies.Add(0, Ally); GC.AddSend(Packets.String(g.GuildID, 21, Ally)); GC.AddSend(Packets.NPCSay(g.GuildName + " is now your ally!")); GC.AddSend(Packets.NPCLink("Thanks.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else { GC.AddSend(Packets.NPCSay(g.GuildName + " is already allied.")); GC.AddSend(Packets.NPCLink("Oh alright.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } else { GC.AddSend(Packets.NPCSay("Make sure the guild leader of the Features guild is in your team.")); GC.AddSend(Packets.NPCLink("Okay", 255)); } } } } break; } } #endregion #region Enemy if (Control == 9) { GC.AddSend(Packets.NPCSay("Who would you like to Enemy?")); GC.AddSend(Packets.NPCLink2("Enemy", 23)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else if (Control == 23) { if (GC.MyChar.MyGuild != null && GC.MyChar.GuildRank == NewestCOServer.Features.GuildRank.GuildLeader) { string Enemy = ReadString(Data); foreach (Features.Guild g in Features.Guilds.AllTheGuilds.Values) { if (g.GuildName == Enemy) { if (g.Creator.Info != null) { if (!GC.MyChar.MyGuild.Enemies.ContainsValue(Enemy)) { GC.MyChar.MyGuild.Enemies.Add(0, Enemy); GC.AddSend(Packets.String(g.GuildID, 23, Enemy)); GC.AddSend(Packets.NPCSay(g.GuildName + " is now your enemy!")); GC.AddSend(Packets.NPCLink("Thanks.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } else { GC.AddSend(Packets.NPCSay(g.GuildName + " is already enemied.")); GC.AddSend(Packets.NPCLink("Oh alright.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } } else { GC.AddSend(Packets.NPCSay("Make sure the guild leader of the Features guild is in your team.")); GC.AddSend(Packets.NPCLink("Okay", 255)); } } } } break; } #endregion } break; } #endregion
both of them not work except create and disband and deputy leader
i hope i can get a solution for my problem . thanks every one.