CaioValverde 1 Postado Outubro 17, 2013 Share Postado Outubro 17, 2013 Galera gostaria de saber se alguém sabe como criar um item consumível que só possa usar uma vez e que ao utilizar-lo o player ganhe velocidade de movimento (Ande mais rápido), porem quero que fique pra sempre esse efeito... Valendo REP+, grato desde já, Caio Valverde! Link para o comentário Compartilhar em outros sites More sharing options...
Roksas 846 Postado Outubro 17, 2013 Share Postado Outubro 17, 2013 Tente desta forma: Vá em data/actions/scripts, cre um arquivo chamado sp_use.lua e adicione dentro: function onUse(cid) local sp = 200 if getPlayerStorageValue(cid, 14049) < 1 then doSendMagicEffect(getThingPos(cid), 14) doChangeSpeed(cid, (getCreatureSpeed(cid) + sp)) else doPlayerSendCancel(cid, "Você já obteve a velocidade.") return true end return true end Em actions.xml adicione a tag: <action itemid="ID DO ITEM" event="script" value="sp_use.lua"/> #Boa sorte. Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Outubro 17, 2013 Share Postado Outubro 17, 2013 (editado) edit: retirado ._. não vi q o roksas postou antes De qualquer maneira, aqui está um q fiz (Testei e funcionou, mas recomendo usar o do roksas) function onUse(cid, item, frompos, item2, topos) local cfg = { msg = "Sua speed foi aumentada em 400!", --Mensagem que vai enviar ao player quando este utilizar o Speed Item. speed = 400, --Configure aqui a speed que o player vai receber. storage = 45459, --Storage. } if getPlayerStorageValue(cid, cfg.storage) >= 1 then doPlayerSendCancel(cid, "Você só pode utilizar o Speed Item 1x por char...") return true end if item.itemid == xxx then --Substitua xxx pelo ID do item. setPlayerStorageValue(cid, cfg.storage, 1) doRemoveItem(item.uid, 1) doChangeSpeed(cid, (getCreatureSpeed(cid) + cfg.speed)) doPlayerSendTextMessage(cid, 27, cfg.msg) end return true end EDIT²: Roksas, você não esqueceu de setar a storage no player ao usar o item? Editado Outubro 17, 2013 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
Applezin 8 Postado Outubro 17, 2013 Share Postado Outubro 17, 2013 Eu só acho, que poderia bota a função de exhaust no script, para nao ocorrer problemas futuramente! \/ local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid) local sp = 200 if getPlayerStorageValue(cid, 14049) < 1 then doSendMagicEffect(getThingPos(cid), 14) doAddCondition(cid, exhaust) doChangeSpeed(cid, (getCreatureSpeed(cid) + sp)) else doPlayerSendCancel(cid, "Você já obteve a velocidade.") return true end return true end Link para o comentário Compartilhar em outros sites More sharing options...
markindoot 46 Postado Outubro 17, 2013 Share Postado Outubro 17, 2013 (editado) @edit ja lhe ajudarao com o script correto =D retirando o meu que não era do seu gosto. Editado Outubro 17, 2013 por markindoot Link para o comentário Compartilhar em outros sites More sharing options...
CaioValverde 1 Postado Outubro 18, 2013 Autor Share Postado Outubro 18, 2013 Testarei em breve, obrigado a todos pela ajuda! REP+ breve! Link para o comentário Compartilhar em outros sites More sharing options...
Secular 132 Postado Outubro 18, 2013 Share Postado Outubro 18, 2013 Resolvido por PM! Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 21, 2018 Share Postado Abril 21, 2018 A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta. + Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda. * Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados