Ir para conteúdo

[Pedido] Script - Fishing


churpsx

Posts Recomendados

Tipo do script: Fishing.

Protocolo (versão do Tibia): 8.54

Servidor utilizado: Base Pokemon Dash

Nível de experiência: Iniciante

Adicionais/Informações: Ola gostaria de pedir ajuda em como começar ou na construção junto com vocês. o objetivo é fazer um fishing igual a muitos P.O por ai, que ao invez de pescar a todo instante. você apenas para de pescar quando pega um pokemon. para facilitar a vida dos pescadores do pokemon. quem puder ajudar fico grato!

Link para o comentário
Compartilhar em outros sites

Pinpao se der tem como fazeer 1 pra mim so que com fish e so pare de pescar quando pegar 1 fish??? flw lek :D ei manda 1 mensagem para mim oks quando vc fizer o scripter dou rep +

Link para o comentário
Compartilhar em outros sites

Coloque isso em data/actions/scripts/tools/fishing.lua (você apaga o que está dentro do fishing lua e coloca isso:

 

 

local fishes = {
[70] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking", "Kingler", "Seadra", "Starmie", "Squirtle"},
[65] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking", "Kingler", "Seadra", "Starmie"},

[60] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking", "Kingler", "Seadra"},
[55] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking", "Kingler"},
[50] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking"},
[45] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl"},
[40] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu"},
[35] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool"},

[30] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen"},
[25] = {"Magikarp", "Poliwag", "Horsea", "Krabby"},
[20] = {"Magikarp", "Poliwag", "Horsea"},
[15] = {"Magikarp", "Poliwag"},
[10] = {"Magikarp"}
}

local storage = 15458
local bonus = 2


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 removed = doCreateItem(1285, 1, getThingPos(cid))
local playerpos = getClosestFreeTile(cid, getThingPos(cid))
doRemoveItem(removed, 1)
doPlayerAddSkillTry(cid, 6, bonus)
for a, b in pairs(fishes) do
if getPlayerSkillLevel(cid, 6) >= a and math.random(1, 100) <= chance then
doPlayerAddSkillTry(cid, 6, 5)
local peixe = doSummonCreature(b[math.random(1, #b)], playerpos)
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
end
addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end

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

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}

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

setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)

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

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

return true
end

 

 

configuração:

 

dê ctrl + f por "local delay", aqui você configura o delay do fishing automático, eu já coloquei uma fórmula.

dê ctrl + f por "local chance", aqui você configura a chance de pescar um pokemon, eu já coloquei uma fórmula.

dê ctrl + f por "local storage", aqui você configura a storage utilizada pela script, é só checar se seu servidor não está usando essa storage.

dê ctrl + f por "local bonus", aqui você configura quanto de skill o cara vai ganhar por pescada, lembrando que esse número é em tries, se você não sabe o que é, teste dentro do jogo.

 

no começo do script, existe a tabela "fishes", ai você configura o level de fishing que precisa entre os [], e o nome dos monstros (pokemons) que podem ser sumonados.

 

lembrando que nesse sistema de fishing, o player pode pescar normalmente (como é no tibia, apertando com a rod na água sem parar) ou então ele pode pescar uma vez apenas e ele continua pescando automático.

se o player andar ou pescar algum pokemon, ele pára de pescar.

Editado por brun123
Link para o comentário
Compartilhar em outros sites

Coloque isso em data/actions/scripts/tools/fishing.lua (você apaga o que está dentro do fishing lua e coloca isso:

 

 

local fishes = {
[70] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking", "Kingler", "Seadra", "Starmie", "Squirtle"},
[65] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking", "Kingler", "Seadra", "Starmie"},

[60] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking", "Kingler", "Seadra"},
[55] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking", "Kingler"},
[50] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl", "Seaking"},
[45] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu", "Poliwhirl"},
[40] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool", "Staryu"},
[35] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen", "Tentacool"},

[30] = {"Magikarp", "Poliwag", "Horsea", "Krabby", "Goldeen"},
[25] = {"Magikarp", "Poliwag", "Horsea", "Krabby"},
[20] = {"Magikarp", "Poliwag", "Horsea"},
[15] = {"Magikarp", "Poliwag"},
[10] = {"Magikarp"}
}

local storage = 15458
local bonus = 2


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 removed = doCreateItem(1285, 1, getThingPos(cid))
local playerpos = getClosestFreeTile(cid, getThingPos(cid))
doRemoveItem(removed, 1)
doPlayerAddSkillTry(cid, 6, bonus)
for a, b in pairs(fishes) do
if getPlayerSkillLevel(cid, 6) >= a and math.random(1, 100) <= chance then
doPlayerAddSkillTry(cid, 6, 5)
local peixe = doSummonCreature(b[math.random(1, #b)], playerpos)
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
end
addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end

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

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}

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

setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)

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

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

return true
end

 

 

configuração:

 

dê ctrl + f por "local delay", aqui você configura o delay do fishing automático, eu já coloquei uma fórmula.

dê ctrl + f por "local chance", aqui você configura a chance de pescar um pokemon, eu já coloquei uma fórmula.

dê ctrl + f por "local storage", aqui você configura a storage utilizada pela script, é só checar se seu servidor não está usando essa storage.

dê ctrl + f por "local bonus", aqui você configura quanto de skill o cara vai ganhar por pescada, lembrando que esse número é em tries, se você não sabe o que é, teste dentro do jogo.

 

no começo do script, existe a tabela "fishes", ai você configura o level de fishing que precisa entre os [], e o nome dos monstros (pokemons) que podem ser sumonados.

 

lembrando que nesse sistema de fishing, o player pode pescar normalmente (como é no tibia, apertando com a rod na água sem parar) ou então ele pode pescar uma vez apenas e ele continua pescando automático.

se o player andar ou pescar algum pokemon, ele pára de pescar.

 

Brun. é perfeito. so falta uma coisa. no caso queria que fica-se assim. "você usa a vara .. joga no rio.. ela fica parada no lugar tipo com uma boinha e so sumise quando pegar o poke. a ideia é +/- essa. se puder ajudar fico grato. se não obrigado ja me ajudo bastante. +reply ;d

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...