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.






