NWScript:
void main()
{
object oPC = GetLastDamager();
int iGold = GetGold(oPC);
int iReward = 5;
int iLevel1 = GetLevelByPosition(1, oPC);
int iLevel2 = GetLevelByPosition(2, oPC);
int iLevel3 = GetLevelByPosition(3, oPC);
int iCharLevel = (iLevel1 + iLevel2 + iLevel3);
int iCost = iCharLevel * 5;
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectRegenerate(10, 3.0f), OBJECT_SELF, 300.0f);
if (iGold >= iCost){
GiveXPToCreature(oPC, iReward);
TakeGoldFromCreature(iCost, oPC, TRUE);}
else
SendMessageToPC(oPC, "You do not have enough money to train.");
}