Dantez
Moim sekretem jest ciasto
- Joined
- May 22, 2008
- Messages
- 1,206
- Reaction score
- 202
Witam, kolejny kod mojego autorstwa - efekty wy?wietlaj?ce si? co okre?lony czas, specyficzny dla ka?dej profesji.
Author: Dantez
Tested on: 0.3.6pl1
Konfiguracja w vocations.xml:
Effect - ID efektu
Interval - co ile milisekund (1000 ms = 1s) ma si? wy?wietla? efekt
Vocation.h
Zamieniamy:
Na:
Pod:
Dodajemy:
Vocation.cpp
Pod:
Dodajemy:
TUTAJ NOTKA! TUTAJ MO?EMY USTAWI? DOMY?LN? WARTO?? (4000 ms = 4 s)
Pod:
Dodajemy:
Player.h
Pod:
Dodajemy:
Player.cpp
Zamieniamy:
Na:
Pod:
Dodajemy:
Author: Dantez
Tested on: 0.3.6pl1
Konfiguracja w vocations.xml:
PHP:
effect="29" interval="1000"
Effect - ID efektu
Interval - co ile milisekund (1000 ms = 1s) ma si? wy?wietla? efekt
Vocation.h
Zamieniamy:
PHP:
uint32_t id, fromVocation, baseSpeed, attackSpeed;
Na:
PHP:
uint32_t id, fromVocation, baseSpeed, attackSpeed, effect, effectInterval;
Pod:
PHP:
uint64_t getReqMana(uint32_t magLevel);
Dodajemy:
PHP:
uint32_t getEffect() const {return effect;}
void setEffect(uint32_t _effect) {effect = _effect;}
uint32_t getEffectInterval() const {return effectInterval;}
void setEffectInterval(uint32_t _interval) {effectInterval = _interval;}
Vocation.cpp
Pod:
PHP:
name = description = "";
Dodajemy:
PHP:
effect = 0;
effectInterval = 4000;
Pod:
PHP:
if(readXMLInteger(p, "lessloss", intValue))
voc->setLessLoss(intValue);
Dodajemy:
PHP:
if(readXMLInteger(p, "effect", intValue))
voc->setEffect(intValue);
if(readXMLInteger(p, "interval", intValue))
voc->setEffectInterval(intValue);
Player.h
Pod:
PHP:
uint64_t lastAttack;
Dodajemy:
PHP:
uint64_t lastEffect;
Player.cpp
Zamieniamy:
PHP:
lastLoad = lastPing = lastPong = OTSYS_TIME();
PHP:
lastLoad = lastPing = lastPong = lastEffect = OTSYS_TIME();
Pod:
PHP:
int64_t timeNow = OTSYS_TIME();
Dodajemy:
PHP:
if(vocation && vocation->getEffect() && timeNow - lastEffect >= vocation->getEffectInterval())
{
g_game.addMagicEffect(getPosition(), vocation->getEffect());
lastEffect = timeNow;
}