• 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

    shadowviid
    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

    shadowviid
    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 los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    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).