avatar_GrInYa

Убийство монстров в MU Online: формула получения экспи, серверные файлы MU, помощь

Автор GrInYa, 2011 Янв. 21, 18:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineсерверные файлыпомощьубийство монстровэкспи

GrInYa

Здравствуйте...кто знает эту формулу, подскажите пожалуйста

GameGuard


GrInYa

нет конечно =)) меня интересует когда убиваешь моба...кто как считается количество экспи(чистого, пез парти, без ничего)

InsurgenT

вроде как установленный ехр(100х, 500х, 999х и т.д.) множится на лвл моба.

GrInYa

Цитата: InsurgenT от 2011 Янв. 21, 21:40  вроде как установленный ехр(100х, 500х, 999х и т.д.) множится на лвл моба.
он ещё от уровня персонажа зависит...но в каких пропорциях...я хз

ведь изначально когда убиваешь допустим паука то дают 50 ехп...а после 10 уровней даст только 5-10 =))

Profesor08

как вариант:
expRate = 500;
lvlMob = 14;
charLevel = 250;

exp = (expRate * lvlMob) \ charLevel;

SmallHabit

Просто как вариант, открыть сурс и посмотреть функцию

Цитироватьint exp;
int maxexp = 0;
int level = (lpTargetObj->Level+25)*lpTargetObj->Level/3;

if((lpTargetObj->Level+10) < lpObj->Level)
{
level = level*(lpTargetObj->Level+10)/lpObj->Level;
}

if(lpTargetObj->Level >= 65)
{
level = level + (lpTargetObj->Level-64)*(lpTargetObj->Level/4);
}

if(level > 0)
{
maxexp = level/2;
}
else
{
level = 0;
}

if(maxexp < 1)
{
exp = level;
}
else
{
exp = level + rand()%maxexp;
}

exp = dmg * exp / tot_dmg;

if(g_BloodCastle.MapRange(lpObj->MapNumber))
{
exp = exp * 50 / 100;
}

DWORD mymaxexp = gLevelExperience[lpObj->Level];

if(exp > mymaxexp)
{
exp = mymaxexp;
}

exp *= gAddExperience;

if ( lpObj->m_wExprienceRate > 0 )
{
exp =  (float)exp * ((float)lpObj->m_wExprienceRate  / 100.0f);
}

if ( g_CrywolfSync.GetOccupationState() == 1 && g_iCrywolfApplyMvpPenalty != FALSE)
{
exp =  (exp * g_CrywolfSync.GetGettingExpPenaltyRate()) / 100;
}

Похожие темы (5)