Enfu i.i'
Sinistro
Agora só precisa fazer um code de quebrar a sword ou algo semelhante... Para que tenha que procurar um blacksmith para consertar ou incrementar =)
Enfu i.i'
Sinistro
Agora só precisa fazer um code de quebrar a sword ou algo semelhante... Para que tenha que procurar um blacksmith para consertar ou incrementar =)
info
Grupo: Campones
Registrado: 25/02/07
Posts: 84
Reputação: 0

Isso ai é inovador ;b
Quando eu te dei a idéia, não sabia que tu ia fazer ![]()
Ta muito bom!, não testei ainda,
Mas vou testar!
Abraços Nostradamus!
info
Grupo: Campones
Registrado: 15/04/07
Posts: 70
Reputação: +1
Char no Tibia: ------

Nostra.
Muito bom, você e seus trabalhos magníficos. Você é muito bom no que faz!
Parabéns!
Abraços.
info
Grupo: Lenda
Registrado: 03/10/06
Posts: 2.6k
Reputação: +309
Gênero: Masculino
Char no Tibia: Knight Orion

Magnífico!
Só preciso agora saber o que é declarar valores
Fora isso, código muito bom
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

@Jackson Zani
Eu nem ia pois acho inútil, mas como o Tibia Global fez...
Valeu!!!! Esta muito bom o code... Eu estava precisando de algo parecido... Mas nao tinha nem ideia de como fazer... Agora eh so modificar
Valeu!
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

Obrigado pelos comentários.
Depois irei fazer um configurável por config.lua
info
Grupo: Lenda
Registrado: 10/10/05
Posts: 2.2k
Reputação: +63
Char no Tibia: Master Chequer

![]()
Realmente muito sinistro \o
Parabéns pelo CODE nostradamus, está magnífico :]~
Cya
Ia ser esse tipo de code nu seu servidor certo, mas como tibia jah disponibilizou..
belissimo code cara, tu eh fera ![]()
info
Grupo: Artesão
Registrado: 17/01/06
Posts: 111
Reputação: 0
Char no Tibia: Poler'Taylor

HAhAHa mal o tibia acaba de da o update com sistemas novos e os cara tao ai ja xD
vlw mto bom
![]()
abraço
info
Grupo: Conde
Registrado: 18/12/05
Posts: 912
Reputação: +86
Gênero: Masculino
Char no Tibia: Kohzete

Eita po...
até o nostradamus aprendeu c++ só eu que naum ![]()
Belo code
Tinha um amigo que se matava por esse code
O maldito do frerety teve preguissa de fazer ahauaahuauhauhau
Até que sumiu e eu nunca + vi o maldito
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

@tibiaa4e
Eu sempre soube C/C++ (Desde que nos conheçemos)
info
Grupo: Banidos
Registrado: 27/05/07
Posts: 43
Reputação: 0
Char no Tibia: Racellwin Shilayr

Que cabrero :blink:
info
Grupo: Cavaleiro
Registrado: 03/06/07
Posts: 150
Reputação: +2

po...
to chocadoO
:blink: ![]()
#####, se tem uma ekipe neah???
di ot e etc... se n tiver
meu ot vai fik online soh anu que vem, to fazendo o mapa xD
vai ser tipow 24 hrs, 300 play+
ot vai ser o capetaaa
uashaush
i preciso dum cara aew, tipow oc xD
se tiver afim, comunique - me!
manerissimo
no more
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker
ATK/DEF/ARM Increase
Explicação: No Tibia 8.0 nós temos algumas armas que aumentam a Def (e.g: You see a XXXX. (Atk: YY Def: ZZ + A)
Fiz semelhante, mas a diferença é que ele pode aumentar o ataque ou mesmo a armor.
Esse é meu primeiro código em OTServ, não tive recursos de testar, mas acho que está 100%
Vamos ao código
Items.cpp
Em ItemType::ItemType()
Adicione:
Depois de:
else if(strcasecmp(strValue.c_str(), "attack") == 0){ if(readXMLInteger(itemAttributesNode, "value", intValue)){ it.attack = intValue; } } else if(strcasecmp(strValue.c_str(), "armor") == 0){ if(readXMLInteger(itemAttributesNode, "value", intValue)){ it.armor = intValue; } } else if(strcasecmp(strValue.c_str(), "defense") == 0){ if(readXMLInteger(itemAttributesNode, "value", intValue)){ it.defense= intValue; } }Adicione:
else if(strcasecmp(strValue.c_str(), "atkincrease") == 0){ if(readXMLInteger(itemAttributesNode, "value", intValue)){ it.atkbonus = intValue; } } else if(strcasecmp(strValue.c_str(), "armincrease") == 0){ if(readXMLInteger(itemAttributesNode, "value", intValue)){ it.armbonus = intValue; } } else if(strcasecmp(strValue.c_str(), "defincrease") == 0){ if(readXMLInteger(itemAttributesNode, "value", intValue)){ it.defbonus = intValue; } }Troque:
Por:
if(getDefBonus) { return getDefBonus() + baseDefense + (defense * shieldSkill) / 100; } else if(getArmBonus) { return getArmBonus() + baseDefense + (defense * shieldSkill) / 100; } else if(getDefBonus && getArmBonus) { return getArmBonus() + getDefBonus() + baseDefense + (defense * shieldSkill) / 100; } else { return baseDefense + (defense * shieldSkill) / 100; }Items.h
Declare esses valores:
E depois de:
int32_t getAttack() const {return items[id].attack;} int32_t getArmor() const {return items[id].armor;} int32_t getDefense() const {return items[id].defence;}Adicione:
int32_t getAtkBonus() const {return items[id].atkbonus;} int32_t getArmBonus() const {return items[id].armbonus;} int32_t getDefBonus() const {return items[id].defbonus;}Troque:
Por:
if(getAttack()) { if(getAtkBonus()) { s << article(it.name) << " (Atk:" << (int32_t)getAttack() << " + " << (int32_t)getAtkBonus() << " Def:" << (int32_t)getDefense() << ")."; } else if(getDefBonus()) { s << article(it.name) << " (Atk:" << (int32_t)getAttack() << " Def:" << (int32_t)getDefense() << " + " << (int32_t)getDefBonus() << ")."; } else if(getAtkBonus() && getDefBonus()) { s << article(it.name) << " (Atk:" << (int32_t)getAttack() << " + " << (int32_t)getAtkBonus() << " Def:" << (int32_t)getDefense() << " + " << (int32_t)getDefBonus() << ")."; } else { s << article(it.name) << " (Atk:" << (int32_t)getAttack() << " Def:" << (int32_t)getDefense() << ")."; } } else if(getArmor()) { if(getArmBonus()) { s << article(it.name) << " (Arm:" << (int32_t)getArmor() << ") +" << (int32_t)getArmBonus(); } else { s << article(it.name) << " (Arm:" << (int32_t)getArmor() << ")."; } } else { if(getDefBonus()) { s << article(it.name) << " (Def:" << (int32_t)getDefense() << " + " << (int32_t)getDefBonus() << ")."; } else { s << article(it.name) << " (Def:" << (int32_t)getDefense() << ")."; } }Weapons.cpp
Troque:
Por:
Para usar é fácil:
Basta por isso em algum item no items.xml
Caso não queira por increases, basta deixar sem.
Código desenvolvido totalmente por mim
Editado Junho 24 por Nostradamus