What's new

Dzia?aj?cy GOLDEN BOLT

Status
Not open for further replies.

tyrael121

Active User
Joined
Dec 28, 2008
Messages
65
Reaction score
3
Code:
ITEM_BURST_ARROW = 2546
,Dodajemy:



Code:
ITEM_GOLD_BOLT = 2437
,Teraz pod linijk?:



Code:
ITEM_BOW = 2456
,Dodajemy:



Code:
ITEM_CROSS_BOW = 2455
,Teraz w game.cpp pod linijk?:


Code:
#ifdef SD_BURST_ARROW
if (player->isUsingBurstArrows())
burstArrow(player, attackedCreature->pos);
#endif //SD_BURST_ARROW
Dodajemy:



Code:
#ifdef GOLD_BOLT
if (player->isUsingGoldbolt())
goldbolt(player, attackedCreature->pos);
#endif //GOLD_BOLT
Nastepnie pod linijk?:


Code:
#ifdef SD_BURST_ARROW
class MagicEffectAreaNoExhaustionClass: public MagicEffectAreaClass {
public:
bool causeExhaustion(bool hasTarget) const { return false; }
};

void Game::burstArrow(Creature* c, const Position& pos)
{
OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::burstArrow()");
std::vector<unsigned char> col;
MagicEffectAreaNoExhaustionClass runeAreaSpell;

runeAreaSpell.attackType = ATTACK_PHYSICAL;
runeAreaSpell.animationEffect = NM_ANI_BURSTARROW;
runeAreaSpell.hitEffect = NM_ME_EXPLOSION_DAMAGE;
runeAreaSpell.areaEffect = NM_ME_EXPLOSION_AREA;
runeAreaSpell.animationColor = 198; //DAMAGE_FIRE;
runeAreaSpell.drawblood = true;
runeAreaSpell.offensive = true;

/* Area of Spell */
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);
col.clear();
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);
col.clear();
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);

/* hard no ? */
runeAreaSpell.direction = 1;
runeAreaSpell.minDamage = int(((c->level*g_config.BURST_DMG_LVL)+(c->maglevel*g_config.BURST_DMG_MLVL))*g_config.BURST _DMG_LO);
runeAreaSpell.maxDamage = int(((c->level*g_config.BURST_DMG_LVL)+(c->maglevel*g_config.BURST_DMG_MLVL))*g_config.BURST _DMG_HI);
creatureThrowRune(c, pos, runeAreaSpell);
}
#endif //SD_BURST_ARROW
Dodajemy:



Code:
#ifdef GOLD_BOLT
void Game::goldbolt(Creature* c, const Position& pos)
{
OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::goldbolt()");
std::vector<unsigned char> col;
MagicEffectAreaNoExhaustionClass runeAreaSpell;

runeAreaSpell.attackType = ATTACK_PHYSICAL;
runeAreaSpell.animationEffect = NM_ANI_ENERGY;
runeAreaSpell.hitEffect = NM_ME_ENERGY_AREA;
runeAreaSpell.areaEffect = NM_ME_ENERGY_DAMAGE;
runeAreaSpell.animationColor = 198; //DAMAGE_FIRE;
runeAreaSpell.drawblood = true;
runeAreaSpell.offensive = true;

/* Area of Spell */
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);
col.clear();
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);
col.clear();
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);

/* hard no ? */
runeAreaSpell.direction = 1;
runeAreaSpell.minDamage = int(((c->level*g_config.GOLD_DMG_LVL)+(c->maglevel*g_config.GOLD_DMG_MLVL))*g_config.GOLD_D MG_LO);
runeAreaSpell.maxDamage = int(((c->level*g_config.GOLD_DMG_LVL)+(c->maglevel*g_config.GOLD_DMG_MLVL))*g_config.GOLD_D MG_HI);
creatureThrowRune(c, pos, runeAreaSpell);
}
#endif //GOLD_BOLT
Teraz w luascript.cpp pod linijk?:



