Lena80
Member
Hello i have this gump:

As u guys can see it doesnt show the exp value even thought sometimes it does, i dont know why this happens. The value says 0 even thought is not 0.
The tolevel is the part it fails i think.
Because the 0 should be the exp left to level.
The onsingleclick method shows the correct value:

The gump doesnt....
I uploaded the whole gump script.

As u guys can see it doesnt show the exp value even thought sometimes it does, i dont know why this happens. The value says 0 even thought is not 0.
The tolevel is the part it fails i think.
Because the 0 should be the exp left to level.
Code:
int tolevel = 0;
for (int i = 0; i < LevelItemManager.ExpTable.Length; ++i)
{
if (pm == null)
return;
Item item = pm.FindItemOnLayer( (Layer)i );
if (item != null)
{
XmlLevelItem levitemf = XmlAttach.FindAttachment(item, typeof(XmlLevelItem)) as XmlLevelItem;
( if levitemf != null)
{
if (levitemf.Experience < LevelItemManager.ExpTable[i])
{
tolevel = LevelItemManager.ExpTable[i] - levitemf.Experience;
break;
}
}
}
}
The onsingleclick method shows the correct value:

Code:
public override void OnSingleClick(Mobile from)
{
LabelTo(from, Sphere.ComputeName(this));
if (from != null)
{
from.CloseGump( typeof( weaponsinglelcickgump ) );
from.SendGump(new weaponsinglelcickgump(this));
}
XmlLevelItem levitem = XmlAttach.FindAttachment(this, typeof(XmlLevelItem)) as XmlLevelItem;
if (levitem != null)
{
int tolevel = 0;
for (int i = 0; i < LevelItemManager.ExpTable.Length; ++i)
{
if (levitem.Experience < LevelItemManager.ExpTable[i])
{
tolevel = LevelItemManager.ExpTable[i] - levitem.Experience;
break;
}
}
if (levitem.Level == 100)
{
LabelTo(from, String.Format("Level [{0}]",levitem.Level));
return;
}
LabelTo(from, String.Format("Level [{0}]",levitem.Level));
if (LevelItems.DisplayExpProp)
LabelTo(from, String.Format("Experience {0}/{1}",levitem.Experience, tolevel.ToString()));
}
The gump doesnt....
I uploaded the whole gump script.
Last edited: