Olá.
Acesse o seguinte diretório :
PastaDoSeuOT > actions > scripts > fishing
Substitua o código do arquivo greatrod.lua pelo seguinte código :
[/size]
local fishing = {
["Magikarp"] = {skill = 0, level = -2},
["Remoraid"] = {skill = 15, level = 1},
["Poliwag"] = {skill = 15, level = 2},
["Krabby"] = {skill = 20, level = 2},
["Goldeen"] = {skill = 25, level = 3},
["Horsea"] = {skill = 25, level = 4},
["Shellder"] = {skill = 30, level = 5},
["Seel"] = {skill = 35, level = 5},
["Staryu"] = {skill = 40, level = 6},
["Tentacool"] = {skill = 45, level = 7},
["Marill"] = {skill = 55, level = 7},
["Chinchou"] = {skill = 58, level = 6},
["Kingler"] = {skill = 62, level = 14},
["Seaking"] = {skill = 64, level = 12},
["Squirtle"] = {skill = 65, level = 8},
["Totodile"] = {skill = 70, level = 10},
}
local storage = 15458
local bonus = 1
local limite = 80
local function doFish(cid, pos, ppos, chance, interval, number)
if not isCreature(cid) then return false end
if getPlayerSex(cid) == 1 then
if getCreatureOutfit(cid).lookType ~= 520 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa botar a roupa de Fisher para poder pescar.")
return false
end
else
if getCreatureOutfit(cid).lookType ~= 521 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa botar a roupa de Fisher para poder pescar.")
return false
end
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, 196)
local peixe = 0
local playerpos = getClosestFreeTile(cid, getThingPos(cid))
local level = 1
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 and math.random(1, 100) <= 30 then --30 = 30% chance de add fishing
doPlayerAddSkillTry(cid, 6, bonus)
end
randomfish = fishes[math.random(#fishes)]
level = getPlayerSkillLevel(cid, 6) / 3
level = level + getPlayerLevel(cid) / 5
level = math.random(level * 0.6, level)
level = level + fishing[randomfish].level
peixe = doSummonCreature(randomfish, playerpos)
if level <= 0 then
level = math.random(getPlayerLevel(cid))
end
if not isCreature(peixe) then
addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end
setWildPokemonLevel(peixe, level)
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 = 10 + getPlayerSkillLevel(cid, 6) / 2.5
doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))
return true
end
Substitua o código do arquivo superrod.lua pelo seguinte código :
local fishing = {
["Magikarp"] = {skill = 0, level = -2},
["Qwilfish"] = {skill = 10, level = 3},
["Remoraid"] = {skill = 15, level = 1},
["Poliwag"] = {skill = 15, level = 2},
["Krabby"] = {skill = 20, level = 2},
["Goldeen"] = {skill = 25, level = 3},
["Horsea"] = {skill = 25, level = 4},
["Shellder"] = {skill = 30, level = 5},
["Seel"] = {skill = 35, level = 5},
["Staryu"] = {skill = 40, level = 6},
["Tentacool"] = {skill = 45, level = 7},
["Marill"] = {skill = 55, level = 7},
["Chinchou"] = {skill = 58, level = 6},
["Kingler"] = {skill = 62, level = 14},
["Seadra"] = {skill = 63, level = 15},
["Seaking"] = {skill = 64, level = 12},
["Squirtle"] = {skill = 65, level = 8},
["Starmie"] = {skill = 68, level = 20},
["Totodile"] = {skill = 70, level = 10},
["Wartortle"] = {skill = 70, level = 15},
["Octillery"] = {skill = 71, level = 9},
["Corsola"] = {skill = 72, level = 16},
["Lanturn"] = {skill = 74, level = 14},
["Azumarill"] = {skill = 76, level = 20},
["Mantine"] = {skill = 80, level = 18},
}
local storage = 15458
local bonus = 1
local limite = 80
local function doFish(cid, pos, ppos, chance, interval, number)
if not isCreature(cid) then return false end
if getPlayerSex(cid) == 1 then
if getCreatureOutfit(cid).lookType ~= 520 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa botar a roupa de Fisher para poder pescar.")
return false
end
else
if getCreatureOutfit(cid).lookType ~= 521 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa botar a roupa de Fisher para poder pescar.")
return false
end
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, 196)
local peixe = 0
local playerpos = getClosestFreeTile(cid, getThingPos(cid))
local level = 1
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 and math.random(1, 100) <= 30 then --30 = 30% chance de add fishing
doPlayerAddSkillTry(cid, 6, bonus)
end
randomfish = fishes[math.random(#fishes)]
level = getPlayerSkillLevel(cid, 6) / 3
level = level + getPlayerLevel(cid) / 5
level = math.random(level * 0.6, level)
level = level + fishing[randomfish].level
peixe = doSummonCreature(randomfish, playerpos)
if level <= 0 then
level = math.random(getPlayerLevel(cid))
end
if not isCreature(peixe) then
addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end
setWildPokemonLevel(peixe, level)
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 = 10 + getPlayerSkillLevel(cid, 6) / 2.5
doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))
return true
end
Substitua o código do arquivo ultrarod.lua pelo seguinte código :
local fishing = {
["Magikarp"] = {skill = 0, level = -2},
["Qwilfish"] = {skill = 5, level = 3},
["Remoraid"] = {skill = 10, level = 1},
["Poliwag"] = {skill = 15, level = 2},
["Krabby"] = {skill = 15, level = 2},
["Goldeen"] = {skill = 20, level = 3},
["Horsea"] = {skill = 20, level = 4},
["Shellder"] = {skill = 25, level = 5},
["Seel"] = {skill = 30, level = 5},
["Staryu"] = {skill = 35, level = 6},
["Tentacool"] = {skill = 40, level = 7},
["Marill"] = {skill = 45, level = 7},
["Chinchou"] = {skill = 50, level = 6},
["Kingler"] = {skill = 55, level = 14},
["Seadra"] = {skill = 89, level = 23},
["Blastoise"] = {skill = 62, level = 12},
["Squirtle"] = {skill = 64, level = 8},
["Starmie"] = {skill = 66, level = 20},
["Totodile"] = {skill = 68, level = 10},
["Wartortle"] = {skill = 70, level = 15},
["Octillery"] = {skill = 71, level = 9},
["Corsola"] = {skill = 72, level = 16},
["Lanturn"] = {skill = 73, level = 14},
["Azumarill"] = {skill = 74, level = 20},
["Mantine"] = {skill = 75, level = 18},
["Kingdra"] = {skill = 76, level = 22},
["Tentacruel"] = {skill = 78, level = 22},
}
local storage = 15458
local bonus = 1
local limite = 80
local function doFish(cid, pos, ppos, chance, interval, number)
if not isCreature(cid) then return false end
if getPlayerSex(cid) == 1 then
if getCreatureOutfit(cid).lookType ~= 520 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa botar a roupa de Fisher para poder pescar.")
return false
end
else
if getCreatureOutfit(cid).lookType ~= 521 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa botar a roupa de Fisher para poder pescar.")
return false
end
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, 196)
local peixe = 0
local playerpos = getClosestFreeTile(cid, getThingPos(cid))
local level = 1
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 and math.random(1, 100) <= 30 then --30 = 30% chance de add fishing
doPlayerAddSkillTry(cid, 6, bonus)
end
randomfish = fishes[math.random(#fishes)]
level = getPlayerSkillLevel(cid, 6) / 3
level = level + getPlayerLevel(cid) / 5
level = math.random(level * 0.6, level)
level = level + fishing[randomfish].level
peixe = doSummonCreature(randomfish, playerpos)
if level <= 0 then
level = math.random(getPlayerLevel(cid))
end
if not isCreature(peixe) then
addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end
setWildPokemonLevel(peixe, level)
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 = 10 + getPlayerSkillLevel(cid, 6) / 2.5
doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))
return true
end
Se quiser pode modificar os pokémons que as varas pescam á vontade.
Só cuidado para não errar o nome dos pokémons na hora de escrever, isso pode causar conflitos.
Cuidado para não apagar nenhuma aspas ou chaves, qualquer coisa do tipo, fique atento.
Se não funcionar, me avise que irei te passar mais uma hipótese de solução.
Espero ter ajudado.
Att, Lambrelli.









info
Grupo: Conde
Registrado: 30/04/11
Posts: 658
Reputação: +71
Gênero: Masculino
Char no Tibia: ExTibiano
Galera, algem pode me ajudar por favor? estou com um problema aqui no meu server
quando os players tentam usar a vara de pescar na hotkey da debug.. algem pode me ajudar
como resolver isso..? do rep+