Code:
#ifdef SD_BURST_ARROW
BURST_DMG_LVL = atof(getGlobalStringField("burstarrowdmg", 1, "2.0").c_str());
BURST_DMG_MLVL = atof(getGlobalStringField("burstarrowdmg", 2, "3.0").c_str());
BURST_DMG_LO = atof(getGlobalStringField("burstarrowdmg", 3, "0.24").c_str());
BURST_DMG_HI = atof(getGlobalStringField("burstarrowdmg", 4, "0.55").c_str());
#endif //SD_BURST_ARROW
Dodajemy:



Code:
#ifdef GOLD_BOLT
GOLD_DMG_LVL = atof(getGlobalStringField("goldboltdmg", 1, "2.0").c_str());
GOLD_DMG_MLVL = atof(getGlobalStringField("goldboltdmg", 2, "3.0").c_str());
GOLD_DMG_LO = atof(getGlobalStringField("goldboltdmg", 3, "0.24").c_str());
GOLD_DMG_HI = atof(getGlobalStringField("goldboltdmg", 4, "0.55").c_str());
#endif //GOLD_BOLT
Teraz w players.cpp pod linijk?:


Code:
#ifdef SD_BURST_ARROW
bool Player::isUsingBurstArrows() const
{
return ((items[SLOT_LEFT] && items[SLOT_LEFT]->getID() == ITEM_BOW) ||
(items[SLOT_RIGHT] && items[SLOT_RIGHT]->getID() == ITEM_BOW)) &&
(items[SLOT_AMMO] && items[SLOT_AMMO]->getID() == ITEM_BURST_ARROW);
}
#endif //SD_BURST_ARROW
Dodajemy:



Code:
#ifdef GOLD_BOLT
bool Player::isUsingGoldbolt() const
{
return ((items[SLOT_LEFT] && items[SLOT_LEFT]->getID() == ITEM_CROSS_BOW) ||
(items[SLOT_RIGHT] && items[SLOT_RIGHT]->getID() == ITEM_CROSS_BOW)) &&
(items[SLOT_AMMO] && items[SLOT_AMMO]->getID() == ITEM_GOLD_BOLT);
}
#endif //GOLD_BOLT
Nastepnie w game.h pod linijk?:



Code:
#ifdef SD_BURST_ARROW
void burstArrow(Creature* c, const Position& pos);
static double BURST_DMG_LVL, BURST_DMG_MLVL, BURST_DMG_LO, BURST_DMG_HI;
#endif //SD_BURST_ARROW
Dodajemy



Code:
#ifdef GOLD_BOLT
void goldbolt(Creature* c, const Position& pos);
static double GOLD_DMG_LVL, GOLD_DMG_MLVL, GOLD_DMG_LO, GOLD_DMG_HI;
#endif //GOLD_BOLT
Teraz w luascript.h pod linijk?:


Code:
#ifdef SD_BURST_ARROW
double BURST_DMG_LVL;
double BURST_DMG_MLVL;
double BURST_DMG_LO;
double BURST_DMG_HI;
#endif //SD_BURST_ARROW
Dodajemy


Code:
#ifdef GOLD_BOLT
double GOLD_DMG_LVL;
double GOLD_DMG_MLVL;
double GOLD_DMG_LO;
double GOLD_DMG_HI;
#endif //GOLD_BOLT
Jeszcze w player.h pod linijk?:


Code:
#ifdef SD_BURST_ARROW
bool isUsingBurstArrows() const;
#endif //SD_BURST_ARROW
Dodajemy



Code:
#ifdef GOLD_BOLT
bool isUsingGoldbolt() const;
#endif //GOLD_BOLT
Teraz w kompilatorze dodajemy na ko?cu:


Code:
-DGOLD_BOLT
Teraz przebudowa? i gotowe

A, i jeszcze config.lua na ko?cu trzeba doda?:



Code:
-- golden bolt settigins
-- default is from (1*lvl+5*mlvl)*0.24 to (1*lvl+5*mlvl)*0.55
goldboltdmg = {"1.0", "5.0", "0.24", "0.55"}
 

Ponury Ziom

Advanced User
Joined
Aug 29, 2008
Messages
166
Reaction score
13
Odp: Dzia?aj?cy GOLDEN BOLT

Ch?opie tw?j skrypt nie Autor nie pozwala? udost?pnia? na innych forach a poza tym to si? jako? zaczyna np "Witam przedstawiam pa?stwu Skrypt na golden bolta" i jako? ?adnie to czeba by by?o zrobi? :down:
 

Aragornkk

Senior User
Joined
Oct 11, 2008
Messages
705
Reaction score
44
Odp: Dzia?aj?cy GOLDEN BOLT

Mam do ciebie tak? pro?b? jak ju? kopiujesz daj najlepiej cytuj. I oryginalny temat.
A tak wogule co to robi?
 

Lupoh

Active User
Joined
Jul 15, 2009
Messages
121
Reaction score
8
Odp: Dzia?aj?cy GOLDEN BOLT

'Golden Bolt':curse: co to jest w og?le?
A poza tym skrypt nie jest na pewno tw?j, wida? ctrl+c ctrl+v
Je?li ju? dodajesz na forum skrypt m?g?by? si? troch? postara? i napisa? to estetycznie:down:
 

MappingFOR

Advanced User
Joined
Apr 3, 2009
Messages
431
Reaction score
18
Odp: Dzia?aj?cy GOLDEN BOLT

Code:
ITEM_BURST_ARROW = 2546
,Dodajemy:



Code:
ITEM_GOLD_BOLT = 2437
,Teraz pod linijk?:



Code:
ITEM_BOW = 2456
,Dodajemy:



Code:
ITEM_CROSS_BOW = 2455
,Teraz w game.cpp pod linijk?:


Code:
#ifdef SD_BURST_ARROW
if (player->isUsingBurstArrows())
burstArrow(player, attackedCreature->pos);
#endif //SD_BURST_ARROW
Dodajemy:



Code:
#ifdef GOLD_BOLT
if (player->isUsingGoldbolt())
goldbolt(player, attackedCreature->pos);
#endif //GOLD_BOLT
Nastepnie pod linijk?:


Code:
#ifdef SD_BURST_ARROW
class MagicEffectAreaNoExhaustionClass: public MagicEffectAreaClass {
public:
bool causeExhaustion(bool hasTarget) const { return false; }
};

void Game::burstArrow(Creature* c, const Position& pos)
{
OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::burstArrow()");
std::vector<unsigned char> col;
MagicEffectAreaNoExhaustionClass runeAreaSpell;

runeAreaSpell.attackType = ATTACK_PHYSICAL;
runeAreaSpell.animationEffect = NM_ANI_BURSTARROW;
runeAreaSpell.hitEffect = NM_ME_EXPLOSION_DAMAGE;
runeAreaSpell.areaEffect = NM_ME_EXPLOSION_AREA;
runeAreaSpell.animationColor = 198; //DAMAGE_FIRE;
runeAreaSpell.drawblood = true;
runeAreaSpell.offensive = true;

/* Area of Spell */
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);
col.clear();
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);
col.clear();
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);

/* hard no ? */
runeAreaSpell.direction = 1;
runeAreaSpell.minDamage = int(((c->level*g_config.BURST_DMG_LVL)+(c->maglevel*g_config.BURST_DMG_MLVL))*g_config.BURST _DMG_LO);
runeAreaSpell.maxDamage = int(((c->level*g_config.BURST_DMG_LVL)+(c->maglevel*g_config.BURST_DMG_MLVL))*g_config.BURST _DMG_HI);
creatureThrowRune(c, pos, runeAreaSpell);
}
#endif //SD_BURST_ARROW
Dodajemy:



Code:
#ifdef GOLD_BOLT
void Game::goldbolt(Creature* c, const Position& pos)
{
OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::goldbolt()");
std::vector<unsigned char> col;
MagicEffectAreaNoExhaustionClass runeAreaSpell;

runeAreaSpell.attackType = ATTACK_PHYSICAL;
runeAreaSpell.animationEffect = NM_ANI_ENERGY;
runeAreaSpell.hitEffect = NM_ME_ENERGY_AREA;
runeAreaSpell.areaEffect = NM_ME_ENERGY_DAMAGE;
runeAreaSpell.animationColor = 198; //DAMAGE_FIRE;
runeAreaSpell.drawblood = true;
runeAreaSpell.offensive = true;

/* Area of Spell */
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);
col.clear();
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);
col.clear();
col.push_back(1);
col.push_back(1);
col.push_back(1);
runeAreaSpell.areaVec.push_back(col);

/* hard no ? */
runeAreaSpell.direction = 1;
runeAreaSpell.minDamage = int(((c->level*g_config.GOLD_DMG_LVL)+(c->maglevel*g_config.GOLD_DMG_MLVL))*g_config.GOLD_D MG_LO);
runeAreaSpell.maxDamage = int(((c->level*g_config.GOLD_DMG_LVL)+(c->maglevel*g_config.GOLD_DMG_MLVL))*g_config.GOLD_D MG_HI);
creatureThrowRune(c, pos, runeAreaSpell);
}
#endif //GOLD_BOLT
Teraz w luascript.cpp pod linijk?:



Code:
#ifdef SD_BURST_ARROW
BURST_DMG_LVL = atof(getGlobalStringField("burstarrowdmg", 1, "2.0").c_str());
BURST_DMG_MLVL = atof(getGlobalStringField("burstarrowdmg", 2, "3.0").c_str());
BURST_DMG_LO = atof(getGlobalStringField("burstarrowdmg", 3, "0.24").c_str());
BURST_DMG_HI = atof(getGlobalStringField("burstarrowdmg", 4, "0.55").c_str());
#endif //SD_BURST_ARROW
Dodajemy:



Code:
#ifdef GOLD_BOLT
GOLD_DMG_LVL = atof(getGlobalStringField("goldboltdmg", 1, "2.0").c_str());
GOLD_DMG_MLVL = atof(getGlobalStringField("goldboltdmg", 2, "3.0").c_str());
GOLD_DMG_LO = atof(getGlobalStringField("goldboltdmg", 3, "0.24").c_str());
GOLD_DMG_HI = atof(getGlobalStringField("goldboltdmg", 4, "0.55").c_str());
#endif //GOLD_BOLT
Teraz w players.cpp pod linijk?:


Code:
#ifdef SD_BURST_ARROW
bool Player::isUsingBurstArrows() const
{
return ((items[SLOT_LEFT] && items[SLOT_LEFT]->getID() == ITEM_BOW) ||
(items[SLOT_RIGHT] && items[SLOT_RIGHT]->getID() == ITEM_BOW)) &&
(items[SLOT_AMMO] && items[SLOT_AMMO]->getID() == ITEM_BURST_ARROW);
}
#endif //SD_BURST_ARROW
Dodajemy:



Code:
#ifdef GOLD_BOLT
bool Player::isUsingGoldbolt() const
{
return ((items[SLOT_LEFT] && items[SLOT_LEFT]->getID() == ITEM_CROSS_BOW) ||
(items[SLOT_RIGHT] && items[SLOT_RIGHT]->getID() == ITEM_CROSS_BOW)) &&
(items[SLOT_AMMO] && items[SLOT_AMMO]->getID() == ITEM_GOLD_BOLT);
}
#endif //GOLD_BOLT
Nastepnie w game.h pod linijk?:



Code:
#ifdef SD_BURST_ARROW
void burstArrow(Creature* c, const Position& pos);
static double BURST_DMG_LVL, BURST_DMG_MLVL, BURST_DMG_LO, BURST_DMG_HI;
#endif //SD_BURST_ARROW
Dodajemy



