Ir para conteúdo
  • 0

Item que quando usado aumenta Life


TiagoBordin1988

Pergunta

Queria saber como faço para colocar um item para dar Life.

Exemplo:

meu char tem 500 de life, dai quando eu usar o Royal_Helmet.gif(como exemplo), meu char fica com 600 de life.

 

OBS: não quero estilo a Soft Boots que aumenta certa quantidade de Life e Mana de acordo com tempo, quero um item que de life fixa.

 

 

desculpe se não for o local correto.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

data/movements/scripts, crie um arquivo chamado maxmore.lua e adicione:

 

 

function onEquip(cid, item, slot)

local gain = 400 -- QUANTO DE HP AUMENTA

setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gain)

return true

end

 

function onDeEquip(cid, item, slot)

setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gain)

end

 

 

Movements.xml adicione essas tags:

 

    <movevent type="Equip" itemid="ID DO ITEM" slot="helmet" event="script" value="maxmore.lua"/>
   <movevent type="DeEquip" itemid="ID DO ITEM" slot="helmet" event="script" value="maxmore.lua"/>

 

No caso é helmet né? Só coloca o ID do item acima /\

Se não for helmet muda no slot="

Link para o comentário
Compartilhar em outros sites

  • 0

function onEquip(cid, item, slot)
local gain = 400 -- QUANTO DE HP AUMENTA
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gain/2)
return true
end

function onDeEquip(cid, item, slot)
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gain)
end

 

OnEquip é executado 2 veses, logo ia dar o cara mais 800 de mana, botei o / para dividir por 2, logo adicionando somente 400 :))

Link para o comentário
Compartilhar em outros sites

  • 0

data/movements/scripts, crie um arquivo chamado maxmore.lua e adicione:

 

 

function onEquip(cid, item, slot)

local gain = 400 -- QUANTO DE HP AUMENTA

setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gain)

return true

end

 

function onDeEquip(cid, item, slot)

setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gain)

end

 

 

Movements.xml adicione essas tags:

 

	<movevent type="Equip" itemid="ID DO ITEM" slot="helmet" event="script" value="maxmore.lua"/>
<movevent type="DeEquip" itemid="ID DO ITEM" slot="helmet" event="script" value="maxmore.lua"/>

 

No caso é helmet né? Só coloca o ID do item acima /\

Se não for helmet muda no slot="

function onEquip(cid, item, slot)
local gain = 400 -- QUANTO DE HP AUMENTA
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gain/2)
return true
end

function onDeEquip(cid, item, slot)
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gain)
end

 

OnEquip é executado 2 veses, logo ia dar o cara mais 800 de mana, botei o / para dividir por 2, logo adicionando somente 400 :))

 

Seguinte está ocorrendo este erro.

quando coloco o Helmet ele add os 400 de life, mais quando eu tiro ele não remove os 400, e cada vez que coloco o helmet eu ganho 400 de life se eu por duas vezes é add 800 de life e assim vai indo ai fica com muita life rsrsrssr.

teria que só add a life quando tivesse usando o item e quando tirasse o item ele removesse também os 400.

 

e quando tiro o helmet aparece esse erro no console:

 

 

[21/03/2013 22:43:25] [Error - MoveEvents Interface]

[21/03/2013 22:43:25] data/movements/scripts/rh.lua:onDeEquip

[21/03/2013 22:43:25] Description:

[21/03/2013 22:43:25] data/movements/scripts/rh.lua:8: attempt to perform arithmetic on global 'gain' (a nil value)

[21/03/2013 22:43:25] stack traceback:

[21/03/2013 22:43:25] data/movements/scripts/rh.lua:8: in function <data/movements/scripts/rh.lua:7>

Editado por TiagoBordin1988
Link para o comentário
Compartilhar em outros sites

  • 0

Seiláh..

 

 

local gain = 400 -- QUANTO DE HP AUMENTA
function onEquip(cid, item, slot)
  setCreatureHealth(cid, getCreatureMaxHealth(cid)+gain/2)
   setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gain/2)
 return true
end

function onDeEquip(cid, item, slot)
 setCreatureHealth(cid, getCreatureMaxHealth(cid)-gain)
  setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gain)
end

Link para o comentário
Compartilhar em outros sites

  • 0

Seiláh..

 

 

local gain = 400 -- QUANTO DE HP AUMENTA
function onEquip(cid, item, slot)
  setCreatureHealth(cid, getCreatureMaxHealth(cid)+gain/2)
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gain/2)
 return true
end

function onDeEquip(cid, item, slot)
 setCreatureHealth(cid, getCreatureMaxHealth(cid)-gain)
  setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gain)
end

 

agora tento colocar na cabeça o helmet aparece uma mensagem la aonde aparece "You're full" escreve isso:

You Cannot dress this object there. não posso usar esse item ali.

Link para o comentário
Compartilhar em outros sites

  • 0

o melhor jeito de proteger o script da dupla execuçao e do onLogin eh assim...

local gain = 400 -- QUANTO DE HP AUMENTA

function onEquip(cid, item, slot)
  if getPlayerSlotItem(cid, slot).uid == item.uid then
  return true
  end	
  setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+gain)
  doCreatureAddHealth(cid, gain)
return true
end

function onDeEquip(cid, item, slot)
  setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)-gain)
return true
end

 

