kaleudd 200 Postado Janeiro 18, 2016 Share Postado Janeiro 18, 2016 primeiro começamos com códigoem enums.h procure: ITEM_ATTRIBUTE_DOORID = 4194304 em baixo adicione: ITEM_ATTRIBUTE_DUAL = 8388608 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: ATTR_SHOOTRANGE = 33, e adicione em baixo: ATTR_DUAL = 34 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: armor = 0; e adicione em baixo: dual = false; 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: int32_t runeLevel; e adicione em baixo: bool dual; em luascript.cpp procure: registerEnum(ITEM_ATTRIBUTE_ATTACK) em baixo adicione: registerEnum(ITEM_ATTRIBUTE_DUAL) em player.cpp procure: case CONST_SLOT_RIGHT: e substituia por esse: if (item->getWeaponType() != WEAPON_SHIELD) com isso: if (item->getWeaponType() != WEAPON_SHIELD && !item->isDual()) no mesmo,procure: else if (!leftItem->isWeapon() || !item->isWeapon() e adicione em baixo: || type == WEAPON_AMMO no mesmo,adicione esse código: || leftItem->isDual() && item->isDual() no mesmo,procure: case CONST_SLOT_LEFT: e substituia por esse: if (!item->isWeapon() || item->getWeaponType() == WEAPON_SHIELD) com isso: if (!item->isWeapon() && !item->isDual() || item->getWeaponType() == WEAPON_SHIELD) no mesmo procure: else if (!rightItem->isWeapon() || !item->isWeapon() e adicione em baixo: type == WEAPON_AMMO no mesmo,adicione esse código: || rightItem->isDual() && item->isDual() 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. <attribute key="dual" value="1" /> créditos: EvilSkillz Link para o comentário https://xtibia.com/forum/topic/238877-dual-wield-weapons-for-tfs-1x/ Compartilhar em outros sites More sharing options...
SamueLGuedes 333 Postado Janeiro 18, 2016 Share Postado Janeiro 18, 2016 Bem legal, mas nunca tinha visto algo assim, poderia me explicar como funciona, e no que alteraria? Link para o comentário https://xtibia.com/forum/topic/238877-dual-wield-weapons-for-tfs-1x/#findComment-1681969 Compartilhar em outros sites More sharing options...
kaleudd 200 Postado Janeiro 18, 2016 Autor Share Postado Janeiro 18, 2016 (editado) 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, 2016 por kaleudd Link para o comentário https://xtibia.com/forum/topic/238877-dual-wield-weapons-for-tfs-1x/#findComment-1681973 Compartilhar em outros sites More sharing options...
SamueLGuedes 333 Postado Janeiro 18, 2016 Share Postado Janeiro 18, 2016 Entendi, bem legal, vai ser super útil, parabéns pelo script xD. Link para o comentário https://xtibia.com/forum/topic/238877-dual-wield-weapons-for-tfs-1x/#findComment-1681979 Compartilhar em outros sites More sharing options...
diarmaint 19 Postado Fevereiro 22, 2019 Share Postado Fevereiro 22, 2019 Desculpa reviver, estou precisando muito. Em minha source está diferente. Citar ITEM_ATTRIBUTE_DOORID = 1 << 22, Link para o comentário https://xtibia.com/forum/topic/238877-dual-wield-weapons-for-tfs-1x/#findComment-1749020 Compartilhar em outros sites More sharing options...
Benny 736 Postado Fevereiro 22, 2019 Share Postado Fevereiro 22, 2019 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? Link para o comentário https://xtibia.com/forum/topic/238877-dual-wield-weapons-for-tfs-1x/#findComment-1749021 Compartilhar em outros sites More sharing options...
diarmaint 19 Postado Fevereiro 22, 2019 Share Postado Fevereiro 22, 2019 Mano, to usando aquele servidor do malucoo se não me engano é 1.3 https://github.com/malucooo/Otxserver-New Link para o comentário https://xtibia.com/forum/topic/238877-dual-wield-weapons-for-tfs-1x/#findComment-1749022 Compartilhar em outros sites More sharing options...
Posts Recomendados