现在的位置:首页 > 脚本相关(C++) >
真正的会员经验倍数+固定经验设定,适用任何版本
arkcn发布于2008-01-27 04:15:42 芒果中文
还是控制经验的那个文件 Formulas.h
inline uint32 Gain(Player *pl, Unit *u)
{
if(u->GetTypeId()==TYPEID_UNIT && ((Creature*)u)->isTotem() || ((Creature*)u)->isPet())
return 0;
uint32 xp_gain= BaseGain(pl->getLevel(), u->getLevel());
if( xp_gain <= 0 )
return 0;
if(u->GetTypeId()==TYPEID_UNIT && ((Creature*)u)->isElite())
xp_gain *= 2;
// 如果玩家等级大于等于RATE_AR_LEVEL设定的等级并且小于等于最大等级那么得到固定经验 ARK www.arsf.cn
if ( pl->getLevel() >= sWorld.getConfig(CONFIG_AR_level) && pl->getLevel() <= sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL) )
return (uint32)(sWorld.getConfig(CONFIG_AR_XP));
// 如果普通玩家等级大于等于最大等级,经验0 ARK www.arsf.cn
if ( pl->GetSession()->GetSecurity() < 1 && pl->getLevel() >= sWorld.getRate(RATE_USER_MAX_LEVEL) )
return 0;
// 会员经验设定
if ( pl->GetSession()->GetSecurity() >=1 && pl->getLevel() <= sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL) )
return (uint32)(xp_gain*sWorld.getRate(RATE_VIP_XP_KILL));
else
return (uint32)(xp_gain*sWorld.getRate(RATE_XP_KILL));
}
保证固定经验可以正常运行,需要配合另外一篇文章 解决高等级打怪没经验的问题
