BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

un monstruo que cambie de forma

un monstruo que cambie de forma

#1 un monstruo que cambie de forma el Vie Oct 14, 2016 10:22 am

kikis


Novato
quisiera un monstruo que se transforme en hydra, dragon, y dragon lord, pero cambie cada 3 segundos!! y cuando se transforme en hydra lanse los poderes de hydra y cuando sea dragon que lanse de dragon y cuando sea dragon lord igual jejejeje espero alguien me pueda ayudar!!

#2 Re: un monstruo que cambie de forma el Miér Dic 28, 2016 7:11 pm

Amy Azzkaban


Miembro
Te puedo crear el monster, pero eso de que ataque segun lo que se transformò no lo puedo hacer. Podria hacer algo parecido pero no igual. Que opinas?

#3 Re: un monstruo que cambie de forma el Jue Dic 29, 2016 2:05 pm

Belerofonte


Administrador
Yo creo que sí podría hacerlo. [Tienes que estar registrado y conectado para ver este vínculo] ¿Tú el monstruo y yo la transformación y los ataques?



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#4 Re: un monstruo que cambie de forma el Sáb Dic 31, 2016 12:41 pm

Amy Azzkaban


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Yo creo que sí podría hacerlo. [Tienes que estar registrado y conectado para ver este vínculo] ¿Tú el monstruo y yo la transformación y los ataques?

Hola! Aquì intentè crear algo parecido, y si, Belerofonte, tu puedes con el creaturescript?
Por cierto, no tengo como testear el monster, ya no poseo servidores.

Código:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Dragon" nameDescription="a dragon" race="blood" experience="700" speed="180" manacost="0">
   <health now="2350" max="2350"/>
   <look type="34" corpse="5973"/>
   <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="0"/>
      <flag pushable="0"/>
      <flag canpushitems="1"/>
      <flag canpushcreatures="1"/>
      <flag targetdistance="1"/>
      <flag staticattack="90"/>
      <flag runonhealth="300"/>
   </flags>
   <attacks>
<attacks>       
      <attack name="melee" interval="2000" skill="80" attack="60"/>
      <attack name="speed" interval="1000" chance="17" range="7" radius="4" target="1" speedchange="-600" duration="15000">
       <attribute key="shootEffect" value="poison"/>
      <attribute key="areaEffect" value="greenbubble"/>
</attack>
        <attack name="firefield" interval="1000" chance="15" range="7" radius="4" target="1">
        <attribute key="shootEffect" value="fire"/>
</attack> 
        <attack name="fire" interval="3000" chance="15" length="8" spread="3" min="-110" max="-170">
        <attribute key="areaEffect" value="firearea"/>
</attack>
        <attack name="ice" interval="2000" chance="22" radius="3" target="0" min="0" max="-160">
        <attribute key="areaEffect" value="icetornado"/>
</attack>
        <attack name="ice" interval="1000" chance="10" target="1" radius="4" min="0" max="-160">
        <attribute key="areaEffect" value="icearea"/>
        <attribute key="shootEffect" value="smallice"/> 
</attack>   
</attacks>
<defenses armor="50" defense="55">
        <defense name="healing" interval="1000" chance="25" min="200" max="400">
        <attribute key="areaEffect" value="blueshimmer"/>
</defense>   
        <defense name="speed" interval="1000" chance="15" speedchange="200" duration="20000">
        <attribute key="areaEffect" value="redshimmer"/>
</defense>               
        <defense name="outfit" interval="5000" chance="30" type="39" duration="3500">
        <attribute key="areaEffect" value="greenshimmer"/>       
</defense>
        <defense name="outfit" interval="12000" chance="30" type="121" duration="5500">
        <attribute key="areaEffect" value="blueshimmer"/>         
</defense>           
      <defense name="outfit" interval="3500" chance="30" type="34" duration="1000">   
     <attribute key="areaEffect" value="redshimmer"/>       
