Helton Muniz 4 Postado Janeiro 17, 2014 Share Postado Janeiro 17, 2014 Olá pessoal tava praticando Script pois ainda sou Iniciante mesmo assim ajudo os membros no que posso e faço oque posso, enfim vamos direto ao assunto: • Oque ela Faz ? R = Ela te teleporta para certa coordenada, restaurando certa quantidade de HP e Mana. • Observações: Ao usar você e teletransportado a "x" "y" "z" configuráveis Você pode escolher a quantidade de HP e de Mana que ira curar (Obviamente Obvio né) Ao usar sai um efeito encima do player configurável Ao usar você perde o item (Você pode configurar para perder quantos quiser) Ao usar você tem um tempo de recarga configurável. 1- Crie um arquivo .lua na pasta actions, e cole dentro dele o código abaixo: local temp = { exhausted = 120, storage = 3780 } local confg = { level = 5, } function onUse(cid, item, frompos, item2, topos) local tp = {x = 1024, y = 1025, z = 7} local health = 1000 local mana = 1000 if(getPlayerStorageValue(cid, temp.storage) > os.time() and getPlayerStorageValue(cid, temp.storage) < 100+os.time()) then doPlayerSendTextMessage(cid, 24, "A Pedra esta Carregando, espere " .. getPlayerStorageValue(cid, temp.storage) - os.time() .. ' segundo' .. ((getPlayerStorageValue(cid, temp.storage) - os.time()) == 1 and "" or "s")) return true elseif getPlayerLevel(cid) < confg.level then doPlayerSendCancel(cid, "You need to be atleast level ".. confg.level ..".") return true end doTeleportThing(cid, tp) doCreatureAddHealth(cid, hp) doCreatureAddMana(cid, mp) doRemoveItem(item.uid, 1) doSendMagicEffect(getCreaturePosition(cid), 15) setPlayerStorageValue(cid, temp.storage, os.time() + temp.exhausted) return true end Adicione a tag no actions.xml <action itemid="ID DO ITEM" event="script" value="NOMEDOARQUIVO.lua"/> • Configurando: exhausted = 120, = Tempo de recarga em segundos. level = 5, = Level necessário para usar o item. tp = Coordenadas pra onde o player ira ser teleportado health = Vida que o player ira ganhar ao ser teleportado. mana = Mana que o player ira ganhar ao ser teleportado. doSendMagicEffect(getCreaturePosition(cid), 15) = "15" Numero do efeito que ira sair encima do jogador. Link para o comentário Compartilhar em outros sites More sharing options...
Lordfire 309 Postado Janeiro 25, 2014 Share Postado Janeiro 25, 2014 (editado) Acho que você se perdeu na configuração. Não precisa de 2 tabelas pra ter valores da configuração, simplifique em uma só. Também mudei outras coisinhas para limpar e deixar mais eficiente (note o string.format): local config = { exhaustion = 120, health = 1000, mana = 1000, level = 5, pos = {x = 1024, y = 1025, z = 7}, storage = 3870, } function onUse(cid, item, fromPos, itemEx, topos) local storage = getPlayerStorageValue(cid, config.storage) if storage > os.time() and storage < 100 + os.time() then doPlayerSendTextMessage(cid, 24, string.format("The stone is charging, please wait %d second%s", storage - os.time(), storage - os.time() == 1 and "" or "s")) return true elseif getPlayerLevel(cid) < config.level then doPlayerSendCancel(cid, string.format("You need to be at least level %d.", config.level)) return true end doTeleportThing(cid, config.pos) doCreatureAddHealth(cid, config.health) doCreatureAddMana(cid, config.mana) doRemoveItem(item.uid, 1) doSendMagicEffect(getCreaturePosition(cid), 15) setPlayerStorageValue(cid, config.storage, os.time() + config.exhausted) return true end Editado Janeiro 25, 2014 por Lordfire Link para o comentário Compartilhar em outros sites More sharing options...
jhonatanp 26 Postado Fevereiro 8, 2014 Share Postado Fevereiro 8, 2014 O exaust o tempo para reutilizar o item está bugado, pode usar quantos quiser sem nenhum exaust. erro [08/02/2014 18:53:52] [Error - Action Interface] [08/02/2014 18:53:52] data/actions/scripts/testevidaa.lua:onUse [08/02/2014 18:53:52] Description: [08/02/2014 18:53:52] data/actions/scripts/testevidaa.lua:24: attempt to perform arithmetic on field 'exhausted' (a nil value) [08/02/2014 18:53:52] stack traceback: [08/02/2014 18:53:52] data/actions/scripts/testevidaa.lua:24: in function <data/actions/scripts/testevidaa.lua:10> Será que é porque o protocolo é 8.54 ? Caso for tem como adaptar para 8.54 ? Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados