Ir para conteúdo

[spells] Condition Damage


renatotbreis

Posts Recomendados

seguinte: minha spell é um raio simples que, quando acerta um alvo, causa dano normal e depois cria a condição shock, que pode:

 

-se for player: tirar 8% de vida do máx (se não for possível pode ser 'level*2')

-se for monstro: tirar 25hp.

 

eu não sei como colocar essa função com essas condições. por favor, alguém pode postar em um script de 'exevo gran vis lux'?

 

obrigado,

 

braço!

Link para o comentário
Compartilhar em outros sites

putz cara ai vc me pego nao sei quase nada sobre spells, posso tentar fazer pra voce em movements, e depois tento fazer por spells, exemplo:

 

function onStepIn(cid, item, tileitem)
if isPlayer == TRUE then
addDamageCondition(energy, [color="#FF0000"]rounds[/color], [color="#FF00FF"]time[/color], [color="#00FF00"]value[/color])
elseif isMonster == TRUE then
addDamageCondition(energy, [color="#FF0000"]rounds[/color], [color="#FF00FF"]time[/color], [color="#00FF00"]value[/color])
end
return TRUE
end

 

 

e em moviments.xml adicione

<movevent event="StepIn" itemid="[color="#0000FF"]xxxx[/color]" script="[color="#FFFF00"]conditiondamage.lua[/color]"/>

 

Em Amarelo: o nome do script que fica em data/movements/scripts

Em Vermelho: a quantia de hits que quer que o player receba

Em Rosa: o tempo que ela vai durar

Em Verde: o dano, deve ser diferente para monsters e players (se voce quiser claro...)

Em Azul: o id do item que o player ou monster pisara pra ganhar a condition

 

OBS: eu fiz o script postando esse topico e obviamente nao testei ;S

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

Também não sei, mas para tirar 8% da vida de alguém é só fazer isso:

 

life = getPlayerHealth(uid)

doPlayerAddHealth(cid,0 - (life * 0.08))

 

simples ;D

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

Também não sei, mas para tirar 8% da vida de alguém é só fazer isso:

 

life = getPlayerHealth(uid)

doPlayerAddHealth(cid,0 - (life * 0.08))

 

simples ;D

 

OPA!

 

vou tentar fazer isso com magic effects programados por tempo enquanto dura o efeito de shock!

 

só uma coisa: o getPlayerHealth pega o total de vida ou o máximo de vida do player?

 

vlw, braço!

 

---edit---

 

acabei de me lembrar... esse efeito que você botou aqui tira vida do jogador, mas não de um player da área da spell >.<

não sabe como fazer com que seja do tipo, na própria local condition?

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

@up, vc ta falando comigo ou com o lucas? ;S, se for comigo, getCreatureHealth(cid) pega a health que o player esta e NAO a total, pra pegar a total é getPlayerCreatureHealth(cid), e pra fazer o efeito do shock soh bota:

 

pos = getCreaturePosition(cid)

doSendMagicEffect(pos ,CONST_ME_ENERGYHIT)

 

edit:

 

agora entendi oq quis dizer, pra fazer uma area vc tem que bota tipo assim:

 

function onStepIn(cid, tileitem, toPosition, fromPosition)
local life = getCreatureMaxHealth(cid)
pos = getCreaturePosition(cid)
itempos = getThingfromPos(pos)
if isMonster(itempos) == TRUE then
doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, pos, 1, 25, 25, CONST_ME_ENERGYHIT)
elseif isPlayer(itempos) == TRUE then
doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, pos, 1, life * 0.08, life * 0.08, CONST_ME_ENERGYHIT)
end
return TRUE
end

 

ta ai achu que funciona(nao sei pq nao testei ;S) e to tentando passar para spell :smile_positivo: (mas como sou um otimo spell maker nun sei se vai sai bom;/)

 

edit2: po cara nun consigu nao velho, meu forte é script de actions/movements... nao consigo fazer uma spell assim malz..

o que eu posso fazer é tipo uma energy bomb, que quando o player pisar em cima tira 8% da vida ou player tira 25, mais que isso só um spell maker ou alguem mais experiente que eu ;S

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...