Bem legal, mas nunca tinha visto algo assim, poderia me explicar como funciona, e no que alteraria?
- Fórum
- OTServ
- Recursos
- Linguagens de Programação
- Dual Wield || Weapons for tfs (1.x)
Dual Wield || Weapons for tfs (1.x)
Por kaleudd, 18 de jan. de 2016 em Linguagens de Programação
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +333
Gênero: Masculino
Char no Tibia: Kyuzen

Bem legal, mas nunca tinha visto algo assim, poderia me explicar como funciona, e no que alteraria?
você pode ter duas armas ao mesmo tempo,tipo spike sword na mão esquerda e um knight axe à mão direita.
Editado Janeiro 18 por kaleudd
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +333
Gênero: Masculino
Char no Tibia: Kyuzen

Entendi, bem legal, vai ser super útil, parabéns pelo script xD.
info
Grupo: Visconde
Registrado: 09/08/10
Posts: 314
Reputação: +19
Char no Tibia: não tenho

Desculpa reviver, estou precisando muito.
Em minha source está diferente.
CitarITEM_ATTRIBUTE_DOORID = 1 << 22,
info
Grupo: Infante
Registrado: 22/12/12
Posts: 2k
Reputação: +736
Gênero: Masculino
Char no Tibia: Marley

6 minutos atrás, diarmaint disse:Desculpa reviver, estou precisando muito.
Em minha source está diferente.
Não muda, só adicionar embaixo.
A versão do TFS é a mesma?
info
Grupo: Visconde
Registrado: 09/08/10
Posts: 314
Reputação: +19
Char no Tibia: não tenho

Mano, to usando aquele servidor do malucoo
se não me engano é 1.3





info
Grupo: Conde
Registrado: 15/06/15
Posts: 729
Reputação: +200
primeiro começamos com código
em enums.h
procure:
em baixo adicione:
em item.cpp:
procure:
case ATTR_EXTRADEFENSE: { int32_t extraDefense; if (!propStream.read<int32_t>(extraDefense)) { return ATTR_READ_ERROR; } setIntAttr(ITEM_ATTRIBUTE_EXTRADEFENSE, extraDefense); break; }em baixo adicione:
case ATTR_DUAL: { bool dual; if (!propStream.read<bool>(dual)) { return ATTR_READ_ERROR; } break; }em mesmo,procure:
if (hasAttribute(ITEM_ATTRIBUTE_EXTRADEFENSE)) { propWriteStream.write<uint8_t>(ATTR_EXTRADEFENSE); propWriteStream.write<int32_t>(getIntAttr(ITEM_ATTRIBUTE_EXTRADEFENSE)); }e adicione em baixo:
if (hasAttribute(ITEM_ATTRIBUTE_DUAL)) { return; }em item.h
procure:
e adicione em baixo:
no mesmo,procure:
int32_t getDefense() const { if (hasAttribute(ITEM_ATTRIBUTE_DEFENSE)) { return getIntAttr(ITEM_ATTRIBUTE_DEFENSE); } return items[id].defense; }e adicione em baixo:
bool isDual() const { if (hasAttribute(ITEM_ATTRIBUTE_DUAL)) { return bool(ITEM_ATTRIBUTE_DUAL); } return items[id].dual; }em items.cpp
procure:
e adicione em baixo:
no mesmo,procure:
else if (tmpStrValue == "defense") { it.defense = pugi::cast<int32_t>(valueAttribute.value()); }e adicione em baixo:
else if (tmpStrValue == "dual") { it.dual = valueAttribute.as_bool(); }em items.h
procure:
e adicione em baixo:
em luascript.cpp
procure:
em baixo adicione:
em player.cpp
procure:
e substituia por esse:
com isso:
no mesmo,procure:
e adicione em baixo:
no mesmo,adicione esse código:
no mesmo,procure:
e substituia por esse:
com isso:
no mesmo procure:
e adicione em baixo:
no mesmo,adicione esse código:
em tools.cpp
procure:
else if (str == "defense") { return ITEM_ATTRIBUTE_DEFENSE; }e adicione em baixo:
else if (str == "dual") { return ITEM_ATTRIBUTE_DUAL; }Agora que fizemos o código.
Como funciona ?
em items.xml você pode adicionar esta chave de atributo em qualquer arma.
créditos: