Duuhzinhow 30 Postado Maio 23, 2015 Share Postado Maio 23, 2015 Galera, preciso de um script que no caso eu colocaria uma lista de IDs de itens, que uma "x" vocaçao nao poderia usar. Rep+ me ajudem por favor hahaha Link para o comentário Compartilhar em outros sites More sharing options...
xSONYx 31 Postado Maio 23, 2015 Share Postado Maio 23, 2015 http://www.xtibia.com/forum/topic/195335-vocation-weapon/ Link para o comentário Compartilhar em outros sites More sharing options...
Duuhzinhow 30 Postado Maio 24, 2015 Autor Share Postado Maio 24, 2015 http://www.xtibia.com/forum/topic/195335-vocation-weapon/ Absolutamente nada haver com o pedido. Link para o comentário Compartilhar em outros sites More sharing options...
xSONYx 31 Postado Maio 24, 2015 Share Postado Maio 24, 2015 Vdd, sorry, mandei o link errado, não tô achando um original, entretanto; no forum tem um script assim, da uma olhadinha direito Link para o comentário Compartilhar em outros sites More sharing options...
RigBy 285 Postado Maio 24, 2015 Share Postado Maio 24, 2015 Né mais facil fazer isso por .xml? <movevent type="Equip" itemid="7886;2456;+ID's" slot="hand;feet;ring;head;necklace;backpack;legs;armor" level="5" event="function" value="onEquipItem"> <vocation id="2"/> -- Vocações que pode usar o item </movevent> Link para o comentário Compartilhar em outros sites More sharing options...
Duuhzinhow 30 Postado Maio 27, 2015 Autor Share Postado Maio 27, 2015 Né mais facil fazer isso por .xml? <movevent type="Equip" itemid="7886;2456;+ID's" slot="hand;feet;ring;head;necklace;backpack;legs;armor" level="5" event="function" value="onEquipItem"> <vocation id="2"/> -- Vocações que pode usar o item </movevent> Seria um saco por serem muitos IDs Por isso pedi um script pra fazer uma lista.. up ;v up Link para o comentário Compartilhar em outros sites More sharing options...
Bruno 535 Postado Maio 29, 2015 Share Postado Maio 29, 2015 Vamos fazer o teste... Em data/movements/scripts crie um arquivo chamado byVocation.lua com o seguinte conteúdo: local vocations = { ['sorcerer'] = {2160, 3063, 3040}, ['druid'] = {3080, 2400, 8453}, ['paladin'] = {2410, 3023, 3160}, ['knight'] = {2400, 2340, 3031}, ['master sorcerer'] = {2160, 3063, 3040}, ['elder druid'] = {3080, 2400, 8453}, ['royal paladin'] = {2410, 3023, 3160}, ['elite knight'] = {2400, 2340, 3031} } -- Não mexa em nada abaixo function onEquip(cid, item, slot) local vocation = getPlayerVocationName(cid) local items = {} for i = 1, #vocations[vocation] do table.insert(items, vocations[vocation][i]) end if not isInArray(items, item.itemid) then doPlayerSendCancel(cid, 'Este item nao pode ser usado por sua vocacao.') end return true endBasta colocar os id's em suas respectivas arrays. Agora em data/movements/movements.xml adicione a seguinte linha: <movevent type="Equip" itemid="3063;3040;3080;2400; todos os ids;" slot="hand;feet;ring;head;necklace;backpack;legs;armor" event="script" value="byVocation.lua" />Tem necessidade de colocar id por id no xml, para que ele reconheça o script... Qualquer erro me fale. Link para o comentário Compartilhar em outros sites More sharing options...
Duuhzinhow 30 Postado Junho 5, 2015 Autor Share Postado Junho 5, 2015 Vamos fazer o teste...Em data/movements/scripts crie um arquivo chamado byVocation.lua com o seguinte conteúdo: local vocations = { ['sorcerer'] = {2160, 3063, 3040}, ['druid'] = {3080, 2400, 8453}, ['paladin'] = {2410, 3023, 3160}, ['knight'] = {2400, 2340, 3031}, ['master sorcerer'] = {2160, 3063, 3040}, ['elder druid'] = {3080, 2400, 8453}, ['royal paladin'] = {2410, 3023, 3160}, ['elite knight'] = {2400, 2340, 3031} } -- Não mexa em nada abaixo function onEquip(cid, item, slot) local vocation = getPlayerVocationName(cid) local items = {} for i = 1, #vocations[vocation] do table.insert(items, vocations[vocation][i]) end if not isInArray(items, item.itemid) then doPlayerSendCancel(cid, 'Este item nao pode ser usado por sua vocacao.') end return true endBasta colocar os id's em suas respectivas arrays. Agora em data/movements/movements.xml adicione a seguinte linha: <movevent type="Equip" itemid="3063;3040;3080;2400; todos os ids;" slot="hand;feet;ring;head;necklace;backpack;legs;armor" event="script" value="byVocation.lua" />Tem necessidade de colocar id por id no xml, para que ele reconheça o script...Qualquer erro me fale. Deu esse erro no xml data/movements/movements.xml:574: parser error : Opening and ending tag mismatch : movements line 2 and movevent </movevent> ^ data/movements/movements.xml:575: parser error : Extra content at the end of the document <movevent type="DeEquip" itemid="8819" slot="armor" event="function" val ue="onD ^ [Warning - BaseEvents::loadFromXml] Cannot open movements.xml file. Line: 575, Info: Extra content at the end of the document > ERROR: Unable to load MoveEvents! Link para o comentário Compartilhar em outros sites More sharing options...
Bruno 535 Postado Junho 5, 2015 Share Postado Junho 5, 2015 Deu esse erro no xml data/movements/movements.xml:574: parser error : Opening and ending tag mismatch : movements line 2 and movevent </movevent> ^ data/movements/movements.xml:575: parser error : Extra content at the end of the document <movevent type="DeEquip" itemid="8819" slot="armor" event="function" val ue="onD ^ [Warning - BaseEvents::loadFromXml] Cannot open movements.xml file. Line: 575, Info: Extra content at the end of the document > ERROR: Unable to load MoveEvents! Coloca a linha toda do xml que você colocou Link para o comentário Compartilhar em outros sites More sharing options...
Duuhzinhow 30 Postado Junho 27, 2015 Autor Share Postado Junho 27, 2015 Coloca a linha toda do xml que você colocou <movevent type="Equip" itemid="2520;2515;2512" slot="hand;feet;ring;head;necklace;backpack;legs;armor" event="script" value="itens.lua"/> Sim nomeei o .lua como "itens" e aqui o script local vocations = { ['dark warrior'] = {2520, 2515, 2512}, } -- Não mexa em nada abaixo function onEquip(cid, item, slot) local vocation = getPlayerVocationName(cid) local items = {} for i = 1, #vocations[vocation] do table.insert(items, vocations[vocation]) end if not isInArray(items, item.itemid) then doPlayerSendCancel(cid, 'Este item nao pode ser usado por sua vocacao.') end return true end up Link para o comentário Compartilhar em outros sites More sharing options...
Bruno 535 Postado Julho 14, 2015 Share Postado Julho 14, 2015 O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados