Postado Julho 6, 2017 7 anos Carinha, estudei o seu caso e não existe 1 função em lua que identifique qual é o slot de determinado item, então a "solução" seria 1 script para cada slot. Por exemplo, para shields você vai ter que usar este script em cada um dos shields existentes no movements.xml (caso haja algum shield que não esteja lá, você vai ter que adicionar). function onEquip(cid, item, slot) if (slot == 5) then return true else return false end return true end Rainbow Shield usado como exemplo: <!-- Rainbow Shield --> <movevent type="Equip" itemid="8905" slot="shield" level="100" event="script" value="slotshield.lua"> <vocation name="Knight"/> <vocation id="8" showInDescription="0"/> </movevent> Espero que tenha entendido o raciocínio, segue os scripts para os outros slots. Helmets function onEquip(cid, item, slot) if (slot == 1) then return true else return false end return true end Armors function onEquip(cid, item, slot) if (slot == 4) then return true else return false end return true end Legs function onEquip(cid, item, slot) if (slot == 7) then return true else return false end return true end Boots function onEquip(cid, item, slot) if (slot == 8) then return true else return false end return true end Rings function onEquip(cid, item, slot) if (slot == 9) then return true else return false end return true end Amuletos function onEquip(cid, item, slot) if (slot == 2) then return true else return false end return true end Munições function onEquip(cid, item, slot) if (slot == 10) then return true else return false end return true end Wands/Armas function onEquip(cid, item, slot) if (slot == 6) then return true else return false end return true end Lembrando: isso é uma PUTA duma GAMBIARRA, o correto seria fazer essas alterações direto nas sources. Editado Julho 6, 2017 7 anos por Way20 (veja o histórico de edições) Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito. Aristóteles
Postado Julho 8, 2017 7 anos Autor Em 06/07/2017 ás 03:56, Way20 disse: Carinha, estudei o seu caso e não existe 1 função em lua que identifique qual é o slot de determinado item, então a "solução" seria 1 script para cada slot. Por exemplo, para shields você vai ter que usar este script em cada um dos shields existentes no movements.xml (caso haja algum shield que não esteja lá, você vai ter que adicionar). function onEquip(cid, item, slot) if (slot == 5) then return true else return false end return true end Rainbow Shield usado como exemplo: <!-- Rainbow Shield --> <movevent type="Equip" itemid="8905" slot="shield" level="100" event="script" value="slotshield.lua"> <vocation name="Knight"/> <vocation id="8" showInDescription="0"/> </movevent> Espero que tenha entendido o raciocínio, segue os scripts para os outros slots. Helmets function onEquip(cid, item, slot) if (slot == 1) then return true else return false end return true end Armors function onEquip(cid, item, slot) if (slot == 4) then return true else return false end return true end Legs function onEquip(cid, item, slot) if (slot == 7) then return true else return false end return true end Boots function onEquip(cid, item, slot) if (slot == 8) then return true else return false end return true end Rings function onEquip(cid, item, slot) if (slot == 9) then return true else return false end return true end Amuletos function onEquip(cid, item, slot) if (slot == 2) then return true else return false end return true end Munições function onEquip(cid, item, slot) if (slot == 10) then return true else return false end return true end Wands/Armas function onEquip(cid, item, slot) if (slot == 6) then return true else return false end return true end Lembrando: isso é uma PUTA duma GAMBIARRA, o correto seria fazer essas alterações direto nas sources. 1º Criei o arquivo.lua com o nome de slotarmor e ae fui até a armor e modifiquei como ler o .lua certinho 2° Não adiantou, a armor ainda foi pra qualquer Slots como antes! 3° Quando liguei a Distro, deu erro de OnDeEquip não encontrado, então criei outro arquivo pra ler OnDeEquip, ficando 2.lua OnDeEquipe e OnEquipe, ao usar o comando /i para criar o item, a distro "Cai" e se ir para Backpack e eu puxar pra cima, continua indo para qualquer slots! Enfim, testei com todos outros script de Slot, apos criar o item, quando move para outro slot a Distro Cai "Fecha"! Mesmo assim obrigado por tentar ajudar, você saberia onde modificar isso na Distro? Sei la fazer um Tutorial ae pra todo mundo? rs Valeuu (-:
Postado Julho 8, 2017 7 anos 11 horas atrás, Digoshow disse: 1º Criei o arquivo.lua com o nome de slotarmor e ae fui até a armor e modifiquei como ler o .lua certinho 2° Não adiantou, a armor ainda foi pra qualquer Slots como antes! 3° Quando liguei a Distro, deu erro de OnDeEquip não encontrado, então criei outro arquivo pra ler OnDeEquip, ficando 2.lua OnDeEquipe e OnEquipe, ao usar o comando /i para criar o item, a distro "Cai" e se ir para Backpack e eu puxar pra cima, continua indo para qualquer slots! Enfim, testei com todos outros script de Slot, apos criar o item, quando move para outro slot a Distro Cai "Fecha"! Testei com a armor aqui e realmente não funcionou como deveria, eu havia testado apenas com o caso do shield e tinha funcionado, deveria funcionar pra você também (pelo menos no caso do shield). 11 horas atrás, Digoshow disse: Mesmo assim obrigado por tentar ajudar, você saberia onde modificar isso na Distro? Sei la fazer um Tutorial ae pra todo mundo? rs Valeuu (-: Saber onde modificar até sei, mas não tenho o conhecimento em c++ pra fazer essa modificação. Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito. Aristóteles
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.