Ir para conteúdo

Featured Replies

Postado
  • Autor
1 minuto atrás, kiinho disse:

Mude o RateSkill= quanto menor mais demorado é pra upar os atributos da aba skill tipo fishing

Wtf continua ainda

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

  • Respostas 23
  • Visualizações 1.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Nunca deixe abaixo de 1.1, ou será up skill instantaneo, tente botar 1.2

  • @ZikaLord Tem diversos topicos aqui no TK basta procurar, mas vamos la..   Em Data/movements/scripts crie um arquivo chamado pisoteleport.lua e adicione:   local pos = {x = 1, y = 2

Postado
  • Autor
1 minuto atrás, kiinho disse:

data\actions\scripts e ache fishing.lua e me mande

Spoiler

local config = {
    waters = {4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825},
    fishable = {4608, 4609, 4610, 4611, 4612, 4613, 7236},
    spawning = {4614, 4615, 4616, 4617, 4618, 4619},
    holes = {7236},

    corpses = {
        -- [corpse] = {[aid] = { {itemid, countmax, chance} }}
        [10499] = {
            [101] = {
                -- TODO: Water Elemental loot...
            },
            [102] = {
                -- TODO: Massive Water Elemental loot
            }
        }
    },
    checkCorpseOwner = getConfigValue("checkCorpseOwner"),
    rateLoot = getConfigValue("rateLoot"),

    summons = {
        -- {skill, name, chance, bossName, bossChance}
    },
    rateSpawn = getConfigValue("rateSpawn"),

    baitFailRemoveChance = 10,
    allowFromPz = false,
    useBait = true,
    baitCount = 1,
    fishes = 1
}

config.checkCorpseOwner = getBooleanFromString(config.checkCorpseOwner)

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(isInArray(config.waters, itemEx.itemid)) then
        if(isInArray(config.spawning, itemEx.itemid)) then
            doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
        end

        doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
        return true
    end

    local corpse = config.corpses[itemEx.itemid]
    if(corpse ~= nil) then
        corpse = corpse[itemEx.actionid]
        if(corpse ~= nil) then
            local owner = getItemAttribute(itemEx.uid, "corpseowner")
            if(owner ~= 0 and owner ~= getPlayerGUID(cid) and config.checkCorpseOwner) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUARENOTTHEOWNER)
                return true
            end

            local chance, items = math.random(0, 100000) / config.rateLoot, {}
            for _, data in ipairs(corpse) do
                if(data[3] >= chance) then
                    local tmp = {data[1], math.random(1, data[2])}
                    table.insert(items, tmp)
                end
            end

            local itemCount = table.maxn(items)
            if(itemCount > 0) then
                local loot = items[math.random(1, itemCount)]
                doPlayerAddItem(cid, loot[1], loot[2])
            end

            doTransformItem(itemEx.uid, getItemInfo(itemEx.itemid).decayTo)
            doSendMagicEffect(toPosition, CONST_ME_WATERSPLASH)
            doDecayItem(itemEx.uid)
            return true
        end
    end

    if(not isInArray(config.fishable, itemEx.itemid)) then
        return false
    end

    local position, formula, tries = getThingPosition(cid), getPlayerSkill(cid, SKILL_FISHING) / 200 + 0.85 * math.random(), 0
    config.allowFromPz = config.allowFromPz or not getTileInfo(position).protection
    if(item.itemid ~= ITEM_MECHANICAL_FISHING_ROD) then
        if(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_WORM) >= config.baitCount)) then
            tries = 1
            if(isInArray(config.holes, itemEx.itemid)) then
                if(doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then
                    tries = 2
                    if(formula > 0.83) then
                        doPlayerAddItem(cid, ITEM_RAINBOW_TROUT, config.fishes)
                    elseif(formula > 0.7) then
                        doPlayerAddItem(cid, ITEM_NORTHERN_PIKE, config.fishes)
                    elseif(formula > 0.5) then
                        doPlayerAddItem(cid, ITEM_GREEN_PERCH, config.fishes)
                    else
                        doPlayerAddItem(cid, ITEM_FISH, config.fishes)
                    end
                end
            elseif(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then
                tries = 2
                if(table.maxn(config.summons) > 0 and getDistanceBetween(position, toPosition) < 2) then
                    local skill, summon = getPlayerSkill(cid, SKILL_FISHING), {name = "", chance = 0, bossName = "", bossChance = 0}
                    for _, data in pairs(config.summons) do
                        if(skill >= data[1]) then
                            summon.name = data[2]
                            summon.chance = data[3]
                            summon.bossName = data[4]
                            summon.bossChance = data[5]
                        end
                    end

                    local random = math.random(1, 100000) / config.rateSpawn
                    if(summon.bossName ~= "" and summon.bossChance >= random) then
                        doCreateMonster(summon.bossName, position)
                        tries = 4
                    elseif(summon.name ~= "" and summon.chance >= random) then
                        doCreateMonster(summon.name, position)
                        tries = 3
                    else
                        doPlayerAddItem(cid, ITEM_FISH, config.fishes)
                    end
                else
                    doPlayerAddItem(cid, ITEM_FISH, config.fishes)
                end
            end
        end
    elseif(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_NAIL) >= config.baitCount)) then
        if(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)) then
            doPlayerAddItem(cid, ITEM_MECHANICAL_FISH, config.fishes)
            tries = 2
        else
            tries = 1
        end
    end

    if(tries > 1) then
        doPlayerAddSkillTry(cid, SKILL_FISHING, tries)
        if(not isInArray(config.holes, itemEx.itemid)) then
            doTransformItem(itemEx.uid, itemEx.itemid + 6)
        else
            doTransformItem(itemEx.uid, itemEx.itemid + 1)
        end

        doDecayItem(itemEx.uid)
    elseif(tries > 0) then
        doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
        if(config.baitFailRemoveChance >= math.random(1, 100)) then
            if(item.itemid == ITEM_MECHANICAL_FISHING_ROD) then
                doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)
            else
                doPlayerRemoveItem(cid, ITEM_FISH, config.baitCount)
            end
        end
    end

    doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
    return true
