Quote:
Originally Posted by Аrco
Post your guild npc here.
|
Sorry Went to Church Here you go
Code:
#region Squad NPC
case 10003:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Hello.I create and manage Squads in the Society. So what do you want to do?"));
GC.AddSend(Packets.NPCLink("Create Squad", 1));
GC.AddSend(Packets.NPCLink("Add ViceCaptain", 3));
GC.AddSend(Packets.NPCLink("Disband my Squad", 5));
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.MySquad == 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 Squad. You cannot create a Squad."));
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.MySquad == null)
{
if (GC.MyChar.Silvers >= 1000000)
{
string SquadName = ReadString(Data);
if (Features.Squads.ValidName(SquadName))
{
GC.MyChar.Silvers -= 1000000;
ushort NewSquadID = (ushort)Rnd.Next(ushort.MaxValue);
while (Features.Squads.AllTheSquads.Contains(NewSquadID))
NewSquadID = (ushort)Rnd.Next(ushort.MaxValue);
Features.Squads.CreateNewSquad(SquadName, NewSquadID, GC.MyChar);
Game.World.Spawn(GC.MyChar, false);
GC.AddSend(Packets.SquadInfo(GC.MyChar.MySquad, GC.MyChar));
GC.AddSend(Packets.String(GC.MyChar.MySquad.SquadID, (byte)Game.StringType.SquadName, GC.MyChar.MySquad.SquadName));
GC.AddSend(Packets.NPCSay("Congratulations! You now have your own Squad."));
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 ViceCaptains
else if (Control == 3)
{
if (GC.MyChar.MySquad != null && GC.MyChar.SquadRank == SoulSocietyCoServer.Features.SquadRank.SquadLeader)
{
GC.AddSend(Packets.NPCSay("Insert the name of the player in your Squad you want to make a ViceCaptain."));
GC.AddSend(Packets.NPCLink2("There", 4));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You are not a Squad Captain."));
GC.AddSend(Packets.NPCLink("Ohhh...", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else if (Control == 4)
{
string PlayerName = ReadString(Data);
Features.MemberInfo M = GC.MyChar.MySquad.MembOfName(PlayerName);
if (M != null && M.MembName == PlayerName && ((Hashtable)GC.MyChar.MySquad.Members[(byte)90]).Count < 5)
{
M.Rank = SoulSocietyCoServer.Features.SquadRank.DeputyManager;
((Hashtable)GC.MyChar.MySquad.Members[(byte)50]).Remove(M.MembID);
((Hashtable)GC.MyChar.MySquad.Members[(byte)90]).Add(M.MembID, M);
Game.Character C = M.Info;
if (C != null)
{
C.SquadRank = SoulSocietyCoServer.Features.SquadRank.DeputyManager;
Game.World.Spawn(C, false);
C.MyClient.AddSend(Packets.SquadInfo(GC.MyChar.MySquad, GC.MyChar));
}
}
else
{
GC.AddSend(Packets.NPCSay("The player is not in your Squad or is not a normal member. By the way, the max number ViceCaptains there can be is 5."));
GC.AddSend(Packets.NPCLink("Oh, sorry.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
#endregion
else if (Control == 5)
{
if (GC.MyChar.MySquad != null && GC.MyChar.SquadRank == SoulSocietyCoServer.Features.SquadRank.SquadLeader)
{
GC.AddSend(Packets.NPCSay("Are you sure you want to disband your Squad?"));
GC.AddSend(Packets.NPCLink("Yes, I want to disband my Squad.", 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 Squad Captain, therefore you cannot disband this Squad."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else if (Control == 6)
{
if (GC.MyChar.MySquad != null && GC.MyChar.SquadRank == SoulSocietyCoServer.Features.SquadRank.SquadLeader)
{
GC.MyChar.MySquad.Disband();
}
}
break;
}
#endregion