• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Modificar Script de rewards chests Warzone

    Compartir:

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

    1Resuelto Modificar Script de rewards chests Warzone el Lun Ene 19, 2015 1:44 pm

    newlegacy

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Saludos a todos, me gustaría que me dieran una pequeña ayuda por el momento con este script es solo agregarle un exhauste de 20 horas, depues de que uno mate el boss y coja los ítem del cofre tengas que esperar esas 20 horas para cada cofre aquí esta el script que tengo en la datapack Gracias:

    Código:
    local rewards = {
       [3148] = {
          storage = Storage.BigfootBurden.Warzone1Reward,
          bossName = 'Deathstrike',
          items = {
             {rand = true, itemId = {18396, 18501, 18502, 18503}},
             {itemId = 18402, count = 750},
             {itemId = 18396},
             {itemId = 2160, count = 3},
             {itemId = 18415, count = 7},
             {itemId = 18423, count = 2}
          },
          achievement = {'Final Strike', 'Death on Strike'},
          achievementStorage = Storage.Achievements.DeathOnStrike
       },
       [3149] = {
          storage = Storage.BigfootBurden.Warzone2Reward,
          bossName = 'Gnomevil',
          items = {
             {rand = true, itemId = {18505, 18506, 18507}},
             {itemId = 18407, count = 750},
             {itemId = 18396},
             {itemId = 2160, count = 4},
             {itemId = 18413, count = 10},
             {itemId = 18423, count = 2}
          },
          miniatureHouse = true,
          achievement = {'Gnomebane\'s Bane', 'Fall of the Fallen'},
          achievementStorage = Storage.Achievements.FallOfTheFallen
       },
       [3150] = {
          storage = Storage.BigfootBurden.Warzone3Reward,
          bossName = 'Abyssador',
          items = {
             {rand = true, itemId = {18497, 18498, 18499}},
             {itemId = 18408},
             {itemId = 18396},
             {itemId = 2160, count = 5},
             {itemId = 18414, count = 12},
             {itemId = 18423, count = 2}
          },
          achievement = {'Death from Below', 'Diplomatic Immunity'},
          achievementStorage = Storage.Achievements.DiplomaticImmunity
       }
    }

    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
       if item.uid == 3147 then
          if player:getStorageValue(Storage.BigfootBurden.WarzoneStatus) == 4 then
             player:setStorageValue(Storage.BigfootBurden.WarzoneStatus, 5)
             player:addItem(2137, 1)
             player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have found some golden fruits.')
          else
             player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The chest is empty.')
          end
       elseif item.uid > 3147 and item.uid < 3151 then
          local reward = rewards[item.uid]
          if not reward then
             return true
          end

          if player:getStorageValue(reward.storage) ~= 1 then
             player:sendTextMessage(MESSAGE_EVENT_ADVANCE, reward.bossName .. ' defends his belongings and will not let you open his chest.')
             return true
          end

          local backpack = player:getSlotItem(CONST_SLOT_BACKPACK)
          if backpack and backpack:getEmptySlots(false) < 5
                or player:getFreeCapacity() < 100 then
             player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Please make sure that you have at least 5 free inventory slots and that you can carry on additional 100 oz.')
             return true
          end

          for i = 1, #reward.items do
             local items = reward.items[i]
             if items.rand then
                if math.random(10) == 1 then
                   player:addItem(items.itemId[math.random(#items.itemId)], 1)
                end
             else
                player:addItem(items.itemId, items.count or 1)
             end
          end

          if reward.miniatureHouse then
             if math.random(25) == 1 then
                player:addItem(16619, 1)
             end
          end

          player:setStorageValue(reward.storage, 0)
          player:addAchievement(reward.achievement[1])

          local cStorage = player:getStorageValue(reward.achievementStorage)
          if cStorage < 50 then
             player:setStorageValue(reward.achievementStorage, math.max(0, cStorage) + 1)
          elseif cStorage == 50 then
             player:addAchievement(reward.achievement[2])
             player:setStorageValue(reward.achievementStorage, 51)
          end
       end
       return true
    end

    Ver perfil de usuario

    2Resuelto Re: Modificar Script de rewards chests Warzone el Lun Ene 19, 2015 10:53 pm

    Invitado

    avatar
    Invitado
    prueba esto (no lo testie)

    Código:
    local rewards = {
       [3148] = {
          storage = Storage.BigfootBurden.Warzone1Reward,
          bossName = 'Deathstrike',
          items = {
             {rand = true, itemId = {18396, 18501, 18502, 18503}},
             {itemId = 18402, count = 750},
             {itemId = 18396},
             {itemId = 2160, count = 3},
             {itemId = 18415, count = 7},
             {itemId = 18423, count = 2}
          },
          achievement = {'Final Strike', 'Death on Strike'},
          achievementStorage = Storage.Achievements.DeathOnStrike
       },
       [3149] = {
          storage = Storage.BigfootBurden.Warzone2Reward,
          bossName = 'Gnomevil',
          items = {
             {rand = true, itemId = {18505, 18506, 18507}},
             {itemId = 18407, count = 750},
             {itemId = 18396},
             {itemId = 2160, count = 4},
             {itemId = 18413, count = 10},
             {itemId = 18423, count = 2}
          },
          miniatureHouse = true,
          achievement = {'Gnomebane\'s Bane', 'Fall of the Fallen'},
          achievementStorage = Storage.Achievements.FallOfTheFallen
       },
       [3150] = {
          storage = Storage.BigfootBurden.Warzone3Reward,
          bossName = 'Abyssador',
          items = {
             {rand = true, itemId = {18497, 18498, 18499}},
             {itemId = 18408},
             {itemId = 18396},
             {itemId = 2160, count = 5},
             {itemId = 18414, count = 12},
             {itemId = 18423, count = 2}
          },
          achievement = {'Death from Below', 'Diplomatic Immunity'},
          achievementStorage = Storage.Achievements.DiplomaticImmunity
       }
    }


    function onUse(player, item, fromPosition, target, toPosition, isHotkey)

    local config = {
    storage = 51222,
    time = 120 --tiempo en segundos si quieres que sean 20 horas solo pon 72000 cada hora tiene 3600 segundos (3600seg)(20hrs) = 72000
    }
       if exhaustion.get(cid, config.storage) == FALSE then

      if item.uid == 3147 then

          setPlayerStorageValue(cid, 13541, daily+1)
          exhaustion.set(cid, storage, time)
          local time = getPlayerStorageValue(cid, 13541)
            time = 3000

           if player:getStorageValue(Storage.BigfootBurden.WarzoneStatus) == 4 then
             player:setStorageValue(Storage.BigfootBurden.WarzoneStatus, 5)
             player:addItem(2137, 1)
             exhaustion.set(cid, config.storage, config.time)
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have found some golden fruits.')
          else
             player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The chest is empty.')
          end
       elseif item.uid > 3147 and item.uid < 3151 then
          local reward = rewards[item.uid]
          if not reward then
             return true
          end

          if player:getStorageValue(reward.storage) ~= 1 then
             player:sendTextMessage(MESSAGE_EVENT_ADVANCE, reward.bossName .. ' defends his belongings and will not let you open his chest.')
             return true
          end

          local backpack = player:getSlotItem(CONST_SLOT_BACKPACK)
          if backpack and backpack:getEmptySlots(false) < 5
                or player:getFreeCapacity() < 100 then
             player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Please make sure that you have at least 5 free inventory slots and that you can carry on additional 100 oz.')
             return true
          end

          for i = 1, #reward.items do
             local items = reward.items[i]
             if items.rand then
                if math.random(10) == 1 then
                   player:addItem(items.itemId[math.random(#items.itemId)], 1)
                        exhaustion.set(cid, config.storage, config.time)
             end
             else
                player:addItem(items.itemId, items.count or 1)
             end
          end

          if reward.miniatureHouse then
             if math.random(25) == 1 then
                player:addItem(16619, 1)
             end
          end

          player:setStorageValue(reward.storage, 0)
          player:addAchievement(reward.achievement[1])

          local cStorage = player:getStorageValue(reward.achievementStorage)
          if cStorage < 50 then
             player:setStorageValue(reward.achievementStorage, math.max(0, cStorage) + 1)
          elseif cStorage == 50 then
             player:addAchievement(reward.achievement[2])
                     exhaustion.set(cid, config.storage, config.time)
          player:setStorageValue(reward.achievementStorage, 51)
          end
       end


      return true
    end


     end

    3Resuelto Modificar Script de rewards chests Warzone el Mar Ene 20, 2015 10:56 am

    newlegacy

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Gracias Bro por tu ayuda Very Happy

    Ver perfil de usuario

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