end
 

 

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Postado
2 minutos atrás, ZikaLord disse:
  Ocultar conteúdo

local config = {
    waters = {4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825},
    fishable = {4608, 4609, 4610, 4611, 4612, 4613, 7236},
    spawning = {4614, 4615, 4616, 4617, 4618, 4619},
    holes = {7236},

    corpses = {
        -- [corpse] = {[aid] = { {itemid, countmax, chance} }}
        [10499] = {
            [101] = {
                -- TODO: Water Elemental loot...
            },
            [102] = {
                -- TODO: Massive Water Elemental loot
            }
        }
    },
    checkCorpseOwner = getConfigValue("checkCorpseOwner"),
    rateLoot = getConfigValue("rateLoot"),

    summons = {
        -- {skill, name, chance, bossName, bossChance}
    },
    rateSpawn = getConfigValue("rateSpawn"),

    baitFailRemoveChance = 10,
    allowFromPz = false,
    useBait = true,
    baitCount = 1,
    fishes = 1
}

config.checkCorpseOwner = getBooleanFromString(config.checkCorpseOwner)

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(isInArray(config.waters, itemEx.itemid)) then
        if(isInArray(config.spawning, itemEx.itemid)) then
            doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
        end

        doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
        return true
    end

    local corpse = config.corpses[itemEx.itemid]
    if(corpse ~= nil) then
        corpse = corpse[itemEx.actionid]
        if(corpse ~= nil) then
            local owner = getItemAttribute(itemEx.uid, "corpseowner")
            if(owner ~= 0 and owner ~= getPlayerGUID(cid) and config.checkCorpseOwner) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUARENOTTHEOWNER)
                return true
            end

            local chance, items = math.random(0, 100000) / config.rateLoot, {}
            for _, data in ipairs(corpse) do
                if(data[3] >= chance) then
                    local tmp = {data[1], math.random(1, data[2])}
                    table.insert(items, tmp)
                end
            end

            local itemCount = table.maxn(items)
            if(itemCount > 0) then
                local loot = items[math.random(1, itemCount)]
                doPlayerAddItem(cid, loot[1], loot[2])
            end

            doTransformItem(itemEx.uid, getItemInfo(itemEx.itemid).decayTo)
            doSendMagicEffect(toPosition, CONST_ME_WATERSPLASH)
            doDecayItem(itemEx.uid)
            return true
        end
    end

    if(not isInArray(config.fishable, itemEx.itemid)) then
        return false
    end

    local position, formula, tries = getThingPosition(cid), getPlayerSkill(cid, SKILL_FISHING) / 200 + 0.85 * math.random(), 0
    config.allowFromPz = config.allowFromPz or not getTileInfo(position).protection
    if(item.itemid ~= ITEM_MECHANICAL_FISHING_ROD) then
        if(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_WORM) >= config.baitCount)) then
            tries = 1
            if(isInArray(config.holes, itemEx.itemid)) then
                if(doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then
                    tries = 2
                    if(formula > 0.83) then
                        doPlayerAddItem(cid, ITEM_RAINBOW_TROUT, config.fishes)
                    elseif(formula > 0.7) then
                        doPlayerAddItem(cid, ITEM_NORTHERN_PIKE, config.fishes)
                    elseif(formula > 0.5) then
                        doPlayerAddItem(cid, ITEM_GREEN_PERCH, config.fishes)
                    else
                        doPlayerAddItem(cid, ITEM_FISH, config.fishes)
                    end
                end
            elseif(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then
                tries = 2
                if(table.maxn(config.summons) > 0 and getDistanceBetween(position, toPosition) < 2) then
                    local skill, summon = getPlayerSkill(cid, SKILL_FISHING), {name = "", chance = 0, bossName = "", bossChance = 0}
                    for _, data in pairs(config.summons) do
                        if(skill >= data[1]) then
                            summon.name = data[2]
                            summon.chance = data[3]
                            summon.bossName = data[4]
                            summon.bossChance = data[5]
                        end
                    end

                    local random = math.random(1, 100000) / config.rateSpawn
                    if(summon.bossName ~= "" and summon.bossChance >= random) then
                        doCreateMonster(summon.bossName, position)
                        tries = 4
                    elseif(summon.name ~= "" and summon.chance >= random) then
                        doCreateMonster(summon.name, position)
                        tries = 3
                    else
                        doPlayerAddItem(cid, ITEM_FISH, config.fishes)
                    end
                else
                    doPlayerAddItem(cid, ITEM_FISH, config.fishes)
                end
            end
        end
    elseif(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_NAIL) >= config.baitCount)) then
        if(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)) then
            doPlayerAddItem(cid, ITEM_MECHANICAL_FISH, config.fishes)
            tries = 2
        else
            tries = 1
        end
    end

    if(tries > 1) then
        doPlayerAddSkillTry(cid, SKILL_FISHING, tries)
        if(not isInArray(config.holes, itemEx.itemid)) then
            doTransformItem(itemEx.uid, itemEx.itemid + 6)
        else
            doTransformItem(itemEx.uid, itemEx.itemid + 1)
        end

        doDecayItem(itemEx.uid)
    elseif(tries > 0) then
        doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
        if(config.baitFailRemoveChance >= math.random(1, 100)) then
            if(item.itemid == ITEM_MECHANICAL_FISHING_ROD) then
                doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)
            else
                doPlayerRemoveItem(cid, ITEM_FISH, config.baitCount)
            end
        end
    end

    doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
    return true
