Ir para conteúdo
  • 0

Spell com Need Skill


r0bert0

Pergunta

Bom galera, estou com uma dúvida que não sei se é possivel ou nao.

 

Bom queria saber se tem como colocar na tag da magia no spells.xml algo que faça com que a spell necessite skills.

 

Exemplo no caso do Magic Level é só colocar (maglv="10") na tag que faz com que a magia necessite de ml 10 para ser usada.

 

E para outras skills é possivel ? Fist Fighting , Sword, Club e Distance como faço para colocar ? da para colocar na tag do spells.xml ou tem que ser dentro do script da magia ?

 

Aguardo respostas , obg desde já ! smile.png

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Por padrão, não há como configurar na tag condições envolvendo outras skills, como as citadas por você. Apesar de ser possível mudar isso nas sources do servidor, a opção mais fácil é no próprio código Lua, usando a seguinte função:

getPlayerSkillLevel(cid, skillid)

Exemplo de uso:

if getPlayerSkillLevel(cid, SKILL_SWORD) < 10 then
    return doPlayerSendCancel(cid, "Você não pode usar esta spell pois seu nível em sword é abaixo de 10.")
end
OBS: Você deve usar esta condição abaixo do callback onCastSpell.
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

Entendido Zipter98, porem sou leigo quanto a source será que voce poderia fazer esse imenso favor de me explicar ?

 

Qual ou quais arquivos devo modificar, será que pode deixar explicado aqui ?

Obg, agradeço desde já.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara mexer nisso nas sources não será difícil, mas você poderá piorar o que não é perfeito.

Coloca conforme o código citado pelo @zipter98 no arquivo .LUA

Para saber qual é o arquivo, basta abrir spells.xml na pasta "data/spells".

Provavelmente irá gastar a mana de qualquer forma a não ser que você coloque para que quando essa verificação for verdadeira adicionar mana X ao player.

Link para o comentário
Compartilhar em outros sites

  • 0

Ahhh sim, agora que entendi a mensagem do Zipter..

 

Então no caso é só adcionar essa condição dentro do script da spell né ?

Ficando assim \/ !

 

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -8.2, 1, -8.2, 1)

function onCastSpell(cid, var)
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 71)
return doCombat(cid, combat, var)
if getPlayerSkillLevel(cid, SKILL_SWORD) < 10 then
return doPlayerSendCancel(cid, "Você não pode usar esta spell pois seu nível em sword é abaixo de 10.")
end
end

 

 

Link para o comentário
Compartilhar em outros sites

  • 0


local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -8.2, 1, -8.2, 1)

 

function onCastSpell(cid, var)

if getPlayerSkillLevel(cid, SKILL_SWORD) < 10 then

return doPlayerSendCancel(cid, "Você não pode usar esta spell pois seu nível em sword é abaixo de 10.")

end

local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}

doSendMagicEffect(position1, 71)

return doCombat(cid, combat, var)

end

 

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

  • 0

SHOW Zipter ! Obrigado, só mais uma... Essa condição nao atrapalha em nada do que vem a seguir, posso sempre colocar em baixo do callback onCastSpell?

 

Estava a um tempo já procurando isso, obrigado :)

Duvida sanada !

Link para o comentário
Compartilhar em outros sites

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