• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Pedido De Modificacion

    Compartir:

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

    1default Pedido De Modificacion el Vie Mayo 18, 2018 5:54 am

    Rha

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Buen dia, sera que podrian modificarme este script para que en lugar de dar 1 solo item me permita dar varios items?

    Servidor: 8.54 The Forgotten Server 0.3.6pl1 Crying Damson

    Función Actual: Le das click con el pico a la piedra y despues de determinado tiempo, bajo ciertas circunstancias (dropchance y breakchance) te dan 1 de los items de la lista. Luego el item de piedra desaparece.

    Función Modificada:
    -Al lograr picarlo, te da 1 o mas items, si te da cobre te da 3 o 4 de cobre
    -Al picarlo te puede dar 1 o mas items diferentes, te da cobre y alguna joya.
    -Al picarlo la piedra no desaparece, se transforma en otro item

    Si la ultima cosa se logra me gustaría que quitaran el respawnTime.

    Muchas Gracias! :3 ojala puedan hacer esas modificaciones

    NOTA: El script no es mio, lo conseguir de un foro

    Código:

    function createItem(pos, itemid)
      doSendMagicEffect(pos, 34)
      doCreateItem(itemid, 1, pos)
      doSendMagicEffect(pos, 34)
    end

    function onUse(cid, item, fromPosition, itemEx, toPosition)
      stones = { -- time in minutes, chance in percent '%', drops separated by comma (virgula)
       [12041] = { breakChance = 90, respawnTime = 10, dropChance = 95, drops = {11669}}, -- Sal
       [11718] = { breakChance = 60, respawnTime = 20, dropChance = 90, drops = {11726, 11726, 11726, 11726, 11726, 14967, 11726, 11726, 11726, 11726, 11726,  13216, 11726, 11726, 11726, 11726}}, -- Cobre
       [11998] = { breakChance = 60, respawnTime = 30, dropChance = 90, drops = {12001, 12001, 12001, 12001, 12001, 13240, 14963, 12001, 12001, 12001, 12001, 12001, 12001, 12001, 12001, 12001}},   -- Hierro
       [11551] = { breakChance = 60, respawnTime = 40, dropChance = 90, drops = {11936, 11936, 11936, 11936, 11936, 13206, 13216, 11936, 11936, 11936, 11936, 11936, 11936, 11936, 11936, 11936}}, -- Plata
       [11553] = { breakChance = 60, respawnTime = 45, dropChance = 90, drops = {11603, 10549, 12403, 11603, 11603, 13241, 14965, 13241, 13241, 13241, 13241, 13241, 13241, 13241, 13241, 13241}}, -- Tungsteno
       [11550] = { breakChance = 60, respawnTime = 60, dropChance = 70, drops = {11728, 11728, 11728, 11728, 11728, 13216, 14964, 11728, 11728, 11728, 11728, 11728, 11728, 11728, 11728, 11728}}, -- Oro
       [11554] = { breakChance = 30, respawnTime = 70, dropChance = 70, drops = {11601, 11601, 11601, 11601, 11601, 13239, 13241, 11601, 11601, 11601, 11601, 11601, 11601, 11601, 11601, 11601}}, -- Obsidiana
       [11935] = { breakChance = 30, respawnTime = 80, dropChance = 70, drops = {11680, 11680, 11680, 11680, 11680, 13207, 14967, 11680, 11680, 11680, 11680, 11680, 11680, 11680, 11680, 11680}}, -- Meteorito
       [11549] = { breakChance = 30, respawnTime = 120, dropChance = 60, drops = {11820, 11820, 11820, 11820, 11820, 14966, 13239, 11820, 11820, 11820, 11820, 11820, 11820, 11820, 11820, 11820}}, -- Adamantita
       [11552] = { breakChance = 10, respawnTime = 130, dropChance = 60, drops = {11602, 11602, 11602, 11602, 11602, 14457, 14962, 11602, 11602, 11602, 11602, 11602, 11602, 11602, 11602, 11602}}, -- Oricalco
       [11719] = { breakChance = 10, respawnTime = 170, dropChance = 50, drops = {11707, 11707, 11707, 11707, 11707, 14456, 14964}} -- Glactis Negra
      }

      if isInArray({0, 65535}, toPosition.x) then
       return false
      elseif stones[itemEx.itemid] then
       stoneEx = stones[itemEx.itemid]
       if (math.random(1, 100) < stoneEx.breakChance) then
         doRemoveItem(getTileItemById(toPosition, itemEx.itemid).uid)
         addEvent(createItem, stoneEx.respawnTime * 60000, toPosition, itemEx.itemid)
         if (math.random(1, 100) < stoneEx.dropChance) then
          itemDrop = stoneEx.drops[math.random(1, #stoneEx.drops)]
          doPlayerAddItem(cid, itemDrop)
          doSendMagicEffect(toPosition, 12)
          return doPlayerSendCancel(cid, "Your craft sucess, you found " .. getItemArticleById(itemDrop) .. " " .. getItemNameById(itemDrop) ..".")
         else
          doSendMagicEffect(toPosition, 9)
          return doPlayerSendCancel(cid, "Your craft sucess, but they found nothing.")
         end   
       else
         doSendMagicEffect(toPosition, 2)
         return doPlayerSendCancel(cid, "Your craft fail, try again.")
       end
      else
       return doPlayerSendCancel(cid, "You must craft in a specially stone.")
      end
    end

    Ver perfil de usuario

    2default Re: Pedido De Modificacion el Vie Mayo 18, 2018 11:16 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    punto 1

    asi de plano el sistema no se puede lograr queentregue 2 item diferentes

    punto 2

    doPlayerAddItem(cid, itemDrop, math.random(1, 50))

    modificar esa linea

    punto 3

    no puedes hacer que este sistema haga que se desaparesca la piedra por si un player se para ensima de la piedra o en lugar donde nacera la piedra puede crashear el servidor o mandar errores a la consola



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

    3default Re: Pedido De Modificacion el Vie Mayo 18, 2018 9:51 pm

    Rha

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Hola! muchas gracias por lo de dar mas de 1 item (en cantidad) funciona perfecto! :3 . sobre lo otro este script desaparece la piedra y después de un rato (respawnTime) la piedra vuelve a aparecer, eso ya pasa. Es lo que quería cambiar, para que aparezca otra piedra y que no desaparezca, eso no es posible? (claro un item diferente por cada piedra)

    Ver perfil de usuario

    4default Re: Pedido De Modificacion el Vie Mayo 18, 2018 10:40 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    prueba asi

    Código:

    function createItem(pos, itemid)
      doSendMagicEffect(pos, 34)
      doCreateItem(itemid, 1, pos)
      doSendMagicEffect(pos, 34)
    end

    function dostoneReturn(itemposition,oldid)
    local pos = getThingfromPos(itemposition)
    doTransformItem(pos.uid,oldid)
    setItemName(pos.uid, getItemNameById(oldid))
    doSendMagicEffect(itemposition,math.random(28,30))
    end

    function onUse(cid, item, fromPosition, itemEx, toPosition)
      stones = { -- time in minutes, chance in percent '%', drops separated by comma (virgula)
      [12041] = { breakChance = 90, respawnTime = 10, dropChance = 95, drops = {11669}}, -- Sal
      [11718] = { breakChance = 60, respawnTime = 20, dropChance = 90, drops = {11726, 11726, 11726, 11726, 11726, 14967, 11726, 11726, 11726, 11726, 11726,  13216, 11726, 11726, 11726, 11726}}, -- Cobre
      [11998] = { breakChance = 60, respawnTime = 30, dropChance = 90, drops = {12001, 12001, 12001, 12001, 12001, 13240, 14963, 12001, 12001, 12001, 12001, 12001, 12001, 12001, 12001, 12001}},  -- Hierro
      [11551] = { breakChance = 60, respawnTime = 40, dropChance = 90, drops = {11936, 11936, 11936, 11936, 11936, 13206, 13216, 11936, 11936, 11936, 11936, 11936, 11936, 11936, 11936, 11936}}, -- Plata
      [11553] = { breakChance = 60, respawnTime = 45, dropChance = 90, drops = {11603, 10549, 12403, 11603, 11603, 13241, 14965, 13241, 13241, 13241, 13241, 13241, 13241, 13241, 13241, 13241}}, -- Tungsteno
      [11550] = { breakChance = 60, respawnTime = 60, dropChance = 70, drops = {11728, 11728, 11728, 11728, 11728, 13216, 14964, 11728, 11728, 11728, 11728, 11728, 11728, 11728, 11728, 11728}}, -- Oro
      [11554] = { breakChance = 30, respawnTime = 70, dropChance = 70, drops = {11601, 11601, 11601, 11601, 11601, 13239, 13241, 11601, 11601, 11601, 11601, 11601, 11601, 11601, 11601, 11601}}, -- Obsidiana
      [11935] = { breakChance = 30, respawnTime = 80, dropChance = 70, drops = {11680, 11680, 11680, 11680, 11680, 13207, 14967, 11680, 11680, 11680, 11680, 11680, 11680, 11680, 11680, 11680}}, -- Meteorito
      [11549] = { breakChance = 30, respawnTime = 120, dropChance = 60, drops = {11820, 11820, 11820, 11820, 11820, 14966, 13239, 11820, 11820, 11820, 11820, 11820, 11820, 11820, 11820, 11820}}, -- Adamantita
      [11552] = { breakChance = 10, respawnTime = 130, dropChance = 60, drops = {11602, 11602, 11602, 11602, 11602, 14457, 14962, 11602, 11602, 11602, 11602, 11602, 11602, 11602, 11602, 11602}}, -- Oricalco
      [11719] = { breakChance = 10, respawnTime = 170, dropChance = 50, drops = {11707, 11707, 11707, 11707, 11707, 14456, 14964}} -- Glactis Negra
      }
    local objeto2 = getThingFromPos(toPosition)

    local configs = {
    stone_delay = 15
    }

      if isInArray({0, 65535}, toPosition.x) then
      return false
      elseif stones[itemEx.itemid] then
      stoneEx = stones[itemEx.itemid]
      if (math.random(1, 100) < stoneEx.breakChance) then
     
     
        addEvent(dostoneReturn,configs.stone_delay * 1000,toPosition,objeto2.itemid)
       
    doTransformItem(objeto2.uid, 3608)
       
       
       
       
        if (math.random(1, 100) < stoneEx.dropChance) then
          itemDrop = stoneEx.drops[math.random(1, #stoneEx.drops)]
          doPlayerAddItem(cid, itemDrop)
          doSendMagicEffect(toPosition, 12)
          return doPlayerSendCancel(cid, "Your craft sucess, you found " .. getItemArticleById(itemDrop) .. " " .. getItemNameById(itemDrop) ..".")
        else
          doSendMagicEffect(toPosition, 9)
          return doPlayerSendCancel(cid, "Your craft sucess, but they found nothing.")
        end 
      else
        doSendMagicEffect(toPosition, 2)
        return doPlayerSendCancel(cid, "Your craft fail, try again.")
      end
      else
      return doPlayerSendCancel(cid, "You must craft in a specially stone.")
      end
    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).