Ir para conteúdo

Featured Replies

Postado

Olá pessoal!

 

Hoje vim aqui para pedir uma ajuda em um Script que funciona assim no item Magma Boots:

 

O item absorver um dano acima de 1000. Exemplo: 1 player solta um poder no outro que esta equipado com a Magma Boots, e o poder da um hit de 1000 e o player que estiver equipado com o item só recebera metade (500) Mas depois disso ela só volta a funcionar depois de 2 minutos. E para ativar esse efeito você tem que clicar com o botão direito na Magma Boots. Ai ela aparece :

Magma Boots ativada! E depois que o player sofrer o hit, hora que ela estiver carregando apareça os segundos que falta para ela voltar a funcionar!

 

P.S: Quando loga só clicar no item 1x não precisa clicar outras vezes para ele funcionar. Se o player deslogar e logar precisa  clicar denovo com o botão direito nela!

 

Creio que é meio dificil mais esta ai o Pedido!

 

Obrigado.

Att: R1B31R0 (Ribeiro)

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

Postado

Se o dano for menor que mil ele não absorve? Tem que ser dano de player ou pode ser qualquer dano?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
  • Autor

Sim, tem que ser mil se for menor que mil não pode ser! E só pode ser magia de player. Que quando bichos da hit nao sofra o efeito!

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

Postado

creaturescripts\scripts\login.lua:

adiciona isso antes do ultimo return true

----------MAGMA BOOTS DO FOX----------------
registerCreatureEvent(cid, "magmaboots")
if getPlayerStorageValue(cid, 19501) ~= 0 then
        setPlayerStorageValue(cid, 19501, 0) 
end
---------------------------------------

em creaturescripts.xml adicione essa linha

 <event type="statschange" name="magmaboots" event="script" value="magmaboots.lua"/>

crie um arquivo chamado magmaboots.lua em creaturescripts\scripts e coloque isso dentro dele:

local config = {
percent = 0.5, --- porcentagem do dano que irá levar (0.5 = 50%)
storageskill = 19501, -- storage da skill
itemplace = 8, -- lugar q ele deve estar (8 é o feet)
itemid = 7891, -- id do item 
damagemin = 1000 --- minimo de dano que deve ser pro player absorver 
}


function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS and isPlayer(attacker) and value >= config.damagemin then
if getPlayerSlotItem(cid, config.itemplace).itemid == config.itemid then
if getPlayerStorageValue(cid, config.storageskill) >= 1 then
value = math.ceil(value*(config.percent))
setPlayerStorageValue(cid, config.storageskill, getPlayerStorageValue(cid, config.storageskill)-1) 
doTargetCombatHealth(attacker, cid, combat, -value, -value, 255)
doPlayerSendTextMessage(cid, 23, "Your "..getItemNameById(config.itemid).." absorved "..value.." of damage.")  
return false
end
end
end
return true
end
agora em action.xml adicione:
<action itemid="7891" script="magmaboots.lua"/>

e em actions\scripts crie um arquivo chamado magmaboots.lua e adicione o seguinte:

local config = {
storagetempo = 19500, -- storage que contará os segundos
storageskill = 19501, -- storage que vai dizer se a skill está ativada ou desativada
itemid = 7891, -- id da boots
itemplace = 8, -- feet
tempo = 180 -- tempo em segundo (2 minutos)
}


function onUse(cid, item, frompos, item2, topos)
if getCreatureStorage(cid, config.storageskill) <= 0 and (getPlayerSlotItem(cid, config.itemplace).itemid == config.itemid) then
if getPlayerStorageValue(cid, config.storagetempo) - os.time() <= 0 then
timenow = os.time() + config.tempo
doPlayerSetStorageValue(cid, config.storagetempo, timenow)
setPlayerStorageValue(cid, config.storageskill, 1)
doPlayerSendTextMessage(cid, 23, "You activated your "..getItemNameById(config.itemid)..", it's ready to absorb damages!")  
for j= 0,(config.tempo -1) do
addEvent(function() 
if isPlayer(cid) then
doPlayerSendCancel(cid, "Time until next use: ".. config.tempo - j .." second(s)")
end
 end, (50+(j*1000))) 
end
else
doPlayerSendTextMessage(cid, 23, "You have to wait ".. getPlayerStorageValue(cid, config.storagetempo) - os.time() .." second(s) until you can use it again!")  
end
else
doPlayerSendTextMessage(cid, 23, "Your "..getItemNameById(config.itemid).." is already active or it isn't equiped.")  
end
return true
end

F.A.Q:

1) Só pega em 8.54 pra cima por causa da função onStatsChange (a menos que sua source possua esse comando). 
2) Não sei colocar pra funcionar em server q não tenha onStatsChange e também não conheço ninguém que saiba
3) tudo que dá pra configurar tá no script escrito
4) Sim, fui eu que fiz o script.. só não coloquei os créditos porque não dá pra eu colocar crédito em algo que já patentearam antes

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
  • Autor

Eu queria para 8.4 isso que é dificil! Irei tentar colocar para 8.4 se conseguir posto aqui.

 

 

EDIT: 

 
[03/06/2014 18:45:00] data/actions/scripts/rockyboots.lua:11: attempt to call global 'getCreatureStorage' (a nil value)
[03/06/2014 18:45:00] stack traceback:
[03/06/2014 18:45:00] data/actions/scripts/rockyboots.lua:11: in function <data/actions/scripts/rockyboots.lua:10>
 
Esta dando esse erro na hora de clicar com o botao direito nela!

Editado por Ribeiro Foda (veja o histórico de edições)

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo