Postado Setembro 18, 2017 7 anos Fala galera do TK, Bom como o título já diz, estou usando um sistema de dodge system e o item que estou utilizando é um item duplicado no otb até ai tudo certo, porém quando vou usar ele no Tibia ele não faz absolutamente nada, nenhum erro na distro nada, apenas não usa. actions.xml <action itemid="12685" event="script" value="a/dodgesulphur.lua"/> actions/scripts/a/dodgesulphur.lua local config = { effectonuse = 29, -- efeito que sai levelscrit = 100, --- leveis que terão storagecrit = 98798644 -- storage que será verificado } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"Voce elevou seus dodges para ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/100].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"Voce ja chegou no nivel Maximo de Dodges.\nParabéns.") return 0 end return 1 end creaturescripts.xml <event type="StatsChange" name="Dodge" event="script" value="a/dodge.lua"/> creaturescripts/scripts/a/dodge.lua local storagedodge = 98798644 -- storage do dodge local cor = 250 -- cor do texto local effect = 31 -- id do magic effect local msg = "Dodge!" -- msg local dodge = { {min = 1, max = 10, chance = 6}, -- se o dodge tiver entre 1 e 2 tem 10% de chance de da dodge. {min = 11, max = 20, chance = 9}, -- vocês pode adicionar mas se quiserem {min = 21, max = 40, chance = 12}, {min = 41, max = 50, chance = 15}, {min = 51, max = 70, chance = 18}, {min = 71, max = 90, chance = 21}, {min = 91, max = 100, chance = 24}, {min = 101, max = math.huge, chance = 28} } function onStatsChange(cid, attacker, type, combat, value) if not isCreature(cid) then return false end for _, tudo in pairs(dodge) do if getPlayerStorageValue(cid, storagedodge) >= tudo.min and getPlayerStorageValue(cid, storagedodge) <= tudo.max then local chancex = math.random(1, 100) if chancex <= tudo.chance then if combat ~= COMBAT_HEALING then doSendMagicEffect(getCreaturePosition(cid), effect) doSendAnimatedText(getCreaturePosition(cid), msg, cor) return false end end end end return true end creaturescripts/scripts/login.lua registerCreatureEvent(cid, "Dodge") items/items.xml <item id="12685" article="a" name="dodge stone" plural="dodge stones"> <attribute key="weight" value="15" /> </item> está ai o código que estou usando porém, como já tinha comentado, ao usar o item não acontece nada! OBS: Se eu usar outro item ele funciona, porém eu queria que fosse o item duplicado que eu fiz no itemeditor (Para não haver clones, ou drop dentro do map, monstros etc)! Editado Setembro 18, 2017 7 anos por FearWar (veja o histórico de edições)
Postado Setembro 18, 2017 7 anos local config = { effectonuse = 29, -- efeito que sai levelscrit = 100, --- leveis que terão storagecrit = 98798644 -- storage que será verificado } function onUse(cid, item, frompos, item2, topos) print("Item esta sendo usado") if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"Voce elevou seus dodges para ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/100].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"Voce ja chegou no nivel Maximo de Dodges.\nParabéns.") return false end return true end Testa a script e da usa no item caso não não mostrar nada no console ao usar o item você registrou errrado
Postado Setembro 19, 2017 7 anos Autor 23 horas atrás, DboExplorer disse: local config = { effectonuse = 29, -- efeito que sai levelscrit = 100, --- leveis que terão storagecrit = 98798644 -- storage que será verificado } function onUse(cid, item, frompos, item2, topos) print("Item esta sendo usado") if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"Voce elevou seus dodges para ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/100].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"Voce ja chegou no nivel Maximo de Dodges.\nParabéns.") return false end return true end Testa a script e da usa no item caso não não mostrar nada no console ao usar o item você registrou errrado Não sei o que aconteceu, dupliquei outro item da items.otb e deu certo! obrigado por tentar ajudar!
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.