e nunca esqueçam do return true... ^^

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

  • 0

o melhor jeito de proteger o script da execuçao do onLogin eh assim...

local gain = 400 -- QUANTO DE HP AUMENTA

function onEquip(cid, item, slot)
  if getPlayerSlotItem(cid, slot).uid == item.uid then
  return true
  end	
  setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+gain)
  doCreatureAddHealth(cid, gain)
return true
end

function onDeEquip(cid, item, slot)
  setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)-gain)
return true
end

 

e nunca esqueçam do return true... ^^

 

quando tira helmet derruba server =/ e não consigo pegar a mensagem de erro.

Link para o comentário
Compartilhar em outros sites

  • 0

lol? q versao eh teu serv? e como tu coloco as tags?

 

versão 0.3.6

TAG:

<movevent type="Equip" itemid="2498" slot="head" event="script" value="rh.lua"/>

<movevent type="DeEquip" itemid="2498" slot="head" event="script" value="rh.lua"/>

Link para o comentário
Compartilhar em outros sites

  • 0

Então troca meu código por:

 

function onEquip(cid, item, slot)
gainaed = 400 -- QUANTO DE HP AUMENTA
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gainaed)
return true
end

function onDeEquip(cid, item, slot)
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gainaed)
end

Link para o comentário
Compartilhar em outros sites

  • 0

Então troca meu código por:

 

function onEquip(cid, item, slot)
gainaed = 400 -- QUANTO DE HP AUMENTA
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gainaed)
return true
end

function onDeEquip(cid, item, slot)
setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gainaed)
end

não está retirando a vida que add quando tira o helmet vídeo de exemplo:

Editado por TiagoBordin1988
Link para o comentário
Compartilhar em outros sites

  • 0

 

 

function onEquip(cid, item, slot)

itemgainaed = 2424 -- ID DO ITEM QUE GANHA

gainaed = 400 -- QUANTO DE HP AUMENTA

setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gainaed)

return true

end

 

function onDeEquip(cid, item, slot)

if item.itemid == itemgainaed then

setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gainaed)

end

return true

end

 

 

Tenta assim, no começo muda HP e ITEM ID

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

function onEquip(cid, item, slot)

itemgainaed = 2424 -- ID DO ITEM QUE GANHA

gainaed = 400 -- QUANTO DE HP AUMENTA

setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)+gainaed)

return true

end

 

function onDeEquip(cid, item, slot)

if item.itemid == itemgainaed then

setCreatureMaxHealth(cid,getCreatureMaxHealth(cid)-gainaed)

end

return true

end

 

 

Tenta assim, no começo muda HP e ITEM ID

fica fazendo mesma coisa do video, ganhando life toda vez que coloca o helmet e quando tira o helmet não perde o life add.

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo Vou Tenta te ajudar (Muito Simples) faça o seguinte :

 

Vá em "items" procure pelo item que você quer é cole essa tag:

 

<attribute key="maxHitPoints" value="200" /> --- Essa Tag é para almentar hp
<attribute key="maxmanapercent" value="100"/> --- Essa Tag é para almentar mana (LEMBRANDO ESSA TAG ESTAR EM MODO DE %)

 

EXEMPLO :

 

<item id="2498" article="a" name="royal helmet">
<attribute key="description" value="An excellent masterpiece of a smith." />
<attribute key="weight" value="4800" />
<attribute key="maxHitPoints" value="200" />
<attribute key="maxmanapercent" value="100"/>
<attribute key="armor" value="9" />
<attribute key="slotType" value="head" />

 

Vai Ficar Assim, Depois De Fazer Isso Verifique Em "movements" Sé o item estar registrado, lá Basta Aperta Ctrl + F é digita o id do item se o

id do item estiver lá , irar funcionar perfeitamente , se não estiver por favor adicione para que o item funcione .

 

Ajudei? Rep+

Precisar Estamos Aqui!

Editado por AdilsonHacker
Link para o comentário
Compartilhar em outros sites

  • 0

Amigo Vou Tenta te ajudar (Muito Simples) faça o seguinte :

 

Vá em "items" procure pelo item que você quer é cole essa tag:

 

<attribute key="maxHitPoints" value="200" /> --- Essa Tag é para almentar hp
<attribute key="maxmanapercent" value="100"/> --- Essa Tag é para almentar mana (LEMBRANDO ESSA TAG ESTAR EM MODO DE %)

 

EXEMPLO :

 

<item id="2498" article="a" name="royal helmet">
<attribute key="description" value="An excellent masterpiece of a smith." />
<attribute key="weight" value="4800" />
<attribute key="maxHitPoints" value="200" />
<attribute key="maxmanapercent" value="100"/>
<attribute key="armor" value="9" />
<attribute key="slotType" value="head" />

 

Vai Ficar Assim, Depois De Fazer Isso Verifique Em "movements" Sé o item estar registrado, lá Basta Aperta Ctrl + F é digita o id do item se o

id do item estiver lá , irar funcionar perfeitamente , se não estiver por favor adicione para que o item funcione .

 

Ajudei? Rep+

Precisar Estamos Aqui!

Deu certo a life ta aumentando 200 quando põe o helmet, quando tira perde os 200, mais a mana não aumenta se puder dar uma força ai pra fazer a mana aumentar 200 também quando poe o helmet. vo da rep + já

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...