Ir para conteúdo

Bug Fishing


FlamesAdmin

Posts Recomendados

Tipo, tem um erro no script de fishing que eu uso, quando o player desloga pescando, qnd ele loga, nao da pra ele pescar mais. Alguem poderia arrumar isso pra mim ?

 

Fishing.lua

local fishing = {
[-1] = { segs = 10, pokes = {{"Magikarp", 5}} },

[3976] = { segs = 20, pokes = {{"Horsea", 5}, {"Remoraid", 3}, {"Goldeen", 3}, {"Poliwag", 2}} }, -- pega no client da pxg

[12931] = { segs = 25, pokes = {{"Tentacool", 3}, {"Staryu", 2}, {"Krabby", 3}, {"Shellder", 2}} },

[12932] = { segs = 30, pokes = {{"Seel", 2}, {"Chinchou", 2}} },

[12933] = { segs = 35, pokes = {{"Seaking", 2}, {"Seadra", 2}, {"Poliwhirl", 2}} },

[12934] = { segs = 40, pokes = {{"Starmie", 2}, {"Kingler", 1}, {"Corsola", 2}, {"Qwilfish", 1}} }, -- pega no client da pxg

[12935] = { segs = 45, pokes = {{"Lanturn", 2}, {"Dewgong", 2}} },

[12936] = { segs = 45, pokes = {{"Cloyster", 2}, {"Poliwrath", 1}, {"Politoed", 1}, {"Octillery", 1}} },

[12937] = { segs = 50, pokes = {{"Dratini", 2}, {"Dragonair", 2}} },

[12938] = { segs = 50, pokes = {{"Gyarados", 1}, {"Mantine", 1}, {"Tentacruel", 1}, {"Kingdra", 1}} },
}

local storageP = 154585
local sto_iscas = 5648454 --muda aki pra sto q ta no script da isca
local bonus = 15
local limite = 100


local function doFish(cid, pos, ppos, interval)
if not isCreature(cid) then return false end
if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then
return false
end

doSendMagicEffect(pos, CONST_ME_LOSEENERGY)

if interval > 0 then
addEvent(doFish, 1000, cid, pos, ppos, interval-1)
return true
end

local peixe = 0
local playerpos = getClosestFreeTile(cid, getThingPos(cid))
local fishes = fishing[getPlayerStorageValue(cid, sto_iscas)]
local random = {}

if getPlayerSkillLevel(cid, 6) < limite then
doPlayerAddSkillTry(cid, 6, bonus)
end

--[[if getPlayerSkillLevel(cid, 6) < limite then
doPlayerAddSkillTry(cid, 6, 20)
end]]

random = fishes.pokes[math.random(#fishes.pokes)]

for i = 1, math.random(random[2]) do
peixe = doSummonCreature(random[1], playerpos)
if not isCreature(peixe) then
setPlayerStorageValue(cid, storageP, -1)
doCreatureSetNoMove(cid, false) --alterei aki
doRemoveCondition(cid, CONDITION_OUTFIT)
return true
end
doSetMonsterPassive(peixe)
doWildAttackPlayer(peixe, cid)
doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe))) --alterado ver depois
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
end
setPlayerStorageValue(cid, storageP, -1)
doCreatureSetNoMove(cid, false)
doRemoveCondition(cid, CONDITION_OUTFIT)
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, "Voce nao pode pescar em fly/ride.")
return true
end

if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
doPlayerSendCancel(cid, "Voce nao pode pescar voando sobre a agua.")
return true
end

if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then
doPlayerSendCancel(cid, "Voce nao pode pescar com seu Pokemon em protection zone.")
return true
end

if getPlayerStorageValue(cid, storageP) > 0 then
doPlayerSendTextMessage(cid, 27, "Voce ja esta pescando.")
return true
end

if not isInArray({520, 521}, getCreatureOutfit(cid).lookType) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa usar a Fisher Outfit para pescar.")
end

local delay = fishing[getPlayerStorageValue(cid, sto_iscas)].segs

if getPlayerStorageValue(cid, sto_iscas) ~= -1 then
if getPlayerItemCount(cid, getPlayerStorageValue(cid, sto_iscas)) >= 1 then
doPlayerRemoveItem(cid, getPlayerStorageValue(cid, sto_iscas), 1)
else
setPlayerStorageValue(cid, sto_iscas, -1)
end
end

local outfit = getCreatureOutfit(cid)
local out = getPlayerSex(cid) == 0 and 1467 or 1468

doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)
setPlayerStorageValue(cid, storageP, 1) --alterei looktype
doCreatureSetNoMove(cid, true)

doFish(cid, toPos, getThingPos(cid), math.random(5, delay))

return true
end

Rep+

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

Só pra atrapalhar um pouco o tópico, olhei só as 2 primeiras partes da tabela e parei pra pensar, caralho, que server e esse que pra pescar os pokemons tem que ter fishing 13k, desci mais um pouco e percebi que era os ids dos items e.e

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...