this is my archer's god code in my source
PHP Code:
#region ArcherGod
case 400:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Hi, i am Archer God and i teach only archers, the rest of you, beat it!"));
GC.AddSend(Packets.NPCLink("Promote me.", 1));
GC.AddSend(Packets.NPCLink("Learn Skills.", 2));
GC.AddSend(Packets.NPCLink("Just passing by.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
#region Promote
else if (GC.MyChar.Job >= 40 && GC.MyChar.Job <= 45)
{
if (GC.MyChar.Job <= 44 && (Control == 1 || Control == 10))
{
if (Control == 1)
{
GC.AddSend(Packets.NPCSay("You need to be level " + GC.MyChar.LevReqForPromote + " to promote to " + ((Game.Character.JobName)(GC.MyChar.Job + 1)).ToString()));
if (GC.MyChar.Job == 42)
GC.AddSend(Packets.NPCSay("Also you will need an Emerald."));
else if (GC.MyChar.Job == 43)
GC.AddSend(Packets.NPCSay("Also you will need a Meteor."));
else if (GC.MyChar.Job == 44)
GC.AddSend(Packets.NPCSay("Also you will need a MoonBox."));
GC.AddSend(Packets.NPCLink("Promote me.", 10));
GC.AddSend(Packets.NPCLink("Forget it.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else if (Control == 10)
{
if (GC.MyChar.Level >= GC.MyChar.LevReqForPromote)
{
byte Need = 1;
uint ID = GC.MyChar.PromoteItems;
if (ID == 1072031) Need = 5;
if (GC.MyChar.InventoryContains(ID, Need) || ID == 1)
{
for (byte i = 0; i < Need; i++)
GC.MyChar.RemoveItem(GC.MyChar.NextItem(ID));
GC.MyChar.Job++;
if (GC.MyChar.Job == 41)
GC.MyChar.AddItem(133205);
else if (GC.MyChar.Job == 42)
{
Game.Item I = new NewestCOServer.Game.Item();
I.ID = 500077;
I.MaxDur = I.DBInfo.Durability;
I.CurDur = I.MaxDur;
I.UID = (uint)Rnd.Next(10000000);
I.Soc1 = NewestCOServer.Game.Item.Gem.EmptySocket;
GC.MyChar.AddItem(I);
}
else if (GC.MyChar.Job == 43)
GC.MyChar.AddItem(133247);
else if (GC.MyChar.Job == 44)
GC.MyChar.AddItem(700032);
else if (GC.MyChar.Job == 45)
GC.MyChar.AddItem(1088000);
GC.AddSend(Packets.NPCSay("Congratulations! You are now " + ((Game.Character.JobName)GC.MyChar.Job).ToString() + " and received a gift."));
GC.AddSend(Packets.NPCLink("Thanks.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You don't have the required materials."));
GC.AddSend(Packets.NPCLink("I'll go get em.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You are not qualified yet. Your level is too low."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
}
else if (Control == 1 || Control == 10)
{
GC.AddSend(Packets.NPCSay("You are already ArcherMaster, i cannot promote you anymore."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
#endregion
else if (Control == 2)
{
GC.AddSend(Packets.NPCSay("Choose from the skills listed below."));
ArrayList Skills = (ArrayList)Database.SkillForLearning[(byte)4];
if (Skills.Count < 8)
{
for (byte i = 0; i < Skills.Count; i++)
GC.AddSend(Packets.NPCLink(((Extra.SkillIDs)(((SkillLearn)Skills[i]).ID)).ToString() + "(Lv " + ((SkillLearn)Skills[i]).LevelReq.ToString() + " )", (byte)(20 + i)));
}
else
{
for (byte i = 0; i < 7; i++)
GC.AddSend(Packets.NPCLink(((Extra.SkillIDs)(((SkillLearn)Skills[i]).ID)).ToString() + "(Lv " + ((SkillLearn)Skills[i]).LevelReq.ToString() + " )", (byte)(20 + i)));
GC.AddSend(Packets.NPCLink("Next", 100));
}
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else if (Control == 100)
{
GC.AddSend(Packets.NPCSay("Choose from the skills listed below."));
ArrayList Skills = (ArrayList)Database.SkillForLearning[(byte)4];
for (byte i = 7; i < Skills.Count; i++)
GC.AddSend(Packets.NPCLink(((Extra.SkillIDs)(((SkillLearn)Skills[i]).ID)).ToString() + "(Lv " + ((SkillLearn)Skills[i]).LevelReq.ToString() + " )", (byte)(20 + i)));
GC.AddSend(Packets.NPCLink("Previous", 2));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else if (Control >= 20 && Control <= 34)
{
ArrayList Skills = (ArrayList)Database.SkillForLearning[(byte)4];
SkillLearn S = (SkillLearn)Skills[(byte)(Control - 20)];
if (GC.MyChar.Level >= S.LevelReq)
GC.MyChar.NewSkill(S.ToSkill());
else
{
GC.AddSend(Packets.NPCSay("You are not high level enough."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
}
else
{
GC.AddSend(Packets.NPCSay("You are not an archer, so get lost, will you?"));
GC.AddSend(Packets.NPCLink("Sorry.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
break;
}
#endregion
plz help me fast