JH
pedido

4 Spells Aparentemente Simples.

Por jhowxd, 15 de jul. de 2012 em Scripts

otserv
tibia
14
2.3k
jhowxdJ
15 de julho de 2012 às 21:54

Opa pessoal tudo numa boa? Gostaria de saber se alguém pode fazer umas spells para mim, tentei usar um spell maker mas não deu muito certo. São essas:

 

1° Uma magia que de 10% de ML para quem utiliza por 60 segundos, e somente Master Sorcerer e Elder Druid podem usa las, tenha exausted e não acumule (por que tentei fazer e os player ia usando a skill e upando ML depois saia dando HS em todos com SD kkkk

 

2° Uma magia que foce como um "exori con" mas que a imagem foce uma busterarrow e acerta-se a mesma areá de busterarrow mas o dano foce baseado no skill de distance do player, e só pode ser utilizado por Royal Paladin.

 

3° Uma magia que remova o magic wall da frente do player, +/- como o machete remove wild growth mas para knight e Elite Knight sem usa nenhum item apenas com uma magia.

 

4° Uma magia como a EXEVO VIS HUR mas com dano em Death e a imagem dela em vez de ser azul aquela preta de death mesmo com o dano baseado no ML, mas que seja um pouco mais forte que a propiá exevo vis hur, para Master sorcerer e Sorcerer.

 

São essas magias se alguém puder faze-las para mim, meu OT é 8.6

 

Grato Jhonatan. RESP++rules.gif

pbottrinksP
16 de julho de 2012 às 05:22

Vamos tentar.

 

1º: Script:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, 28)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 29)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 30)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 10)
setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

TAG:

<instant name="Exori Magic" words="Exori Magic" lvl=100" manapercent"20" selftarfet="1" script="script.lua">
	<vocation id="5"/>
	<vocation id="6"/>
</instant>

 

Ps: não testei. Vê se dá certo, e modifica time aqui:

setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)

e a porcentagem aqui:

setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 10)

 

 

 

2º: script:

__CODEBOX_1__

TAG:

<instant name="Exori Pally" words="exori pally" lvl="100" mana="200" prem="0" selftarget="1" exaustion="1000" needlearn="0" event="script" value="script.lua">
	 <vocation id="7"/>
</instant>

 

Nao entendi muito bem, o que você queria, mas tentei mesmo assim. Veja se fico como queria.

4º: Script:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.2, -1300, -1.5, -2000)

local arr = {
{1, 1, 1},
{1, 1, 1},
{1, 1, 1},
{0, 1, 0},
{0, 3, 0},
}

local area = creatCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

Tag:

<instant name="Mort Wave" words="exevo mort hur" maglv="70" mana="600" direction="1" exhaustion="1200" needlearn="0" event="script" value="script.lua">
	<vocation id="1"/>
	<vocation id="5"/>
</instant>

 

Para alterar o hit dessa magia, entre com um char in game, e vai testando. Para modificar a força dos hits, mecha aqui:

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.2, -1300, -1.5, -2000)

Vai aumentando, abaixando, até ficar do seu agrado.

 

 

A 3, nao sei como começar. Mas vou tentar, se conseguir posto.

Espero ter ajudado, abraços.

Editado Julho 16 por LucasCorrea

jhowxdJ
16 de julho de 2012 às 17:17

Blz vlw amigo olha a magia do palla so apareceu o codigo assim,

 

2º: script:

__CODEBOX_1__

TAG:

<instant name="Exori Pally" words="exori pally" lvl="100" mana="200" prem="0" selftarget="1" exaustion="1000" needlearn="0" event="script" value="script.lua">

<vocation id="7"/>

</instant>

 

BOM AS OUTRAS DUAS VOU TESTAR QUALQUER COISA POSTO AKE VLWW!!!

16 de julho de 2012 às 19:43

EXORI CON MODIFICADO

spells>script > cria 1 arquivo com nome exoriarrow.lua e cole

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -10, -15, -10, -15)



function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

spells.xml

<instant name="exori arrow" words="exori arrow" aggressive="1" lvl="100" maglv="0" mana="200" soul="0" needtarget="1" direction="0" exhaustion="0" prem="1" enabled="1" needlearn="0" script="exoriarrow.lua"><vocation name="Paladin"/><vocation name="Royal Paladin"/></instant>

 

EXEVO VIS HUR MODIFICADO

crie 1 arquivo com nome exevo mort hur.lua e cole isso.

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 17)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 17)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 10, 10, 9.5, 19)

local area = createCombatArea(AREA_SQUAREWAVE5, AREADIAGONAL_SQUAREWAVE5)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

agora em spells.xml cole isso

<instant name="exevo mort hur" words="exevo mort hur" aggressive="1" lvl="100" maglv="0" mana="200" soul="0" needtarget="1" direction="0" exhaustion="0" prem="1" enabled="1" needlearn="0" script="exevo mort hur.lua"><vocation name="1"/><vocation name="5"/></instant>

Editado Julho 16 por lfelipebsilva05

