Ir para conteúdo

Featured Replies

Postado

Eai pessoa blz? estou aqui para pedir um sistema de fishing rod! eu já vi muitos servidores usando! o sistema é assim, são 4 rods, cada rod pesca tipos de pokemons diferentes! e cada uma tem um level mínimo para usar, ai vai o funcionamento basico delas!

 

------------------------------------------------------------------------------------------------------------------

 

Normal Rod

 

Pesca Margikarp, Goldeen, krabby, entre outros

 

o level mínimo dela é 10

 

Great Rod

 

Pesca Os mesmos pokemons da normal rod e outros pokemons configurados por min!

 

Level mínimo dela é 30

 

Super Rod

 

Pesca os mesmos pokemons da Great Rod e outros configurados por min!

 

Level mínimo dela é 60

 

Ultra Rod

 

Pesca os mesmos pokemons da super rod e outros configurados por min

 

level mínimo dela é 80

 

------------------------------------------------------------------------------------------------------------------

 

Pronto! acho que deu para entender + ou - como elas funcionam, não acho que seja díficil para alguem que tenha no mínimo um pouco do conhecimento de lua, para fazer. Se tiverem alguma dúvida podem perguntar, este sistema, todos jogos que joguei, com ele fiquei viciadão neles ^^ Eu uso a Versão 854 e tfs 0.3.6! muito obrigado pela atenção, e tenham todos um bom dia!

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Resolvido por Wakon

Ir para solução
  • Respostas 14
  • Visualizações 831
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Desculpe a demora para responder, tente assim:

  • Você pode pegar seu script de rod e adicionar isso para retornar se não tiver o level necessário: if getPlayerLevel(cid) < 50 then    doPlayerSendCancel(cid, "Você precisa ser level "..level.." p

  • Adicionei o level necessário, testa ai:

Postado

Você pode pegar seu script de rod e adicionar isso para retornar se não tiver o level necessário:

if getPlayerLevel(cid) < 50 then
   doPlayerSendCancel(cid, "Você precisa ser level "..level.." para usar essa rod.")
  return true
end

Coloca logo no inicio do script após o function, se quiser use esse:

local fishing = {
["Magikarp"] = {skill = 0, level = 0},
["Qwilfish"] = {skill = 18, level = 0},
["Remoraid"] = {skill = 16, level = 0},
["Staryu"] = {skill = 22, level = 0}
}

local storage = 15458
local bonus = 1
local limite = 80
local level = 50 -- Aqui você altera o level necessário para utilizar a rod.


local function doFish(cid, pos, ppos, chance, interval, number)
        if getPlayerLevel(cid) < 50 then
           doPlayerSendCancel(cid, "Você precisa ser level "..level.." para usar essa rod.")
           return true
        end
        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 = ""

                                                                  --alterado!!
    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)
        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 = 5.2 + getPlayerSkillLevel(cid, 6) / 9.5

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

return true
end

Postado
  • Autor

Você pode pegar seu script de rod e adicionar isso para retornar se não tiver o level necessário:

if getPlayerLevel(cid) < 50 then
   doPlayerSendCancel(cid, "Você precisa ser level "..level.." para usar essa rod.")
  return true
end

Coloca logo no inicio do script após o function, se quiser use esse:

local fishing = {

["Magikarp"] = {skill = 0, level = 0},

["Qwilfish"] = {skill = 18, level = 0},

["Remoraid"] = {skill = 16, level = 0},

["Staryu"] = {skill = 22, level = 0}

}

local storage = 15458

local bonus = 1

local limite = 80

local level = 50 -- Aqui você altera o level necessário para utilizar a rod.

local function doFish(cid, pos, ppos, chance, interval, number)

        if getPlayerLevel(cid) < 50 then

           doPlayerSendCancel(cid, "Você precisa ser level "..level.." para usar essa rod.")

           return true

        end

        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 = ""

                                                                  --alterado!!

    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)

        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 = 5.2 + getPlayerSkillLevel(cid, 6) / 9.5

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

return true

end

Este que você acabou de me passar é o script completo?? pq se for avisa ai que vou testar! e se funfa já tem rep garantido!

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Postado
  • Autor

É completo, fiz apenas a alteração para o level.

Então Blz! Irei Testar é Agora! Obrigado Pela Atenção!

Eu Fui Testar Deu este erro:

 

[27/05/2015 19:38:27] [Error - Action Interface] 
[27/05/2015 19:38:27] data/actions/scripts/tools/fishing.lua:onUse
[27/05/2015 19:38:27] Description: 
[27/05/2015 19:38:27] data/actions/scripts/tools/fishing.lua:54: attempt to call global 'doSetMonsterPassive' (a nil value)
[27/05/2015 19:38:27] stack traceback:
[27/05/2015 19:38:27] data/actions/scripts/tools/fishing.lua:54: in function 'doFish'
[27/05/2015 19:38:27] data/actions/scripts/tools/fishing.lua:126: in function <data/actions/scripts/tools/fishing.lua:71>

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

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