BR

[Encerrado] (Bug) fishing

Por BrunooMaciell, 07 de abr. de 2013 em Tópicos Sem Resposta

bug - poketibia
resolvido
script
7
1k
BrunooMaciellB
07 de abril de 2013 às 22:07

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++

RoksasR
07 de abril de 2013 às 22:12

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 Abril 7 por Roksas

BrunooMaciellB
07 de abril de 2013 às 22:12

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 ^^
RoksasR
07 de abril de 2013 às 22:14

Alterei meu post, boa sorte.

BrunooMaciellB
07 de abril de 2013 às 23:07

duvida sanada !!

 

se der outro bug na mesmo script eu posto ^^

 

mais estas esta sanada ^^

 

Rep+

RoksasR
08 de abril de 2013 às 00:33

Tópico movido para a seção de dúvidas e pedidos resolvidos.

5 anos depois...
StigalS
21 de abril de 2018 às 02:44
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.