pbottrinksP
16 de julho de 2012 às 20:33

@lfelipesilva, eu ja havia respondido a mesma coisa. Não havia necessidade de seu post.

@tópic, ia reupar o script. Mas já q o usuário acima postou uma igual a minha, boa sorte.

Use o rep a seu dispor.

Abraços.

jhowxdJ
17 de julho de 2012 às 02:27

Blz a primeira tinha dado erro mas vou testar aqui e a 3° alguém sabe?

 

3° Uma magia que remova o magic wall da frente do player, +/- como o machete remove wild growth mas para knight e Elite Knight sem usa nenhum item apenas com uma magia.

pbottrinksP
17 de julho de 2012 às 11:45

Bom amigo. A primeira eu até usava em um OTServ. Depois me printa o erro do console, que vejo o que pode ser.

A 3ª é meio complicado, amigo.

Eu tenho uma magia que adciona um grav (trap de gravetos) na sua frente. Vou estudar uma de remoção, e já ´posto pra você.

Abraços.

jhowxdJ
17 de julho de 2012 às 13:23

Bom não da erro em nada porem quando vou utilizar a magia

 

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, 28)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 29)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 30)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)

 

local condition = createConditionObject(CONDITION_ATTRIBUTES)

setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 10)

setConditionParam(condition, CONDITION_PARAM_TICKS, 30000)

setConditionParam(condition, CONDITION_PARAM_BUFF, true)

setCombatCondition(combat, condition)

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

Ele fala que nao estou com o arma equipada? mas que arma?

 

Mesma coisa com a magia de paladin

 

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -10, -15, -10, -15)

 

 

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

E a magia morte hur ela sai para baixo independente para onde o char esteja olhando ela sair para baixo assim:

 

0 0 0 X 0 0 0

0 0 0 X 0 0 0

0 0 X X X 0 0

0 0 X X X 0 0

0 0 X X X 0 0

 

entende? quero que ela saia para onde o char estiver olhando.

Editado Julho 17 por jhowxd

17 de julho de 2012 às 16:19

testou as minhas?

jhowxdJ
17 de julho de 2012 às 17:30

A sua da o mesma coisa lfelipebsilva05 ele fala que nao esta equipado com a weapon

17 de julho de 2012 às 17:34

voce tem que usar sword ou arma de palla axo. tentai'

OneshotO
17 de julho de 2012 às 19:59

Olá,

 


 

data/spells/scripts/wisdom growth.lua

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 60 * 1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 110)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)

setCombatCondition(combat, condition)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

 

 

<instant name="Wisdom Growth" words="utito tempo vita" lvl="60" mana="600" prem="0" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="wisdom growth.lua">
	<vocation id="5"/>
	<vocation id="6"/>
</instant>

 


 

data/spells/scripts/ethereal burst arrow.lua

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, -25, 1.8, -50)

local area = createCombatArea(AREA_SQUARE1X1)

setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

<instant name="Ethereal Burst Arrow" words="exori con flam" lvl="40" mana="55" prem="0" range="5" needtarget="1" exhaustion="2000" blockwalls="1" needlearn="0" event="script" value="ethereal burst arrow.lua">
	<vocation id="3"/>
	<vocation id="7"/>
</instant>

 


 

data/spells/scripts/wall demolish.lua


function onCastSpell(cid, var)
local position = getCreatureLookPosition(cid)
local item = getTileItemByType(position, ITEM_TYPE_MAGICFIELD)
if item.uid > 0 and item.itemid == 1497 then
	doRemoveItem(item.uid)
	doSendMagicEffect(position, CONST_ME_PURPLEENERGY)
	return true
else
	doPlayerSendCancel(cid, "There is not a magic wall in your path.")
	return false
end
end

 

<instant name="Magic Demolish" words="exori vita hur" aggressive="0" lvl="34" mana="28" prem="0" exhaustion="2000" needlearn="0" event="script" value="wall demolish.lua">
	<vocation id="4"/>
	<vocation id="8"/>
</instant>

 


 

data/spells/scripts/death wave.lua

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5.4, 10.8)

local area = createCombatArea(AREA_SQUAREWAVE5, AREADIAGONAL_SQUAREWAVE5)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

<instant name="Death Wave" words="exevo mort hur" lvl="38" mana="170" direction="1" exhaustion="2000" needlearn="0" event="script" value="death wave.lua">
	<vocation id="1"/>
	<vocation id="5"/>
</instant>

 


Editado Julho 22 por Oneshot

jhowxdJ
22 de julho de 2012 às 19:13

OneShot vou testa las.

 

ainda esta dando erro OneShot, mas agora ta dando erro e nem abre o OT :S

OneshotO
22 de julho de 2012 às 19:18

Eu testei todas antes de postar, então o problema é o servidor. Enfim, você pode esperar por outra pessoa fazer os scripts.

 


 

Veja se você não esqueceu de fechar alguma chave no spells.xml.

 

Abraços.

Editado Julho 22 por Oneshot