LU
pedido

Adicionar maximo de vezes de usar life e mana stone

Por luccagomes, 20 de set. de 2013 em Scripts

resolvido
otserv
tibia
script
8
869
luccagomesL
20 de setembro de 2013 às 00:07

Alguem me ajuda, gostei do script, mas queria q tive-se um maximo de 100 vezes pra usar essas duas pedras aqui, alguem sabe colocar?

http://www.xtibia.com/forum/topic/215444-life-stone-e-mana-stone/

WillOliveiraW
20 de setembro de 2013 às 03:20

lifestone.lua:

function onUse(cid, item, frompos, item2, topos)
	local cargas = 100 -- Aqui você coloca quantas vezes o player pode usar o item
	local sg = cargas+1 -- Não mecha aqui
	if getPlayerStorageValue(cid, 8085) == sg then
		doRemoveItem(item.uid)
		doPlayerSetStorageValue(cid, 8085, -1)
	end
	setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+10) -- Troque aqui a quantidade de sangue que vai adicionar
	doPlayerSendTextMessage(cid,22,"Você ganhou mais 10 de vida.") -- Entre as "" vc muda a msg
	doSendMagicEffect(topos,35)
	doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1)
end

manastone.lua:

function onUse(cid, item, frompos, item2, topos)
	local cargas = 100 -- Aqui você coloca quantas vezes o player pode usar o item
	local sg = cargas+1 -- Não mecha aqui
	if getPlayerStorageValue(cid, 8086) == sg then
		doRemoveItem(item.uid)
		doPlayerSetStorageValue(cid, 8086, -1)
	end
	setCreatureMaxMana(cid, getCreatureMaxMana(cid)+10) -- Troque aqui a quantidade de sangue que vai adicionar
	doPlayerSendTextMessage(cid,22,"Você ganhou mais 10 de mana.") -- Entre as "" vc muda a msg
	doSendMagicEffect(topos,1)
	doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1)
end

Editado Setembro 20 por WillOliveira

luccagomesL
20 de setembro de 2013 às 13:33

Não sei se funcionou, mas se funcionar n vai mandar nem uma msg pro player dizendo q ele já usou o maximo?

WillOliveiraW
20 de setembro de 2013 às 18:36

Coloquei uma contagem, a cada vez que o player usa o item aparece uma msg de quantas cargas restam, pode usar que funciona sim:

 

lifestone.lua:

function onUse(cid, item, frompos, item2, topos)
	local cargas = 100 -- Aqui você coloca quantas vezes o player pode usar o item
	local sg = cargas+1 -- Não mecha aqui
	if getPlayerStorageValue(cid, 8085) == sg then
		doRemoveItem(item.uid)
		doPlayerSetStorageValue(cid, 8085, -1)
	end
	setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+10) -- Troque aqui a quantidade de sangue que vai adicionar
	doPlayerSendTextMessage(cid,22,"Você ganhou mais 10 de vida.") -- Entre as "" vc muda a msg
	doSendMagicEffect(topos,35)
	doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1)
	doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8085)-cargas).." vezes.")
end

manastone.lua:

function onUse(cid, item, frompos, item2, topos)
	local cargas = 100 -- Aqui você coloca quantas vezes o player pode usar o item
	local sg = cargas+1 -- Não mecha aqui
	if getPlayerStorageValue(cid, 8086) == sg then
		doRemoveItem(item.uid)
		doPlayerSetStorageValue(cid, 8086, -1)
	end
	setCreatureMaxMana(cid, getCreatureMaxMana(cid)+10) -- Troque aqui a quantidade de sangue que vai adicionar
	doPlayerSendTextMessage(cid,22,"Você ganhou mais 10 de mana.") -- Entre as "" vc muda a msg
	doSendMagicEffect(topos,1)
	doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1)
	doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8086)-cargas).." vezes.")
end
luccagomesL
21 de setembro de 2013 às 19:12

Nossa cara ta muito bugado, dps q acaba a contagem pode usar tudo de novo, não remove a pedra ao usar, da pra usar infinitamente a msm pedra e ficar com o life q quiser

MaenilseM
21 de setembro de 2013 às 23:14

tente assim.

function onUse(cid, item, frompos, item2, topos)
if doPlayerRemoveItem(cid , ID DO ITEM QUE VAI REMOVER AQUI, 1) and getPlayerItemCount(cid, ID DO ITEM AQUI) >= 100 then
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + 10)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "voce recebeu 10 health points.") 
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Voce Ja Usou Os 100 Items, Nao Pode Usar Mais Que Isso.")
end
return TRUE
end
basta editar essa linha.
if doPlayerRemoveItem(cid , ID DO ITEM QUE VAI REMOVER AQUI, 1) and getPlayerItemCount(cid, ID DO ITEM AQUI) >= 100 then

Editado Setembro 21 por Maenilse

luccagomesL
24 de setembro de 2013 às 20:30

Funcionou direitinho, mas só tem um problema, a pedra só é removida depois de ser usada as 50 vezes, eu queria que ela fosse removida a cada vez q fosse usada

1 mês depois...
OmegaO
31 de outubro de 2013 às 17:47

Tópico movido para a seção de dúvidas e pedidos resolvidos.