• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Un script

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

    1Sưu tầm Un script el Vie Jun 30, 2017 11:43 pm

    Necesito un script que tu tengas nose unas 6 palancas y debas accionarlas en cierto orden para abri una puerta ...

    Ver perfil de usuario

    2Sưu tầm Re: Un script el Vie Jun 30, 2017 11:52 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Código:
    local config = {
        item = 1946,  -------> orden de las palancas
        item1 = 1945,
        item2 = 1946,
        item3 = 1945,
        item4 = 1946,
        item5 = 1945, -------> hasta aqui posiciones de las palancas izquierda derecha
        wallID = 1386,  ------> id de la escalera
    }


     
    function onUse(cid, item, fromPosition, itemEx, toPosition)
     
    local pos = {x = 92, y = 114, z = 7}      ---------> posicione de verificacion de la palancas
    local pos1 = {x = 93, y = 114, z = 7}
    local pos2 = {x = 94, y = 114, z = 7}
    local pos3 = {x = 95, y = 114, z = 7}
    local pos4 = {x = 96, y = 114, z = 7}
    local pos5 = {x = 97, y = 114, z = 7}

    local wallpos = {x=95, y=113, z=7, stackpos=1} --------> posicion a crear la escalera

     escalerapos = {x=95, y=113, z=7, stackpos=1}  --------> posicion para remover la escalera
        getescalera = getThingfromPos(escalerapos)
     
    if getTileItemById(pos, config.item).uid > 0 and getTileItemById(pos1, config.item1).uid > 0 and getTileItemById(pos2, config.item2).uid > 0 and getTileItemById(pos3, config.item3).uid > 0 and getTileItemById(pos4, config.item4).uid > 0 and getTileItemById(pos5, config.item5).uid > 0 then

     
    if item.itemid == 1945 then
    doTransformItem(item.uid, 1946)
    doCreateItem(config.wallID, 1, wallpos)
    elseif item.itemid == 1946 then
     doRemoveItem(getescalera.uid,1)
    doTransformItem(item.uid, 1945)

    end
     

    return true
    end
     
    doCreatureSay(cid, "La clave es incorrecta", TALKTYPE_ORANGE_1)
    return true
    end




    Código:
    <action uniqueid="30016" event="script" value="clave.lua"/>





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

    3Sưu tầm Re: Un script el Sáb Jul 01, 2017 3:04 am

    [1/7/2017 2:3:18] >>> Loading actions... [Error - LuaInterfaceFile] data/actions/scripts/clave.lua:3: unexpected symbol near ' '
    [1/7/2017 2:3:18] [Error - EventScript] Cannot load script (data/actions/scripts/clave.lua)
    [1/7/2017 2:3:18] data/actions/scripts/clave.lua:3: unexpected symbol near ' '
    [1/7/2017 2:3:21] (done).

    local config = {

        item = 1945,  

        item1 = 1946,

        item2 = 1946,

        item3 = 1945,

        item4 = 1946,

        item5 = 1945,
       
       item6 = 1945,
       
       item7 = 1946,

       item8 = 1946,

       item9 = 1945,

       item10 = 1945,

        wallID = 1386,  
    }


    function onUse(cid, item, fromPosition, itemEx, toPosition)

     

    local pos = {x = 34, y = 303, z = 15}    

    local pos1 = {x = 32, y = 302, z = 15}

    local pos2 = {x = 32, y = 304, z = 15}

    local pos3 = {x = 30, y = 301, z = 7}

    local pos4 = {x = 30, y = 303, z = 7}

    local pos5 = {x = 30, y = 305, z = 7}

    local pos6 = {x = 40, y = 303, z = 15}

    local pos7 = {x = 42, y = 302, z = 15}

    local pos8 = {x = 42, y = 302, z = 15}

    local pos9 = {x = 44, y = 301, z = 15}

    local pos10 = {x = 44, y = 305, z = 15}



    local wallpos = {x = 37, y = 301, z = 15}


     escalerapos = {x = 37, y = 301, z = 15}

        getescalera = getThingfromPos(escalerapos)
    if getTileItemById(pos, config.item).uid > 0 and getTileItemById(pos1, config.item1).uid > 0 and getTileItemById(pos2, config.item2).uid > 0 and getTileItemById(pos3, config.item3).uid > 0 and getTileItemById(pos4, config.item4).uid > 0 and getTileItemById(pos5, config.item5).uid > 0 then
    if item.itemid == 1945 then
    doTransformItem(item.uid, 1946)
    doCreateItem(config.wallID, 1, wallpos)
    elseif item.itemid == 1946 then
     doRemoveItem(getescalera.uid,1)
    doTransformItem(item.uid, 1945)
    end
    return true
    end
    doCreatureSay(cid, "La clave es incorrecta", TALKTYPE_ORANGE_1)
    return true
    end



    Última edición por Evelyn Flores el Sáb Jul 01, 2017 3:09 am, editado 1 vez (Razón : porque no se nada)

    Ver perfil de usuario

    4Sưu tầm Re: Un script el Sáb Jul 01, 2017 1:29 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    la verdad nose que hasmovido no veo error ene el scripts


    y tienes que añadir mas

    Código:
    getTileItemById(pos5, config.item5).uid > 0



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

    5Sưu tầm Re: Un script el Sáb Jul 01, 2017 2:51 pm

    Mismo error... ._. no será algún espacio?

    Ver perfil de usuario

    6Sưu tầm Re: Un script el Sáb Jul 01, 2017 4:44 pm

    Matatana

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Que pasa si a wallID le quitas la , ?

    Ver perfil de usuario

    7Sưu tầm Re: Un script el Sáb Jul 01, 2017 6:51 pm

    Josens

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Listo, despues de bastante tiempo pensando logre encontrar la configuracion correcta xD
    Ve a "data/creaturescripts/scripts/palancas.lua" y dentro pega esto:
    Código:
    function onThink(interval, lastExecution)
    --Script Creado por Josens--

    local config = {
    levers = {
     {item = 1945, leverPos = {x = 1190, y = 987, z = 9}},
     {item = 1945, leverPos = {x = 1206, y = 977, z = 10}},
     {item = 1946, leverPos = {x = 1121, y = 980, z = 10}},
     {item = 1945, leverPos = {x = 1126, y = 980, z = 10}}
     },
     
    createEffect = CONST_ME_FIREAREA, --Efecto que saldra en el item al crearse.
    disappearEffect = CONST_ME_MAGIC_BLUE, --Efecto que saldra en el item al desaparecer.
     
    createId = 8518, --Item id a crear
    createPos = {x = 1153, y = 980, z = 10}, --Posicion donde crear el item al tener las palancas jaladas como quieres
    func = 'remove' --Que quieres que suceda cuando esten las palancas ya jaladas ( remove - create )
    }






    local f = {}
    local t = getTileItemById(config.createPos, config.createId).uid
    for _,i in ipairs(config.levers) do
     if getTileItemById(i.leverPos, i.item).uid > 0 then
     table.insert(f, "1.0f")
     elseif getTileItemById(i.leverPos, i.item).uid < 1 then
     table.insert(f, "0xFFFA")
     end
    end
    if config.func == 'remove' then
     if isInArray(f, "0xFFFA") then
     if t <= 0 then
     doSendMagicEffect(config.createPos, config.createEffect)
     doCreateItem(config.createId, 1, config.createPos)
     end
     else
     if t > 0 then
     doSendMagicEffect(config.createPos, config.disappearEffect)
     doRemoveItem(t)
     end
     end
    elseif config.func == 'create' then
     if not isInArray(f, "0xFFFA") then
     if t <= 0 then
     doSendMagicEffect(config.createPos, config.createEffect)
     doCreateItem(config.createId, 1, config.createPos)
     end
     else
     if t > 0 then
     doSendMagicEffect(config.createPos, config.disappearEffect)
     doRemoveItem(t)
     end
     end
    end
    return true
    end

    Ahora ve a creaturescripts.xml y dentro agrega esta linea:
    Código:

     <event type="think" name="Palancas" event="script" value="palancas.lua"/>

    Ve a creaturescripts/scripts/login.lua y dentro agrega esta linea:
    Código:
    registerCreatureEvent(cid, 'Palancas')

    Cada vez que quieras agregar una palanca, agrega una linea en palancas.lua

    {item = ID, leverPos = POSICION DE LA PALANCA}

    Donde dice:
    Código:
    func = 'remove'
    Alli pones que quieres que suceda cuando todas las palancas esten jaladas ( 'remove' o 'create')
    Cualquier error me avisas. Very Happy

    Ver perfil de usuario

    8Sưu tầm teste el Lun Jul 03, 2017 1:49 pm

    >>> Loading actions... [Error - LuaInterfaceFile] data/actions/scripts/MAYA.lua:29: '(' expected near 'onUse'
    [3/7/2017 12:46:56] [Error - EventScript] Cannot load script (data/actions/scripts/MAYA.lua)
    [3/7/2017 12:46:56] data/actions/scripts/MAYA.lua:29: '(' expected near 'onUse'  


    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    Código:
    local config = {
        item = 1946,  -------> orden de las palancas
        item1 = 1945,
        item2 = 1946,
        item3 = 1945,
        item4 = 1946,
        item5 = 1945, -------> hasta aqui posiciones de las palancas izquierda derecha
        wallID = 1386  ------> id de la escalera
    }


     
    function onUse(cid, item, fromPosition, itemEx, toPosition)
     
    local pos = {x = 92, y = 114, z = 7}      ---------> posicione de verificacion de la palancas
    local pos1 = {x = 93, y = 114, z = 7}
    local pos2 = {x = 94, y = 114, z = 7}
    local pos3 = {x = 95, y = 114, z = 7}
    local pos4 = {x = 96, y = 114, z = 7}
    local pos5 = {x = 97, y = 114, z = 7}

    local wallpos = {x=95, y=113, z=7, stackpos=1} --------> posicion a crear la escalera

     escalerapos = {x=95, y=113, z=7, stackpos=1}  --------> posicion para remover la escalera
        getescalera = getThingfromPos(escalerapos)
     
    if getTileItemById(pos, config.item).uid > 0 and getTileItemById(pos1, config.item1).uid > 0 and getTileItemById(pos2, config.item2).uid > 0 and getTileItemById(pos3, config.item3).uid > 0 and getTileItemById(pos4, config.item4).uid > 0 and getTileItemById(pos5, config.item5).uid > 0 then

     
    if item.itemid == 1945 then
    doTransformItem(item.uid, 1946)
    doCreateItem(config.wallID, 1, wallpos)
    elseif item.itemid == 1946 then
     doRemoveItem(getescalera.uid,1)
    doTransformItem(item.uid, 1945)

    end
     

    return true
    end
     
    doCreatureSay(cid, "La clave es incorrecta", TALKTYPE_ORANGE_1)
    return true
    end




    Código:
    <action uniqueid="30016" event="script" value="clave.lua"/>




    solo sacar todas las comas esas feas de Wall id :v



    Última edición por Evelyn Flores el Lun Jul 03, 2017 2:03 pm, editado 1 vez

    Ver perfil de usuario

    9Sưu tầm Re: Un script el Lun Jul 03, 2017 1:54 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    no necesita como donde le colocaste



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

    10Sưu tầm :D el Mar Jul 04, 2017 12:30 am

    Eh progesado con el script y le meti algo nuevo...función de evento :
    Código:
    local config = {

    item = 1945,

    item1 = 1946,

    item2 = 1946,

    item3 = 1945,

    item4 = 1946,

    item5 = 1945,

    item6 = 1945,

    item7 = 1946,

    item8 = 1946,

    item9 = 1945,

    item10 = 1945,

    wallID = 1386
    }


    function onUse (cid, item, fromPosition, itemEx, toPosition)



    local pos = {x = 19, y = 20, z = 15}

    local pos1 = {x = 30, y = 20, z = 15}

    local pos2 = {x = 17, y = 18, z = 15}

    local pos3 = {x = 31, y = 18, z = 15}

    local pos4 = {x = 17, y = 22, z = 15}

    local pos5 = {x = 31, y = 22, z = 15}

    local pos6 = {x = 23, y = 25, z = 15}

    local pos7 = {x = 23, y = 15, z = 15}

    local pos8 = {x = 25, y = 15, z = 15}

    local pos9 = {x = 25, y = 25, z = 15}

    local pos10 = {x = 17, y = 13, z = 15}

    local seconds = 10

    local event = 10


    local wallpos = {x = 24, y = 20, z = 15}


    escalerapos = {x = 24, y = 20, z = 15}

    getescalera = getThingfromPos(escalerapos)
    if getTileItemById(pos, config.item).uid > 0 and getTileItemById(pos1, config.item1).uid > 0 and getTileItemById(pos2, config.item2).uid > 0 and getTileItemById(pos3, config.item3).uid > 0 and getTileItemById(pos4, config.item4).uid > 0 and getTileItemById(pos5, config.item5).uid > 0 and getTileItemById(pos6, config.item6).uid > 0 and getTileItemById(pos7, config.item7).uid > 0 and getTileItemById(pos8, config.item8).uid > 0 and getTileItemById(pos9, config.item9).uid > 0 and getTileItemById(pos10, config.item10).uid > 0 then
    if item.itemid == 1945 then
    event = addEvent(reset, seconds * 100, getThingPos(item.uid))
    doTransformItem(item.uid,item.itemid+1)
    elseif item.itemid == 1946 and getPlayerLevel(cid) >= level then
    stopEvent(event)
    doTransformItem(item.uid, 1946)
    doCreateItem(config.wallID, 1, wallpos)
    elseif item.itemid == 1946 then
    doRemoveItem(getescalera.uid,1)
    doTransformItem(item.uid, 1945)
    end
    return true
    end
    doCreatureSay(cid, "La clave es incorrecta", TALKTYPE_ORANGE_1)
    return true
    end



    y ya me arrogo miles de errores básicos de mala ortografía :v....progese y bla bla bla...
    casi lo logro...
    Me salta ahora un error que nunca había visto: 3/7/2017 23:28:18] [Error - Action Interface]
    [3/7/2017 23:28:18] data/actions/scripts/MAYA.lua:onUse
    [3/7/2017 23:28:18] Description:
    [3/7/2017 23:28:18] (LuaInterface::luaAddEvent) Callback parameter should be a function

    Ver perfil de usuario

    11Sưu tầm Re: Un script el Mar Jul 04, 2017 12:41 am

    Eh men...lo que estoy usando no es mio Very Happy es lo que le copie a psycho...

    Ver perfil de usuario

    12Sưu tầm Re: Un script el Mar Jul 04, 2017 12:50 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    testea y prueba


    Código:
                local config = {

                item = 1945,

                item1 = 1946,

                item2 = 1946,

                item3 = 1945,

                item4 = 1946,

                item5 = 1945,

                item6 = 1945,

                item7 = 1946,

                item8 = 1946,

                item9 = 1945,

                item10 = 1945,

                wallID = 1386
                }


                function onUse (cid, item, fromPosition, itemEx, toPosition)



                local pos = {x = 19, y = 20, z = 15}

                local pos1 = {x = 30, y = 20, z = 15}

                local pos2 = {x = 17, y = 18, z = 15}

                local pos3 = {x = 31, y = 18, z = 15}

                local pos4 = {x = 17, y = 22, z = 15}

                local pos5 = {x = 31, y = 22, z = 15}

                local pos6 = {x = 23, y = 25, z = 15}

                local pos7 = {x = 23, y = 15, z = 15}

                local pos8 = {x = 25, y = 15, z = 15}

                local pos9 = {x = 25, y = 25, z = 15}

                local pos10 = {x = 17, y = 13, z = 15}

                local seconds = 10

                local event = 10


                local wallpos = {x = 24, y = 20, z = 15}


                local escalerapos = {x = 24, y = 20, z = 15}

                local getescalera = getThingfromPos(escalerapos)
               
                if getTileItemById(pos, config.item).uid > 0 and getTileItemById(pos1, config.item1).uid > 0 and getTileItemById(pos2, config.item2).uid > 0 and getTileItemById(pos3, config.item3).uid > 0 and getTileItemById(pos4, config.item4).uid > 0 and getTileItemById(pos5, config.item5).uid > 0 and getTileItemById(pos6, config.item6).uid > 0 and getTileItemById(pos7, config.item7).uid > 0 and getTileItemById(pos8, config.item8).uid > 0 and getTileItemById(pos9, config.item9).uid > 0 and getTileItemById(pos10, config.item10).uid > 0 then
               
               
                if item.itemid == 1945 then
               
                doTransformItem(item.uid,item.itemid+1)
               
                elseif item.itemid == 1946 and getPlayerLevel(cid) >= level then
               
                doTransformItem(item.uid, 1946)
               
                doCreateItem(config.wallID, 1, wallpos)
               
                elseif item.itemid == 1946 then
               
                doRemoveItem(getescalera.uid,1)
               
                doTransformItem(item.uid, 1945)
                end
                return true
                end
                doCreatureSay(cid, "La clave es incorrecta", TALKTYPE_ORANGE_1)
                return true
                end



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

    13Sưu tầm Re: Un script el Mar Jul 04, 2017 1:03 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui tiene pruebalo ahora


    Código:
                local config = {

                item = 1945,

                item1 = 1946,

                item2 = 1946,

                item3 = 1945,

                item4 = 1946,

                item5 = 1945,

                item6 = 1945,

                item7 = 1946,

                item8 = 1946,

                item9 = 1945,

                item10 = 1945,

                wallID = 1386
                }


                function onUse (cid, item, fromPosition, itemEx, toPosition)



                local pos = {x = 19, y = 20, z = 15}

                local pos1 = {x = 30, y = 20, z = 15}

                local pos2 = {x = 17, y = 18, z = 15}

                local pos3 = {x = 31, y = 18, z = 15}

                local pos4 = {x = 17, y = 22, z = 15}

                local pos5 = {x = 31, y = 22, z = 15}

                local pos6 = {x = 23, y = 25, z = 15}

                local pos7 = {x = 23, y = 15, z = 15}

                local pos8 = {x = 25, y = 15, z = 15}

                local pos9 = {x = 25, y = 25, z = 15}

                local pos10 = {x = 17, y = 13, z = 15}

                local seconds = 10

                local event = 10


                local wallpos = {x = 24, y = 20, z = 15}


                local escalerapos = {x = 24, y = 20, z = 15}

                local getescalera = getThingfromPos(escalerapos)
               
                if getTileItemById(pos, config.item).uid > 0 and getTileItemById(pos1, config.item1).uid > 0 and getTileItemById(pos2, config.item2).uid > 0 and getTileItemById(pos3, config.item3).uid > 0 and getTileItemById(pos4, config.item4).uid > 0 and getTileItemById(pos5, config.item5).uid > 0 and getTileItemById(pos6, config.item6).uid > 0 and getTileItemById(pos7, config.item7).uid > 0 and getTileItemById(pos8, config.item8).uid > 0 and getTileItemById(pos9, config.item9).uid > 0 and getTileItemById(pos10, config.item10).uid > 0 then
               
               
              if item.itemid == 1945 then
            doTransformItem(item.uid, 1946)
            doCreateItem(config.wallID, 1, wallpos)
          elseif item.itemid == 1946 then
          doRemoveItem(getescalera.uid,1)
            doTransformItem(item.uid, 1945)
          end
    return true
    end
    doCreatureSay(cid, "La clave es incorrecta", TALKTYPE_ORANGE_1)
    return true
    end



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

    14Sưu tầm Re: Un script el Mar Jul 04, 2017 1:21 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui lo tienes


    Código:
                local config = {

                item = 1945,

                item1 = 1946,

                item2 = 1946,

                item3 = 1945,

                item4 = 1946,

                item5 = 1945,

                item6 = 1945,

                item7 = 1946,

                item8 = 1946,

                item9 = 1945,

                item10 = 1945,

                wallID = 1386
                }


                function onUse (cid, item, fromPosition, itemEx, toPosition)



                local pos = {x = 19, y = 20, z = 15}

                local pos1 = {x = 30, y = 20, z = 15}

                local pos2 = {x = 17, y = 18, z = 15}

                local pos3 = {x = 31, y = 18, z = 15}

                local pos4 = {x = 17, y = 22, z = 15}

                local pos5 = {x = 31, y = 22, z = 15}

                local pos6 = {x = 23, y = 25, z = 15}

                local pos7 = {x = 23, y = 15, z = 15}

                local pos8 = {x = 25, y = 15, z = 15}

                local pos9 = {x = 25, y = 25, z = 15}

                local pos10 = {x = 17, y = 13, z = 15}

                local seconds = 10

                local event = 10


                local wallpos = {x = 24, y = 20, z = 15}


                local escalerapos = {x = 24, y = 20, z = 15}

            
                
                if getTileItemById(pos, config.item).uid > 0 and getTileItemById(pos1, config.item1).uid > 0 and getTileItemById(pos2, config.item2).uid > 0 and getTileItemById(pos3, config.item3).uid > 0 and getTileItemById(pos4, config.item4).uid > 0 and getTileItemById(pos5, config.item5).uid > 0 and getTileItemById(pos6, config.item6).uid > 0 and getTileItemById(pos7, config.item7).uid > 0 and getTileItemById(pos8, config.item8).uid > 0 and getTileItemById(pos9, config.item9).uid > 0 and getTileItemById(pos10, config.item10).uid > 0 then
                
                
              if item.itemid == 1945 then
             doTransformItem(item.uid, 1946)
            doCreateItem(config.wallID, 1, wallpos)
            doCreatureSay(cid, "La escalera sera removida en 30 segundos", TALKTYPE_ORANGE_1)
           elseif item.itemid == 1946 then
          
            
            addEvent(
        function()
            doRemoveItem(getTileItemById(escalerapos, 1386).uid)
        end,
        30 * 1000)
            
            
            
          end
    return true
    end
    doCreatureSay(cid, "La clave es incorrecta", TALKTYPE_ORANGE_1)
    return true
    end



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