Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

1 script básico que heala mana em 300 e life em 500 a cada 5 segundos com X item equipado no slot de ring, e sai um text no char +500 e +300, igual ou parecido dos print.

 

1 script basico  movements que ao passar por ele, heala a cada 3 segundos 100 de life, e 50 de mana por 10 min (600 segundos)

1.png

2.png

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

Resolvido por Dwarfer

Ir para solução
  • Respostas 5
  • Visualizações 665
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Ring Em movements/scripts, crie um arquivo.lua:       Adicione a tag no movements.xml: <movevent type="Equip" itemid="ID_DO_RING slot="ring" event="script" value="NOME_DO

Posted Images

Postado
  • Solução

Ring

Em movements/scripts, crie um arquivo.lua:

 

Spoiler

local t = {
healtime = 10, -- intervalo para healar
hp = 500,
mp = 300
}

function onEquip(cid, item, slot)
   doPlayerHeal(cid, t.hp, t.mp, t.healtime, item.itemid)
    return true
end
 
function doPlayerHeal(cid, hp, mp, time, item)
if isPlayer(cid) and getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == item then
    doCreatureAddHealth(cid, hp)
    doCreatureAddMana(cid, mp)
    doSendAnimatedText(getPlayerPosition(cid), "+"..hp, COLOR_LIGHTGREEN)
    addEvent(doSendAnimatedText,600,getPlayerPosition(cid), "+"..mp, COLOR_DARKPURPLE)
    addEvent(doPlayerHeal, time*1000, cid, hp, mp, time, item) 
end
return true
end 

 

 

 

Adicione a tag no movements.xml: <movevent type="Equip" itemid="ID_DO_RING slot="ring" event="script" value="NOME_DO_ARQUIVO.lua"/>

 

Piso

Em movements/scripts, crie um arquivo.lua:

 

Spoiler

local t = {
hp = 100,
mp = 50, 
interval = 3, -- intervalo para healar
duration = 10 -- duração do efeito em minutos
}

function onStepIn(cid, item, fromPosition, itemEx, toPosition)
    if isPlayer(cid) then
        doCreatureSay(cid, "Regeneration Activated.", TALKTYPE_ORANGE_1)
        doSendMagicEffect(toPosition, CONST_ME_HOLYAREA)
        setConditionTime(cid, {t.hp, t.mp}, t.interval, t.duration)
    end
return true
end

function setConditionTime(cid, rise, interval, duration)
    local condition = createConditionObject(CONDITION_REGENERATION)
    setConditionParam(condition, CONDITION_PARAM_BUFF, true)
    setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, rise[1])
    setConditionParam(condition, CONDITION_PARAM_MANAGAIN, rise[2])
    setConditionParam(condition, CONDITION_PARAM_MANATICKS, interval*1000)
    setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, interval*1000)
    setConditionParam(condition, CONDITION_PARAM_TICKS, duration*60*1000)
    doAddCondition(cid, condition)
return true  
end

 

 

 

Adicione a tag no movements.xml: <movevent type="StepIn" actionid="ACTION_ID_DO_PISO" event="script" value="NOME_DO_ARQUIVO.lua"/>

Contato:

 

Postado
  • Autor
6 horas atrás, Dwarfer disse:

Ring

Em movements/scripts, crie um arquivo.lua:

 

  Ocultar conteúdo


local t = {
healtime = 10, -- intervalo para healar
hp = 500,
mp = 300
}

function onEquip(cid, item, slot)
   doPlayerHeal(cid, t.hp, t.mp, t.healtime, item.itemid)
    return true
end
 
function doPlayerHeal(cid, hp, mp, time, item)
if isPlayer(cid) and getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == item then
    doCreatureAddHealth(cid, hp)
    doCreatureAddMana(cid, mp)
    doSendAnimatedText(getPlayerPosition(cid), "+"..hp, COLOR_LIGHTGREEN)
    addEvent(doSendAnimatedText,600,getPlayerPosition(cid), "+"..mp, COLOR_DARKPURPLE)
    addEvent(doPlayerHeal, time*1000, cid, hp, mp, time, item) 
end
return true
end 

 

 

 

Adicione a tag no movements.xml: <movevent type="Equip" itemid="ID_DO_RING slot="ring" event="script" value="NOME_DO_ARQUIVO.lua"/>

 

Piso

Em movements/scripts, crie um arquivo.lua:

 

  Ocultar conteúdo


local t = {
hp = 100,
mp = 50, 
interval = 3, -- intervalo para healar
duration = 10 -- duração do efeito em minutos
}

function onStepIn(cid, item, fromPosition, itemEx, toPosition)
    if isPlayer(cid) then
        doCreatureSay(cid, "Regeneration Activated.", TALKTYPE_ORANGE_1)
        doSendMagicEffect(toPosition, CONST_ME_HOLYAREA)
        setConditionTime(cid, {t.hp, t.mp}, t.interval, t.duration)
    end
return true
end

function setConditionTime(cid, rise, interval, duration)
    local condition = createConditionObject(CONDITION_REGENERATION)
    setConditionParam(condition, CONDITION_PARAM_BUFF, true)
    setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, rise[1])
    setConditionParam(condition, CONDITION_PARAM_MANAGAIN, rise[2])
    setConditionParam(condition, CONDITION_PARAM_MANATICKS, interval*1000)
    setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, interval*1000)
    setConditionParam(condition, CONDITION_PARAM_TICKS, duration*60*1000)
    doAddCondition(cid, condition)
return true  
end

 

 

 

Adicione a tag no movements.xml: <movevent type="StepIn" actionid="ACTION_ID_DO_PISO" event="script" value="NOME_DO_ARQUIVO.lua"/>

 

O primeiro script esta perfeito, agora o não sei o que deu, mas o 2 script, ele drenou a vida (não deu erros no distro) adsuiaHHASUihsuiSau,

 

local t = {
hp = 100,
mp = 50, 
interval = 3, -- intervalo para healar
duration = 10 -- duração do efeito em minutos
}

function onStepIn(cid, item, fromPosition, itemEx, toPosition)
    if isPlayer(cid) then
        doCreatureSay(cid, "Regeneration Activated.", TALKTYPE_ORANGE_1)
        doSendMagicEffect(toPosition, CONST_ME_HOLYAREA)
        setConditionTime(cid, {t.hp, t.mp}, t.interval, t.duration)
    end
return true
end

function setConditionTime(cid, rise, interval, duration)
    local condition = createConditionObject(CONDITION_REGENERATION)
    setConditionParam(condition, CONDITION_PARAM_BUFF, true)
    setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, rise[1])
    setConditionParam(condition, CONDITION_PARAM_MANAGAIN, rise[2])
    setConditionParam(condition, CONDITION_PARAM_MANATICKS, interval*1000)
    setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, interval*1000)
    setConditionParam(condition, CONDITION_PARAM_TICKS, duration*60*1000)
    doAddCondition(cid, condition)
return true  
end

 

Posso aproveitar para pedir mais 1? Lamento não ter informado, é o ultimo relacionado.

 

Um script também de ring, que ao estar utilizando, possibilita que o jogador não receba um dano entre 10 hits, por exemplo. 

Está com o ring equipado, ai, existe a possibilidade de tomar 10 hits do oponente, 1 dele você absorve e converte o dano no oponente, tipo efeito de reflexão. (caso seja dificil, a opção de apenas absorver e não sofrer danos esta bom)

Sem título.png

Postado
  • Autor
51 minutos atrás, Dwarfer disse:

Veja se você não configurou algo errado, acabei de testar aqui e está funcionando corretamente.

 

Não mudei, agora só copiei e colei o que você fez, apenas não heala, sai o efeito e a mensagem, mas o heal não funciona

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.6k

Informação Importante

Confirmação de Termo