• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Pedido] Script de Palanca

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

    1default [Pedido] Script de Palanca el Miér Sep 13, 2017 7:55 pm

    drunknow

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Hola me gustaria que me ayudaran con un script es para la version 10.98, Seria un script de una palanca que pida xxx item y al usarse aparezca un portal o en su defecto quite alguna roca o wall, muchas gracias por su ayuda.

    Ver perfil de usuario

    2default Re: [Pedido] Script de Palanca el Miér Sep 13, 2017 8:45 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui lo tienes

    Código:
    local timetoreset = 5 -- tiempo en minutos que vuelve aparecer la piedra.
    local objectid = xxxx -- Id de la piedra
    local ItemID = xxxx -- Id del item necesario para jalar la palanca
    local Count = xxxx -- cantidad necesaria del item
    local p = {
        Position(x, y, z) -- Position of the item blocking the path

    }
     
    function onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey)
        local stone = Tile(p[1])
        local tp = Tile(p[2])
        if item.itemid == 1945 then
        if (player:removeItem(ItemID, Count) == true) then
            cid:sendTextMessage(MESSAGE_EVENT_ORANGE, 'The object in your path has been removed for ' .. timetoreset .. ' minutes.')
           
            stone:getItemById(objectid):remove()
            p[1]:sendMagicEffect(CONST_ME_POFF)
            p[2]:sendMagicEffect(CONST_ME_TELEPORT)
            Item(item.uid):transform(1946)
         
            addEvent(function(stonePos)
                Game.createItem(objectid, 1, stonePos)
                stonePos:sendMagicEffect(CONST_ME_TELEPORT)
                p[2]:sendMagicEffect(CONST_ME_POFF)
                tp:getItemById(1387):remove()
                Tile(toPosition):getItemById(1946):transform(1945)           
            end, timetoreset * 60000, stone:getPosition())
           
            else
            doPlayerSendCancel(cid, "You do not have item.")
        end
         
        elseif item.itemid == 1946 then
            return false
        end
        return true
    end



    Ver perfil de usuario http://www.tibiaface.com

    3default Re: [Pedido] Script de Palanca el Miér Sep 13, 2017 9:13 pm

    drunknow

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Gracias God Maya, pero me tira un error:

    Lua Script Error: [Action Interface]
    data/actions/scripts/WallRemover.lua:onUse
    data/actions/scripts/WallRemover.lua:14: attempt to index global 'player' <a nil value>
    stack traceback:
    [C]: in function '___index'
    data/actions/scripts/WallRemover.lua:14: in function <data/actions/scripts/WallRemover.lua:10>


    ¿Qué podra ser?

    Ver perfil de usuario

    4default Re: [Pedido] Script de Palanca el Miér Sep 13, 2017 9:19 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador

    testea ahora

    Código:
    local timetoreset = 5 -- tiempo en minutos que vuelve aparecer la piedra.
    local objectid = xxxx -- Id de la piedra
    local ItemID = xxxx -- Id del item necesario para jalar la palanca
    local Count = xxxx -- cantidad necesaria del item
    local p = {
        Position(x, y, z) -- Position of the item blocking the path

    }
     
    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
        local stone = Tile(p[1])
        local tp = Tile(p[2])
        if item.itemid == 1945 then
        if (player:removeItem(ItemID, Count) == true) then
            player:sendTextMessage(MESSAGE_EVENT_ORANGE, 'The object in your path has been removed for ' .. timetoreset .. ' minutes.')
           
            stone:getItemById(objectid):remove()
            p[1]:sendMagicEffect(CONST_ME_POFF)
            p[2]:sendMagicEffect(CONST_ME_TELEPORT)
            Item(item.uid):transform(1946)
         
            addEvent(function(stonePos)
                Game.createItem(objectid, 1, stonePos)
                stonePos:sendMagicEffect(CONST_ME_TELEPORT)
                p[2]:sendMagicEffect(CONST_ME_POFF)
                tp:getItemById(1387):remove()
                Tile(toPosition):getItemById(1946):transform(1945)           
            end, timetoreset * 60000, stone:getPosition())
           
            else
            player:sendCancelMessage("You do not have item.")
        end
         
        elseif item.itemid == 1946 then
            return false
        end
        return true
    end



    Ver perfil de usuario http://www.tibiaface.com

    5default Re: [Pedido] Script de Palanca el Miér Sep 13, 2017 9:26 pm

    drunknow

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Ahora me sale esto al cargar el server:

    [Warning - EventScript] Can not load script: scripts/WallRemover.lua
    data/actions/scripts/WallRemover.lua:32: 'end' expected <to close 'if' at line 13> near '<eof>'



    CORRECIÓN: Error mio al copiar incompleto el script, estoy probando y el script quita la piedra pero ya no la vuelve a colocar y en la consola me tira el siguiente error al usar la palanca:

    Lua Script Error: [Action Interface]
    data/actions/scripts/WallRemover.lua:onUse
    data/actions/scripts/WallRemover.lua:19: attempt to index a nil value
    stack traceback:
         [C]: in function '__index'
         data/actions/scripts/WallRemover.lua:19: in function <data/actions/scripts/WallRemover.lua:10>

    Ver perfil de usuario

    6default Re: [Pedido] Script de Palanca el Miér Sep 13, 2017 10:37 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui tienes otra ves modificado

    Código:
    local timetoreset = 5 -- tiempo en minutos que vuelve aparecer la piedra.
    local objectid = xxxx -- Id de la piedra
    local ItemID = xxxx -- Id del item necesario para jalar la palanca
    local Count = xxxx -- cantidad necesaria del item
    local p = {
        Position(x, y, z) -- Position of the item blocking the path

    }
     
    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
        local stone = Tile(p[1])
        if item.itemid == 1945 then
        if (player:removeItem(ItemID, Count) == true) then
            player:sendTextMessage(MESSAGE_EVENT_ORANGE, 'The object in your path has been removed for ' .. timetoreset .. ' minutes.')
           
            stone:getItemById(objectid):remove()
            p[1]:sendMagicEffect(CONST_ME_POFF)
            Item(item.uid):transform(1946)
         
            addEvent(function(stonePos)
                Game.createItem(objectid, 1, stonePos)
                stonePos:sendMagicEffect(CONST_ME_TELEPORT)
                Tile(toPosition):getItemById(1946):transform(1945)           
            end, timetoreset * 60000, stone:getPosition())
           
            else
            player:sendCancelMessage("You do not have item.")
        end
         
        elseif item.itemid == 1946 then
            return false
        end
        return true
    end



    Ver perfil de usuario http://www.tibiaface.com

    7default Re: [Pedido] Script de Palanca el Jue Sep 14, 2017 12:51 am

    drunknow

    avatar
    Nuevo Miembro
    Nuevo Miembro
    El script funciona al 100!!! muchas gracias por tu ayuda

    Ver perfil de usuario

    8default Re: [Pedido] Script de Palanca el Jue Sep 14, 2017 12:53 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Resuelto



    Ver perfil de usuario http://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).