
How it works?
1. Create random npc with Dialog 18
2. Change the case "17779" to npcid
3. Add this code to nrunhandler.cs
HTML Code:
case 3000:
switch (packet.Type)
{
case 0:
switch (packet.Value)
{
case 2:
switch (packet.NpcId)
{
case 17779: // npc id
{
if (Session.Character.Level >= 99 && Session.Character.prestigeLevel == 4) // minimal lvl and prestige lvl
{
Session.Character.Level = 1; // what lvl must be set after change prestige
Session.Character.prestigeLevel = 5; // what prestige lvl must be set after change prestige
Session.Character.Compliment = 500; // rewards
Session.Character.GiftAdd(396, 1); // rewards
Session.SendPacket(Session.Character.GenerateStat()); // refresh char stat
Session.SendPacket(Session.Character.GenerateStatChar()); // refresh char stat
}
else
{
if (Session.Character.Level >= 99 && Session.Character.prestigeLevel == 3)
{
Session.Character.Level = 1;
Session.Character.prestigeLevel = 4;
Session.Character.Compliment = 400;
Session.Character.GiftAdd(395, 1);
Session.SendPacket(Session.Character.GenerateStat());
Session.SendPacket(Session.Character.GenerateStatChar());
}
else
{
if (Session.Character.Level >= 99 && Session.Character.prestigeLevel == 2)
{
Session.Character.Level = 1;
Session.Character.prestigeLevel = 3;
Session.Character.Compliment = 300;
Session.Character.GiftAdd(394, 1);
Session.SendPacket(Session.Character.GenerateStat());
Session.SendPacket(Session.Character.GenerateStatChar());
}
else
{
if (Session.Character.Level >= 99 && Session.Character.prestigeLevel == 1)
{
Session.Character.Level = 1;
Session.Character.prestigeLevel = 2;
Session.Character.Compliment = 200;
Session.Character.GiftAdd(393, 1);
Session.SendPacket(Session.Character.GenerateStat());
Session.SendPacket(Session.Character.GenerateStatChar());
}
else
{
if (Session.Character.Level >= 99 && Session.Character.prestigeLevel == 0)
{
Session.Character.Level = 1;
Session.Character.prestigeLevel = 1;
Session.Character.Compliment = 100;
Session.Character.GiftAdd(392, 1);
Session.SendPacket(Session.Character.GenerateStat());
Session.SendPacket(Session.Character.GenerateStatChar());
}
else
{
Session.SendPacket("msg 5 Your Level is not high enough!"); // too small lvl
Session.SendPacket("msg 5 Your Level is not high enough!"); // too small lvl
Session.SendPacket("msg 5 Your Level is not high enough!"); // too small lvl
}
}
}
}
}
}
break;
}
break;
}
break;
}
break;
HTML Code:
public int prestigeLevel { get; set; }
5. Add
HTML Code:
public int prestigeLevel { get; set; }
6. Add
HTML Code:
output.prestigeLevel = input.prestigeLevel;
7. update your database use update-database -Verobse
8. add this code
HTML Code:
public string GenerateCInfo() => $"c_info {(Authority == AuthorityType.Moderator && !Undercover ? $"[NH]" + Name : Authority == AuthorityType.GameMaster ? $"[P{prestigelevel}]" + Name : Authority == AuthorityType.User ? $"[P{prestigelevel}]" + Name : Authority == AuthorityType.BitchNiggerFaggot ? Name + $"[BitchNiggerFaggot]" : Name)} - -1 {(Family != null && !Undercover ? $"{Family.FamilyId} {Family.Name}({Language.Instance.GetMessageFromKey(FamilyCharacter.Authority.ToString().ToUpper())})" : "-1 -")} {CharacterId} {(Invisible ? 6 : Undercover ? (byte)AuthorityType.User : Authority < AuthorityType.User ? (byte)AuthorityType.User : (byte)Authority)} {(byte)Gender} {(byte)HairStyle} {(byte)HairColor} {(byte)Class} {(GetDignityIco() == 1 ? GetReputationIco() : -GetDignityIco())} {(Authority == AuthorityType.Moderator ? 500 : Compliment)} {(UseSp || IsVehicled ? Morph : 0)} {(Invisible ? 1 : 0)} {Family?.FamilyLevel ?? 0} {(UseSp ? MorphUpgrade : 0)} {ArenaWinner}";
HTML Code:
return $"in 1 {(Authority == AuthorityType.Moderator && !Undercover ? $"[NH]" + _name : Authority == AuthorityType.GameMaster ? $"[P{prestigelevel}]" + _name : Authority == AuthorityType.User ? $"[P{prestigelevel}]" + _name : Authority == AuthorityType.BitchNiggerFaggot ? $"[BitchNiggerFaggot][P{prestigelevel}]" : _name)} - {CharacterId} {PositionX} {PositionY} {Direction} {(Undercover ? (byte)AuthorityType.User : Authority < AuthorityType.User ? (byte)AuthorityType.User : (byte)Authority)} {(byte)Gender} {(byte)HairStyle} {color} {(byte)Class} {GenerateEqListForPacket()} {Math.Ceiling(Hp / HPLoad() * 100)} {Math.Ceiling(Mp / MPLoad() * 100)} {(IsSitting ? 1 : 0)} {(Group?.GroupType == GroupType.Group ? (Group?.GroupId ?? -1) : -1)} {(fairy != null && !Undercover ? 4 : 0)} {fairy?.Item.Element ?? 0} 0 {fairy?.Item.Morph ?? 0} 0 {(UseSp || IsVehicled ? Morph : 0)} {GenerateEqRareUpgradeForPacket()} {(!Undercover ? (foe ? -1 : Family?.FamilyId ?? -1) : -1)} {(!Undercover ? (foe ? _name : Family?.Name ?? "-") : "-")} {(GetDignityIco() == 1 ? GetReputationIco() : -GetDignityIco())} {(Invisible ? 1 : 0)} {(UseSp ? MorphUpgrade : 0)} {_faction} {(UseSp ? MorphUpgrade2 : 0)} {Level} {Family?.FamilyLevel ?? 0} {ArenaWinner} {(Authority == AuthorityType.Moderator && !Undercover ? 500 : Compliment)} {Size} {HeroLevel}";
If someone have problem tell me.






