Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Ola gaaaaaaalera, é com muito prazer que venho trazer esse primeiro tutorial meu como Aprendiz do TibiaKing,

Spells:

Bom, spells sao as magias do nosso servidor, elas servem tanto para healar, atacar, dar suporte e etc ...

Criar magias é algo muito simples, vc mesmo poderam criar quantas magias quiserem para o seu servidor seguindo esse tutorial,

Muito bem, vamos começar ...

Spells de Curar (Healing)

Analizando a Spell

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.5, 2)


function onCastSpell(cid, var)

	return doCombat(cid, combat, var)

end
Fazendo a sua Spell
local combat = createCombatObject()
Nao precisamos mecher aqui
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
Aqui sera, oque vai acontecer
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
Aqui é o effect que saira quando o player usar a spell
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
A spell nao vai agressivar, assim podendo ser usada em areas PZ
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
Aqui sera um Extra, a spell ira curar paralyze
setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.5, 2)
Formula do magic level, quanto maior mais vai healar
function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Nao precisamos mecher aqui tambem Legenda: × Mais efeito pode ser encontrados no final do Tutorial × Oque ira acontecer, poder ser encontrado no final do Tutorial × Condições, pode ser encontradas mais no final do Tutorial

Obrigado a Todos,

Estou terminando de fazer o SpellMaker para facilitar a vida de vc,

Abraços :wub:

Spells de Atacar (Attack)
Analizando a Spell
local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS)

setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 12)


local area = createCombatArea(AREA_CROSS6X6)

setCombatArea(combat, area)


function onCastSpell(cid, var)

	return doCombat(cid, combat, var)

end
Fazendo a sua Spell
local combat = createCombatObject()
Nao mechremos aqui
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
Aqui sera o tipo de dano que a spell causara
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS)
Aqui é o effect que saira quando o player usar a spell setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 12) Formula do magic level, quanto maior mais vai healar
local area = createCombatArea(AREA_CROSS6X6)
Area que a spell vai atingir,
setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Nao mecheremos aqui tambem Legenda: × Areas, podem ser encontradas no final do Tutorial × Efeitos, podem ser encontrados no final do Tutorial × Danos, podem ser encontrados no final do Tutorial
Spells de Suporte (Support)
Analizando a Spell
local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)


local condition = createConditionObject(CONDITION_MANASHIELD)

setConditionParam(condition, CONDITION_PARAM_TICKS, 200000)

setCombatCondition(combat, condition)


function onCastSpell(cid, var)

	return doCombat(cid, combat, var)

end
Fazendo a sua Spell
local combat = createCombatObject()
Nao mechemos aqui
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
Efeito da magia
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
Magia nao agressiva, pode ser usada em areas PZ
local condition = createConditionObject(CONDITION_MANASHIELD)
Condição de escudo de mana
setConditionParam(condition, CONDITION_PARAM_TICKS, 200000)
O tempo que demora para essa spell acabar, 1 segundo = 1000
setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Nao mechemos aqui Legenda: × Efeito, pode ser encontrados mais no final do Tutorial × Condições, pode ser encontradas mais no final do Tutorial
Oque a Spell vai fazer
COMBAT_NONE

COMBAT_PHYSICALDAMAGE

COMBAT_ENERGYDAMAGE

COMBAT_POISONDAMAGE

COMBAT_FIREDAMAGE

COMBAT_UNDEFINEDDAMAGE

COMBAT_LIFEDRAIN

COMBAT_MANADRAIN

COMBAT_HEALING

COMBAT_DROWNDAMAGE
Efeitos
CONST_ME_DRAWBLOOD

CONST_ME_LOSEENERGY

CONST_ME_POFF

CONST_ME_BLOCKHIT

CONST_ME_EXPLOSIONAREA

CONST_ME_EXPLOSIONHIT

CONST_ME_FIREAREA

CONST_ME_YELLOW_RINGS

CONST_ME_GREEN_RINGS

CONST_ME_HITAREA

CONST_ME_ENERGYAREA

CONST_ME_ENERGYHIT

CONST_ME_MAGIC_BLUE

CONST_ME_MAGIC_RED

CONST_ME_MAGIC_GREEN

CONST_ME_HITBYFIRE

CONST_ME_HITBYPOISON

CONST_ME_MORTAREA

CONST_ME_SOUND_BLUE

CONST_ME_SOUND_RED

CONST_ME_POISONAREA

CONST_ME_SOUND_YELLOW

CONST_ME_SOUND_PURPLE

CONST_ME_SOUND_BLUE

CONST_ME_SOUND_WHITE

CONST_ME_BUBBLES

CONST_ME_CRAPS

CONST_ME_GIFT_WRAPS

CONST_ME_FIREWORK_YELLOW

CONST_ME_FIREWORK_RED

CONST_ME_FIREWORK_BLUE

CONST_ME_STUN

CONST_ME_SLEEP

CONST_ME_WATERCREATURE

CONST_ME_GROUNDSHAKER

CONST_ME_NONE


CONST_ANI_SPEAR

CONST_ANI_BOLT

CONST_ANI_ARROW

CONST_ANI_FIRE

CONST_ANI_ENERGY

CONST_ANI_POISONARROW

CONST_ANI_BURSTARROW

CONST_ANI_THROWINGSTAR

CONST_ANI_THROWINGKNIFE

CONST_ANI_SMALLSTONE

CONST_ANI_SUDDENDEATH

CONST_ANI_LARGEROCK

CONST_ANI_SNOWBALL

CONST_ANI_POWERBOLT

CONST_ANI_POISON

CONST_ANI_INFERNALBOLT

CONST_ANI_HUNTINGSPEAR

CONST_ANI_ENCHANTEDSPEAR

CONST_ANI_ASSASSINSTAR

CONST_ANI_GREENSTAR

CONST_ANI_ROYALSPEAR

CONST_ANI_SNIPERARROW

CONST_ANI_ONYXARROW

CONST_ANI_PIERCINGBOLT

CONST_ANI_WHIRLWINDSWORD

CONST_ANI_WHIRLWINDAXE

CONST_ANI_WHIRLWINDCLUB

CONST_ANI_ENCHANTEDSPEAR

CONST_ANI_WEAPONTYPE

CONST_ANI_NONE
Areas
AREA_WAVE4 = {

	{1, 1, 1, 1, 1},

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

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

	{0, 0, 3, 0, 0}

}


AREA_SQUAREWAVE5 = {

	{1, 1, 1},

	{1, 1, 1},

	{1, 1, 1},

	{0, 1, 0},

	{0, 3, 0}

}


AREA_WAVE5 = {

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

	{1, 1, 1, 1, 1},

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

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

	{0, 0, 3, 0, 0}

}


--Diagonal waves

AREADIAGONAL_WAVE4 = {

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

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

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

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

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

	{0, 0, 0, 0, 0, 3}

}


AREADIAGONAL_SQUAREWAVE5 = {

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

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

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

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

	{0, 0, 0, 0, 3}

}


AREADIAGONAL_WAVE5 = {

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

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

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

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

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

	{0, 0, 0, 0, 0, 3}

}


--Beams

AREA_BEAM1 = {

	{3}

}


AREA_BEAM5 = {

	{1},

	{1},

	{1},

	{1},

	{1},

	{3}

}


AREA_BEAM7 = {

	{1},

	{1},

	{1},

	{1},

	{1},

	{1},

	{1},

	{3}

}


--Diagonal Beams

AREADIAGONAL_BEAM5 = {

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

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

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

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

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

	{0, 0, 0, 0, 0, 3}

}


AREADIAGONAL_BEAM7 = {

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

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

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

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

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

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

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

	{0, 0, 0, 0, 0, 0, 0, 3}

}


--Circles

AREA_CIRCLE2X2 = {

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

	{1, 1, 1, 1, 1},

	{1, 1, 3, 1, 1},

	{1, 1, 1, 1, 1},

	{0, 1, 1, 1, 0}

}


AREA_CIRCLE3X3 = {

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

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

	{1, 1, 1, 1, 1, 1, 1},

	{1, 1, 1, 3, 1, 1, 1},

	{1, 1, 1, 1, 1, 1, 1},

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

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

}


-- Crosses

AREA_CROSS1X1 = {

	{0, 1, 0},

	{1, 3, 1},

	{0, 1, 0}

}


AREA_CROSS5X5 = {

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

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

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

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

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

	{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

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

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

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

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

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

}


AREA_CROSS6X6 = {

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

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

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

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

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

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

	{1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1},

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

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

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

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

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

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

}


--Squares

AREA_SQUARE1X1 = {

	{1, 1, 1},

	{1, 3, 1},

	{1, 1, 1}

}


-- Walls

AREA_WALLFIELD = {

	{1, 1, 3, 1, 1}

}


AREADIAGONAL_WALLFIELD = {

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

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

	{0, 1, 3, 1, 0},

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

	{1, 0, 0, 0, 0},
Condições
CONDITION_NONE

CONDITION_POISON

CONDITION_FIRE

CONDITION_ENERGY

CONDITION_LIFEDRAIN

CONDITION_HASTE

CONDITION_PARALYZE

CONDITION_OUTFIT

CONDITION_INVISIBLE

CONDITION_LIGHT

CONDITION_MANASHIELD

CONDITION_INFIGHT

CONDITION_DRUNK

CONDITION_EXHAUSTED

CONDITION_FOOD

CONDITION_REGENERATION

CONDITION_SOUL

CONDITION_DROWN

CONDITION_MUTED

  • Respostas 37
  • Visualizações 81.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado

Cara, você poderia explicar como funciona as formulas?

Qual número multiplica qual...

Como calcular os danos...

Dai sim ficaria como criar spells pro servidor,

Mas a intenção foi boa parabêns ae :accept:

Pois pelo que eu saiba tem numeros ai que multiplica ou divide o dano calculo.

Editado por KibeMatheus (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo