Esse TUTORIAL é para aqueles que não sabem criar spells para monstros.
1º Vá em data/spells/scripts/monsters
Aqui você tem liberdade total para fazer qualquer tipo de spell para que seu monstro possa usar , desde que não venha contendo nada no script que exiga um player para usa-lá.
Exemplo: Fazer o script de uma manarune, Magic wall ou utani mega hur coisas desse tipo não vai funcionar, mas é claro que vocês não querem fazer isso.
Vamos supor que você quer fazer uma “Cold Wind Storm” para o seu frost dragon.
Em data/spells/scripts/monsters copie e cole qualquer spell que lá esteja e renomeie para “cold wind storm” e cole dentro:
local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -450, 0, -650)
local area = createCombatArea(AREA_CROSS6X6)
setCombatArea(combat, area)
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
Explicação:
ICE_DAMAGE significa dano de gelo, existem os seguintes tipos de dano:
COMBAT_PHYSICALDAMAGE -- Tipo de dano da Exori
COMBAT_ENERGYDAMAGE -- Tipo de dano da Exori Vis
COMBAT_EARTHDAMAGE -- Tipo de dano da Exori Tera
COMBAT_POISONDAMAGE -- Veneno
COMBAT_FIREDAMAGE -- Tipo de dano da Exori Flam
COMBAT_UNDEFINEDDAMAGE -- Não sei
COMBAT_LIFEDRAIN -- Dreno na Life
COMBAT_MANADRAIN -- Dreno na Mana
COMBAT_HEALING -- Cura na Life
COMBAT_DROWNDAMAGE -- Afogamento
COMBAT_ICEDAMAGE -- Tipo de dano da Exori Frigo
COMBAT_HOLYDAMAGE -- Tipo de dano da Exori San
COMBAT_DEATHDAMAGE -- Tipo de dano da Exori Mort
Agora vá em data/scripts/spells.xml
Procure por:
<!-- instant monster spells -->
Dependendo do seu ot você vai encontrar isso:
<!-- instant monster spells --> <instant name="cura" words="cura" enabled="0" script="monsters/cura.lua"></instant> <instant name="newmosn" words="newmosn" enabled="0" script="monsters/newmosn.lua"></instant> <instant name="death wave" words="death wave" enabled="0" script="monsters/death wave.lua"></instant> <instant name="carniphila atack" words="carniphila atack" enabled="0" script="monsters/carniphila atack.lua"></instant>
Agora é só adicionar a spell criada.
No caso ficaria assim:
<!-- instant monster spells -->
<instant name="cura" words="cura" enabled="0" script="monsters/cura.lua"></instant>
<instant name="newmosn" words="newmosn" enabled="0" script="monsters/newmosn.lua"></instant>
<instant name="death wave" words="death wave" enabled="0" script="monsters/death wave.lua"></instant>
<instant name="carniphila atack" words="carniphila atack" enabled="0" script="monsters/carniphila atack.lua">
<instant name="cold wind storm" words="cold wind storm" enabled="0" script="monsters/cold wind storm.lua"></instant>
Agora pra adicionar a spell criada ao monstro abra-o e adicione a spell:
<?xml version="1.0" encoding="UTF-8"?> <monster name="Frost Dragon" nameDescription="a frost dragon" race="undead" experience="2300" speed="260" manacost="0"> <health now="1800" max="1800"/> <look type="248" head="20" body="30" legs="40" feet="50" corpse="7091"/> <targetchange interval="5000" chance="6"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="70"/> <flag runonhealth="250"/> </flags> <attacks> <attack name="melee" interval="2000" skill="68" attack="120"/> <attack name="cold wind storm" interval="2000" chance="25" min="-280" max="-470"> -- EXPLICAREI <attack name="physical" interval="2000" chance="25" range="7" radius="4" target="1" min="-80" max="-180"> <attribute key="shootEffect" value="energy"/> <attribute key="areaEffect" value="blackspark"/> </attack> <attack name="physical" interval="3000" chance="20" length="7" spread="3" min="-100" max="-260"> <attribute key="areaEffect" value="poff"/> </attack> <attack name="melee" interval="2000" chance="19" range="7" radius="3" target="0" min="-0" max="-70"> <attribute key="areaEffect" value="poff"/> </attack> <attack name="speed" interval="4000" chance="25" range="7" target="1" speedchange="-600" duration="50000"> <attribute key="areaEffect" value="redshimmer"/> </attack> </attacks> <defenses armor="22" defense="35"> <defense name="healing" interval="1000" chance="25" min="80" max="120"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <elements> <element firePercent="100"/> <element icePercent="100"/> <element earthPercent="100"/> <element physicalPercent="15"/> </elements> <immunities> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <loot> <item id="2148" countmax="100" chance1="100000" chancemax="0"/> --Gold Coins <item id="2672" countmax="1" chance1="33000" chancemax="0"/> --Dragon Ham <item id="2033" chance="1968"/> --Golden Mug <item id="1973" chance="5222"/> --Book <item id="7290" chance="2777"/> --Shard <item id="2498" chance="1200"/> --Royal Helmet <item id="2396" chance="1620"/> --Ice Rapier <item id="2492" chance="855"/> --Dragon Scale Mail <item id="2547" countmax="1" chance1="3500" chancemax="0"/> --Power Bolt <item id="2796" countmax="1" chance1="8000" chancemax="0"/> --Green Mushroom <item id="2004" chance="100000"> --Bag <inside> <item id="2148" countmax="63" chance1="88888" chancemax="0"/> --Gold Coins <item id="2146" countmax="1" chance1="1483" chancemax="0"/> --Small Sapphire <item id="2528" chance="2200"/> --Tower Shield <item id="7441" chance="2900"/> --Ice Cube <item id="7402" chance="885"/> --Dragon Slayer <item id="2167" chance="2333"/> --Energy Ring </inside> </item> </loot> </monster>
Explicação:
interval="2000" significa intervalo de 2 em 2 segundos (1000 = 1 segundo)
chance="25" significa que tem chance de 25% de uso da magia
min="-280" max="-470" significa que o dano minimo é 280 e o maximo é 470
Bom galera é isso eu espero que quem já não sabia tenha aprendido.
Créditos:
Meus.