• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Zwieksszenie obrazen

dragonballfb

New Member
Joined
Mar 31, 2012
Messages
15
Reaction score
2
Witam, pisze w sprawie zwiekszania/zmniejszania obrazen magicznych na lvl. Na starym silniku profesją z 250 lvl uderzalem z czaru 70k, na nowym silniku ustawilem tak zebym na 250 lvl tez uderzał 70k(Na starym silniku magDamage=10, a na nowym magDamage=60, czyli jest roznica) Jednak gdy klasy mialy po 600 lvl na starym silniku uderzałem 139k a na nowym 100k. Co zrobic zeby to wyrównac? Za pomoc jestem w stanie nawet zaplacic, bardzo mi na tym zalezy.
 
Dalej nie rozumie, jaki wzór, gdzie go znalesc. Jesli to w c++ to jestem calkiem zielony.
 
Jesteś zielony czy różowy, żadna różnica. Po prostu znajdź i zmień. Trochę myślenia wystarczy. Ewentualnie podstawy angielskiego, ale bez tego chyba byś się nie zabierał za taki projekt, prawda?
 
Vocation.cpp
if(readXMLFloat(configNode, "magDamage", floatValue) || readXMLFloat(configNode, "magicDamage", floatValue))
voc->setMultiplier(MULTIPLIER_MAGIC, floatValue);

Player.cpp
if(vocation->getMultiplier(MULTIPLIER_MAGICDEFENSE) != 1.0 && combatType != COMBAT_NONE &&
combatType != COMBAT_PHYSICALDAMAGE && combatType != COMBAT_UNDEFINEDDAMAGE &&
combatType != COMBAT_DROWNDAMAGE)
damage -= (int32_t)std::ceil((double)(damage * vocation->getMultiplier(MULTIPLIER_MAGICDEFENSE)) / 100.);

if(min > 0)
min = (int32_t)(min * vocation->getMultiplier(MULTIPLIER_HEALING));
else
min = (int32_t)(min * vocation->getMultiplier(MULTIPLIER_MAGIC));

Vocation.h
MULTIPLIER_MAGIC = 5,

To jedyne co znalazlem zwiazanego z magDamage, source tego pierwszego ots nie posiadam. Pobralem source tej wersji silnika ale w nim w ogole nie bylo czegos takiego jak magDamage ;/
 
Zwróc uwagę na formułę używaną w tym czarze i odszukaj wzór odpowiedzialny za ten typ. Skoro nie masz źródeł tamtego to bedziesz musiał eksperymentalnie zmieniać wzór, rysować sobie wykres funkcji dwóch zmiennych(przydałby się jakiś program) i zastanawiać, czy to jest to czy jeszcze nie
 
@up To co wstawiles zmienia chyba dmg gdy uderzamy w innego gracza, a mi chodzilo o ogolene dmg w gracza i potwory.
 
W sumie tak - ale wystarczy zmienić tam warunek i zacznie działać jak chcesz :).
 
Człowieku jak zabierasz się za takie coś to może miej troszkę o tym wiedzy nikt Ci nie napiszę gotowca po prostu poczytaj trochę i po kombinuj.
 
@up To co wstawiles zmienia chyba dmg gdy uderzamy w innego gracza, a mi chodzilo o ogolene dmg w gracza i potwory.
Zmień pierwszy wers na to:
PHP:
	if(change < 0 && caster && caster->getPlayer() && target)
 
Back
Top