Ir para conteúdo

3 Scripts Para Ot Avatar


kelphs

Posts Recomendados

1-

 

Bom, estou criando um ot avatar, e uma magia está dando um erro, ela fica um sqm para frente!

 

Tipo do script: Spell

Protocolo (versão do Tibia): 8.41

Servidor utilizado: The forgotten server (Alissow Ots 3.3.2 - 2ª Revisão de erros)

Nível de experiência: Baixo

Adicionais/Informações: Uma ss

 

otfwhip.png

 

e aki está o script da magia que eu criei, seguindo o tutorial programando magias, aki do xtibia.

 

local acombat1 = createCombatObject()
local acombat2 = createCombatObject()
local acombat3 = createCombatObject()
local acombat4 = createCombatObject()
local acombat5 = createCombatObject()
local acombat6 = createCombatObject()

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -4.0, -57, -1.0, -160)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

arr1 = {
{1, 0, 0},
{0, 2, 0},
{0, 0, 0},

}

arr2 = {
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},


}

arr3 = {
{0, 0, 1},
{0, 2, 0},
{0, 0, 0},


}

arr4 = {

{0, 0, 1},
{0, 2, 0},
{0, 0, 0},


}

arr5 = {
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},


}

arr6 = {
{1, 0, 0},
{0, 2, 0},
{0, 0, 0},


}



local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
local area5 = createCombatArea(arr5)
local area6 = createCombatArea(arr6)

setCombatArea(acombat1, area1)
setCombatArea(acombat2, area2)
setCombatArea(acombat3, area3)
setCombatArea(acombat4, area4)
setCombatArea(acombat5, area5)
setCombatArea(acombat6, area6)

function onTargetTile(cid, pos)
   doCombat(cid,combat1,positionToVariant(pos))
end

function onTargetTile2(cid, pos)
   doCombat(cid,combat2,positionToVariant(pos))
end

function onTargetTile3(cid, pos)
   doCombat(cid,combat3,positionToVariant(pos))
end

function onTargetTile4(cid, pos)
   doCombat(cid,combat4,positionToVariant(pos))
end

function onTargetTile5(cid, pos)
   doCombat(cid,combat5,positionToVariant(pos))
end

function onTargetTile6(cid, pos)
   doCombat(cid,combat6,positionToVariant(pos))
end


setCombatCallback(acombat1, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

setCombatCallback(acombat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2")


setCombatCallback(acombat3, CALLBACK_PARAM_TARGETTILE, "onTargetTile3")


setCombatCallback(acombat4, CALLBACK_PARAM_TARGETTILE, "onTargetTile4")


setCombatCallback(acombat5, CALLBACK_PARAM_TARGETTILE, "onTargetTile5")

setCombatCallback(acombat6, CALLBACK_PARAM_TARGETTILE, "onTargetTile6")

local function onCastSpell1(parameters)
   doCombat(parameters.cid, acombat1, parameters.var)
end

local function onCastSpell2(parameters)
   doCombat(parameters.cid, acombat2, parameters.var)
end

local function onCastSpell3(parameters)
   doCombat(parameters.cid, acombat3, parameters.var)
end

local function onCastSpell4(parameters)
   doCombat(parameters.cid, acombat4, parameters.var)
end

local function onCastSpell5(parameters)
   doCombat(parameters.cid, acombat5, parameters.var)
end

local function onCastSpell6(parameters)
   doCombat(parameters.cid, acombat6, parameters.var)
end

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 250, parameters)
addEvent(onCastSpell3, 400, parameters)
addEvent(onCastSpell4, 550, parameters)
addEvent(onCastSpell5, 700, parameters)
addEvent(onCastSpell6, 850, parameters)
return TRUE

end

 

----------------------------------------------------------------------------------------------------------------------------------------

 

2-

 

Para as magias de agua, que eu nem começei fazer, preciso de um script que elas só possam ser usadas caso acha agua do lado(como um rio).

Ou caso o personagem tenha o chamadd no ot "water pouch".

 

Tipo do script: Magias que precisam ficar perto da agua, e transformar o "Spirit Container" do tibia em water pouch, fazendo ele carregar agua, como nas imagens abaixo.

Protocolo (versão do Tibia): 8.41

Servidor utilizado: The forgotten server (Alissow Ots 3.3.2 - 2ª Revisão de erros)

Nível de experiência: Baixo

Adicionais/Informações: ss's do meu char no ot. Os water pouch devem ser colocados no lugar da flecha!

 

aguainsuficiente.png

Aki nesta foto diz agua insuficiente, ja que nao tem agua por perto e os water pouchs nao estao no lugar da munição!

 

 

agua100.png

Eu enchendo o water pouch em uma fonte, só da use na fonte com o water pouch. Depois de cheio, se clicar novamente com o botão direito irá aparecer a capacidade, 100%. E outra coisa que eu queria colocar é quanto cada magia irá gastar em %.

 

 

98450642.png

Esta imagem eu estou soltando uma magia, que gasta 1%.

 

 

48749130.png

Aki eu esvaziei o water pouch com o comando !fw

 

E eu nao consegui achar esse item usado no ot para colocar o id aki, se alguem souber o nome no tibia avisa por favor, eu só sei que tem no meu ot, porque esse ot avatar é 8.0, mais antigo do que o meu!

 

 

Eu sei que é pedir muito, mas se puderem fazer esses scripts eu ficaria grato, porque nao tenho experiencia para fazer isso!

Agradeço desde já a todos do xtibia, que me ensinaram o pouco que eu sei.

Link para o comentário
Compartilhar em outros sites

Você cometeu um erro na primeira magia,

Você não precisa usar a função onTargetTile e as variáveis acombat (1, 2 e etc...), pois pelo que percebi você está usando um efeito normal e não um efeito de animação. Então o script ficaria assim:

 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -4.0, -57, -1.0, -160)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)

arr1 = {
{1, 0, 0},
{0, 2, 0},
{0, 0, 0},

}

arr2 = {
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},


}

arr3 = {
{0, 0, 1},
{0, 2, 0},
{0, 0, 0},


}

arr4 = {

{0, 0, 1},
{0, 2, 0},
{0, 0, 0},


}

arr5 = {
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},


}

arr6 = {
{1, 0, 0},
{0, 2, 0},
{0, 0, 0},


}



local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
local area5 = createCombatArea(arr5)
local area6 = createCombatArea(arr6)

setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
setCombatArea(combat5, area5)
setCombatArea(combat6, area6)

local function onCastSpell1(parameters)
   doCombat(parameters.cid, combat1, parameters.var)
end

local function onCastSpell2(parameters)
   doCombat(parameters.cid, combat2, parameters.var)
end

local function onCastSpell3(parameters)
   doCombat(parameters.cid, combat3, parameters.var)
end

local function onCastSpell4(parameters)
   doCombat(parameters.cid, combat4, parameters.var)
end

local function onCastSpell5(parameters)
   doCombat(parameters.cid, combat5, parameters.var)
end

local function onCastSpell6(parameters)
   doCombat(parameters.cid, combat6, parameters.var)
end

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 250, parameters)
addEvent(onCastSpell3, 400, parameters)
addEvent(onCastSpell4, 550, parameters)
addEvent(onCastSpell5, 700, parameters)
addEvent(onCastSpell6, 850, parameters)
return TRUE

end

 

Verei como fazer os dois próximos scripts, se encontrar uma maneira, te contactarei.

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

Oneshot, valeu por ajudar, mas a magia continua um sqm para frente!!!

 

Up~~

 

 

OBS: nao sei se pode ou nar da "up", mas como nao achei nada a respeito nas regras, dei up no meu topico.

Link para o comentário
Compartilhar em outros sites

Amigos, caso vocês se interessem tenho as magias do Korelin reproduzidas por mim. Todas idênticas ou melhores!

 

Eu também tenho um OT de Avatar, porém o meu não usará essas magias simples.

 

 

Att,

Dokmos

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
×
×
  • Criar Novo...