This is everything you need to setup Reborn in your LOTF based server source.
This code doesn't have the MyClient.Drop(); since it is pointless and lame, and has extra Stats for all Jobs including Water Tao.
Why Release it?
- Already been released, this one is just better.
What will I need?
- Brain w/ common sense
- LOTF source [Link: ]
Rebirth Script
Source:
Define our Variables, etc
In Character.cs:
Code:
public byte RBCount = 0;
public uint StatP = 0;
public byte FirstJob = 0;
This NPC gives you first rebirth for a Celestial Stone and the required level.
For getting First Reborn, you get all the things with First Rebirth (Lower level gears, etc) and also a Super gem of your Choice!
Code:
if (CurrentNPC == 127)
{
if (MyChar.RBCount >= 1)
{
SendPacket(General.MyPackets.NPCSay("You are already reborn. I cannot help you."));
SendPacket(General.MyPackets.NPCLink("I see.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
else
{
if (MyChar.Level >= 120)
{
SendPacket(General.MyPackets.NPCSay("I devote all my life to the research of eternity, finally I know the aranum of Rebirth of the life."));
SendPacket(General.MyPackets.NPCLink("I would like to know it.", 1));
SendPacket(General.MyPackets.NPCLink("Just passing by.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
else if (MyChar.Level >= 110 && MyChar.Job == 135)
{
SendPacket(General.MyPackets.NPCSay("I devote all my life to the research of eternity, finally I know the aranum of Rebirth of the life."));
SendPacket(General.MyPackets.NPCLink("I would like to know it.", 1));
SendPacket(General.MyPackets.NPCLink("Just passing by.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
else if (MyChar.Level > 119)
{
SendPacket(General.MyPackets.NPCSay("You can only reborn if you are level 120 or over."));
SendPacket(General.MyPackets.NPCLink("I see.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
}
}
And:
Code:
if (CurrentNPC == 127)
{
if (Control == 1)
{
SendPacket(General.MyPackets.NPCSay("If you want to rebirth, you should reach a certain level, get the hightest occupation"));
SendPacket(General.MyPackets.NPCSay(" title and get a CelestialStone. After the rebirth, you can distribute your attribute"));
SendPacket(General.MyPackets.NPCSay(" more freely. And you can learn more powerful skill."));
SendPacket(General.MyPackets.NPCLink("What is CelestialStone?", 8));
SendPacket(General.MyPackets.NPCLink("I would like to Reborn.", 9));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 8)
{
SendPacket(General.MyPackets.NPCSay("CelestialStone syncrinizes seven gems in the world, and I will pave the way for rebirth."));
SendPacket(General.MyPackets.NPCLink("I see.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 7)
{
if (MyChar.InventoryContains(721259, 1))
{
SendPacket(General.MyPackets.NPCSay("What class would you like to reborn into?"));
SendPacket(General.MyPackets.NPCLink("Trojan", 2));
SendPacket(General.MyPackets.NPCLink("Warrior", 3));
SendPacket(General.MyPackets.NPCLink("Archer", 4));
SendPacket(General.MyPackets.NPCLink("Fire Taoist", 5));
SendPacket(General.MyPackets.NPCLink("WaterTaoist", 6));
SendPacket(General.MyPackets.NPCLink("Let me think it over.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
else
{
SendPacket(General.MyPackets.NPCSay("You cannot reborn if you don't have a celestial stone."));
SendPacket(General.MyPackets.NPCLink("I see.", 255));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
}
if (Control == 2)
{
if (MyChar.InventoryContains(721259, 1))
{
if (RBGem == "Dragon")
MyChar.AddItem("700013-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Phoenix")
MyChar.AddItem("700003-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Rainbow")
MyChar.AddItem("700033-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Fury")
MyChar.AddItem("700023-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Kylin")
MyChar.AddItem("700043-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Violet")
MyChar.AddItem("700053-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Moon")
MyChar.AddItem("700063-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Tortoise")
MyChar.AddItem("700073-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
MyChar.RemoveItem(MyChar.ItemNext(721259));
MyChar.ReBorn(11);
}
}
if (Control == 3)
{
if (MyChar.InventoryContains(721259, 1))
{
if (RBGem == "Dragon")
MyChar.AddItem("700013-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Phoenix")
MyChar.AddItem("700003-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Rainbow")
MyChar.AddItem("700033-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Fury")
MyChar.AddItem("700023-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Kylin")
MyChar.AddItem("700043-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Violet")
MyChar.AddItem("700053-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Moon")
MyChar.AddItem("700063-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Tortoise")
MyChar.AddItem("700073-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
MyChar.RemoveItem(MyChar.ItemNext(721259));
MyChar.ReBorn(21);
}
}
if (Control == 4)
{
if (MyChar.InventoryContains(721259, 1))
{
if (RBGem == "Dragon")
MyChar.AddItem("700013-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Phoenix")
MyChar.AddItem("700003-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Rainbow")
MyChar.AddItem("700033-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Fury")
MyChar.AddItem("700023-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Kylin")
MyChar.AddItem("700043-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Violet")
MyChar.AddItem("700053-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Moon")
MyChar.AddItem("700063-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Tortoise")
MyChar.AddItem("700073-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
MyChar.RemoveItem(MyChar.ItemNext(721259));
MyChar.ReBorn(41);
}
}
if (Control == 5)
{
if (MyChar.InventoryContains(721259, 1))
{
if (RBGem == "Dragon")
MyChar.AddItem("700013-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Phoenix")
MyChar.AddItem("700003-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Rainbow")
MyChar.AddItem("700033-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Fury")
MyChar.AddItem("700023-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Kylin")
MyChar.AddItem("700043-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Violet")
MyChar.AddItem("700053-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Moon")
MyChar.AddItem("700063-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Tortoise")
MyChar.AddItem("700073-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
MyChar.RemoveItem(MyChar.ItemNext(721259));
MyChar.ReBorn(142);
}
}
if (Control == 6)
{
if (MyChar.InventoryContains(721259, 1))
{
if (RBGem == "Dragon")
MyChar.AddItem("700013-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Phoenix")
MyChar.AddItem("700003-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Rainbow")
MyChar.AddItem("700033-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Fury")
MyChar.AddItem("700023-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Kylin")
MyChar.AddItem("700043-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Violet")
MyChar.AddItem("700053-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Moon")
MyChar.AddItem("700063-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
if (RBGem == "Tortoise")
MyChar.AddItem("700073-0-0-0-0-0", 0, (uint)General.Rand.Next(36457836));
MyChar.RemoveItem(MyChar.ItemNext(721259));
MyChar.ReBorn(132);
}
}
if (Control == 9)
{
SendPacket(General.MyPackets.NPCSay("When you reborn, you get a Super Gem! What gem would you like?"));
SendPacket(General.MyPackets.NPCLink("Dragon", 10));
SendPacket(General.MyPackets.NPCLink("Phoenix", 11));
SendPacket(General.MyPackets.NPCLink("Rainbow", 12));
SendPacket(General.MyPackets.NPCLink("Moon", 13));
SendPacket(General.MyPackets.NPCLink("Violet", 14));
SendPacket(General.MyPackets.NPCLink("Kylin", 15));
SendPacket(General.MyPackets.NPCLink("Fury", 16));
SendPacket(General.MyPackets.NPCLink("Tortoise", 17));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 10)
{
RBGem = "Dragon";
SendPacket(General.MyPackets.NPCSay("You have chosen a " + RBGem + " Gem, is this right?"));
SendPacket(General.MyPackets.NPCLink("No.", 9));
SendPacket(General.MyPackets.NPCLink("Yes.", 7));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 11)
{
RBGem = "Phoenix";
SendPacket(General.MyPackets.NPCSay("You have chosen a " + RBGem + " Gem, is this right?"));
SendPacket(General.MyPackets.NPCLink("No.", 9));
SendPacket(General.MyPackets.NPCLink("Yes.", 7));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 12)
{
RBGem = "Rainbow";
SendPacket(General.MyPackets.NPCSay("You have chosen a " + RBGem + " Gem, is this right?"));
SendPacket(General.MyPackets.NPCLink("No.", 9));
SendPacket(General.MyPackets.NPCLink("Yes.", 7));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 13)
{
RBGem = "Moon";
SendPacket(General.MyPackets.NPCSay("You have chosen a " + RBGem + " Gem, is this right?"));
SendPacket(General.MyPackets.NPCLink("No.", 9));
SendPacket(General.MyPackets.NPCLink("Yes.", 7));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 14)
{
RBGem = "Violet";
SendPacket(General.MyPackets.NPCSay("You have chosen a " + RBGem + " Gem, is this right?"));
SendPacket(General.MyPackets.NPCLink("No.", 9));
SendPacket(General.MyPackets.NPCLink("Yes.", 7));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 15)
{
RBGem = "Kylin";
SendPacket(General.MyPackets.NPCSay("You have chosen a " + RBGem + " Gem, is this right?"));
SendPacket(General.MyPackets.NPCLink("No.", 9));
SendPacket(General.MyPackets.NPCLink("Yes.", 7));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 16)
{
RBGem = "Fury";
SendPacket(General.MyPackets.NPCSay("You have chosen a " + RBGem + " Gem, is this right?"));
SendPacket(General.MyPackets.NPCLink("No.", 9));
SendPacket(General.MyPackets.NPCLink("Yes.", 7));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
if (Control == 17)
{
RBGem = "Tortoise";
SendPacket(General.MyPackets.NPCSay("You have chosen a " + RBGem + " Gem, is this right?"));
SendPacket(General.MyPackets.NPCLink("No.", 9));
SendPacket(General.MyPackets.NPCLink("Yes.", 7));
SendPacket(General.MyPackets.NPCSetFace(30));
SendPacket(General.MyPackets.NPCFinish());
}
}
Kinshi,the myclient drop command is needed to remove skills client sided,when they already are removed server sided,which in real co,but conquer made a different way of that ****,because they are more fimiliuar with their source.
edit : and please dont claim that you code stuffs better than me,i released that rebirth script that i coded pretty fast,but i could do an more advanced if asked.
Huh? Kinshi,I didnt ******* take that rebirth script from someone else's source,ROFLMAO! I could invite you to an convo with my friends when we were testing different kind of stuffs,with the rebirth code,which I coded,with some support from my mates. Actully,I think you are the one that stole that code,since im pretty sure that you arent that good yet,and you ask me about pretty much help when we worked as a team,and you asked hybrid stuffs,when he answered you,you told me the answer and claimed you figured it out,thats so LOL!
And sorry,im swedish if you didnt know,and im 14 years old,dont expect me to learn alot of english with 1 english lesson per week <.<
im getting those errors... and when i try to do /rb *job* im getting dc and when im logging in again im still 130:/
Quote:
Error 1 The name 'FirstJob' does not exist in the current context C:Userssom1DesktopcoservShadowCOCOServerProjectCha racter.cs 332 21 COServerProject
Error 2 The name 'FirstJob' does not exist in the current context C:Userssom1DesktopcoservShadowCOCOServerProjectCha racter.cs 367 21 COServerProject
Error 3 The name 'FirstJob' does not exist in the current context C:Userssom1DesktopcoservShadowCOCOServerProjectCha racter.cs 403 21 COServerProject
Error 4 The name 'FirstJob' does not exist in the current context C:Userssom1DesktopcoservShadowCOCOServerProjectCha racter.cs 428 21 COServerProject
Error 5 The name 'FirstJob' does not exist in the current context C:Userssom1DesktopcoservShadowCOCOServerProjectCha racter.cs 466 21 COServerProject
Huh? Kinshi,I didnt fucking take that rebirth script from someone else's source,ROFLMAO! I could invite you to an convo with my friends when we were testing different kind of stuffs,with the rebirth code,which I coded,with some support from my mates. Actully,I think you are the one that stole that code,since im pretty sure that you arent that good yet,and you ask me about pretty much help when we worked as a team,and you asked hybrid stuffs,when he answered you,you told me the answer and claimed you figured it out,thats so LOL!
And sorry,im swedish if you didnt know,and im 14 years old,dont expect me to learn alot of english with 1 english lesson per week <.<
Rebirth code from your release (Source: )
Code:
public void ReBorn(byte ToJob)
{
try
{
RBCount++;
if (Level == 121)
StatP += 1;
else if (Level == 122)
StatP += 1;
else if (Level == 123)
StatP += 3;
else if (Level == 124)
StatP += 6;
else if (Level == 125)
StatP += 10;
else if (Level == 126)
StatP += 15;
else if (Level == 127)
StatP += 21;
else if (Level == 128)
StatP += 28;
else if (Level == 129)
StatP += 36;
else if (Level == 130)
StatP += 45;
MyClient.SendPacket(General.MyPackets.Vital(UID, 11, StatP));
Level = 15;
Skills.Clear();
Skill_Exps.Clear();
if (Job == 145)
{
if (ToJob == 41)
{
LearnSkill(1000, 0);
LearnSkill(1001, 0);
LearnSkill(1005, 0);
}
if (ToJob == 21)
{
LearnSkill(1000, 0);
LearnSkill(1001, 0);
LearnSkill(1005, 0);
}
if (ToJob == 11)
{
LearnSkill(1000, 0);
LearnSkill(1001, 0);
LearnSkill(1005, 0);
}
if (ToJob == 101)
{
LearnSkill(1120, 0);
}
}
if (Job == 15)
{
if (ToJob == 41)
{
LearnSkill(1110, 0);
LearnSkill(1190, 0);
}
if (ToJob == 21)
{
LearnSkill(1110, 0);
LearnSkill(1190, 0);
}
if (ToJob == 101)
{
LearnSkill(1110, 0);
LearnSkill(1190, 0);
}
}
if (Job == 25)
{
if (ToJob == 41)
{
LearnSkill(1020, 0);
}
if (ToJob == 101)
{
LearnSkill(1020, 0);
LearnSkill(1025, 0);
}
if (ToJob == 11)
{
LearnSkill(1020, 0);
LearnSkill(1320, 0);
}
if (ToJob == 11)
{
LearnSkill(1020, 0);
LearnSkill(1320, 0);
}
}
if (Job == 135)
{
if (ToJob == 41)
{
LearnSkill(1005, 0);
LearnSkill(1075, 0);
LearnSkill(1090, 0);
LearnSkill(1095, 0);
LearnSkill(1195, 0);
}
if (ToJob == 21)
{
LearnSkill(1005, 0);
LearnSkill(1075, 0);
LearnSkill(1090, 0);
LearnSkill(1095, 0);
LearnSkill(1195, 0);
}
if (ToJob == 11)
{
LearnSkill(1005, 0);
LearnSkill(1075, 0);
LearnSkill(1090, 0);
LearnSkill(1095, 0);
LearnSkill(1195, 0);
}
if (ToJob == 101)
{
LearnSkill(1175, 0);
LearnSkill(1075, 0);
LearnSkill(1050, 0);
}
}
Job = ToJob;
DataBase.GetStats(this);
GetEquipStats(1, true);
GetEquipStats(2, true);
GetEquipStats(3, true);
GetEquipStats(4, true);
GetEquipStats(5, true);
GetEquipStats(6, true);
GetEquipStats(7, true);
GetEquipStats(8, true);
MinAtk = Str;
MaxAtk = Str;
MaxHP = BaseMaxHP();
Potency = Level;
GetEquipStats(1, false);
GetEquipStats(2, false);
GetEquipStats(3, false);
GetEquipStats(4, false);
GetEquipStats(5, false);
GetEquipStats(6, false);
GetEquipStats(7, false);
GetEquipStats(8, false);
CurHP = MaxHP;
MyClient.SendPacket(General.MyPackets.Vital((long) UID, 7, Job));
MyClient.SendPacket(General.MyPackets.Vital((long) UID, 16, Str));
MyClient.SendPacket(General.MyPackets.Vital((long) UID, 17, Agi));
MyClient.SendPacket(General.MyPackets.Vital((long) UID, 15, Vit));
MyClient.SendPacket(General.MyPackets.Vital((long) UID, 14, Spi));
MyClient.SendPacket(General.MyPackets.Vital((long) UID, 2, MaxMana()));
MyClient.SendPacket(General.MyPackets.GeneralData( (long)UID, 0, 0, 0, 92));
MyClient.SendPacket(General.MyPackets.Vital((long) UID, 0, CurHP));
for (byte i = 1; i < 9; i++)
{
if (Equips[i] == null || Equips[i] == "") continue;
string I = Equips[i];
string[] II = I.Split('-');
uint IID = uint.Parse(II[0]);
byte Quality = (byte)Other.ItemQuality(IID);
if (i == 1)
{
string NewID = "";
if (Other.WeaponType(IID) == 111 || Other.WeaponType(IID) == 113 || Other.WeaponType(IID) == 114 || Other.WeaponType(IID) == 118 || Other.WeaponType(IID) == 117)
{
NewID = II[0].Remove(4, 2);
NewID = NewID + "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (Other.WeaponType(IID) == 112)
{
byte Type = byte.Parse(II[0][4].ToString());
byte Color = byte.Parse(II[0][3].ToString());
NewID = "11" + Type.ToString() + Color.ToString() + "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
}
else if (i == 2)
{
string NewID = "";
NewID = II[0].Remove(3, 3);
NewID += "00" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (i == 3)
{
string NewID = "";
if (Other.WeaponType(IID) == 130 || Other.WeaponType(IID) == 131 || Other.WeaponType(IID) == 133 || Other.WeaponType(IID) == 134)
{
NewID = II[0].Remove(4, 2);
NewID = NewID + "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (Other.WeaponType(IID) == 135 || Other.WeaponType(IID) == 136 || Other.WeaponType(IID) == 138 || Other.WeaponType(IID) == 139)
{
byte Type = byte.Parse(II[0][2].ToString());
byte Color = byte.Parse(II[0][3].ToString());
Type -= 5;
NewID = "13" + Type.ToString() + Color.ToString() + "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
}
else if (i == 4)
{
string NewID = "";
NewID = II[0].Remove(3, 3);
NewID += "02" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (i == 5)
{
string NewID = "";
if (Other.WeaponType(IID) == 900)
{
NewID = II[0].Remove(4, 2);
NewID += "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (Other.ItemType(IID) == 4 || Other.ItemType(IID) == 5)
{
NewID = II[0].Remove(3, 3);
NewID += "02" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
}
else if (i == 6)
{
string NewID = "";
NewID = II[0].Remove(3, 3);
NewID += "01" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (i == 8)
{
string NewID = "";
NewID = II[0].Remove(3, 3);
NewID += "01" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equi ps_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
}
MyClient.SendPacket(General.MyPackets.Vital(UID, 13, Level));
World.SendMsgToAll(Name + " has reborned!", "SYSTEM", 2011);
World.UpdateSpawn(this);
MyClient.Drop();
}
catch (Exception Exc) { Console.WriteLine(Exc); }
}
Rebirth Script straight from ShadowCo Source (Source: )
Code:
public void ReBorn(byte ToJob)
{
try
{
RBCount++;
Level = 15;
Exp = 0;
Skills.Clear();
Skill_Exps.Clear();
if (Job == 145)
{
if (ToJob == 41)
{
LearnSkill(1000, 0);
LearnSkill(1001, 0);
LearnSkill(1005, 0);
}
if (ToJob == 21)
{
LearnSkill(1000, 0);
LearnSkill(1001, 0);
LearnSkill(1005, 0);
}
if (ToJob == 11)
{
LearnSkill(1000, 0);
LearnSkill(1001, 0);
LearnSkill(1005, 0);
}
if (ToJob == 101)
{
LearnSkill(1120, 0);
}
}
if (Job == 15)
{
if (ToJob == 41)
{
LearnSkill(1110, 0);
LearnSkill(1190, 0);
}
if (ToJob == 21)
{
LearnSkill(1110, 0);
LearnSkill(1190, 0);
}
if (ToJob == 101)
{
LearnSkill(1110, 0);
LearnSkill(1190, 0);
}
}
if (Job == 25)
{
if (ToJob == 41)
{
LearnSkill(1020, 0);
}
if (ToJob == 101)
{
LearnSkill(1020, 0);
LearnSkill(1025, 0);
}
if (ToJob == 11)
{
LearnSkill(1020, 0);
LearnSkill(1320, 0);
}
if (ToJob == 11)
{
LearnSkill(1020, 0);
LearnSkill(1320, 0);
}
}
if (Job == 135)
{
if (ToJob == 41)
{
LearnSkill(1005, 0);
LearnSkill(1075, 0);
LearnSkill(1090, 0);
LearnSkill(1095, 0);
LearnSkill(1195, 0);
}
if (ToJob == 21)
{
LearnSkill(1005, 0);
LearnSkill(1075, 0);
LearnSkill(1090, 0);
LearnSkill(1095, 0);
LearnSkill(1195, 0);
}
if (ToJob == 11)
{
LearnSkill(1005, 0);
LearnSkill(1075, 0);
LearnSkill(1090, 0);
LearnSkill(1095, 0);
LearnSkill(1195, 0);
}
if (ToJob == 101)
{
LearnSkill(1175, 0);
LearnSkill(1075, 0);
LearnSkill(1050, 0);
}
}
Job = ToJob;
if (RBCount < 1)
DataBase.GetStats(this);
GetEquipStats(1, true);
GetEquipStats(2, true);
GetEquipStats(3, true);
GetEquipStats(4, true);
GetEquipStats(5, true);
GetEquipStats(6, true);
GetEquipStats(7, true);
GetEquipStats(8, true);
MinAtk = Str;
MaxAtk = Str;
MaxHP = BaseMaxHP();
Potency = Level;
GetEquipStats(1, false);
GetEquipStats(2, false);
GetEquipStats(3, false);
GetEquipStats(4, false);
GetEquipStats(5, false);
GetEquipStats(6, false);
GetEquipStats(7, false);
GetEquipStats(8, false);
CurHP = MaxHP;
MyClient.SendPacket(General.MyPackets.Vital((long)UID, 7, Job));
MyClient.SendPacket(General.MyPackets.Vital((long)UID, 16, Str));
MyClient.SendPacket(General.MyPackets.Vital((long)UID, 17, Agi));
MyClient.SendPacket(General.MyPackets.Vital((long)UID, 15, Vit));
MyClient.SendPacket(General.MyPackets.Vital((long)UID, 14, Spi));
MyClient.SendPacket(General.MyPackets.Vital((long)UID, 2, MaxMana()));
MyClient.SendPacket(General.MyPackets.GeneralData((long)UID, 0, 0, 0, 92));
MyClient.SendPacket(General.MyPackets.Vital((long)UID, 0, CurHP));
for (byte i = 1; i < 9; i++)
{
if (Equips[i] == null || Equips[i] == "") continue;
string I = Equips[i];
string[] II = I.Split('-');
uint IID = uint.Parse(II[0]);
byte Quality = (byte)Other.ItemQuality(IID);
if (i == 1)
{
string NewID = "";
if (Other.WeaponType(IID) == 111 || Other.WeaponType(IID) == 113 || Other.WeaponType(IID) == 114 || Other.WeaponType(IID) == 118 || Other.WeaponType(IID) == 117)
{
NewID = II[0].Remove(4, 2);
NewID = NewID + "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (Other.WeaponType(IID) == 112)
{
byte Type = byte.Parse(II[0][4].ToString());
byte Color = byte.Parse(II[0][3].ToString());
NewID = "11" + Type.ToString() + Color.ToString() + "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
}
else if (i == 2)
{
string NewID = "";
NewID = II[0].Remove(3, 3);
NewID += "00" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (i == 3)
{
string NewID = "";
if (Other.WeaponType(IID) == 130 || Other.WeaponType(IID) == 131 || Other.WeaponType(IID) == 133 || Other.WeaponType(IID) == 134)
{
NewID = II[0].Remove(4, 2);
NewID = NewID + "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (Other.WeaponType(IID) == 135 || Other.WeaponType(IID) == 136 || Other.WeaponType(IID) == 138 || Other.WeaponType(IID) == 139)
{
byte Type = byte.Parse(II[0][2].ToString());
byte Color = byte.Parse(II[0][3].ToString());
Type -= 5;
NewID = "13" + Type.ToString() + Color.ToString() + "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
}
else if (i == 4)
{
string NewID = "";
NewID = II[0].Remove(3, 3);
NewID += "02" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (i == 5)
{
string NewID = "";
if (Other.WeaponType(IID) == 900)
{
NewID = II[0].Remove(4, 2);
NewID += "0" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (Other.ItemType(IID) == 4 || Other.ItemType(IID) == 5)
{
NewID = II[0].Remove(3, 3);
NewID += "02" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
}
else if (i == 6)
{
string NewID = "";
NewID = II[0].Remove(3, 3);
NewID += "01" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
else if (i == 8)
{
string NewID = "";
NewID = II[0].Remove(3, 3);
NewID += "01" + Quality.ToString();
Equips[i] = NewID + "-" + II[1] + "-" + II[2] + "-" + II[3] + "-" + II[4] + "-" + II[5];
II[0] = NewID;
MyClient.SendPacket(General.MyPackets.AddItem(Equips_UIDs[i], int.Parse(II[0]), byte.Parse(II[1]), byte.Parse(II[2]), byte.Parse(II[3]), byte.Parse(II[4]), byte.Parse(II[5]), i, 100, 100));
}
}
MyClient.SendPacket(General.MyPackets.Vital(UID, 13, Level));
World.SendMsgToAll(Name + " Got First Reborn!!!", "ShadowCo", 2011);
World.UpdateSpawn(this);
MyClient.Drop();
}
catch (Exception Exc) { Console.WriteLine(Exc); }
}
Compare for yourself. (incase you can't see it, they are the exact same, EmMe just added the wrong extra stat points.)
I did not code that script myself no, and neither did you. I changed the skills (to official CO style) and added the correct extra attribute points, not hard, I know. But see i've only been at C# for a couple months, so sorry I'm not leet pro.
Yes, I've asked Hybrid (InfamousNoOne) about a lot of stuff about C# in general and Co Servers, but NOT ONCE have I ever claimed to have figured it out on my own! Never have I bragged about figuring out a piece of code all by myself, in fact, I havn't even bragged about a code. So NEVER lie about that!
Kinshi,still dont belive me? Well,if anyone from CoNorth see this,have you released MY rebirth code? Because I sold it to CoNorth for 20 bucks,any CoNorth player can be my proof,even Hiyoal I think. When I joined CoNorth team,I started with the LOFT source. I added rebirth,worked great. Sold the code to CoNorth,and I dont know what happened after that. To my proof,I can invite you ( kinshi ) to a chat with me and hadeset,the code creator,because I was the VERY FIRST ONE that coded rebirth code in hadesets second source,even he didnt do it,and he wanted to see how I did it so he could do it really quick on his 3rd. Kinshi,stop beliving stuffs,get fact instead.
Revised Perfect Reborn Script 12/30/2010 - CO2 PServer Guides & Releases - 47 Replies Well as well all know there were some bugs in my "perfect" reborn script, so I'm going to release the revised edition.
First in character.cs define this
public int Top = 0;
Then search for:
public void RebornCharacter(byte ToJob)
Replace that entire void with this
public void RebornCharacter(byte ToJob)
{
try
{
[Release] PHP Reborn Script 12/13/2009 - Dekaron Private Server - 24 Replies Hi,
zombe and me where working on a reborn script for player to have there own reborn without the help of GM's
this allows them to reborn them when they want
just go to the page fill in your character name, and follow the steps
Here is the code:
reborn.php (FILE MUST BE REBORN.PHP !!!!)
[Release]3rd Reborn Script 06/28/2009 - CO2 PServer Guides & Releases - 8 Replies public void ReBorn3(byte ToJob)
{
try
{
{
if (Level == 121)
StatP += 40;
else if (Level == 122)
StatP += 50;
else if (Level == 123)