gonorreiaswat 151 Postado Julho 4, 2011 Share Postado Julho 4, 2011 (editado) [05/07/2011 16:36:23] The Forgotten Server, version 0.3.6 (Crying Damson) [05/07/2011 16:36:23] Compiled with GNU C++ version 3.4.5 (mingw special) at Nov 30 2010, 08:39:22. [05/07/2011 16:36:23] A server developed by Elf, slawkens, Talaturen, KaczooH, Lithium, Kiper, Kornholijo. [05/07/2011 16:36:23] Visit our forum for updates, support and resources: http://otland.net. Eu queria um Script no qual você só pudesse usar o "item / munição" no local do "ammo" se você estivesse com a arma no qual vai precisar para arremessa-lo em mãos. No caso temos o Exemplo do Crystal Arrow...só poder por no SLOT do "AMMO" se você tiver com o G-Bow na mão. Consegui esse Script em um topico...veja abaixo o Script. em movements.xml adicione essa tag. <movevent type="Equip" itemid="2352" slot="ammo" event="script" value="crystal.lua"/> agora em scripts crie um arquivo lua com o nome crystal. adicione isso dentro dele: function onEquip(cid,item) local bow = 7438 if(getPlayerSlotItem(cid,5).itemid == bow)or(getPlayerSlotItem(cid,6).itemid == bow)then doDecayItem(item.uid) else return FALSE,doPlayerSendCancel(cid,'você precisa estar usando o '..getItemNameById(bow)..'.') end return TRUE end Sendo assim, o player pode remover o G-Bow e mesmo assim continuar o com o Crystal Arrow no SLOT "AMMO". Andei pensando em uma solução... como seria? Será que se fizesse o inverso, sim o inverso, do player só poder remover o G-Bow do Slot Hand, se o "Crystal Arrow" não estiver no Slot de "AMMO".. isso seria possível? Ou alguma outra forma do player não conseguir remover o G-Bow e usar o Crystal Arrow com outro Bow qualquer... Ou ajudar em uma das sugestões também me ajudaria a solucionar o problema: 1- Como por para cada munição "Arrow, Poison Arrow, Burst Arrow..." cada um só poder ser arremessado pela arma certa. Ex: Arrow só com o bow comum, poison arrow só com o Elvish Bow...etc. 2- Como faz para adicionar novas munições? (além de arrow e bolt.. para assim criar arma que arremessasse somente ela) 3- Ou no Movements, que fiz acima. Fico no aguardo... Abraços Valendo REP+ Editado Julho 5, 2011 por Gonorreia Link para o comentário https://xtibia.com/forum/topic/160483-movements-deequip/ Compartilhar em outros sites More sharing options...
meubk 257 Postado Julho 4, 2011 Share Postado Julho 4, 2011 (editado) <movevent type="DeEquip" itemid="7438" slot="right-hand" event="script" value="gbow.lua"/> <movevent type="DeEquip" itemid="7438" slot="left-hand" event="script" value="gbow.lua"/> 2 tags /\ function onDeEquip(cid, item, slot) local crystalArrowId = 2352 if getPlayerSlotItem(cid, 10).itemid == crystalArrowId then return false, doPlayerSendCancel(cid,'Você precisa retirar primeiro á '..getItemNameById(crystalArrowId)..'.') end return true end Editado Julho 4, 2011 por xotservx Link para o comentário https://xtibia.com/forum/topic/160483-movements-deequip/#findComment-1057860 Compartilhar em outros sites More sharing options...
gonorreiaswat 151 Postado Julho 5, 2011 Autor Share Postado Julho 5, 2011 <movevent type="DeEquip" itemid="7438" slot="right-hand" event="script" value="gbow.lua"/> <movevent type="DeEquip" itemid="7438" slot="left-hand" event="script" value="gbow.lua"/> 2 tags /\ function onDeEquip(cid, item, slot) local crystalArrowId = 2352 if getPlayerSlotItem(cid, 10).itemid == crystalArrowId then return false, doPlayerSendCancel(cid,'Você precisa retirar primeiro á '..getItemNameById(crystalArrowId)..'.') end return true end Então, eu fiz isso, porém... o item é removido do Slot do mesmo jeito, só que aparece a mensagem de que é preciso retirar primeiro a Crystal Arrow. Num sei o que acontece... Abraços Link para o comentário https://xtibia.com/forum/topic/160483-movements-deequip/#findComment-1058449 Compartilhar em outros sites More sharing options...
meubk 257 Postado Julho 5, 2011 Share Postado Julho 5, 2011 function onDeEquip(cid, item, slot) local crystalArrowId = 2352 if getPlayerSlotItem(cid, 10).itemid == crystalArrowId then doPlayerSendCancel(cid,'Você precisa retirar primeiro á '..getItemNameById(crystalArrowId)..'.') return false end return true end se num funcionar, vc verifica se a crystal arrow é um script e se for poste aki. Link para o comentário https://xtibia.com/forum/topic/160483-movements-deequip/#findComment-1058469 Compartilhar em outros sites More sharing options...
gonorreiaswat 151 Postado Julho 6, 2011 Autor Share Postado Julho 6, 2011 (editado) function onDeEquip(cid, item, slot) local crystalArrowId = 2352 if getPlayerSlotItem(cid, 10).itemid == crystalArrowId then doPlayerSendCancel(cid,'Você precisa retirar primeiro á '..getItemNameById(crystalArrowId)..'.') return false end return true end se num funcionar, vc verifica se a crystal arrow é um script e se for poste aki. Como Script num tah não... só no Movements mesmo que tah como coloquei no início do Tópico... e em Items.xml <item id="2352" article="a" name="crystal arrow"> <attribute key="description" value="This arrow seems not suitable for the use with ordinary bows. It seems to be rotting rapidly." /> <attribute key="weight" value="100" /> <attribute key="slotType" value="ammo" /> <attribute key="attack" value="35" /> <attribute key="maxHitChance" value="90" /> <attribute key="weaponType" value="ammunition" /> <attribute key="ammoType" value="arrow" /> <attribute key="shootType" value="arrow" /> </item> :x Fora isso, tah normal... e num funfa abraços Editado Julho 6, 2011 por Gonorreia Link para o comentário https://xtibia.com/forum/topic/160483-movements-deequip/#findComment-1059242 Compartilhar em outros sites More sharing options...
meubk 257 Postado Julho 6, 2011 Share Postado Julho 6, 2011 não tem nada do tipo na pasta weapons/scripts sobre a crystalarrow ? Link para o comentário https://xtibia.com/forum/topic/160483-movements-deequip/#findComment-1059250 Compartilhar em outros sites More sharing options...
gonorreiaswat 151 Postado Julho 6, 2011 Autor Share Postado Julho 6, 2011 não tem nada do tipo na pasta weapons/scripts sobre a crystalarrow ? Na pasta tem, mas no arquivo "weapons.xml" não tem nenhuma TAG o encaminhando para o Script. O Script é esse (crystal_arrow.lua) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SHIVERARROW) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end Link para o comentário https://xtibia.com/forum/topic/160483-movements-deequip/#findComment-1059343 Compartilhar em outros sites More sharing options...
Posts Recomendados