Ir para conteúdo

[Encerrado] (Bug) fishing


Posts Recomendados

Estou com 2 bugs na minha nova fishing.

 

eu crei um nova fishing com uma task por npc com base da fishing normal so que quando o player abre ela da um bug no exe e nem funciona tbem !!

 

BUG - 1

 

[07/04/2013 21:52:29] [Error - Action Interface]

[07/04/2013 21:52:29] data/actions/scripts/tools/fishing.lua:onUse

[07/04/2013 21:52:29] Description:

[07/04/2013 21:52:29] data/actions/scripts/tools/fishing.lua:143: attempt to compare number with string

[07/04/2013 21:52:29] stack traceback:

[07/04/2013 21:52:29] data/actions/scripts/tools/fishing.lua:143: in function <data/actions/scripts/tools/fishing.lua:98>

 

 

SCRIPT

 

local fishing = {

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

["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},

["Poliwag"] = {skill = 15, level = 2},

["Kingler"] = {skill = 35, level = 14},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 20},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 15},

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

["Qwilfish"] = {skill = 11, level = 3},

["Remoraid"] = {skill = 12, 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},

["Poliwag"] = {skill = 15, level = 2},

["Marill"] = {skill = 15, level = 3},

["Azumarill"] = {skill = 19, level = 6},

["Kingler"] = {skill = 35, level = 4},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 8},

["Chinchou"] = {skill = 20, level = 6},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 5},

["Lanturn"] = {skill = 28, level = 4},

["Octillery"] = {skill = 30, level = 9},

["Corsola"] = {skill = 36, level = 6},

["Squirtle"] = {skill = 38, level = 10},

["Totodile"] = {skill = 38, level = 10},

}

local storage = 15458

local storageP = 154580

local bonus = 1

local limite = 80

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 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) <= 3 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

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

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, false)

return true

end

addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, true)

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 getPlayerStorageValue(cid, storageP) > 1 then

doPlayerSendTextMessage(cid, 27, "You are already fishing.")

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

 

 

BUG - 2

 

[07/04/2013 22:03:53] [Error - Action Interface]

[07/04/2013 22:03:53] data/actions/scripts/tools/fishing jotho.lua:onUse

[07/04/2013 22:03:53] Description:

[07/04/2013 22:03:53] data/actions/scripts/tools/fishing jotho.lua:128: attempt to compare number with string

[07/04/2013 22:03:53] stack traceback:

[07/04/2013 22:03:53] data/actions/scripts/tools/fishing jotho.lua:128: in function <data/actions/scripts/tools/fishing jotho.lua:102>

 

 

SCRIPT

 

local fishing = {

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

["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},

["Poliwag"] = {skill = 15, level = 2},

["Kingler"] = {skill = 35, level = 14},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 20},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 15},

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

["Qwilfish"] = {skill = 11, level = 3},

["Remoraid"] = {skill = 12, 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},

["Poliwag"] = {skill = 15, level = 2},

["Marill"] = {skill = 15, level = 3},

["Azumarill"] = {skill = 19, level = 6},

["Kingler"] = {skill = 35, level = 4},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 8},

["Chinchou"] = {skill = 20, level = 6},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 5},

["Lanturn"] = {skill = 28, level = 4},

["Octillery"] = {skill = 30, level = 9},

["Corsola"] = {skill = 36, level = 6},

["Squirtle"] = {skill = 38, level = 10},

["Totodile"] = {skill = 38, level = 10},

["Blastoise"] = {skill = 60, level = 80},

["Tentacruel"] = {skill = 60, level = 80},

["Feraligatr"] = {skill = 60, level = 80},

["Gyarados"] = {skill = 60, level = 80},

}

local storage = 15458

local storageP = 154580

local bonus = 1

local limite = 80

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 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) <= 3 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

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

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, false)

return true

end

addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, true)

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 getPlayerStorageValue(cid, storageP) > 1 then

doPlayerSendTextMessage(cid, 27, "You are already fishing.")

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

 

 

Rep++

Link para o comentário
Compartilhar em outros sites

Primeira:

 

 

local fishing = {

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

["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},

["Poliwag"] = {skill = 15, level = 2},

["Kingler"] = {skill = 35, level = 14},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 20},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 15},

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

["Qwilfish"] = {skill = 11, level = 3},

["Remoraid"] = {skill = 12, 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},

["Poliwag"] = {skill = 15, level = 2},