Code:
#ifdef GOLD_BOLT
void goldbolt(Creature* c, const Position& pos);
static double GOLD_DMG_LVL, GOLD_DMG_MLVL, GOLD_DMG_LO, GOLD_DMG_HI;
#endif //GOLD_BOLT
Teraz w luascript.h pod linijk?:


Code:
#ifdef SD_BURST_ARROW
double BURST_DMG_LVL;
double BURST_DMG_MLVL;
double BURST_DMG_LO;
double BURST_DMG_HI;
#endif //SD_BURST_ARROW
Dodajemy


Code:
#ifdef GOLD_BOLT
double GOLD_DMG_LVL;
double GOLD_DMG_MLVL;
double GOLD_DMG_LO;
double GOLD_DMG_HI;
#endif //GOLD_BOLT
Jeszcze w player.h pod linijk?:


Code:
#ifdef SD_BURST_ARROW
bool isUsingBurstArrows() const;
#endif //SD_BURST_ARROW
Dodajemy



Code:
#ifdef GOLD_BOLT
bool isUsingGoldbolt() const;
#endif //GOLD_BOLT
Teraz w kompilatorze dodajemy na ko?cu:


Code:
-DGOLD_BOLT
Teraz przebudowa? i gotowe

A, i jeszcze config.lua na ko?cu trzeba doda?:



Code:
-- golden bolt settigins
-- default is from (1*lvl+5*mlvl)*0.24 to (1*lvl+5*mlvl)*0.55
goldboltdmg = {"1.0", "5.0", "0.24", "0.55"}
 

tyrael121

Active User
Joined
Dec 28, 2008
Messages
65
Reaction score
3
Odp: Dzia?aj?cy GOLDEN BOLT

Przepraszam koledzy i kole?anki ale w tamtej chwili naprawde nie mia?em czasu a chcia?em udost?pni? ten skrypt
Tak przyznaje ?e nie by? m?j i sorka
Wybaczycie mi ????:confused:
Zeytowa? bym to ale kolega @up ju? to zrobi? za co dzi?kuj? :)
 

marcinelite

New User
Joined
Apr 17, 2009
Messages
3
Reaction score
0
Odp: Dzia?aj?cy GOLDEN BOLT

Przepraszam koledzy i kole?anki ale w tamtej chwili naprawde nie mia?em czasu a chcia?em udost?pni? ten skrypt
Tak przyznaje ?e nie by? m?j i sorka
Wybaczycie mi ????:confused:
Zeytowa? bym to ale kolega @up ju? to zrobi? za co dzi?kuj? :)

jak bys to zaedytowal to bys to wczesniej zrobil ,slabo estetycznie rozczytac sie nieda i nie wszystko jest po prostu odwaliles kawal daremnej roboty tylko dla nabicia postow :mad::mad::mad::mad::mad::mad::mad::mad::mad::mad::mad::mad::mad::mad::mad:
 

Mr Muchas

User
Joined
Oct 17, 2009
Messages
20
Reaction score
0
Odp: Dzia?aj?cy GOLDEN BOLT

Eee da? by? linka do tego bo nie rozumiem...
 

Koderek

User
Joined
Dec 7, 2009
Messages
44
Reaction score
3
Odp: Dzia?aj?cy GOLDEN BOLT

Mr Muchas napisz mi na PW wszystko ci wyt?umacze.
 

arkadjo1995

New User
Joined
Dec 18, 2009
Messages
4
Reaction score
0
Age
29
Odp: Dzia?aj?cy GOLDEN BOLT

Ja te? tego nie rozumiem, tzn. zrobi?em ju? wszystko w c++, ale nie rozumiem 4 pierwszych linijek
ITEM_BURST_ARROW = 2546
,Dodajemy:



Kod:
ITEM_GOLD_BOLT = 2437
,Teraz pod linijk?:



Kod:
ITEM_BOW = 2456
,Dodajemy:



Kod:
ITEM_CROSS_BOW = 2455

gdzie mam to zrobi? ?
 

artesik

Active User
Joined
Mar 8, 2009
Messages
97
Reaction score
1
Odp: Dzia?aj?cy GOLDEN BOLT

w const76.h
pewnie dostane warna haha xD za pomoc uzytkownikowi
 

Voltiur

User
Joined
Aug 20, 2009
Messages
20
Reaction score
0
Odp: Dzia?aj?cy GOLDEN BOLT

Fajnie, szkoda ?e to jest plagiat, pozdro ziom666.
 

mateusztibia

New User
Joined
Dec 23, 2009
Messages
1
Reaction score
0
Odp: Dzia?aj?cy GOLDEN BOLT

Trzeba mi Silnik CafeOts plix za?atwcie:) piszcie na GG:
162569907;)
 
Joined
Jun 28, 2009
Messages
24
Reaction score
2
Odp: Dzia?aj?cy GOLDEN BOLT

Testowa? kto? mo?e ten skrypt? :confused:
Bardzo mi by si? przyda? golden bolt na moim OTS'ie. =)
 

Knesses

User
Joined
Dec 25, 2009
Messages
30
Reaction score
1
Odp: Dzia?aj?cy GOLDEN BOLT

@UP
Prawdopodobnie (nie jestem tego pewien) mo?e wyst?pi? crash gdy b?dziesz bi? z g bolta profesja inna ni? pall.
Mo?liwe ?e to tylko u mnie, przez moj? edycje
 

Mr David

Advanced User
Joined
Nov 9, 2009
Messages
203
Reaction score
47
Odp: Dzia?aj?cy GOLDEN BOLT

Testowa? kto? mo?e ten skrypt? :confused:
Bardzo mi by si? przyda? golden bolt na moim OTS'ie. =)

Skrypt dzia?a na 100%, sam go testowa?em i nie odkry?em ?adnych krytycznych b??d?w.

Jedynie co mo?e przeszkadza? to, ze Knight, Sorcerer lud Druid mo?e tez z tego bic.
Zamiast tego:
Code:
#ifdef GOLD_BOLT
if (player->isUsingGoldbolt())
goldbolt(player, attackedCreature->pos);
#endif //GOLD_BOLT

Dodajemy to:
Code:
#ifdef GOLD_BOLT
if (player->vocation == VOCATION_PALADIN)
{
if (player->isUsingGoldbolt())
goldbolt(player, attackedCreature->pos);
}
#endif //GOLD_BOLT

Jeszcze jeden b??d jest taki, ze je?li bijesz z golden bolta to wtedy hitasz tak?e z piesci.
 

Xzzi

New User
Joined
Feb 8, 2010
Messages
1
Reaction score
0
Odp: Dzia?aj?cy GOLDEN BOLT

Chetnie bym ci udostepnil caly folder z source z silver wand spanshiere set g bolt itp ale nie mam 30 postow ;/
 

P a l

Active User
Joined
Jan 30, 2010
Messages
127
Reaction score
2
Odp: Dzia?aj?cy GOLDEN BOLT

Teraz w kompilatorze dodajemy na ko?cu:


Kod:

-DGOLD_BOLT


NIe rozmumie gdzie w kompikatorze ?? chodzi o deva?? jak tak to plx powiedzcie gdzie
 

Mr David

Advanced User
Joined
Nov 9, 2009
Messages
203
Reaction score
47
Odp: Dzia?aj?cy GOLDEN BOLT

Teraz w kompilatorze dodajemy na ko?cu:
Kod:
-DGOLD_BOLT
NIe rozmumie gdzie w kompikatorze ?? chodzi o deva?? jak tak to plx powiedzcie gdzie

Na samym gorze masz taka "listewke" pisze tam Plik,Edycja itd.
Wejd? w Projekt(lub ALT+P) -> Opcje projektu -> Parametry -> I tam pisze Kompilator c++, tam wklepujesz -DGOLD_BOLT
 
Status
Not open for further replies.
Top