Might need some adjustment. I will check into the values.got it all sorted now awesome work! onlything with weapon levels required
View attachment 22328
level 112 for a double axe? can't br right can it?
To ensure accuracy, the EXP Tables do not encompass every creature in the game as I didn't have the patience to manually update the mobile list with all the necessary choices. This is why I set the default option to not use tables. If you prefer to use tables, more power to you.Hi there, I have a problem with the script, it was working just fine and then after reaching level 7, all mobs just stopped giving exp. I have no idea why this happens. Also, I noticed some mobs giving only 1 exp, like greater mongbats.
EDIT
I tried with a new char and it worked, but I noticed something, I stopped getting exp after getting a horse, so I went back to the original character, dismounted and tried killing something and it worked! Then tried mounting the horse again before fighting and got no exp. Looking at level control I saw an option for mounted pets getting exp, after activating it I was able to get exp while mounted, but the pet also gets exp! I will try searching in the files for whats causing it, but I'm coding expert.
EDIT2
I found the file with the exp table for mobs and noticed that greater mongbats weren't included.
public static void AddExp(Mobile m, Mobile k, Party p)
{
LevelControlSysItem loccontrol = null;
foreach (Item lister in World.Items.Values)
{
if (lister is LevelControlSysItem) loccontrol = lister as LevelControlSysItem;
}
LevelControlSys m_ItemxmlSys = null;
m_ItemxmlSys = (LevelControlSys)XmlAttachExt.FindAttachment(loccontrol, typeof(LevelControlSys));
if (m_ItemxmlSys == null)
return;
LevelSheet xmlplayer = null;
xmlplayer = m.Backpack.FindItemByType(typeof(LevelSheet), false) as LevelSheet;
PlayerMobile pm = null;
LevelHandlerExt lh = new LevelHandlerExt();
int range = m_ItemxmlSys.PartyExpShareRange;
double orig = 0; //Monster Xp
double fig = 0; //Party Xp
double give = 0; //Xp To Give
if (k != null)
orig = LevelCore.Base(k);
if (p != null && m_ItemxmlSys.PartyExpShare)
{
if (m_ItemxmlSys.PartyExpShareSplit)
{
foreach (PartyMemberInfo mi in p.Members)
{
pm = mi.Mobile as PlayerMobile;
if (pm.InRange(k, range) && lh.MemberCount.Count < 6)
lh.MemberCount.Add(pm);
}
if (lh.MemberCount.Count > 1)
fig = (orig / lh.MemberCount.Count);
}
else
{
pm = m as PlayerMobile;
fig = orig;
}
}
else
{
pm = m as PlayerMobile;
fig = orig;
}
if (fig > 0)
give = LevelHandlerExt.ExpFilter(pm, fig, p, false);
if (give > 0)
{
#region PartyExpShare
if (p != null && m_ItemxmlSys.PartyExpShare)
{
foreach (PartyMemberInfo mi in p.Members)
{
pm = mi.Mobile as PlayerMobile;
if (pm.Alive && pm.InRange(k, range))
{
LevelSheet xmlplayerparty = null;
xmlplayerparty = pm.Backpack.FindItemByType(typeof(LevelSheet), false) as LevelSheet;
if (xmlplayerparty == null)
{
return;
}
else
{
if (xmlplayerparty.PowerHour == true)
{
pm.SendMessage("You gained " + (give + m_ItemxmlSys.ExpPowerAmount) + " boosted exp for the party kill!");
xmlplayerparty.kxp += (int)give + m_ItemxmlSys.ExpPowerAmount;
xmlplayerparty.Expp += (int)give + m_ItemxmlSys.ExpPowerAmount;
if (pm.HasGump(typeof(ExpBar)))
{
pm.CloseGump(typeof(ExpBar));
pm.SendGump(new ExpBar(pm));
}
if (xmlplayer.Expp >= xmlplayer.ToLevell)
{
if (xmlplayer.MaxLevel < xmlplayer.EndMaxLvl)
{
if (xmlplayer.Levell < xmlplayer.EndMaxLvl)
{
DoLevel(pm);
}
}
else
{
if (xmlplayer.Levell < xmlplayer.MaxLevel)
{
DoLevel(pm);
}
}
}
}
else
{
pm.SendMessage("You gained " + give + " exp for the party kill!");
xmlplayerparty.kxp += (int)give;
xmlplayerparty.Expp += (int)give;
if (pm.HasGump(typeof(ExpBar)))
{
pm.CloseGump(typeof(ExpBar));
pm.SendGump(new ExpBar(pm));
}
if (xmlplayer.Expp >= xmlplayer.ToLevell)
{
if (xmlplayer.MaxLevel < xmlplayer.EndMaxLvl)
{
if (xmlplayer.Levell < xmlplayer.EndMaxLvl)
{
DoLevel(pm);
}
}
else
{
if (xmlplayer.Levell < xmlplayer.MaxLevel)
{
DoLevel(pm);
}
}
}
}
}
}
}
}
#endregion
else
{
if (xmlplayer.PowerHour == true)
{
pm.SendMessage("You gained " + (give + m_ItemxmlSys.ExpPowerAmount) + " boosted exp for the kill!");
xmlplayer.kxp += (int)give + m_ItemxmlSys.ExpPowerAmount;
}
else
{
pm.SendMessage("You gained " + give + " exp for the kill!");
xmlplayer.kxp += (int)give;
xmlplayer.Expp += (int)give;
}
if (pm.HasGump(typeof(ExpBar)))
{
pm.CloseGump(typeof(ExpBar));
pm.SendGump(new ExpBar(pm));
}
if (xmlplayer.Expp >= xmlplayer.ToLevell)
{
if (xmlplayer.MaxLevel < xmlplayer.EndMaxLvl)
{
if (xmlplayer.Levell < xmlplayer.EndMaxLvl)
{
DoLevel(pm);
}
}
else
{
if (xmlplayer.Levell < xmlplayer.MaxLevel)
{
DoLevel(pm);
}
}
}
}
}
else
{
pm.SendMessage("You are at max Level!");
return;
}
}
}
hello, please tell me how to turn on the skills of pets
We use essential cookies to make this site work, and optional cookies to enhance your experience.