Como eu havia dito vou mandar os npcs pra dar 3 e 4 reborn....
Como eles funfa?
discubra vc mesmo....
Eu fiz eles bem simples.... eles vao dar reborn mas os skills não estão totalmente corretos pois eu estou fazendo modificações > D
caso vcs queiram editálo sintam-se a vontade para fazer da maneira q desejarem...
fiz ele de acordo com algum item qualquer .... basta editar o ID do item para o seu desejo... (usei um item custom meu)
mas vamos lá...
poe isso ae la no character.cs (não creio q sua posição afete alguma coisa... a não ser q vc bote na ultima linha ligcamente : D)
NPC do terceiro reborn (nem preciso falar onde poe... e se alguem perguntar eu do 1 tiro ainda!!!)
logicamente vcs obterão algums erros por que eu adicionei algumas coisas.... entao ainda tem mais algumas coisinhas pra vcs adicionarem ai....
coloquem isso no final do NPCDialog:
Obs.: NPC do quarto reborn jaja eu posto to com preguiça de terminar eusahuseahesuhesauhesueas
Como eles funfa?
discubra vc mesmo....
Eu fiz eles bem simples.... eles vao dar reborn mas os skills não estão totalmente corretos pois eu estou fazendo modificações > D
caso vcs queiram editálo sintam-se a vontade para fazer da maneira q desejarem...
fiz ele de acordo com algum item qualquer .... basta editar o ID do item para o seu desejo... (usei um item custom meu)
mas vamos lá...
poe isso ae la no character.cs (não creio q sua posição afete alguma coisa... a não ser q vc bote na ultima linha ligcamente : D)
public void RebornCharacter3(byte ToJob)
{
try
{
for (byte i = 1; i < 9; i++)
if (i != 7 || i !=
{
Item I = Equips.Get(i);
if (I.ID != 0)
{
EquipStats(i, false);
ItemIDManipulation IDM = new ItemIDManipulation(I.ID);
IDM.LowestLevel(i);
I.ID = IDM.ToID();
Equips.Replace(i, I, this);
EquipStats(i, true);
}
}
else
{
Item I = Equips.Get(i);
Equips.Replace(i, I, this);
}
}
catch { }
if (Equips.RightHand.ID != 0)
{
Inventory.Add(Equips.Get(5));
EquipStats(5, false);
Game.World.Spawn(this, false);
Equips.UnEquip(5, this);
}
Reborns++;
byte ExtraStat = 72;
#region Calculate Points
if ((byte)Job > 130 && (byte)Job < 136)
{
if (Level == 110) { ExtraStat += 3; }
if (Level == 111) { ExtraStat += 3; }
if (Level == 112) { ExtraStat += 3; }
if (Level == 114) { ExtraStat += 6; }
if (Level == 115) { ExtraStat += 6; }
if (Level == 116) { ExtraStat += 12; }
if (Level == 117) { ExtraStat += 12; }
if (Level == 118) { ExtraStat += 20; }
if (Level == 119) { ExtraStat += 20; }
if (Level == 120) { ExtraStat += 30; }
if (Level == 121) { ExtraStat += 30; }
if (Level == 122) { ExtraStat += 42; }
if (Level == 123) { ExtraStat += 42; }
if (Level == 124) { ExtraStat += 56; }
if (Level == 125) { ExtraStat += 56; }
if (Level == 126) { ExtraStat += 72; }
if (Level == 127) { ExtraStat += 72; }
if (Level == 128) { ExtraStat += 90; }
if (Level == 129) { ExtraStat += 90; }
if (Level >= 130) { ExtraStat += 110; }
}
else
{
if (Level == 121) { ExtraStat += 3; }
if (Level == 122) { ExtraStat += 6; }
if (Level == 123) { ExtraStat += 12; }
if (Level == 144) { ExtraStat += 20; }
if (Level == 125) { ExtraStat += 30; }
if (Level == 126) { ExtraStat += 42; }
if (Level == 127) { ExtraStat += 56; }
if (Level == 128) { ExtraStat += 72; }
if (Level == 129) { ExtraStat += 90; }
if (Level >= 130) { ExtraStat += 110; }
}
#endregion
StatPoints = ExtraStat;
PreviousJob = Job;
Job = ToJob;
Level = 15;
Experience = 0;
foreach (Skill S in Skills.Values)
{
MyClient.AddSend(Packets.GeneralData(EntityID, S.ID, 0, 0, 109));
}
foreach (Prof P in Profs.Values)
{
MyClient.AddSend(Packets.GeneralData(EntityID, P.ID, 0, 0, 108));
}
Skills.Clear();
Profs.Clear();
if (PreviousJob == 55)
{
NewSkill(new Skill() { ID = 6001 });
NewSkill(new Skill() { ID = 6004 });
}
if (PreviousJob == 15)
{
NewSkill(new Skill() { ID = 1110 });
NewSkill(new Skill() { ID = 1190 });
}
if (PreviousJob == 25)
{
if (Job == 132) { NewSkill(new Skill() { ID = 1025 }); }
else { NewSkill(new Skill() { ID = 1020 }); }
}
if (PreviousJob == 135)
{
if (Job != 142)
{
NewSkill(new Skill() { ID = 1000 });
NewSkill(new Skill() { ID = 1005 });
NewSkill(new Skill() { ID = 1195 });
NewSkill(new Skill() { ID = 1085 });
NewSkill(new Skill() { ID = 1095 });
NewSkill(new Skill() { ID = 1175 });
}
}
if (Reborns >= 2)
NewSkill(new Skill() { ID = 9876 });
Database.GetStats(this);
World.SendMsgToAll("SYSTEM", "Congratulations! " + Name + " has passed all the tests and has got the Third Rebirth!", 2011, 0);
}
NPC do terceiro reborn (nem preciso falar onde poe... e se alguem perguntar eu do 1 tiro ainda!!!)
#region Third Rebirth
case 600345:
{
if (Control == 0)
{
if (GC.MyChar.ThirdRebirth == 0)
{
Text("I've already saw many stronger warriors getting rebirth and second rebirth, but are they stronger enough to talk with me?", GC);
Text(" Of course not! But if you want prove me that you're able to give the third rebirth, i'll let you pass from me.", GC);
Link("What i've to doo?", 1, GC);
Link("Just passing by.", 255, GC);
Face(N.Avatar, GC);
End(GC);
}
else if (GC.MyChar.ThirdRebirth == 1)
{
Text("Go see Cloud first your dumb!", GC);
Link("Ahh, totaly forgot!", 255, GC);
Face(N.Avatar, GC);
End(GC);
}
else
{
Text("So he passed you at the tests. Now we can start!", GC);
Link("Okay.", 3, GC);
Link("Nevermind.", 255, GC);
Face(N.Avatar, GC);
End(GC);
}
}
else if (Control == 1)
{
Text("You've to give me the StolenStone. You can find it or you can buy it, but if you want to buy it, you need to discover how by yourself!", GC);
Text(" I'll only help you if you want to doo it alone. So, backing, you've to talk with Cloud at Mystic Castle. Help him and let's see what he think.", GC);
Link("Sure.", 2, GC);
Link("Nevermind.", 255, GC);
Face(N.Avatar, GC);
End(GC);
}
else if (Control == 2)
{
GC.MyChar.ThirdRebirth = 1;
Text("Find him!", GC);
Link("I'm going.", 255, GC);
Face(N.Avatar, GC);
End(GC);
}
else if (Control == 3)
{
if (GC.MyChar.InventoryContains(758458, 1))
{
Text("Hmm... What will be your next job?", GC);
Link("Trojan.", 11, GC);
Link("Warrior.", 21, GC);
Link("Archer.", 41, GC);
Link("Water Taoist.", 132, GC);
Link("Fire Taoist.", 142, GC);
Link("Ninja.", 51, GC);
Link("Just passing by.", 255, GC);
Face(N.Avatar, GC);
End(GC);
}
else { ErrorMsg("Did you lose the stone? If you losed it, you must go and take another one!", GC); }
}
else if (Control >= 11 && Control <= 142)
{
if (GC.MyChar.Reborns == 2)
{
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088001));
GC.MyChar.RebornCharacter3(Control);
}
else { ErrorMsg("You've too much to learn yet my boy!", GC); }
}
break;
}
#endregion
logicamente vcs obterão algums erros por que eu adicionei algumas coisas.... entao ainda tem mais algumas coisinhas pra vcs adicionarem ai....
coloquem isso no final do NPCDialog:
public static void ErrorMsg(string text, Main.GameClient GC)
{
Text(text, GC);
Link("I see.", 255, GC);
Face(32, GC);
End(GC);
}
public static void Text(string text, Main.GameClient GC)
{
GC.AddSend(Packets.NPCSay(text));
}
public static void Link(string text, byte Control, Main.GameClient GC)
{
GC.AddSend(Packets.NPCLink(text, Control));
}
public static void Face(ushort Face, Main.GameClient GC)
{
GC.AddSend(Packets.NPCSetFace(Face));
}
public static void End(Main.GameClient GC)
{
GC.AddSend(Packets.NPCFinish());
}
Obs.: NPC do quarto reborn jaja eu posto to com preguiça de terminar eusahuseahesuhesauhesueas