</defense>       
</defenses> 
   <elements>
      <element earthPercent="100"/>
      <element firePercent="100"/>
      <element icePercent="40"/>
      <element holyPercent="25"/>
      <element physicalPercent="-15"/>
      <element energyPercent="-10"/>
   </elements>
   <immunities>
      <immunity lifedrain="1"/>
      <immunity paralyze="1"/>
      <immunity invisible="1"/>
   </immunities>
   <voices interval="5000" chance="10">
      <voice sentence="FCHHHHH"/>
      <voice sentence="HISSSS"/>
      <voice sentence="YOU WILL BURN!" yell="1"/>
   </voices>
   <loot>
      <item id="2148" countmax="90" chance="24000"/><!-- gold coin -->
      <item id="2148" countmax="80" chance="24000"/><!-- gold coin -->
      <item id="2148" countmax="80" chance="24000"/><!-- gold coin -->
      <item id="2666" countmax="4" chance="37500"/><!-- meat -->
      <item id="2671" countmax="4" chance="25000"/><!-- ham -->
      <item id="7589" chance="200"/><!-- strong mana potion -->
      <item id="2177" chance="500"/><!-- life crystal -->
      <item id="2197" chance="900"/><!-- stone skin amulet -->
      <item id="2146" chance="5000"/><!-- small sapphire -->
      <item id="4850" chance="600"/><!-- hydra egg -->
      <item id="2214" chance="1050"/><!-- ring of healing -->
      <item id="2475" chance="1000"/><!-- warrior helmet -->
      <item id="2476" chance="1200"/><!-- knight armor -->
      <item id="2536" chance="200"/><!-- medusa shield -->
      <item id="2498" chance="200"/><!-- royal helmet -->
      <item id="2195" chance="120"/><!-- boots of haste -->
   </loot>
</monster>

Me avisan còmo va?

#5 Re: un monstruo que cambie de forma el Lun Ene 02, 2017 4:06 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] Vale. No recordaba que se le podía poner el cambio de aspecto así, desde el archivo.xml u.u
Por lo que el Globalevents que hice para llevar a cabo la transformación: ha sido descartado.

En el cual también le puse las voices:
      {"GROOAAARRR", "FCHHHHH"}, -- Dragon
       {"ZCHHHHH", "YOU WILL BURN"}, -- Dragon Lord
       {"FCHHHHH", "HISSSS"}, -- Hydra
Para que aparezcan la de cada uno(al azar) al momento, dependiendo de en qué monstruo se transforma... pero, podemos prescindir de ese detallito por haber quitado el Globalevents.

¿A qué te referías con Creaturescripts?
Hice algunas spells simulando el ataque de cada dragón para que éstas sean lanzadas al detectarse cada apariencia... Divididas en:

Melee:
Que simula a:
Código:
  <attack name="melee" interval="2000" skill="50" attack="40"/>
Spell:
Que simula a:
Código:
  <attack name="fire" interval="3000" chance="8" length="8" spread="3" min="-90" max="-150">
       <attribute key="areaEffect" value="firearea"/>
   </attack>
   <attack name="physical" interval="3000" chance="17" length="8" spread="3" min="-150" max="-250">
       <attribute key="areaEffect" value="bluebubble"/>
   </attack>
   <attack name="poison" interval="2000" chance="20" length="8" spread="3" min="-60" max="-300">
       <attribute key="areaEffect" value="poison"/>
   </attack>
Range:
Que simula a:
Código:
  <attack name="fire" interval="2000" chance="15" range="7" radius="4" target="1" min="-45" max="-65">
       <attribute key="shootEffect" value="fire"/>
       <attribute key="areaEffect" value="firearea"/>
   </attack>
   <attack name="firefield" interval="1000" chance="15" range="7" radius="4" target="1">
     <attribute key="shootEffect" value="fire"/>
   </attack>
   <attack name="speed" interval="1000" chance="17" range="7" radius="4" target="1" speedchange="-600" duration="15000">
       <attribute key="shootEffect" value="poison"/>
       <attribute key="areaEffect" value="greenbubble"/>
   </attack>



[Tienes que estar registrado y conectado para ver este vínculo]
Server\Data\Spells\... Spells.xml
Código:
  <instant name="Hydragon Melee" words="Hydragon Melee" needlearn="1" event="script" value="Hydragon Melee.lua"/>
    <instant name="Hydragon Spell" words="Hydragon Spell" needlearn="1" event="script" value="Hydragon Spell.lua"/>
    <instant name="Hydragon Range" words="Hydragon Range" needlearn="1" event="script" value="Hydragon Range.lua"/>

Server\Data\Spells\Scripts\... Hydragon Melee.lua
Código:
local config = {
    monster = "Hydragon", -- Nombre del monstruo.
    [34] = 120, -- Daño máximo a melee del Dragon
    [39] = 220, -- Daño máximo a melee del Dragon Lord
    [121] = 270, -- Daño máximo a melee del Hydra
} -- skill * (attack * 0,05) + (attack * 0,5)

function onCastSpell(cid, var)
    if isMonster(cid) and getCreatureName(cid):lower() == config.monster:lower() then
        local attack = config[getCreatureOutfit(cid).lookType]
        if attack then
            doTargetCombatHealth(cid, getCreatureTarget(cid), COMBAT_PHYSICALDAMAGE, - 1, - attack, CONST_ME_NONE)
        end
    end
    return true
