Spell com Need Skill

r0bert0
em Scripts

r0bert0

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/05/13Posts: 28Char no Tibia: Mister Ares

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

Clarym

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/09/15Posts: 48

Também queria saber :s

*Imagine minha assinatura do RG*

zipter98

avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 20/09/12Posts: 2553Gênero: Masculino

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.

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

r0bert0

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/05/13Posts: 28Char no Tibia: Mister Ares

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á.

Martelix

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/08/08Posts: 57Char no Tibia: Termabre Dore

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.

r0bert0

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/05/13Posts: 28Char no Tibia: Mister Ares

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

 

 

zipter98

avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 20/09/12Posts: 2553Gênero: Masculino


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

 

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

r0bert0

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/05/13Posts: 28Char no Tibia: Mister Ares

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 !

zipter98

avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 20/09/12Posts: 2553Gênero: Masculino

Exato, sempre coloque esta condição abaixo do callback.

Sanado, movido.


Tópico movido para dúvidas / pedidos resolvidos.

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.