TiagoBordin1988 4 Postado Março 22, 2013 Share Postado Março 22, 2013 Queria saber como faço para colocar um item para dar Life. Exemplo: meu char tem 500 de life, dai quando eu usar o (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 More sharing options...
0 Roksas 846 Postado Março 22, 2013 Share Postado Março 22, 2013 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 More sharing options...
0 Gears 109 Postado Março 22, 2013 Share Postado Março 22, 2013 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 More sharing options...
0 TiagoBordin1988 4 Postado Março 22, 2013 Autor Share Postado Março 22, 2013 (editado) 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 Março 22, 2013 por TiagoBordin1988 Link para o comentário Compartilhar em outros sites More sharing options...
0 Gears 109 Postado Março 22, 2013 Share Postado Março 22, 2013 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 More sharing options...
0 TiagoBordin1988 4 Postado Março 22, 2013 Autor Share Postado Março 22, 2013 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 More sharing options...
0 Slicer 1070 Postado Março 22, 2013 Share Postado Março 22, 2013 (editado) 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 Março 22, 2013 por Slicer Link para o comentário Compartilhar em outros sites More sharing options...
0 TiagoBordin1988 4 Postado Março 22, 2013 Autor Share Postado Março 22, 2013 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 More sharing options...
0 Slicer 1070 Postado Março 22, 2013 Share Postado Março 22, 2013 lol? q versao eh teu serv? e como tu coloco as tags? Link para o comentário Compartilhar em outros sites More sharing options...
0 TiagoBordin1988 4 Postado Março 22, 2013 Autor Share Postado Março 22, 2013 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 More sharing options...
0 Roksas 846 Postado Março 22, 2013 Share Postado Março 22, 2013 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 More sharing options...
0 TiagoBordin1988 4 Postado Março 22, 2013 Autor Share Postado Março 22, 2013 (editado) 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 Março 22, 2013 por TiagoBordin1988 Link para o comentário Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Março 22, 2013 Share Postado Março 22, 2013 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 More sharing options...
0 TiagoBordin1988 4 Postado Março 22, 2013 Autor Share Postado Março 22, 2013 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 More sharing options...
0 AdilsonHacker 98 Postado Março 26, 2013 Share Postado Março 26, 2013 (editado) 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 Março 26, 2013 por AdilsonHacker Link para o comentário Compartilhar em outros sites More sharing options...
0 TiagoBordin1988 4 Postado Março 26, 2013 Autor Share Postado Março 26, 2013 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 More sharing options...
Pergunta
TiagoBordin1988 4
Queria saber como faço para colocar um item para dar Life.
Exemplo:
meu char tem 500 de life, dai quando eu usar o (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
19 respostass a esta questão
Posts Recomendados