本文整理汇总了C#中GamePlayer.GetExperienceNeededForLevel方法的典型用法代码示例。如果您正苦于以下问题:C# GamePlayer.GetExperienceNeededForLevel方法的具体用法?C# GamePlayer.GetExperienceNeededForLevel怎么用?C# GamePlayer.GetExperienceNeededForLevel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GamePlayer
的用法示例。
在下文中一共展示了GamePlayer.GetExperienceNeededForLevel方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Interact
/// <summary>
/// Interact with trainer
/// </summary>
/// <param name="player"></param>
/// <returns></returns>
public override bool Interact(GamePlayer player)
{
if (!base.Interact(player)) return false;
// Turn to face player
TurnTo(player, 10000);
// Unknown class must be used for multitrainer
if (CanTrain(player))
{
player.Out.SendTrainerWindow();
player.GainExperience(GameLiving.eXPSource.Other, 0);//levelup
if (player.FreeLevelState == 2)
{
player.DBCharacter.LastFreeLevel = player.Level;
//long xp = GameServer.ServerRules.GetExperienceForLevel(player.PlayerCharacter.LastFreeLevel + 3) - GameServer.ServerRules.GetExperienceForLevel(player.PlayerCharacter.LastFreeLevel + 2);
long xp = player.GetExperienceNeededForLevel(player.DBCharacter.LastFreeLevel + 1) - player.GetExperienceNeededForLevel(player.DBCharacter.LastFreeLevel);
//player.PlayerCharacter.LastFreeLevel = player.Level;
player.GainExperience(GameLiving.eXPSource.Other, xp);
player.DBCharacter.LastFreeLeveled = DateTime.Now;
player.Out.SendPlayerFreeLevelUpdate();
}
}
if (CanTrainChampionLevels(player))
{
player.Out.SendChampionTrainerWindow((int)m_championTrainerType);
}
return true;
}
示例2: ExperiencePercent
/// <summary>
/// Experience awarded for completing this quest. This is a percentage
/// of the amount of experience the questing player needs to get from
/// their current level to the next level, not taking into account any
/// experience the player already has gained towards the next level.
/// Because this depends on the current level of the interacting player
/// it doesn't make sense to change it from your scripts.
/// </summary>
public int ExperiencePercent(GamePlayer player)
{
int currentLevel = player.Level;
if (currentLevel > player.MaxLevel)
return 0;
long experienceToLevel = player.GetExperienceNeededForLevel(currentLevel + 1) -
player.GetExperienceNeededForLevel(currentLevel);
return (int)((m_experience * 100) / experienceToLevel);
}