end
 

 

Faça uma copia do seu fishing.lua (guarde como backup) e substituia o fishing.lua por esse 

 

local fishing = {
["Magikarp"] = {skill = 0, level = -2},
["Staryu"] = {skill = 22, level = 6},
["Tentacool"] = {skill = 20, level = 7},
["Goldeen"] = {skill = 17, level = 5},
["Krabby"] = {skill = 14, level = 2},
["Horsea"] = {skill = 16, level = 3},
["Kingler"] = {skill = 35, level = 14},
["Seaking"] = {skill = 28, level = 11},
["Starmie"] = {skill = 49, level = 20},
["Chinchou"] = {skill = 23, level = 6},
["Poliwhirl"] = {skill = 27, level = 9},
["Seadra"] = {skill = 41, level = 15},
["Lanturn"] = {skill = 38, level = 14},
["Tentacruel"] = {skill = 80, level = 15},
["Lapras"] = {skill = 80, level = 15},
["huntail"] = {skill = 50, level = 15},

}

local storage = 15458
local bonus = 1
local limite = 150


local function doFish(cid, pos, ppos, chance, interval, number)
      if not isCreature(cid) then return false end
      if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then
         return false 
      end
      if getPlayerStorageValue(cid, storage) ~= number then return false end
      
      doSendMagicEffect(pos, CONST_ME_LOSEENERGY)

      local peixe = 0
      local playerpos = getClosestFreeTile(cid, getThingPos(cid))
      local fishes = {}
      local randomfish = ""
      
      if getPlayerSkillLevel(cid, 6) < limite then 
         doPlayerAddSkillTry(cid, 6, bonus)
      end

      for a, b in pairs (fishing) do
          if getPlayerSkillLevel(cid, 6) >= b.skill then
             table.insert(fishes, a)
          end
      end

      if math.random(1, 100) <= chance then
         if getPlayerSkillLevel(cid, 6) < limite then 
            doPlayerAddSkillTry(cid, 6, bonus)
         end
         randomfish = fishes[math.random(#fishes)]
         peixe = doSummonCreature(randomfish, playerpos)
         if not isCreature(peixe) then
            addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
            return true
         end
         doSetMonsterPassive(peixe)
         doWildAttackPlayer(peixe, cid)
         doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe)))  --alterado ver depois
         if #getCreatureSummons(cid) >= 1 then
             doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)
            doChallengeCreature(getCreatureSummons(cid)[1], peixe)
           else
            doSendMagicEffect(getThingPos(cid), 173)
            doChallengeCreature(cid, peixe)
           end
         return true
      end
      addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end

local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}

function onUse(cid, item, fromPos, itemEx, toPos)

if getPlayerGroupId(cid) == 11 then
return true
end

local checkPos = toPos
checkPos.stackpos = 0

if getTileThingByPos(checkPos).itemid <= 0 then
   doPlayerSendCancel(cid, '!')
   return true
