Postado Outubro 20, 2016 8 anos Eu estava tentando por um limite de vocação em um script que acrescenta bônus de hp, só que sempre da erro, e meus conhecimentos em lua beiram a nada. Alguém pode dar uma luz pondo esse limite de vocação, e ver se o limite de uso por dia está certo? Segue o script: local storage = 80777 local vocs = {9,10,11,12} function onUse(cid, item, frompos, item2, topos) local value = getCreatureMaxHealth(cid) / 10 if getPlayerLevel(cid) >= 8 and getPlayerVocation(cid, vocs) then setCreatureMaxHealth(cid, math.floor(getCreatureMaxHealth(cid)+ value)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doPlayerSendTextMessage(cid, 22, "You add 10% hp to you health!") doCreatureSetStorage(cid, storage, math.max(0, getCreatureStorage(cid, storage)) + 1) doSendMagicEffect(getCreaturePosition(cid), 30) doRemoveItem(item.uid, 1) end doPlayerSendTextMessage(cid, 27, "You have received "..it[2].." "..getItemNameById(it[1])..". You can take your reward in "..time.." minutes.") setPlayerStorageValue(cid, storage, os.time() + time * 60) else return doPlayerSendCancel(cid, "You have already received your reward for today.") elseif getPlayerVocation(cid, vocs) = false return doPlayerSendCancel(cid, "Your vocation don't use it.") return true end Agradeço desde já.
Postado Outubro 22, 2016 8 anos Qual é o erro? "O sucesso é uma consequência e não um objetivo. A persistência é o caminho do êxito".
Postado Novembro 27, 2016 8 anos Autor Na verdade o código é esse: Spoiler local storage = 80777 function onUse(cid, item, frompos, item2, topos) local value = getCreatureMaxHealth(cid) / 10 if getPlayerLevel(cid) >= 8 then setCreatureMaxHealth(cid, math.floor(getCreatureMaxHealth(cid)+ value)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doPlayerSendTextMessage(cid, 22, "You add 10% hp to you health!") doCreatureSetStorage(cid, storage, math.max(0, getCreatureStorage(cid, storage)) + 1) doSendMagicEffect(getCreaturePosition(cid), 30) doRemoveItem(item.uid, 1) end doPlayerSendTextMessage(cid, 27, "You have received "..it[2].." "..getItemNameById(it[1])..". You can take your reward in "..time.." minutes.") setPlayerStorageValue(cid, storage, os.time() + time * 60) else return doPlayerSendCancel(cid, "You have already received your reward for today.") end return true end E está com esse erro: input:14: 'end' expected (to close 'function' at line 2) near 'else' O que mandei antes foi uma tentativa minha fracassada de corrigir o script e acrescentar um limite de vocações. Gostaria que alguém experiente o fizesse por mim, corrigir esse erro e por o limite de vocação, e verificar se também está com o limite de uso de apenas umas vez por dia. Editado Novembro 27, 2016 8 anos por gabriel28 (veja o histórico de edições)
Postado Novembro 28, 2016 8 anos Tente assim: function onUse(cid, item, frompos, item2, topos) local storage = 80777 local value = getCreatureMaxHealth(cid) / 10 if getPlayerLevel(cid) >= 8 then setCreatureMaxHealth(cid, math.floor(getCreatureMaxHealth(cid)+ value)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doPlayerSendTextMessage(cid, 22, "You add 10% hp to you health!") doCreatureSetStorage(cid, storage, math.max(0, getCreatureStorage(cid, storage)) + 1) doSendMagicEffect(getCreaturePosition(cid), 30) doRemoveItem(item.uid, 1) else return doPlayerSendCancel(cid, "You have already received your reward for today.") end return true end Te ajudei? Clique em Gostei ! ²²²d¬¬b²²² "She's got a smile that it seems to me...." ♪♪
Postado Novembro 28, 2016 8 anos Autor 21 minutos atrás, luangop disse: Tente assim: function onUse(cid, item, frompos, item2, topos) local storage = 80777 local value = getCreatureMaxHealth(cid) / 10 if getPlayerLevel(cid) >= 8 then setCreatureMaxHealth(cid, math.floor(getCreatureMaxHealth(cid)+ value)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doPlayerSendTextMessage(cid, 22, "You add 10% hp to you health!") doCreatureSetStorage(cid, storage, math.max(0, getCreatureStorage(cid, storage)) + 1) doSendMagicEffect(getCreaturePosition(cid), 30) doRemoveItem(item.uid, 1) else return doPlayerSendCancel(cid, "You have already received your reward for today.") end return true end Ainda não testei, mas tem como por só pra knight usar?
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.