end

Server\Data\Spells\Scripts\... Hydragon Spell.lua
Código:
local config = {
    monster = "Hydragon", -- Nombre del monstruo.
    areaEffect = createCombatArea({ -- Area de los hechizos.
        {1, 1, 1, 1, 1},
        {1, 1, 1, 1, 1},
        {1, 1, 1, 1, 1},
        {0, 1, 1, 1, 0},
        {0, 1, 1, 1, 0},
        {0, 1, 1, 1, 0},
        {0, 0, 1, 0, 0},
        {0, 0, 1, 0, 0},
        {0, 0, 3, 0, 0},
    }),

    [34] = { -- Dragon
        spell = {
            { -- firearea
                chance = 8, -- Probabilidad de realizar hechizo.
                effect = CONST_ME_FIREAREA, -- Efecto mágico del hechizo.
                combat = COMBAT_FIREDAMAGE, -- Daño elemental del hechizo.
                damage = {90, 150}, -- Daño {mínimo, máximo} asestado por el hechizo.
            },

        },
    },

    [39] = { -- Dragon Lord
        spell = {
            { -- firearea
                chance = 17, -- Probabilidad de realizar hechizo.
                effect = CONST_ME_FIREAREA, -- Efecto mágico del hechizo.
                combat = COMBAT_FIREDAMAGE, -- Daño elemental del hechizo.
                damage = {70, 250}, -- Daño {mínimo, máximo} asestado por el hechizo.
            },

        },
    },

    [121] = { -- Hydra
        spell = {
            { -- physical
                chance = 17, -- Probabilidad de realizar hechizo.
                effect = CONST_ME_LOSEENERGY, -- Efecto mágico del hechizo.
                combat = COMBAT_PHYSICALDAMAGE, -- Daño elemental del hechizo.
                damage = {150, 250}, -- Daño {mínimo, máximo} asestado por el hechizo.
            },

            { -- poison
                chance = 20, -- Probabilidad de realizar hechizo.
                effect = CONST_ME_POISONAREA, -- Efecto mágico del hechizo.
                combat = COMBAT_POISONDAMAGE, -- Daño elemental del hechizo.
                damage = {60, 300}, -- Daño {mínimo, máximo} asestado por el hechizo.
            },

        },
    },

}