end

if not isInArray(waters, getTileInfo(toPos).itemid) then
   return true
end

if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then
   doPlayerSendCancel(cid, "You can't fish while surfing/flying.")
   return true
end

if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
   doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.")
   return true
end

if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then
    doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.")
return true
end

if not tonumber(getPlayerStorageValue(cid, storage)) then
    local test = io.open("data/sendtobrun123.txt", "a+")
    local read = ""
    if test then
        read = test:read("*all")
        test:close()
    end
    read = read.."\n[fishing.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, storage)..""
    local reopen = io.open("data/sendtobrun123.txt", "w")
    reopen:write(read)
    reopen:close()
    setPlayerStorageValue(cid, storage, 1)
end

setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
if getPlayerStorageValue(cid, storage) >= 800 then
   setPlayerStorageValue(cid, storage, 1)
end

local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25
local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5

doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))

return true
end

Postado
  • Autor

o meu nao e poketibia e narutibia

1 minuto atrás, kiinho disse:

Faça uma copia do seu fishing.lua (guarde como backup) e substituia o fishing.lua por esse 

 

local fishing = {
["Magikarp"] = {skill = 0, level = -2},
["Staryu"] = {skill = 22, level = 6},
["Tentacool"] = {skill = 20, level = 7},
["Goldeen"] = {skill = 17, level = 5},
["Krabby"] = {skill = 14, level = 2},
["Horsea"] = {skill = 16, level = 3},
["Kingler"] = {skill = 35, level = 14},
["Seaking"] = {skill = 28, level = 11},
["Starmie"] = {skill = 49, level = 20},
["Chinchou"] = {skill = 23, level = 6},
["Poliwhirl"] = {skill = 27, level = 9},
["Seadra"] = {skill = 41, level = 15},
["Lanturn"] = {skill = 38, level = 14},
["Tentacruel"] = {skill = 80, level = 15},
["Lapras"] = {skill = 80, level = 15},
["huntail"] = {skill = 50, level = 15},

}

local storage = 15458
local bonus = 1
local limite = 150


local function doFish(cid, pos, ppos, chance, interval, number)
      if not isCreature(cid) then return false end
      if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then
         return false 
      end
      if getPlayerStorageValue(cid, storage) ~= number then return false end
      
      doSendMagicEffect(pos, CONST_ME_LOSEENERGY)

      local peixe = 0
      local playerpos = getClosestFreeTile(cid, getThingPos(cid))
      local fishes = {}
      local randomfish = ""
      
      if getPlayerSkillLevel(cid, 6) < limite then 
         doPlayerAddSkillTry(cid, 6, bonus)
      end

      for a, b in pairs (fishing) do
          if getPlayerSkillLevel(cid, 6) >= b.skill then
             table.insert(fishes, a)
          end
      end

      if math.random(1, 100) <= chance then
         if getPlayerSkillLevel(cid, 6) < limite then 
            doPlayerAddSkillTry(cid, 6, bonus)
         end
         randomfish = fishes[math.random(#fishes)]
         peixe = doSummonCreature(randomfish, playerpos)
         if not isCreature(peixe) then
            addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
            return true
         end
         doSetMonsterPassive(peixe)
         doWildAttackPlayer(peixe, cid)
         doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe)))  --alterado ver depois
         if #getCreatureSummons(cid) >= 1 then
             doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)
            doChallengeCreature(getCreatureSummons(cid)[1], peixe)
           else
            doSendMagicEffect(getThingPos(cid), 173)
            doChallengeCreature(cid, peixe)
           end
         return true
      end
      addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end

local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}

function onUse(cid, item, fromPos, itemEx, toPos)

if getPlayerGroupId(cid) == 11 then
return true
end

local checkPos = toPos
checkPos.stackpos = 0

if getTileThingByPos(checkPos).itemid <= 0 then
   doPlayerSendCancel(cid, '!')
   return true
end

if not isInArray(waters, getTileInfo(toPos).itemid) then
   return true
end

if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then
   doPlayerSendCancel(cid, "You can't fish while surfing/flying.")
   return true
end

if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
   doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.")
   return true
end

if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then
    doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.")
return true
end

if not tonumber(getPlayerStorageValue(cid, storage)) then
    local test = io.open("data/sendtobrun123.txt", "a+")
    local read = ""
    if test then
        read = test:read("*all")
        test:close()
    end
    read = read.."\n[fishing.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, storage)..""
    local reopen = io.open("data/sendtobrun123.txt", "w")
    reopen:write(read)
    reopen:close()
    setPlayerStorageValue(cid, storage, 1)
end

setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
if getPlayerStorageValue(cid, storage) >= 800 then
   setPlayerStorageValue(cid, storage, 1)
end

local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25
local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5

doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))

return true
end

 

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo