i have problem with this npc

09/24/2011 22:19 molley#1
hello

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.:handsdown:
09/28/2011 16:45 molley#2
is that npc work with any one ?!