function onCastSpell(cid, var)
    if isMonster(cid) and getCreatureName(cid):lower() == config.monster:lower() then
        local Spell = config[getCreatureOutfit(cid).lookType].spell[math.random(#config[getCreatureOutfit(cid).lookType].spell)]
        if math.random(1, 100) <= Spell.chance then
            doAreaCombatHealth(cid, Spell.combat, getThingPos(getCreatureTarget(cid)), config.areaEffect, - Spell.damage[1], - Spell.damage[2], Spell.effect)
        end
    end
    return true
end


Server\Data\Spells\Scripts\... Hydragon Range.lua
Código:
local paralyze = createConditionObject(CONDITION_PARALYZE)
    setConditionParam(paralyze, CONDITION_PARAM_DELAYED, 1)
    setConditionParam(paralyze, CONDITION_PARAM_SPEED, - 200)
    setConditionParam(paralyze, CONDITION_PARAM_TICKS, 15000)

local firefield = createCombatObject()
    setCombatParam(firefield, COMBAT_PARAM_CREATEITEM, 1492)
    setCombatParam(firefield, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(firefield, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(firefield, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

local areaEffect = createCombatArea(AREA_CIRCLE2X2)
    setCombatArea(firefield, areaEffect)

local config = {
    monster = "Hydragon", -- Nombre del monstruo.

    [34] = { -- Dragon
        range = {
            { -- firearea
                chance = 7,
                effect = CONST_ME_FIREAREA,
                distan = CONST_ANI_FIRE,
                combat = COMBAT_FIREDAMAGE,
                damage = {45, 65},
            },

        },
    },

    [39] = { -- Dragon Lord
        range = {
            { -- firearea
                chance = 17,
                effect = CONST_ME_FIREAREA,
                distan = CONST_ANI_FIRE,
                combat = COMBAT_FIREDAMAGE,
                damage = {60, 180},
            },

            { -- firefield
                chance = 17,
                object = firefield,
            },

        },
    },

    [121] = { -- Hydra
        range = {
            { -- physical
                chance = 17,
                effect = CONST_ME_GREEN_RINGS,
                distan = CONST_ANI_POISON,
                condit = paralyze,
            },

        },
    },

}

function onCastSpell(cid, var)
    if isMonster(cid) and getCreatureName(cid):lower() == config.monster:lower() then
        local Range = config[getCreatureOutfit(cid).lookType].range[math.random(#config[getCreatureOutfit(cid).lookType].range)]
        if math.random(1, 100) <= Range.chance then
            if Range.damage then
                doAreaCombatHealth(cid, Range.combat, getThingPos(getCreatureTarget(cid)), areaEffect, - Range.damage[1], - Range.damage[2], Range.effect)
            elseif Range.condit then
                doAreaCombatCondition(cid, getThingPos(getCreatureTarget(cid)), areaEffect, Range.condit, Range.effect)
            else
                doCombat(cid, Range.object, var)
            end
        end
    end
    return true
end



Server\Data\Monster\... Monster.xml
Código:
  <monster name="Hydragon" file="Hydragon.xml"/>

Server\Data\Monster\... Hydragon.lua
Código:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Hydragon" nameDescription="an hydragon" race="blood" experience="700" speed="180" manacost="0">
    <health now="2350" max="2350"/>
    <look type="34" corpse="5973"/>
    <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="0"/>
        <flag pushable="0"/>
        <flag canpushitems="1"/>
        <flag canpushcreatures="1"/>
        <flag targetdistance="1"/>
        <flag staticattack="90"/>
        <flag runonhealth="300"/>
    </flags>
    <attacks>
        <attack name="Hydragon Melee" interval="2000" range="1"/>
        <attack name="Hydragon Spell" interval="3000" range="1"/>
        <attack name="Hydragon Range" interval="1000" range="7"/>
    </attacks>
    <voices interval="5000" chance="10">
        <voice sentence="FCHHHHH"/>
        <voice sentence="HISSSS"/>
        <voice sentence="YOU WILL BURN!" yell="1"/>
    </voices>
    <defenses armor="50" defense="55">
        <defense name="healing" interval="1000" chance="25" min="200" max="400">
            <attribute key="areaEffect" value="blueshimmer"/>
        </defense>  
        <defense name="speed" interval="1000" chance="15" speedchange="200" duration="20000">
            <attribute key="areaEffect" value="redshimmer"/>
        </defense>              
        <defense name="outfit" interval="3000" chance="100" type="39" duration="3000">
            <attribute key="areaEffect" value="greenshimmer"/>      
        </defense>
        <defense name="outfit" interval="6000" chance="100" type="121" duration="3000">
            <attribute key="areaEffect" value="blueshimmer"/>        
        </defense>          
        <defense name="outfit" interval="9000" chance="100" type="34" duration="3000">  
            <attribute key="areaEffect" value="redshimmer"/>      
        </defense>      
    </defenses>
    <elements>
        <element earthPercent="100"/>
        <element firePercent="100"/>
        <element icePercent="40"/>
        <element holyPercent="25"/>
        <element physicalPercent="-15"/>
        <element energyPercent="-10"/>
    </elements>
    <immunities>
        <immunity lifedrain="1"/>
        <immunity paralyze="1"/>
        <immunity invisible="1"/>
    </immunities>
    <loot>
        <item id="2148" countmax="90" chance="24000"/><!-- gold coin -->
        <item id="2148" countmax="80" chance="24000"/><!-- gold coin -->
        <item id="2148" countmax="80" chance="24000"/><!-- gold coin -->
        <item id="2666" countmax="4" chance="37500"/><!-- meat -->
        <item id="2671" countmax="4" chance="25000"/><!-- ham -->
        <item id="7589" chance="200"/><!-- strong mana potion -->
        <item id="2177" chance="500"/><!-- life crystal -->
        <item id="2197" chance="900"/><!-- stone skin amulet -->
        <item id="2146" chance="5000"/><!-- small sapphire -->
        <item id="4850" chance="600"/><!-- hydra egg -->
        <item id="2214" chance="1050"/><!-- ring of healing -->
        <item id="2475" chance="1000"/><!-- warrior helmet -->
        <item id="2476" chance="1200"/><!-- knight armor -->
        <item id="2536" chance="200"/><!-- medusa shield -->
        <item id="2498" chance="200"/><!-- royal helmet -->
        <item id="2195" chance="120"/><!-- boots of haste -->
    </loot>
</monster>



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#6 Re: un monstruo que cambie de forma el Lun Ene 02, 2017 5:40 pm

Acan


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] puedes agregar o hacer una spells pero en zona que no sea target plx...

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .