Ir para conteúdo
  • Cadastre-se

Normal [AJUDA] Função action fishing


Posts Recomendados

Queria mudar uma coisa simples nesse meu script

Se vc tem worm [3976] quando você pesca você perde ela, eu queria se vc tive-se a mecanical worm [10224] não perde-se nada

Como se ela fosse uma worm infinita

 

local config = {
        peixes = {
                leveis = {20, 40, 60, 80, 100, 120},
 
                fish = {
                        [20] = 2670, -- 4
                        [40] = 2667, -- 8
                        [60] = 7159, -- 16
                        [80] = 7158, -- 20
                        [100] = 2669, -- 30
                        [130] = 7963, -- 40
                }
 
        },
        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] = {items}
                [2025] = {
                        -- {itemid, countmax, chance}
                        -- TODO: Water elemental and Massive Water Elemental loot...
                }
        },
        checkCorpseOwner = getConfigValue("checkCorpseOwner"),
        rateLoot = getConfigValue("rateLoot"),
        rateSpawn = getConfigValue("rateSpawn"),
 
        summons = {
                -- {skill, name, chance, bossName, bossChance}
        },
 
        baitFailRemoveChance = 10,
        allowFromPz = false,
        useBait = true,
        baitCount = 1,
        fishes = 1
}
 
local function getFish(uid)
        local lvl = getPlayerSkillLevel(uid, 6)
        for i = #config.peixes.leveis, 1, -1 do
                if lvl >= config.peixes.leveis[i] then
                        return config.peixes.fish[config.peixes.leveis[i]]
                end
        end
 
        return 2670
end
 
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
                local owner = getItemAttribute(cid, "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, itemEx.uid + 1)
                return true
        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, getFish(cid), 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
                -- conseguiu
                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
                -- fail
                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
Link para o post
Compartilhar em outros sites

muda aki

baitFailRemoveChance = 10,

deixa assim

baitFailRemoveChance = 0,

Assim nao irá remover o "bait", item necessario pra pescar... Acredito eu. HUASHUA

 

 

 

Ja para mudar da minhoca pra mechanical, nao vou falar nada pois nao tenho certeza.

Link para o post
Compartilhar em outros sites

eu queria se vc tive-se a mecanical worm [10224] não perde-se nada

Então, na verdade o itemid 10224 é o próprio mechanical fish, mas eu entendi o que você quis dizer.

Procure por:

if(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)) then

E substitua por:

if(formula > 0.7) then

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo