Birçok kişi bu bug'dan şikayetçi. Bunun sebebiyse örnek veriyorum
69'dan 70'e EXP'leri orantılı vermediniz, mesela 69'dan 70'e 2.000.000
EXP istiyorsa, 70'den 71'e 100.000.000 EXP verirseniz, biri EXP'e
yattığında eğer EXP %5 veya %3 (Premium varsa)'ün altındaysa EXP ve
Level düşüyor ve herhangi bir yaratık kestiğinde ikinci bir Level daha
düşüyor. İkinci bir Level düşmesini engellemek amacıyla ilk Level
düşüşünde relog atması yeterli olacaktır.
Öncelikle aşağıdaki kodu LOAD_USER_DATA prosedüründe bulunuz:
Kod:
SELECT Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame,
Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, dwTime, strSkill, strItem,strSerial, sQuestCount, strQuest, MannerPoint, LoyaltyMonthly
FROM USERDATA WHERE strUserId = @id
Üstüne şu kodu ekleyiniz:
Kod:
-- Thales tarafından yazılmıştır, değiştiren ve silen kendinin ne olduğunu biliyor zaten.
DECLARE @Health int,
@Exp int
select @Health = Hp, @Exp = Exp from USERDATA where strUserId = @id
if (@Health < 1 and @Exp < 0)
BEGIN
update USERDATA set Hp = '1', Exp = '1' WHERE strUserId = @id
END
Kodlardan anlayanlar varsa, Level sekmesi de ekleyebilirsiniz.
Böylelikle 69 olup da Hp'i 1'den aşağı olan ve Exp'i - olanları tekrar
70 yaptırıp EXP ve HP'ini düzelttirebilirsiniz.