• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [CreatureEvents] Crear un portal con action ID al matar una criatura

    Compartir:

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

    ralke

    ralke
    Miembro
    Miembro
    Hola! Esta ves hare una mini guia de un script bastante simple pero muy útil. He visto temas sobre este script, que si bien funcionan, tienen algunos problemas cuando existen muchas funciones cargadas en el login.lua.

    Primero, el script funcionara como los portales de Inquisition, donde al matar un monster se creara un portal con un determinado action ID.

    a) Crear el siguiente script en data/creaturescripts/scripts:

    Código:
    local config = {
            timeToRemove = 15, -- seconds
            teleportId = 9773,
            bosses = { -- Monster Name,  Teleport Position
                    ["Pythius The Rotten"] = {  pos={ x=1577, y=1542, z=13, stackpos=1 }, aid=14061}
     },
    }
    local function removal(position)
     doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
        return TRUE
    end

    function onKill(cid, target, lastHit)
        if(config.bosses[getCreatureName(target)]) then
     local t = config.bosses[getCreatureName(target)]
        local teleport = doCreateItem(config.teleportId, t.pos)
     local position = t.pos
     doItemSetAttribute(teleport, "aid", t.aid)
     addEvent(removal, config.timeToRemove * 1000, position)
     end
     return TRUE
    end

    En este caso utilizamos la criatura "Pythius the Rotten" y determinamos que el teleport sera creado en las coordenadas x=1577, y=1542, z=13 con el action ID "14061" y desaparecera 15 segundos despues de ser creado.


    b) Ahora iremos a data\creaturescripts\creaturescripts.xml y agregaremos la siguiente linea:

    Código:
    <event type="kill" name="Pythius the Rotten" script="pythius the rotten.lua"/>

    En este caso mi script creado anteriormente tiene el nombre "pythius the rotten.lua", en tu caso deberas cambiarlo por el nombre del archivo que has creado. Por otra parte, en name debes colocar de preferencia el nombre del monster que estas usando.

    c) Luego debes ir a data\creaturescripts\scripts\login.lua y agregar la siguiente linea:

    Código:
    registerCreatureEvent(cid, "Pythius the Rotten")

    En el paréntesis debes colocar el nombre que escribiste en name de la linea que agregaste en creaturescripts.xml. Esto hara que el jugador reconozca que existe el evento "Pythius the Rotten" cuando entra al servidor ya que esta es a grandes rasgos la función principal del script login.lua.

    ---Explicación del script----
    Hasta el momento, el se creara un teleport cuando muera la criatura "Pythius the Rotten". ¿Porque pasa esto? La funcion onKill hace referencia a que al matar la criatura mencionada (getCreatureName(target)) se creara un nuevo objeto (doCreateItem(config.teleportId, t.pos)).

    Sin embargo, el teleport creado no tendrá coordenadas pero si tendra asignado un action ID (doItemSetAttribute(teleport, "aid", t.aid)) que aprovecharemos para crear un "moveevent".

    d) Crear el siguiente script en data/movements/scripts:

    Código:
    local pos = {x=1595, y=1539, z=13}
    function onStepIn(cid, item, position, fromPosition)
        if isPlayer(cid) == TRUE then
                 doTeleportThing(cid, pos, TRUE)
                 doSendMagicEffect(pos, 10)
        return TRUE
    end  
    end

    Este script nos permitira asignar las coordenadas x=1595, y=1539, z=13 al objeto que contenga el actionID "14061". Para ello debemos referenciar el actionID al script que creamos.

    e) Añadir la siguiente linea a data\movements\movements.xml

    Código:
    <movevent type="StepIn" actionid="14061" event="script" value="Pythius/pythius teleport.lua" />


    Con esta linea basicamente haremos que cuando el player "camine sobre" el objeto (StepIn) con el actionID "14061" se accione el script y cumpla la funcion doTeleportThing.

    Espero que sea útil tanto el script como la guía, que busca explicar de forma simple como se comporta un moveevent y un creaturescript.

    Smile
    Saludos!

    http://greedisland.ml/index.php

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    gracias por el aporte (y)



    [CreatureEvents] Crear un portal con action ID al matar una criatura YNU5B25
    https://www.tibiaface.com

    zheik710

    zheik710
    Nuevo Miembro
    Nuevo Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:gracias por el aporte (y)

    Este script no me funciono, lo probe hasta cuando dice explicacion del scripts y guarde todo y creo el monsters y no se crea portal luego termine la guia, guarde de nuevo y no se creo el portal, por ultimo cree el mismo scripts sin editarle nada, ni siquiera el nombre de la creatura, lo cree con su misma creatura pero invoco el monstruo lo mato y sigue sin dejar el teleport :S

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:gracias por el aporte (y)

    Este script no me funciono, lo probe hasta cuando dice explicacion del scripts y guarde todo y creo el monsters y no se crea portal luego termine la guia, guarde de nuevo y no se creo el portal, por ultimo cree el mismo scripts sin editarle nada, ni siquiera el nombre de la creatura, lo cree con su misma creatura pero invoco el monstruo lo mato y sigue sin dejar el teleport :S

    dependiendo de que servidor usas



    [CreatureEvents] Crear un portal con action ID al matar una criatura YNU5B25
    https://www.tibiaface.com

    5default No funciona creo action ID 14062 el Miér Jul 08, 2020 11:12 pm

    544709

    544709
    Nuevo Miembro
    Nuevo Miembro
    Hize todo tal cual, lo realizo con action id 14062, que no esta en uso me crea tp y todo, pero no me manda al lugar de coordenada señalado.

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Hize todo tal cual, lo realizo con action id 14062, que no esta en uso me crea tp y todo, pero no me manda al lugar de coordenada señalado.

    partiremos de esta pregunta.

    revise que el teleport que se crea tenga el actionid asignado "14061" y me confirma



    [CreatureEvents] Crear un portal con action ID al matar una criatura YNU5B25
    https://www.tibiaface.com

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