[Only registered and activated users can see links. Click Here To Register...]
How it works?
1. Create random npc with Dialog 18
2. Change the case "17779" to npcid
3. Add this code to nrunhandler.cs
4. Add
to OpenNos.DAL.EF/CharacterDTO.cs
5. Add
to OpenNos.DAL.EF/Character.cs
6. Add
to charactermapper.cs
7. update your database use update-database -Verobse
8. add this code
and this
in the Gameobject.character.cs
If someone have problem tell me.
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.