Ir para conteúdo

Pedra da Salvação (Item)


Helton Muniz

Posts Recomendados

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

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 por Lordfire
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

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

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...