["Marill"] = {skill = 15, level = 3},

["Azumarill"] = {skill = 19, level = 6},

["Kingler"] = {skill = 35, level = 4},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 8},

["Chinchou"] = {skill = 20, level = 6},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 5},

["Lanturn"] = {skill = 28, level = 4},

["Octillery"] = {skill = 30, level = 9},

["Corsola"] = {skill = 36, level = 6},

["Squirtle"] = {skill = 38, level = 10},

["Totodile"] = {skill = 38, level = 10},

}

local storage = 15458

local storageP = 154580

local bonus = 1

local limite = 80

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 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) <= 3 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

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

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, false)

return true

end

addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, true)

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 getPlayerStorageValue(cid, storageP) > 1 then

doPlayerSendTextMessage(cid, 27, "You are already fishing.")

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 skilllvl = getPlayerSkillLevel(cid, 6)

local delay = (3500 - tonumber(skilllvl) * 25)

local chance = (10 + tonumber(skilllvl) / 2.5)

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

return true

end

 

 

 

local fishing = {

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

["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},

["Poliwag"] = {skill = 15, level = 2},

["Kingler"] = {skill = 35, level = 14},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 20},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 15},

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

["Qwilfish"] = {skill = 11, level = 3},

["Remoraid"] = {skill = 12, 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},

["Poliwag"] = {skill = 15, level = 2},

["Marill"] = {skill = 15, level = 3},

["Azumarill"] = {skill = 19, level = 6},

["Kingler"] = {skill = 35, level = 4},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 8},

["Chinchou"] = {skill = 20, level = 6},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 5},

["Lanturn"] = {skill = 28, level = 4},

["Octillery"] = {skill = 30, level = 9},

["Corsola"] = {skill = 36, level = 6},

["Squirtle"] = {skill = 38, level = 10},

["Totodile"] = {skill = 38, level = 10},

["Blastoise"] = {skill = 60, level = 80},

["Tentacruel"] = {skill = 60, level = 80},

["Feraligatr"] = {skill = 60, level = 80},

["Gyarados"] = {skill = 60, level = 80},

}

local storage = 15458

local storageP = 154580

local bonus = 1

local limite = 80

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 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) <= 3 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

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

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, false)

return true

end

addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, true)

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 getPlayerStorageValue(cid, storageP) > 1 then

doPlayerSendTextMessage(cid, 27, "You are already fishing.")

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 skilllvl = getPlayerSkillLevel(cid, 6)

local delay = (3500 - tonumber(skilllvl) * 25)

local chance = (10 + tonumber(skilllvl) / 2.5)

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

return true

end

 

 

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

Tenta trocar fishing por:

 

 

local fishing = {

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

["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},

["Poliwag"] = {skill = 15, level = 2},

["Kingler"] = {skill = 35, level = 14},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 20},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 15},

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

["Qwilfish"] = {skill = 11, level = 3},

["Remoraid"] = {skill = 12, 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},

["Poliwag"] = {skill = 15, level = 2},

["Marill"] = {skill = 15, level = 3},

["Azumarill"] = {skill = 19, level = 6},

["Kingler"] = {skill = 35, level = 4},

["Seaking"] = {skill = 28, level = 11},

["Starmie"] = {skill = 49, level = 8},

["Chinchou"] = {skill = 20, level = 6},

["Poliwhirl"] = {skill = 27, level = 9},

["Seadra"] = {skill = 41, level = 5},

["Lanturn"] = {skill = 28, level = 4},

["Octillery"] = {skill = 30, level = 9},

["Corsola"] = {skill = 36, level = 6},

["Squirtle"] = {skill = 38, level = 10},

["Totodile"] = {skill = 38, level = 10},

}

local storage = 15458

local storageP = 154580

local bonus = 1

local limite = 80

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 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) <= 3 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

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

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, false)

return true

end

addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)

setPlayerStorageValue(cid, storageP, 1)

doCreatureSetNoMove(cid, true)

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 getPlayerStorageValue(cid, storageP) > 1 then

doPlayerSendTextMessage(cid, 27, "You are already fishing.")

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 skilllvl = getPlayerSkillLevel(cid, 6)

local delay = (3500 - skilllvl * 25)

local chance = (10 + skilllvl / 2.5)

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

return true

end

 

mais qual das duas a 1 se for se puder mi ajudar tbem na 2 ^^
Link para o comentário
Compartilhar em outros sites

  • 5 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...