Postado Fevereiro 28, 2015 10 anos Autor Em 28/02/2015 em 10:12, Bruno Minervino disse: Em movements.xml: <movevent type="Equip" itemid="2546" slot="ammo" event="script" value="arrow.lua" /> Em movements/scripts crie o arquivo arrow.lua com este conteúdo: local bowID = 2456 -- id da bow escolhida function onEquip(cid, item) if getPlayerSlotItem(cid, 6).itemid == bowID or getPlayerSlotItem(cid, 5).itemid == bowID then return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Voce precisa estar equipado com um '..getItemNameById(bowID)..' para usar seu '..getItemNameById(item.itemid)..'.') return false end Olha, em tese funcionou... a mensagem foi dada e o item só pôde ser usado com a bow, porém se o player já estiver usando a bow certa com a arrow e o player jogar outra bow no slot, a arrow funciona. A outra questão é que a mensagem é dada no default, e isso causa um pouco de "trash" há possibilidade de ser algo como "return doPlayerSendCancel"? (isso não tem tanta importância).
Postado Fevereiro 28, 2015 10 anos adriano poe o check no item do Bolt do cara se tentar equipar ele se o item no lugar move ele para backpack.. adiciona o dequip no crossbow prefiro usando o crossbow tipo <movevent type="Equip" itemid="ID" slot="ammo" event="script" value="crossbow.lua"/> <movevent type="DeEquip" itemid="ID" slot="ammo" event="script" value="crossbow.lua"/> local boltID = ??? -- id da bolt local bowID = ??? -- bow id function onEquip(cid, item) if getPlayerSlotItem(cid, CONST_SLOT_AMMO) = boltID then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você equipou o '..getItemNameById(BowID)..' . ') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você não pode equipar o '..getItemNameById(BowID)..' por não ter o '..getItemNameById(boltID)..' no slot. ') return false end return true end function onDeEquip(cid, item, slot) if getPlayerSlotItem(cid, CONST_SLOT_AMMO) == boltID then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você so pode desequipar se tirar a '..getItemNameById(boltID)..'. ') return false else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você Desequipou o '..getItemNameById(BowID)..' . ') end return true end ele so vai conseguir tirar o crossbow se tirar a bolt Editado Fevereiro 28, 2015 10 anos por kbpaulo (veja o histórico de edições)
Postado Fevereiro 28, 2015 10 anos Autor Em 28/02/2015 em 14:53, kbpaulo disse: adriano poe o check no item do Bolt do cara se tentar equipar ele se o item no lugar move ele para backpack.. adiciona o dequip no crossbow prefiro usando o crossbow tipo <movevent type="Equip" itemid="ID" slot="ammo" event="script" value="crossbow.lua"/> <movevent type="DeEquip" itemid="ID" slot="ammo" event="script" value="crossbow.lua"/> local boltID = ??? -- id da bolt local bowID = ??? -- bow id function onEquip(cid, item) if getPlayerSlotItem(cid, CONST_SLOT_AMMO) = boltID then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você equipou o '..getItemNameById(BowID)..' . ') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você não pode equipar o '..getItemNameById(BowID)..' por não ter o '..getItemNameById(boltID)..' no slot. ') return false end return true end function onDeEquip(cid, item, slot) if getPlayerSlotItem(cid, CONST_SLOT_AMMO) == boltID then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você so pode desequipar se tirar a '..getItemNameById(boltID)..'. ') return false else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Você Desequipou o '..getItemNameById(BowID)..' . ') end return true end ele so vai conseguir tirar o crossbow se tirar a bolt Qual id eu coloco na tag? bow ou arrow? @EDIT: Editado Fevereiro 28, 2015 10 anos por ScythePhantom (veja o histórico de edições)
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.