Nome: Vocação Warlock Versão: 8.5, mais deve funfa 8.4 Tipo do script: Monster, vocation, Spell e action Servidor Testado: Tfs 0.2.5 Autor: Morvy Comentario: Este tuto soh funfa em tfs 0.2.5
Correção: Baseado no Diablo II
Como os tibianos conhecem warlock como um mago malvado q sumona bixo d pedra, eu vim aqui desmintir isto, warlocks não soh sumonam bixos de pedra, ele em outros rpgs eh um mago mal (como não era de se esperar), e demoniaco, podendo assim usar magias de poison, death, summon(Reviver esqueleto) e Invocação(monstros de pedra), ai baseado em outros rpgs, decidi criar uma voc nova para o tibia, e ai vai, soh q ela esta sem sumonar golem, e sem usar magias de death (demoniacas), bom, ele poderar usar sd.
Bom em fim, ai vai os scripts.
data\XML\vocations.xml:
Delete tudo o q estiver ali dentro, e coloque isto:
<?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="1" name="Sorcerer" description="a sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="10" gainmanaticks="3" gainmanaamount="30" manamultiplier="1.1" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="2" name="Druid" description="a druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="10" gainmanaticks="3" gainmanaamount="30" manamultiplier="1.1" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.8"/> <skill id="2" multiplier="1.8"/> <skill id="3" multiplier="1.8"/> <skill id="4" multiplier="1.8"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="3" name="Paladin" description="a paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="15" gainmanaticks="4" gainmanaamount="25" manamultiplier="1.4" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.2"/> <skill id="1" multiplier="1.2"/> <skill id="2" multiplier="1.2"/> <skill id="3" multiplier="1.2"/> <skill id="4" multiplier="1.1"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="4" name="Knight" description="a knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="30" gainmanaticks="6" gainmanaamount="10" manamultiplier="3.0" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.1" distDamage="1.0" defense="1.2" armor="1.0"/> <skill id="0" multiplier="1.1"/> <skill id="1" multiplier="1.1"/> <skill id="2" multiplier="1.1"/> <skill id="3" multiplier="1.1"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="5" name="Master Sorcerer" description="a master sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="20" gainmanaticks="2" gainmanaamount="50" manamultiplier="1.1" attackspeed="1050" soulmax="200" gainsoulticks="15" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="6" name="Elder Druid" description="an elder druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="20" gainmanaticks="2" gainmanaamount="50" manamultiplier="1.1" attackspeed="1050" soulmax="200" gainsoulticks="15" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.8"/> <skill id="2" multiplier="1.8"/> <skill id="3" multiplier="1.8"/> <skill id="4" multiplier="1.8"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="7" name="Royal Paladin" description="a royal paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="30" gainmanaticks="3" gainmanaamount="40" manamultiplier="1.4" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.2"/> <skill id="1" multiplier="1.2"/> <skill id="2" multiplier="1.2"/> <skill id="3" multiplier="1.2"/> <skill id="4" multiplier="1.1"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="8" name="Elite Knight" description="an elite knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="50" gainmanaticks="4" gainmanaamount="20" manamultiplier="3.0" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="4"> <formula meleeDamage="1.2" distDamage="1.0" defense="1.3" armor="1.1"/> <skill id="0" multiplier="1.1"/> <skill id="1" multiplier="1.1"/> <skill id="2" multiplier="1.1"/> <skill id="3" multiplier="1.1"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="9" name="Warlock" description="an warlock" gaincap="10" gainhp="10" gainmana="10" gainhpticks="4" gainhpamount="30" gainmanaticks="5" gainmanaamount="30" manamultiplier="1.3" attackspeed="1000" soulmax="250" gainsoulticks="15" fromvoc="9"> <formula meleeDamage="1.1" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="2.0"/> <skill id="1" multiplier="1.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.3"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="10" name="Supreme Warlock" description="an supreme warlock" gaincap="10" gainhp="10" gainmana="10" gainhpticks="2" gainhpamount="30" gainmanaticks="4" gainmanaamount="30" manamultiplier="1.3" attackspeed="1000" soulmax="250" gainsoulticks="15" fromvoc="9"> <formula meleeDamage="1.1" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="2.0"/> <skill id="1" multiplier="1.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.3"/> <skill id="6" multiplier="1.1"/> </vocation> </vocations>
Salve e feche
Explicando:
vocation id="10"(id da vocação)
gaincap="10"(cap q vai ganhar a voc por lvl)
gainhp="10"(hp que vai ganhar a cada lvl)
gainmana="10"(o tanto de mana que vai ganhar a cada lvl)
gainhpticks="2"(o tempo que irar ganha hp por segundos)
gainhpamount="30"(o tanto que ira ganhar de hp a cada x segundos do hpticks)
gainmanaticks="4"(o tempo que irar ganha mana por segundos) gainmanaamount="30"(o tanto que ira ganhar de mana a cada x segundos do manaticks)
manamultiplier="1.3"(magic level, quanto maior, mais dificil de upar ml)
attackspeed="1000"(velocidade do atk em mini seconds 1000=1segundo)
soulmax="250"(o tanto de soul q a voc vai ter)
gainsoulticks="15"( o tempo que vai ganhar a soul no caso 15 segundos
fromvoc="9"(derivado de x vocação)
skill id="0" multiplier="2.0" Skill de fist fight
skill id="1" multiplier="1.0" Skill de club
skill id="2" multiplier="2.0" Skill de axe
skill id="3" multiplier="2.0" Skill de sword
skill id="4" multiplier="2.0" Skill de Distance
skill id="5" multiplier="1.3" Skill de Shield
skill id="6" multiplier="1.1" Skill de fishing
(quanto menor o numero, maior eh a velocidade de upar)
Pronto, agora vc tem uma nova vocação.
Mais pera ai eh soh isso?
Claro que não, agora irei colocar as spells:
Va em data\spells\scripts copie e cole um arquivo, renomeie 9 arquivos dos seguntes nomes:
Betrayed Wraith.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onTargetTile(cid, pos) local position = pos position.stackpos = 255 local item = getThingfromPos(position) if item.itemid > 0 then if isInArray(CORPSES, item.itemid) == TRUE then doRemoveItem(item.uid,1) local creature = doSummonCreature("Summoned Betrayed Wraith", pos) doConvinceCreature(cid, creature) doSendMagicEffect(pos, CONST_ME_POFF) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Bone Beast.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onTargetTile(cid, pos) local position = pos position.stackpos = 255 local item = getThingfromPos(position) if item.itemid > 0 then if isInArray(CORPSES, item.itemid) == TRUE then doRemoveItem(item.uid,1) local creature = doSummonCreature("Summoned Bone Beast", pos) doConvinceCreature(cid, creature) doSendMagicEffect(pos, CONST_ME_POFF) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
demon skeleton.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onTargetTile(cid, pos) local position = pos position.stackpos = 255 local item = getThingfromPos(position) if item.itemid > 0 then if isInArray(CORPSES, item.itemid) == TRUE then doRemoveItem(item.uid,1) local creature = doSummonCreature("Summoned Demon Skeleton", pos) doConvinceCreature(cid, creature) doSendMagicEffect(pos, CONST_ME_POFF) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Grim Reaper.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onTargetTile(cid, pos) local position = pos position.stackpos = 255 local item = getThingfromPos(position) if item.itemid > 0 then if isInArray(CORPSES, item.itemid) == TRUE then doRemoveItem(item.uid,1) local creature = doSummonCreature("Summoned Grim Reaper", pos) doConvinceCreature(cid, creature) doSendMagicEffect(pos, CONST_ME_POFF) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
lost soul.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onTargetTile(cid, pos) local position = pos position.stackpos = 255 local item = getThingfromPos(position) if item.itemid > 0 then if isInArray(CORPSES, item.itemid) == TRUE then doRemoveItem(item.uid,1) local creature = doSummonCreature("Summoned Lost Soul", pos) doConvinceCreature(cid, creature) doSendMagicEffect(pos, CONST_ME_POFF) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
poison.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_GREEN_RINGS) function getCombatFormulas(cid, lv, maglv) local formula_min = -((lv*0.25 + maglv*3) * 2.5) local formula_max = -((lv*0.25 + maglv*3) * 2.8) if(formula_max < formula_min) then local tmp = formula_max formula_max = formula_min formula_min = tmp end return formula_min, formula_max end local area = createCombatArea(AREA_CROSS5X5) setCombatArea(combat, area) setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
poison wave.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_GREEN_RINGS) function getCombatFormulas(cid, lv, maglv) local formula_min = -((lv*0.25 + maglv*3) * 0.4) local formula_max = -((lv*0.25 + maglv*3) * 0.7) if(formula_max < formula_min) then local tmp = formula_max formula_max = formula_min formula_min = tmp end return formula_min, formula_max end local area = createCombatArea(AREA_WAVE4, AREADIAGONAL_WAVE4) setCombatArea(combat, area) setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
skeleton.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onTargetTile(cid, pos) local position = pos position.stackpos = 255 local item = getThingfromPos(position) if item.itemid > 0 then if isInArray(CORPSES, item.itemid) == TRUE then doRemoveItem(item.uid,1) local creature = doSummonCreature("Summoned Skeleton", pos) doConvinceCreature(cid, creature) doSendMagicEffect(pos, CONST_ME_POFF) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Undead Dragon.lua
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onTargetTile(cid, pos) local position = pos position.stackpos = 255 local item = getThingfromPos(position) if item.itemid > 0 then if isInArray(CORPSES, item.itemid) == TRUE then doRemoveItem(item.uid,1) local creature = doSummonCreature("Summoned Undead Dragon", pos) doConvinceCreature(cid, creature) doSendMagicEffect(pos, CONST_ME_POFF) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Salve tudo e feche.
Agora as tags:
<instant name="Summon Skeleton" words="sumonar skeleton" lvl="10" mana="50" prem="0" exhaustion="4000" needlearn="0" script="skeleton.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant> <instant name="Summon Demon Skeleton" words="sumonar demon skeleton" lvl="20" mana="100" prem="0" exhaustion="4000" needlearn="0" script="demon skeleton.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant> <instant name="Summon Bone Beast" words="sumonar bone beast" lvl="50" mana="200" prem="0" exhaustion="4000" needlearn="0" script="Bone Beast.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant> <instant name="Summon Betrayed Wraith" words="sumonar betrayed wraith" lvl="120" mana="500" prem="0" exhaustion="4000" needlearn="0" script="Betrayed Wraith.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant> <instant name="Summon Lost Soul" words="sumonar lost soul" lvl="180" mana="1200" prem="0" exhaustion="4000" needlearn="0" script="lost soul.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant> <instant name="Summon Undead Dragon" words="sumonar undead dragon" lvl="250" mana="1700" prem="0" exhaustion="4000" needlearn="0" script="Undead Dragon.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant> <instant name="Summon Grim Reaper" words="sumonar grim reaper" lvl="320" mana="3000" prem="0" exhaustion="4000" needlearn="0" script="Grim Reaper.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant> <instant name="Poison Wave" words="exevo pox hur" lvl="20" mana="20" direction="1" exhaustion="2000" needlearn="0" script="poison wave.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant> <instant name="Poison Bomb" words="exevo gran mas poison" lvl="110" mana="1070" prem="1" selftarget="1" exhaustion="2000" needlearn="0" script="poison.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant>
Mais e agora eh soh isso????
Eu digo não, agora nós iremos colocar os monstros
Mas por que? É que eu coloquei na frente dos nomes dos monstros, summons exemplo summon skeleton, pra galera não confundir e ficar pk.
Hmm muito interessante,
Entao vamos la:
Va em data\monster copie e cole 7 arquivos, e em cada você colocara:
Summoned Betrayed Wraith.xml
<?xml version="1.0" encoding="UTF-8"?> <monster name="summoned betrayed wraith" nameDescription="a summoned betrayed wraith" race="undead" experience="3500" speed="270" manacost="0"> <health now="4200" max="4200"/> <look type="233" corpse="6316"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="90" attack="95"/> <attack name="earth" interval="2000" chance="20" length="5" spread="3" min="-100" max="-350"> <attribute key="areaEffect" value="yellowbubble"/> </attack> <attack name="speed" interval="1000" chance="12" range="1" target="1" speedchange="-750" duration="6000"> <attribute key="areaEffect" value="mortarea"/> </attack> </attacks> <defenses armor="15" defense="15"> <defense name="healing" interval="1000" chance="30" min="150" max="290"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="invisible" interval="4000" chance="50" duration="4000"> <attribute key="areaEffect" value="redshimmer"/> </defense> <defense name="speed" interval="1000" chance="12" speedchange="360" duration="3000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <immunities> <immunity death="1"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <elements> <element icePercent="50"/> <element holyPercent="-20"/> </elements> <voices interval="5000" chance="10"> <voice sentence="Rrrah!"/> </voices> <loot> <item id="2148" chance1="100000" countmax="100" /> -- gold coin <item id="2148" chance1="100000" countmax="100" /> -- gold coin <item id="2148" chance1="100000" countmax="100" /> -- gold coin <item id="2152" chance1="40000" countmax="4" /> -- Platinum Coin <item id="7365" chance1="5500" countmax="6" /> -- Onyx Arrow <item id="7590" chance="7000"/> --great mana potion <item id="2394" chance="14000"/> -- morning star <item id="5799" chance="800"/> -- Golden Figurine <item id="2173" chance="900"/> -- aol <item id="1987" chance="100000"> --Bag <inside> <item id="6558" chance="2222"/> -- concentrated demonic blood <item id="2387" chance="13500"/> -- double axe <item id="7364" chance="5500" countmax="4" /> -- Sniper Arrow <item id="2226" chance="10000" /> -- fishbone <item id="5741" chance="2500"/> -- skullhelm <item id="7416" chance="850"/> -- Bloody Edge <item id="2145" chance1="6222" countmax="3" /> -- small diamond <item id="3976" chance1="4333" countmax="2" /> -- Soul Orb </inside> </item> </loot> </monster>
Summoned Bone Beast.xml
<?xml version="1.0" encoding="UTF-8"?> <monster name="summoned bone beast" nameDescription="a summoned bone beast" race="UNDEAD" experience="580" speed="210" manacost="0"> <health now="515" max="515"/> <look type="101" head="20" body="30" legs="40" feet="50" corpse="6030"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="75" attack="47" poison="110"/> <attack name="poison" interval="1000" chance="10" range="7" min="-25" max="-65"> <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="poison"/> </attack> <attack name="lifedrain" interval="1000" chance="15" radius="3" target="0" min="-30" max="-50"> <attribute key="areaEffect" value="redshimmer"/> </attack> <attack name="poisoncondition" interval="1000" chance="13" radius="3" target="0" min="-60" max="-80"> <attribute key="areaEffect" value="poison"/> </attack> </attacks> <defenses armor="20" defense="35"> <defense name="healing" interval="1000" chance="12" min="30" max="60"> <attribute key="areaEffect" value="greenspark"/> </defense> </defenses> <elements> <element deathPercent="100"/> <element earthPercent="100"/> <element firePercent="-10"/> <element holyPercent="-20"/> </elements> <immunities> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <loot> <item id="2148" countmax="20" chance1="100000" chancemax="0"/> <item id="2229" countmax="2" chance1="20000" chancemax="0"/> <item id="2231" chance="33333"/> <item id="2463" chance="2500"/> <item id="5925" countmax="1" chance1="5000" chancemax="0"/> <item id="1987" chance="100000"> <inside> <item id="2541" chance="2000"/> <item id="2148" countmax="10" chance1="50000" chancemax="0"/> <item id="2450" chance="1666"/> <item id="2449" chance="10000"/> </inside> </item> </loot> </monster>
Summoned Demon Skeleton.xml
<?xml version="1.0" encoding="UTF-8"?> <monster name="summoned demon skeleton" nameDescription="a summoned demon skeleton" race="undead" experience="240" speed="230" manacost="620"> <health now="400" max="400"/> <look type="37" head="20" body="30" legs="40" feet="50" corpse="5963"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" min="-0" max="-185"/> <attack name="lifedrain" interval="2000" chance="10" range="1" min="-30" max="-50"/> </attacks> <defenses armor="25" defense="25"/> <elements> <element icePercent="-10"/> <element holyPercent="-25"/> </elements> <immunities> <immunity fire="1"/> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity death="1"/> <immunity drunk="1"/> </immunities> <loot> <item id="2148" countmax="40" chance1="100000" chancemax="0"/> <item id="2399" countmax="1" chance1="10000" chancemax="0"/> <item id="2515" chance="400"/> <item id="2178" chance="1000"/> <item id="2050" chance="10000"/> <item id="1987" chance="100000"> <inside> <item id="2417" chance="5000"/> <item id="2482" chance="2857"/> <item id="2194" chance="700"/> <item id="2398" chance="10000"/> </inside> </item> </loot> </monster>
Summoned Grim Reaper.xml
<?xml version="1.0" encoding="UTF-8"?> <monster name="summoned Grim Reaper" nameDescription="a summoned grim reaper" race="undead" experience="4500" speed="370" manacost="0"> <health now="4100" max="4100"/> <look type="300" corpse="8955"/> <targetchange interval="5000" chance="10"/> <strategy attack="80" defense="20"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="85"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="135" attack="135"/> <attack name="death" interval="2000" chance="15" range="7" target="1" min="0" max="-60"> <attribute key="shootEffect" value="suddendeath"/> <attribute key="areaEffect" value="mortarea"/> </attack> <attack name="lifedrain" interval="2000" chance="15" length="7" spread="0" min="0" max="-600"> <attribute key="areaEffect" value="redspark"/> </attack> <attack name="physical" interval="2000" chance="14" radius="4" target="0" min="0" max="-395"> <attribute key="areaEffect" value="redspark"/> </attack> <attack name="physical" interval="3000" chance="19" length="7" spread="3" min="0" max="-300"> <attribute key="areaEffect" value="explosionarea"/> </attack> </attacks> <defenses armor="30" defense="30"> <defense name="healing" interval="1000" chance="25" min="100" max="195"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <elements> <element energyPercent="-10"/> <element earthPercent="20"/> <element icePercent="10"/> <element holyPercent="-20"/> <element deathPercent="60"/> <element firePercent="-20"/> </elements> <immunities> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="Death!" yell="1"/> <voice sentence="Come a little closer!" yell="1"/> <voice sentence="The end is near!" yell="1"/> </voices> <loot> <item id="2148" countmax="98" chance="40000"/> -- gold coin <item id="2148" countmax="100" chance="40000"/> -- gold coin <item id="2152" countmax="4" chance="20000"/> -- Platinum Coin <item id="2150" countmax="3" chance="10000"/> -- small amethyst <item id="6558" chance="13500"/> -- concentrated demonic blood <item id="6558" chance="18500"/> -- concentrated demonic blood <item id="6500" countmax="1" chance="6800"/> -- demonic essence <item id="6300" chance="2300"/> -- death ring <item id="5909" countmax="1" chance="2800"/> -- white piece of cloth <item id="2521" chance="7500"/> -- dark shield <item id="1987" chance="100000"> <inside> <item id="5022" countmax="4" chance="40000"/> -- orichalcum pearl <item id="8889" chance="1100"/> -- skullcracker armor <item id="7418" chance="1200"/> -- nightmare blade <item id="7589" chance="7500"/> -- strong mana potion <item id="8910" chance="5000"/> -- underworld rod <item id="8473" chance="7777"/> -- ultimate health potion </inside> </item> </loot> </monster>
Summoned Lost Soul.xml
<?xml version="1.0" encoding="UTF-8"?> <monster name="summoned lost soul" nameDescription="a summoned lost soul" race="undead" experience="4000" speed="280" manacost="0"> <health now="8500" max="8500"/> <look type="232" corpse="6310"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="85" attack="95"/> <attack name="death" interval="2000" chance="13" radius="4" target="0" min="-150" max="-250"> <attribute key="areaEffect" value="smallclouds"/> </attack> <attack name="speed" interval="2000" chance="18" radius="6" target="0" speedchange="-600" duration="7000"> <attribute key="areaEffect" value="smallclouds"/> </attack> </attacks> <defenses armor="35" defense="35"> <defense name="speed" interval="1000" chance="35" speedchange="370" duration="30000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <elements> <element energyPercent="50"/> <element earthPercent="50"/> <element holyPercent="-10"/> </elements> <immunities> <immunity fire="1"/> <immunity poison="1"/> <immunity death="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="30"> <voice sentence="Forgive Meeeee!"/> <voice sentence="Mouuuurn meeee!"/> </voices> <loot> <item id="2148" chance1="100000" countmax="100" /> -- gold coin <item id="2148" chance1="100000" countmax="100" /> -- gold <item id="2148" chance1="100000" countmax="100" /> -- Gold <item id="2152" chance1="59000" countmax="3" /> --Platinums <item id="2227" chance="20000" /> -- rotten meat <item id="2260" chance="10000" /> -- blank rune <item id="2480" chance="6667" /> -- legion helmet <item id="5806" chance="1000" /> -- silver goblet <item id="1987" chance="100000" > -- bag <inside> <item id="2463" chance="3933" /> -- skull staff <item id="2483" chance="10000" /> -- scale armor <item id="7413" chance="900" /> -- titan axe <item id="6526" chance="2300" /> -- skeleton decoration <item id="5801" chance="2738" /> -- key ring <item id="2197" chance="2500" countmax="5" /> -- ssa </inside> </item> </loot> </monster>
Summoned Skeleton.xml
<?xml version="1.0" encoding="UTF-8"?> <monster name="summoned Skeleton" nameDescription="a summoned skeleton" race="undead" experience="45" speed="180" manacost="350"> <health now="65" max="65"/> <look type="298" corpse="2843"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" min="-10" max="-40"/> <attack name="lifedrain" interval="2000" min="-5" max="-17"> <attribute key="areaEffect" value="redshimmer"/> </attack> </attacks> <defenses armor="2" defense="9"/> <elements> <element holyPercent="10"/> </elements> <immunities> <immunity death="1"/> </immunities> <loot> <item id="2148" countmax="15" chance1="90000" chancemax="0"/> --Gold Coin <item id="2230" chance="3333"/> --Bone <item id="1987" chance="100000"> --Bag <inside> <item id="2398" chance="10000"/> --Mace <item id="2511" chance="5000"/> --Brass Shield <item id="2787" countmax="3" chance1="90000" chancemax="0"/> --White Mushroom <item id="2789" chance="4000"/> --Brown Mushroom </inside> </item> </loot> </monster>
Summoned Undead Dragon.xml
<?xml version="1.0" encoding="UTF-8"?> <monster name="summoned undead dragon" nameDescription="a summoned undead dragon" race="undead" experience="7200" speed="300" manacost="0"> <health now="8350" max="8350"/> <look type="231" corpse="6306"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="95" attack="95"/> <attack name="fire" interval="2000" chance="20" range="7" radius="4" target="1" min="-300" max="-395"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="redspark"/> </attack> <attack name="death" interval="3000" chance="20" range="7" min="-0" max="-600"> <attribute key="shootEffect" value="suddendeath"/> </attack> <attack name="poison" interval="2000" chance="20" range="7" radius="4" target="1" min="-120" max="-390"> <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="poison"/> </attack> <attack name="poison" interval="1000" chance="10" range="7" min="-50" max="-180"> <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="poison"/> </attack> <attack name="fire" interval="4000" chance="25" length="8" spread="3" min="-500" max="-600"> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="poison" interval="2000" chance="23" length="8" spread="3" min="-200" max="-685"> <attribute key="areaEffect" value="poison"/> </attack> <attack name="lifedrain" interval="3000" chance="25" length="8" spread="3" min="-300" max="-600"> <attribute key="areaEffect" value="greenshimmer"/> </attack> </attacks> <defenses armor="35" defense="30"> </defenses> <elements> <element physicalPercent="10"/> <element icePercent="10"/> <element holyPercent="-10"/> </elements> <immunities> <immunity death="1"/> <immunity earth="1"/> <immunity fire="1"/> <immunity drown="1"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="FEEEED MY ETERNAL HUNGER!"/> </voices> <loot> <item id="2148" chance="100000" countmax="100" /> -- gold coin <item id="2152" chance="49000" countmax="5" /> -- platinum coin <item id="2236" chance="6667" /> -- torn book <item id="2413" chance="4000" /> -- broad sword <item id="1987" chance="100000" > -- bag <item id="2498" chance="3333"/> --Royal Helmet <item id="2492" chance="1400"/> --DSM <inside> <item id="6500" chance="1818" countmax="1" /> -- demonic essence <item id="5944" chance="1538" countmax="1" /> -- soul orb <item id="2547" chance="4000" countmax="15" /> -- power bolt <item id="2466" chance="2888"/> --Golden armor <item id="2454" chance="2400"/> --War Axe <item id="2476" chance="5400"/> --Knight armor <item id="8910" chance="4444"/> --Underworld rod </inside> </item> </loot> </monster>
Agora vamos as tags:
Va em data\monster\monsters.xml e adicione:
<monster name="Summoned Betrayed Wraith" file="Summoned Betrayed Wraith.xml"/> <monster name="Summoned Bone Beast" file="Summoned Bone Beast.xml"/> <monster name="Summoned Demon Skeleton" file="Summoned Demon Skeleton.xml"/> <monster name="Summoned Lost Soul" file="Summoned Lost Soul.xml"/> <monster name="Summoned Skeleton" file="Summoned Skeleton.xml"/> <monster name="Summoned Undead Dragon" file="Summoned Undead Dragon.xml"/> <monster name="Summoned Grim Reaper" file="Summoned Grim Reaper.xml"/>
Salve e feche.
E agora Morvy esta pronto?
Eu lhe digo não.
O caralho esta porra não acaba?
Calma, Calma, ja estamo chegando ao fim
Agora va em data\actions\scripts\liquids\strong_health.lua, exclua tudo e coloque isto:
local MIN = 200 local MAX = 400 local EMPTY_POTION = 7634 local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) if isPlayer(itemEx.uid) == FALSE then return FALSE end if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if((not(isKnight(itemEx.uid) or isPaladin(itemEx.uid)) or isWarlock(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 50) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then doCreatureSay(itemEx.uid, "Only knights, paladins and Warlocks of level 50 or above may drink this fluid.", TALKTYPE_ORANGE_1) return TRUE end if doCreatureAddHealth(itemEx.uid, math.random(MIN, MAX)) == LUA_ERROR then return FALSE end doAddCondition(cid, exhaust) doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, EMPTY_POTION) return TRUE end
Salve e feche.
Agora va em data\actions\scripts\liquids\strong_mana.lua, delete o q estiver dentro, e coloque:
local MIN = 110 local MAX = 190 local EMPTY_POTION = 7634 local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) if isPlayer(itemEx.uid) == FALSE then return FALSE end if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if((not(isSorcerer(itemEx.uid) or isDruid(itemEx.uid) or isPaladin(itemEx.uid)) or isWarlock(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 50) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then doCreatureSay(itemEx.uid, "Only sorcerers, druids, paladins and Warlocks of level 50 or above may drink this fluid.", TALKTYPE_ORANGE_1) return TRUE end if doPlayerAddMana(itemEx.uid, math.random(MIN, MAX)) == LUA_ERROR then return FALSE end doAddCondition(cid, exhaust) doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doTransformItem(item.uid, EMPTY_POTION) return TRUE end
Eh isso ai galera, finalmente chegamos ao fim, Warlocks são muitos melhores nas clubs, eles não usam wand e rod(coisa pra bixa), ele vai na porrada.
Ah e não esqueça de add a voc nas magias: Exura, exura gran, utevo lux, exori mort(só), exevo mort hur(se seu ot tiver, se não tiver, nem faça uma nova spell), utevo gran lux, utevo vis lux, utito tempo, exiva, exani tera, exani hur, utani hur, exeta res(warlock consegue blokar um pouco, para salvar sorcerers, pallys e druids). Aconselho em não add em utani gran hur(exceção), utamo vita(exceção), e outras.
Código da voc:
<vocation name="Warlock"/> <vocation name="Supreme Warlock"/>
Se você quiser uma coisa mais organizada, esta aqui a magia mais simplificada, e que funciona da mesma forma, mais foi bem reduzida:
Atenção os monstros pode não sumonar ao menos que você tenha os monstros que criei neste post
Primeiro vocês vão ter de fazer o processo na vocação dos monstros, para diferenciar e os players não pegar PK, para outro player não se assustar e para que funcione o convince, se não o monstro que sumona ataca você (Ta nakele link), feito isso vamos nessa:
Em data/spells/spells.xml:
<instant name="Summon Death" words="exana mas gran mort" lvl="10" mana="100" soul="100" prem="1" exhaustion="2000" needlearn="0" script="nome que você quiser.lua"> <vocation name="Warlock"/> <vocation name="Supreme Warlock"/> </instant>
Script:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onTargetTile(cid, pos) local position = pos position.stackpos = 255 local item = getThingfromPos(position) if item.itemid > 0 then if isInArray(CORPSES, item.itemid) == TRUE then doRemoveItem(item.uid,1) local creature1 = doSummonCreature("Summoned Skeleton", pos) local creature2 = doSummonCreature("Summoned Demon Skeleton", pos) local creature3 = doSummonCreature("Summoned Betrayed Wraith", pos) local creature4 = doSummonCreature("Summoned Lost Soul", pos) local creature5 = doSummonCreature("Summoned Grim Reaper", pos) if level > 10 and level < 25 then doConvinceCreature(cid, creature1) doSendMagicEffect(pos, CONST_ME_POFF) else if level > 26 and level < 120 then doConvinceCreature(cid, creature2) doSendMagicEffect(pos, CONST_ME_POFF) end else if level > 121 and level < 180 then doConvinceCreature(cid, creature3) doSendMagicEffect(pos, CONST_ME_POFF) end else if level > 181 and level < 250 then doConvinceCreature(cid, creature4) doSendMagicEffect(pos, CONST_ME_POFF) end else if level > 251 then doConvinceCreature(cid, creature5) doSendMagicEffect(pos, CONST_ME_POFF) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Se pa me atrapalhei nos end
Se você não quer por novos monstros, mude estes códigos, só que ai deveria mudar o convince destas criaturas, se não se ja viu né aushuashu:
local creature1 = doSummonCreature("Summoned Skeleton", pos) local creature2 = doSummonCreature("Summoned Demon Skeleton", pos) local creature3 = doSummonCreature("Summoned Betrayed Wraith", pos) local creature4 = doSummonCreature("Summoned Lost Soul", pos) local creature5 = doSummonCreature("Summoned Grim Reaper", pos)
por este:
local creature1 = doSummonCreature("Skeleton", pos) local creature2 = doSummonCreature("Demon Skeleton", pos) local creature3 = doSummonCreature("Betrayed Wraith", pos) local creature4 = doSummonCreature("Lost Soul", pos) local creature5 = doSummonCreature("Grim Reaper", pos)