The lvl 110 promotion is asking for a moonbox id that is not used in game i don't think because there is 4 moonbox ids.
How can I change the moonbox id that the promoter is asking for to the moonbox that is used in game?
I hope you understood.
Here is the Promoters:
Trojan God:
Code:
#region TrojanGod case 10022: { if (Control == 0) { GC.AddSend(Packets.NPCSay("Hi, i am Trojan God and i teach only warriors, 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 >= 10 && GC.MyChar.Job <= 15) { if (GC.MyChar.Job <= 14 && (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 == 12) GC.AddSend(Packets.NPCSay("Also you will need an Emerald.")); else if (GC.MyChar.Job == 13) GC.AddSend(Packets.NPCSay("Also you will need a Meteor.")); else if (GC.MyChar.Job == 14) 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 == 11) GC.MyChar.AddItem(130205); else if (GC.MyChar.Job == 12) GC.MyChar.AddItem(480077); else if (GC.MyChar.Job == 13) GC.MyChar.AddItem(130267); else if (GC.MyChar.Job == 14) GC.MyChar.AddItem(700032); else if (GC.MyChar.Job == 15) 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 TrojanMaster, 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)1]; 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)1]; 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)1]; 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 a trojan, so get lost, will you?")); GC.AddSend(Packets.NPCLink("Sorry.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } break; } #endregion
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
Code:
#region TrojanGod case 10022: { if (Control == 0) { GC.AddSend(Packets.NPCSay("Hi, i am Trojan God and i teach only warriors, 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 >= 10 && GC.MyChar.Job <= 15) { if (GC.MyChar.Job <= 14 && (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 == 12) GC.AddSend(Packets.NPCSay("Also you will need an Emerald.")); else if (GC.MyChar.Job == 13) GC.AddSend(Packets.NPCSay("Also you will need a Meteor.")); else if (GC.MyChar.Job == 14) 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 == 11) GC.MyChar.AddItem(130205); else if (GC.MyChar.Job == 12) GC.MyChar.AddItem(480077); else if (GC.MyChar.Job == 13) GC.MyChar.AddItem(130267); else if (GC.MyChar.Job == 14) GC.MyChar.AddItem(700032); else if (GC.MyChar.Job == 15) 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 TrojanMaster, 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)1]; 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)1]; 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)1]; 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 a trojan, so get lost, will you?")); GC.AddSend(Packets.NPCLink("Sorry.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } break; } #endregion #region WarriorGod case 10001: { if (Control == 0) { GC.AddSend(Packets.NPCSay("Hi, i am Warrior God and i teach only warriors, 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 >= 20 && GC.MyChar.Job <= 25) { if (GC.MyChar.Job <= 24 && (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 == 22) GC.AddSend(Packets.NPCSay("Also you will need an Emerald.")); else if (GC.MyChar.Job == 23) GC.AddSend(Packets.NPCSay("Also you will need a Meteor.")); else if (GC.MyChar.Job == 24) 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 = 1; 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 == 21) GC.MyChar.AddItem(131205); else if (GC.MyChar.Job == 22) GC.MyChar.AddItem(900307); else if (GC.MyChar.Job == 23) GC.MyChar.AddItem(131267); else if (GC.MyChar.Job == 24) GC.MyChar.AddItem(700032); else if (GC.MyChar.Job == 25) 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 WarriorMaster, 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)2]; 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)2]; 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)2]; 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 a warrior, so get lost, will you?")); GC.AddSend(Packets.NPCLink("Sorry.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } break; } #endregion
Code:
#region TaoistGod case 10000: { if (Control == 0) { GC.AddSend(Packets.NPCSay("Hi, i am Taoist God and i teach only taoists, 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 >= 100 && GC.MyChar.Job <= 145) { if (Control == 1 || Control == 10 || Control == 11 && (GC.MyChar.Job <= 144 || (GC.MyChar.Job < 140 && GC.MyChar.Job <= 134))) { if (Control == 1) { if (GC.MyChar.Job != 101) GC.AddSend(Packets.NPCSay("You need to be level " + GC.MyChar.LevReqForPromote + " to promote to " + ((Game.Character.JobName)(GC.MyChar.Job + 1)).ToString())); else { GC.AddSend(Packets.NPCSay("You need to be level " + GC.MyChar.LevReqForPromote + " to promote.")); GC.AddSend(Packets.NPCSay("You have to choose if you want to become a FireTaoist or a WaterTaoist.")); } if (GC.MyChar.Job == 132 || GC.MyChar.Job == 142) GC.AddSend(Packets.NPCSay("Also you will need an Emerald.")); else if (GC.MyChar.Job == 133 || GC.MyChar.Job == 143) GC.AddSend(Packets.NPCSay("Also you will need a Meteor.")); else if (GC.MyChar.Job == 134 || GC.MyChar.Job == 144) GC.AddSend(Packets.NPCSay("Also you will need a MoonBox.")); if (GC.MyChar.Job == 101) { GC.AddSend(Packets.NPCLink("Promote me to FireTaoist", 10)); GC.AddSend(Packets.NPCLink("Promote me to WaterTaoist", 11)); } else 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 || Control == 11) { 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)); if (GC.MyChar.Job == 101) { if (Control == 10) GC.MyChar.Job = 142; else GC.MyChar.Job = 132; } else GC.MyChar.Job++; if (GC.MyChar.Job == 101) GC.MyChar.AddItem(134205); else if (GC.MyChar.Job == 132 || GC.MyChar.Job == 142) GC.MyChar.AddItem(421077); else if (GC.MyChar.Job == 133 || GC.MyChar.Job == 143) GC.MyChar.AddItem(134237); else if (GC.MyChar.Job == 134 || GC.MyChar.Job == 144) GC.MyChar.AddItem(700032); else if (GC.MyChar.Job == 135 || GC.MyChar.Job == 145) 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 a saint, 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.")); byte e = 10; if (GC.MyChar.Job > 130) e = 13; if (GC.MyChar.Job > 140) e = 14; ArrayList Skills = (ArrayList)Database.SkillForLearning[(byte)e]; 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.")); byte e = 10; if (GC.MyChar.Job > 130) e = 13; if (GC.MyChar.Job > 140) e = 14; ArrayList Skills = (ArrayList)Database.SkillForLearning[(byte)e]; 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) { byte e = 10; if (GC.MyChar.Job > 130) e = 13; if (GC.MyChar.Job > 140) e = 14; ArrayList Skills = (ArrayList)Database.SkillForLearning[(byte)e]; 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 a taoist, so get lost, will you?")); GC.AddSend(Packets.NPCLink("Sorry.", 255)); GC.AddSend(Packets.NPCSetFace(N.Avatar)); GC.AddSend(Packets.NPCFinish()); } break; } #endregion
Thanks!