• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Actions] [Actions] [Actions] Quest con palanca

    Compartir:

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

    decker

    decker
    Miembro
    Miembro
    Descripcion escribió:Buenas, tengo un problema con anihilator con palancas, ya acomode las posiciones de los demons, y los players, al poner 4 players en los sqm y mover la palanca todo perfecto, pero...

    Al ir un solo player e intentar mover la palanca , la palanca se mueve a la posicion derecha (solo una vez) y me tira un error en la consola que es el siguiente!

    [27/08/2019 09:58:37] [Error - Action Interface]
    [27/08/2019 09:58:37] data/actions/scripts/anni350.lua:onUse
    [27/08/2019 09:58:37] Description:
    [27/08/2019 09:58:37] (luaDoTeleportThing) Thing not found


    El server no se crashea, pero si se frezzea durante 4 o 5 segundos hasta que se mueve la palanca, esto solo pasa la primera vez que se intenta mover la palanca y no estan los 4 players en los sqm de anihi...


    Quisiera saber si puedo hacer que la quest sea de 1 a 4 personas, es decir que no necesariamente tengan que estar los 4 players para hacerla, si hay solo uno que gire la palanca y pueda hacerla!

    Les dejo el script de la quest!

    Código:
    function onUse(cid, item, frompos, item2, topos)
    if item.uid == 7100 then
     if item.itemid == 1946 then

     player1pos = {x=2028, y=2138, z=11, stackpos=253}
     player1 = getThingfromPos(player1pos)

     player2pos = {x=2028, y=2139, z=11, stackpos=253}
     player2 = getThingfromPos(player2pos)

     player3pos = {x=2028, y=2140, z=11, stackpos=253}
     player3 = getThingfromPos(player3pos)

     player4pos = {x=2028, y=2141, z=11, stackpos=253}
     player4 = getThingfromPos(player4pos)


        if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then

      player1level = getPlayerLevel(player1.uid)
      player2level = getPlayerLevel(player2.uid)
      player3level = getPlayerLevel(player3.uid)
      player4level = getPlayerLevel(player4.uid)

      questlevel = 100

      if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then

         queststatus1 = getPlayerStorageValue(player1.uid,7100)
         queststatus2 = getPlayerStorageValue(player2.uid,7100)
         queststatus3 = getPlayerStorageValue(player3.uid,7100)
         queststatus4 = getPlayerStorageValue(player4.uid,7100)

         if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then

       --if 1==1 then
       demon1pos = {x = 1537, y = 1454, z = 5}
       demon2pos = {x = 1539, y = 1454, z = 5}
       demon3pos = {x = 1540, y = 1458, z = 5}
       demon4pos = {x = 1538, y = 1458, z = 5}
       demon5pos = {x = 1541, y = 1456, z = 5}
       demon6pos = {x = 1542, y = 1456, z = 5}
       demon7pos = {x = 1534, y = 1456, z = 5}
     
      doSummonCreature("Demon", demon1pos)
      doSummonCreature("Demon", demon2pos)
      doSummonCreature("Demon", demon3pos)
      doSummonCreature("Demon", demon4pos)
      doSummonCreature("Demon", demon5pos)
      doSummonCreature("Demon", demon6pos)
      doSummonCreature("Demon", demon7pos)
     

       nplayer1pos = {x = 1537, y = 1456, z = 5}
       nplayer2pos = {x = 1538, y = 1456, z = 5}
       nplayer3pos = {x = 1539, y = 1456, z = 5}
       nplayer4pos = {x = 1540, y = 1456, z = 5}

      doSendMagicEffect(player1pos,2)
      doSendMagicEffect(player2pos,2)
      doSendMagicEffect(player3pos,2)
      doSendMagicEffect(player4pos,2)

      doTeleportThing(player1.uid,nplayer1pos)
      doTeleportThing(player2.uid,nplayer2pos)
      doTeleportThing(player3.uid,nplayer3pos)
      doTeleportThing(player4.uid,nplayer4pos)

        doSendMagicEffect(nplayer1pos,10)
        doSendMagicEffect(nplayer2pos,10)
        doSendMagicEffect(nplayer3pos,10)
        doSendMagicEffect(nplayer4pos,10)

        doTransformItem(item.uid,1945)

       else
        doPlayerSendCancel(cid,"Sorry, not possible.")
       end
      else
       doPlayerSendCancel(cid,"Sorry, not possible.")
      end
      else
      doPlayerSendCancel(cid,"Sorry, not possible.")
      end
      end
     if item.itemid == 1945 then
    -- Here is the code start:
    starting={x=979, y=846, z=7, stackpos=253}
    checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
    ending={x=986, y=852, z=7, stackpos=253}
    players=0
    totalmonsters=0
    monster = {}
    repeat
    creature= getThingfromPos(checking)
     if creature.itemid > 0 then
     if getPlayerAccess(creature.uid) == 0 then
     players=players+1
     end
      if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then
     totalmonsters=totalmonsters+1
      monster[totalmonsters]=creature.uid
      end
     end
    checking.x=checking.x+1
      if checking.x>ending.x then
      checking.x=starting.x
      checking.y=checking.y+1
     end
    until checking.y>ending.y
    if players==0 then
    trash= {x=998, y=864, z=7}
    current=0
    repeat
    current=current+1
    doTeleportThing(monster[current],trash)
    until current>=totalmonsters
    doTransformItem(item.uid,1946)
    end
    -- Here is the end of it

    end
    end
     return 1
    end



    Captura del Error escribió:Imagen del error: [Actions] [Actions] [Actions] Quest con palanca Tibiaf10
    El error radica en: Actions

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    usa este

    [Tienes que estar registrado y conectado para ver este vínculo]



    [Actions] [Actions] [Actions] Quest con palanca YNU5B25
    2 participantes
    http://www.tibiaface.com

    decker

    decker
    Miembro
    Miembro
    [Admin] God Maya escribió:usa este

    [Tienes que estar registrado y conectado para ver este vínculo]

    Hola maya, ya configure el script, al entrar al room girar la palanca y todo, todo genial, ahora el problema es que al querer volver a hacer la quest, no me deja entrar (mover la palanca) y me sale este error en consola

    [27/08/2019 19:42:15] [Error - Action Interface]
    [27/08/2019 19:42:15] data/actions/scripts/anni350.lua:onUse
    [27/08/2019 19:42:15] Description:
    [27/08/2019 19:42:15] data/actions/scripts/anni350.lua:80: attempt to perform arithmetic on global 'dzwignia' (a nil value)
    [27/08/2019 19:42:15] stack traceback:
    [27/08/2019 19:42:15] data/actions/scripts/anni350.lua:80: in function <data/actions/scripts/anni350.lua:3>



    A continuacion te dejo como me quedo el script lo unico que hice fue cambiarle el unique ID a 7100 y agregarle un demon.

    Código:
    -- annihilator lever

    function onUse(cid, item, frompos, item2, topos)

    monster = "Demon" ------ nome do monstro
    pos = {x=1537, y=1454, z=5} ---posicao em que o monstro ira aparecer
    monster2 = "Demon" ------ nome do monstro
    pos2 = {x=1539, y=1454, z=5} ---posicao em que o monstro ira aparecer
    monster3 = "Demon" ------ nome do monstro
    pos3 = {x=1540, y=1458, z=5} ---posicao em que o monstro ira aparecer
    monster4 = "Demon" ------ nome do monstro
    pos4 = {x=1538, y=1458, z=5} ---posicao em que o monstro ira aparecer
    monster5 = "Demon" ------ nome do monstro
    pos5 = {x=1541, y=1456, z=5} ---posicao em que o monstro ira aparecer
    monster6 = "Demon" ------ nome do monstro
    pos6 = {x=1542, y=1456, z=5} ---posicao em que o monstro ira aparecer
    monster7 = "Demon" ------ nome do monstro
    pos7 = {x=1534, y=1456, z=5} ---posicao em que o monstro ira aparecer


          if item.uid == 7100 and item.itemid == 1945 then
          player1pos = {x=2028, y=2138, z=11, stackpos=253}
          player1 = getThingfromPos(player1pos)

          player2pos = {x=2028, y=2139, z=11, stackpos=253}
          player2 = getThingfromPos(player2pos)

          player3pos = {x=2028, y=2140, z=11, stackpos=253}
          player3 = getThingfromPos(player3pos)

          player4pos = {x=2028, y=2141, z=11, stackpos=253}
          player4 = getThingfromPos(player4pos)


          if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
         
                nplayer1pos = {x=1537, y=1456, z=5}
                nplayer2pos = {x=1538, y=1456, z=5}
                nplayer3pos = {x=1539, y=1456, z=5}
                nplayer4pos = {x=1540, y=1456, z=5}

                doSendMagicEffect(player1pos,2)
                doSendMagicEffect(player2pos,2)
                doSendMagicEffect(player3pos,2)
                doSendMagicEffect(player4pos,2)

                                    doSummonCreature(monster,pos)
                                    doSummonCreature(monster2,pos2)
                                    doSummonCreature(monster3,pos3)
                                    doSummonCreature(monster4,pos4)
                                    doSummonCreature(monster5,pos5)
                                    doSummonCreature(monster6,pos6)
                                    doSummonCreature(monster7,pos7)

                doTeleportThing(player1.uid,nplayer1pos)
                doTeleportThing(player2.uid,nplayer2pos)
                doTeleportThing(player3.uid,nplayer3pos)
                doTeleportThing(player4.uid,nplayer4pos)
               
                doRemoveCreature(pos)
            doRemoveCreature(pos2)
            doRemoveCreature(pos3)
            doRemoveCreature(pos4)
            doRemoveCreature(pos5)
            doRemoveCreature(pos6)
            doRemoveCreature(pos7)

                doSendMagicEffect(nplayer1pos,10)
                doSendMagicEffect(nplayer2pos,10)
                doSendMagicEffect(nplayer3pos,10)
                doSendMagicEffect(nplayer4pos,10)

                  doTransformItem(item.uid,item.itemid+1)
           
          else
            doPlayerSendCancel(cid,"you need four people for the quest.")
          end

      elseif item.uid ==7100 and item.itemid == 1946 then
          if (dzwignia - os.clock()) > 30 then
          doTransformItem(item.uid,item.itemid-1)
          end
          if getPlayerAccess(cid) > 0 then
            doTransformItem(item.uid,item.itemid-1)
            end
          end
      return 1
    end

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    aqui tienes

    Código:

            -- annihilator lever

            function onUse(cid, item, frompos, item2, topos)

            monster = "Demon" ------ nome do monstro
            pos = {x=1537, y=1454, z=5} ---posicao em que o monstro ira aparecer
            monster2 = "Demon" ------ nome do monstro
            pos2 = {x=1539, y=1454, z=5} ---posicao em que o monstro ira aparecer
            monster3 = "Demon" ------ nome do monstro
            pos3 = {x=1540, y=1458, z=5} ---posicao em que o monstro ira aparecer
            monster4 = "Demon" ------ nome do monstro
            pos4 = {x=1538, y=1458, z=5} ---posicao em que o monstro ira aparecer
            monster5 = "Demon" ------ nome do monstro
            pos5 = {x=1541, y=1456, z=5} ---posicao em que o monstro ira aparecer
            monster6 = "Demon" ------ nome do monstro
            pos6 = {x=1542, y=1456, z=5} ---posicao em que o monstro ira aparecer
            monster7 = "Demon" ------ nome do monstro
            pos7 = {x=1534, y=1456, z=5} ---posicao em que o monstro ira aparecer


                  if item.uid == 7100 and item.itemid == 1945 then
                  player1pos = {x=2028, y=2138, z=11, stackpos=253}
                  player1 = getThingfromPos(player1pos)

                  player2pos = {x=2028, y=2139, z=11, stackpos=253}
                  player2 = getThingfromPos(player2pos)

                  player3pos = {x=2028, y=2140, z=11, stackpos=253}
                  player3 = getThingfromPos(player3pos)

                  player4pos = {x=2028, y=2141, z=11, stackpos=253}
                  player4 = getThingfromPos(player4pos)


                  if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
                 
                        nplayer1pos = {x=1537, y=1456, z=5}
                        nplayer2pos = {x=1538, y=1456, z=5}
                        nplayer3pos = {x=1539, y=1456, z=5}
                        nplayer4pos = {x=1540, y=1456, z=5}

                        doSendMagicEffect(player1pos,2)
                        doSendMagicEffect(player2pos,2)
                        doSendMagicEffect(player3pos,2)
                        doSendMagicEffect(player4pos,2)

                                            doSummonCreature(monster,pos)
                                            doSummonCreature(monster2,pos2)
                                            doSummonCreature(monster3,pos3)
                                            doSummonCreature(monster4,pos4)
                                            doSummonCreature(monster5,pos5)
                                            doSummonCreature(monster6,pos6)
                                            doSummonCreature(monster7,pos7)

                        doTeleportThing(player1.uid,nplayer1pos)
                        doTeleportThing(player2.uid,nplayer2pos)
                        doTeleportThing(player3.uid,nplayer3pos)
                        doTeleportThing(player4.uid,nplayer4pos)
                       
                        doRemoveCreature(pos)
                    doRemoveCreature(pos2)
                    doRemoveCreature(pos3)
                    doRemoveCreature(pos4)
                    doRemoveCreature(pos5)
                    doRemoveCreature(pos6)
                    doRemoveCreature(pos7)

                        doSendMagicEffect(nplayer1pos,10)
                        doSendMagicEffect(nplayer2pos,10)
                        doSendMagicEffect(nplayer3pos,10)
                        doSendMagicEffect(nplayer4pos,10)

                          doTransformItem(item.uid,item.itemid+1)
                   
                  else
                    doPlayerSendCancel(cid,"you need four people for the quest.")
                  end

              elseif item.uid ==7100 and item.itemid == 1946 then
               
                  doTransformItem(item.uid,item.itemid-1)
               
             
                  end
              return 1
            end



    [Actions] [Actions] [Actions] Quest con palanca YNU5B25
    2 participantes
    http://www.tibiaface.com

    decker

    decker
    Miembro
    Miembro
    [Admin] God Maya escribió:aqui tienes

    Código:

            -- annihilator lever

            function onUse(cid, item, frompos, item2, topos)

            monster = "Demon" ------ nome do monstro
            pos = {x=1537, y=1454, z=5} ---posicao em que o monstro ira aparecer
            monster2 = "Demon" ------ nome do monstro
            pos2 = {x=1539, y=1454, z=5} ---posicao em que o monstro ira aparecer
            monster3 = "Demon" ------ nome do monstro
            pos3 = {x=1540, y=1458, z=5} ---posicao em que o monstro ira aparecer
            monster4 = "Demon" ------ nome do monstro
            pos4 = {x=1538, y=1458, z=5} ---posicao em que o monstro ira aparecer
            monster5 = "Demon" ------ nome do monstro
            pos5 = {x=1541, y=1456, z=5} ---posicao em que o monstro ira aparecer
            monster6 = "Demon" ------ nome do monstro
            pos6 = {x=1542, y=1456, z=5} ---posicao em que o monstro ira aparecer
            monster7 = "Demon" ------ nome do monstro
            pos7 = {x=1534, y=1456, z=5} ---posicao em que o monstro ira aparecer


                  if item.uid == 7100 and item.itemid == 1945 then
                  player1pos = {x=2028, y=2138, z=11, stackpos=253}
                  player1 = getThingfromPos(player1pos)

                  player2pos = {x=2028, y=2139, z=11, stackpos=253}
                  player2 = getThingfromPos(player2pos)

                  player3pos = {x=2028, y=2140, z=11, stackpos=253}
                  player3 = getThingfromPos(player3pos)

                  player4pos = {x=2028, y=2141, z=11, stackpos=253}
                  player4 = getThingfromPos(player4pos)


                  if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
                 
                        nplayer1pos = {x=1537, y=1456, z=5}
                        nplayer2pos = {x=1538, y=1456, z=5}
                        nplayer3pos = {x=1539, y=1456, z=5}
                        nplayer4pos = {x=1540, y=1456, z=5}

                        doSendMagicEffect(player1pos,2)
                        doSendMagicEffect(player2pos,2)
                        doSendMagicEffect(player3pos,2)
                        doSendMagicEffect(player4pos,2)

                                            doSummonCreature(monster,pos)
                                            doSummonCreature(monster2,pos2)
                                            doSummonCreature(monster3,pos3)
                                            doSummonCreature(monster4,pos4)
                                            doSummonCreature(monster5,pos5)
                                            doSummonCreature(monster6,pos6)
                                            doSummonCreature(monster7,pos7)

                        doTeleportThing(player1.uid,nplayer1pos)
                        doTeleportThing(player2.uid,nplayer2pos)
                        doTeleportThing(player3.uid,nplayer3pos)
                        doTeleportThing(player4.uid,nplayer4pos)
                       
                        doRemoveCreature(pos)
                    doRemoveCreature(pos2)
                    doRemoveCreature(pos3)
                    doRemoveCreature(pos4)
                    doRemoveCreature(pos5)
                    doRemoveCreature(pos6)
                    doRemoveCreature(pos7)

                        doSendMagicEffect(nplayer1pos,10)
                        doSendMagicEffect(nplayer2pos,10)
                        doSendMagicEffect(nplayer3pos,10)
                        doSendMagicEffect(nplayer4pos,10)

                          doTransformItem(item.uid,item.itemid+1)
                   
                  else
                    doPlayerSendCancel(cid,"you need four people for the quest.")
                  end

              elseif item.uid ==7100 and item.itemid == 1946 then
               
                  doTransformItem(item.uid,item.itemid-1)
               
             
                  end
              return 1
            end


    Gracias amigo, que le has cambiado? asi voy observando y aprendiendo!!!

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    elseif item.uid ==7100 and item.itemid == 1946 then
    if (dzwignia - os.clock()) > 30 then -------> elimine

    doTransformItem(item.uid,item.itemid-1)

    end -------> elimine

    if getPlayerAccess(cid) > 0 then -------> elimine

    doTransformItem(item.uid,item.itemid-1) -------> elimine
    end -------> elimine
    end
    return 1
    end



    TEMA RESUELTO



    [Actions] [Actions] [Actions] Quest con palanca YNU5B25
    2 participantes
    http://www.tibiaface.com

    Contenido patrocinado


    2 participantes

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