• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    ayuda con script de roca con hp

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1default ayuda con script de roca con hp el Mar Nov 07, 2017 4:14 pm

    shadowviid

    avatar
    Nuevo Miembro
    Nuevo Miembro
    bueno lo que necesito es que dos rocas (id 8634) tengan hp
    y al momento de destruir las dos,  quite otras dos o tres rocas(id 1304) del camino  poprfavor necesito ayuda con eso e estado buscando y no lo encuentro espero y tengan el script Very Happy  
    tfs 1.3
    client 10.98

    Ver perfil de usuario

    2default teste el Mar Nov 07, 2017 10:31 pm

    Bueno primero te dare la info, para que vayas aprendiendo mas a dar explicaciones:

    > Primero las rocas, osea los items, objectos, no tienen propiedades de creaturas, por lo cual no les permite tener vida, mana, o caracteristicas de clase de objectos como las creaturas, asi que lo que voy hacer es crear una creatura con forma de roka, y que al eliminarlas, automaticamente se eliminen otras 3 rokas asi como tu mencionas. en un momento te dejo el script aqui en los comentarios...


    Aqui esta el script,
    Código:
       ---@By The_Pain Scripter Tibiaface 2017
       --@Remove Stone Script

       local config = {}
       config.restauracionTime = 1000 * 15 -- 15 segundos

       config.rocks = {
          { id = 8634, position = Position(377, 204, 8) }, -- rock 1
          { id = 8634, position = Position(378, 204, 8) } -- rock 2
       }

       config.monsters = {
          { name = 'Tibiaface', position = Position(376, 204, 8), rock = 1 },
          { name = 'Tibiaface', position = Position(375, 204, 8), rock = 2 }
       }

       function restaurarRock(table)
       local id = table.id
       local position = table.position
       local rock = Game.createItem(id, 1, position)
       position:sendMagicEffect(CONST_ME_TELEPORT)
       return true
       end

       function onKill(player, target)

       local master = nil
       local targetName = target:getName()
       local targetPosition = target:getPosition()
       for index, rock in pairs(config.monsters) do
          if rock.name:lower() == targetName:lower() then
             if targetPosition == rock.position then
                master = config.monsters[index]
                break
             end
          end
       end

       if master == nil then
          return true
       end

       master = config.rocks[master.rock]
       local crystal = Tile(master.position):getItemById(master.id)
       if not crystal and not crystal:isItem() then
          return true
       end

       crystal:remove()
       master.position:sendMagicEffect(CONST_ME_POFF)
       local table = {}
       table.id = master.id
       table.position = master.position
       addEvent(restaurarRock, config.restauracionTime, table)

       return true
       end

    Este es el codigo que pondras en tu (creaturescripts.xml)
    Código:
    <event type="kill" name="killRock" script="tibiaface.lua" />

    Este es el codigo que pondras en tu (creaturescripts/scripts/login.lua)...
    Código:
    player:registerEvent('killRock')


    Y aqui esta el script del mostro que seran las rocas que se pueden matar!
    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="Tibiaface" nameDescription="a tibiaface" race="undead" experience="0" speed="0" manacost="0">
       <health now="100000" max="100000"/>
       <look typeex="8634" corpse="0"/>
       <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="0"/>
          <flag pushable="0"/>
          <flag canpushitems="1"/>
          <flag canpushcreatures="1"/>
          <flag targetdistance="1"/>
          <flag staticattack="40"/>
          <flag runonhealth="0"/>
       </flags>
       <attacks>
          <attack name="melee" interval="2000" skill="170" attack="230"/>
          <attack name="manadrain" interval="3000" chance="13" range="7" min="-800" max="-1300"/>
          <attack name="fire" interval="2000" chance="14" range="7" radius="7" target="1" min="-1160" max="-1350">
             <attribute key="shootEffect" value="fire"/>
             <attribute key="areaEffect" value="firearea"/>
          </attack>
          <attack name="firefield" interval="1000" chance="15" range="7" radius="1" target="1">
             <attribute key="shootEffect" value="fire"/>
          </attack>
          <attack name="energy" interval="3000" chance="30" length="8" spread="0" min="-1220" max="-1460">
             <attribute key="areaEffect" value="energy"/>
          </attack>
       </attacks>
       <defenses armor="50" defense="55">
          <defense name="healing" interval="1000" chance="15" min="90" max="200">
             <attribute key="areaEffect" value="blueshimmer"/>
          </defense>
          <defense name="speed" interval="1000" chance="15" speedchange="200" duration="20000">
             <attribute key="areaEffect" value="redshimmer"/>
          </defense>
       </defenses>
       <immunities>
          <immunity lifedrain="1"/>
          <immunity paralyze="1"/>
          <immunity invisible="1"/>
       </immunities>
       <voices interval="5000" chance="5">
          <voice sentence="Stone Stone Stone!" yell="1"/>
       </voices>
    </monster>


    El Primer Script, es para la funcionalidad de que al eliminar un mostro, se elimine una roca en espesifico...
    Ejemplo:
    Código:
    { id = 8634, position = Position(377, 204, 8) }, -- rock 1
    hay pones el id de la roca que quieres eliminar, y la posicion de donde se encuentra la roca.

    Lo Segundo Seria:
    Ejemplo:
    Código:
    { name = 'Tibiaface', position = Position(376, 204, 8), rock = 1 },
    name <- -> seria en nombre de la creatura que tendras que eliminar para quitar la roca,
    position = la posicion de donde nace el mostro,
    rock = esto identifica que roka eliminaras si eliminas el mostro de esta posicion.

    Otra configuracion:
    Ejemplo:
    Código:
    config.restauracionTime = 1000 * 15 -- 15 segundos
    esta variable guarda el tiempo en que vuelve a aparecer la roca que fue eliminada, por lo general deberias colocar el tiempo en que nace la creatura. yo puse 15 por que estaba testiando.

    y eso seria todo, espero y entiendas, funciona perfectamente, para TFS 1.2 1.3 Saludos....
    Dejame un like si te gusto!

    Ver perfil de usuario

    3default Re: ayuda con script de roca con hp el Miér Nov 08, 2017 8:02 pm

    shadowviid

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Hola the_pain
    gracias bro por la ayuda pero hay un problema cuando destruyo la rocka no se desaparece la otra rocka
    y no sale ninugn error en la consola que podria ser ya verifique que estubieran los nombre y todo acomoddado pero no se quitan

    Ver perfil de usuario

    4default Re: ayuda con script de roca con hp el Miér Nov 08, 2017 11:46 pm

    si puedes enviar, el capture de tu consola, y dejas el script configurado a tu manera para ver que esta mal!



    Si necesitas hospedaje para tu servidor usa este enlace y mira las buenos planes de Windows y Linux:

    SevuOT Online, Version:10 and Custom.

    Ver perfil de usuario

    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.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).