Postado Outubro 2, 2022 2 anos Olá, encontrei aqui no fórum um script, gostaria de saber se é possível adaptar para que somente certas vocações pudessem usar o item. Ex.: Vocation 1, 2 e 3 podem usar o item ID 14175 para se transformar na Vocation 20. Motivo: Gostaria de criar 2 tipos de outfit/vocação para cada personagem de DBZ, (Super e GT) Citar function onUse(cid, item, frompos, item2, topos) local config = { [14175] = 20 } if config[item.itemid] ~= getPlayerVocation(cid) then doRemoveItem(item.uid, 1) doPlayerSetVocation(cid, config[item.itemid]) doSendMagicEffect(config.pos,math.random(140,147)) doPlayerSendTextMessage(cid, 22, "You are now a "..getPlayerVocationName(cid).."!") else doPlayerSendTextMessage(cid, 22, "You can't be promoted since you're already a "..getPlayerVocationName(cid).."!") end return true end Agradeço desde já
Postado Outubro 2, 2022 2 anos Solução data > actions > actions.xml: <!-- Trocar de vocação --> <action itemid="14175" script="changeVocation.lua" /> data > actions > scripts > changeVocation.lua: function onUse(cid, item) local itemID = 14175 -- ID DO ITEM local vocationsID = {1, 2, 3} -- Coloque as ID's das vocações que poderão utilizar o item para trocar de vocação. local changeVocationTo = 20 -- Coloque a ID da vocação que o player irá virar após usar o item. if item.itemid == itemID and isInArray(vocationsID, getPlayerVocation(cid)) then doRemoveItem(item.uid, 1) doPlayerSetVocation(cid, changeVocationTo) doSendMagicEffect(getThingPos(cid), math.random(140,147)) doPlayerSendTextMessage(cid, 22, "You are now a "..getPlayerVocationName(cid).."!") else doPlayerSendTextMessage(cid, 22, "You can't be promoted since you're already a "..getPlayerVocationName(cid).."!") end return true end aviso: Pode ser que o seu servidor não suporte efeitos a partir do 69. Isso fará que você leve um debug ao utilizar o item (foi o que aconteceu comigo quando testei). Se for o caso, é só trocar o math.random(140,147) para algum efeito que o seu servidor suporte.
Postado Outubro 2, 2022 2 anos Autor 2 horas atrás, Imperius disse: data > actions > actions.xml: <!-- Trocar de vocação --> <action itemid="14175" script="changeVocation.lua" /> data > actions > scripts > changeVocation.lua: function onUse(cid, item) local itemID = 14175 -- ID DO ITEM local vocationsID = {1, 2, 3} -- Coloque as ID's das vocações que poderão utilizar o item para trocar de vocação. local changeVocationTo = 20 -- Coloque a ID da vocação que o player irá virar após usar o item. if item.itemid == itemID and isInArray(vocationsID, getPlayerVocation(cid)) then doRemoveItem(item.uid, 1) doPlayerSetVocation(cid, changeVocationTo) doSendMagicEffect(getThingPos(cid), math.random(140,147)) doPlayerSendTextMessage(cid, 22, "You are now a "..getPlayerVocationName(cid).."!") else doPlayerSendTextMessage(cid, 22, "You can't be promoted since you're already a "..getPlayerVocationName(cid).."!") end return true end aviso: Pode ser que o seu servidor não suporte efeitos a partir do 69. Isso fará que você leve um debug ao utilizar o item (foi o que aconteceu comigo quando testei). Se for o caso, é só trocar o math.random(140,147) para algum efeito que o seu servidor suporte. Funcionou, muito obrigado !!
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.