Ir para conteúdo

Fishing System [PxG]


GuhPk

Posts Recomendados

Pessoal, já vi alguns pedidos aqui no fórum, e eu estava dando umas olhadas em outros fóruns ai e achei este system aqui...



Então resolvi por boa vontade vir aqui postar para vocês!!! SAUASHASU'

 

 

 

 

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 fishes = {}

local randomfish = ""

 

--alterado!!

if getPlayerSkillLevel(cid, 6) < limite then

doPlayerAddSkillTry(cid, 6, 20)

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 then

doPlayerAddSkillTry(cid, 6, bonus)

end

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

peixe = doSummonCreature(randomfish, playerpos)

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)

doRemoveCondition(cid, CONDITION_OUTFIT)

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) > 0 then

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

return true

end

if getPlayerSex(cid) == 1 then

if getCreatureOutfit(cid).lookType ~= 520 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")

return false

end

else

if getCreatureOutfit(cid).lookType ~= 521 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")

return false

end

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

outfit = getCreatureOutfit(cid)

if getPlayerSex(cid) == 0 then

out = 1467 --- Outfit de Pesca FEMININA

else

out = 1468 --- Outfit de Pesca MASCULINA

end

doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)

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

 

return true

end

 

PS: Para que funcione, você deve adicionar as outift's da PxG, do carinha com a vara na mão!! =]



 

Compatível com PDA.

 

 

Creditos

 

Eu - por postar

Xisto - por criar

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

  • 4 weeks later...

Usa esse Script! Creditos: StyloMaldoso

 

 

local fishing = {

["Magikarp"] = {skill = 0, level = -2},

["Horsea"] = {skill = 20, level = 2},

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

["Krabby"] = {skill = 20, level = 2},

["Goldeen"] = {skill = 20, level = 5},

["Tentacool"] = {skill = 35, level = 2},

["Staryu"] = {skill = 60, level = 6},

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

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

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

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

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

["Gyarados"] = {skill = 100, level = 5},

["Tentacruel"] = {skill = 100, level = 5},

["Blastoise"] = {skill = 100, level = 5},

}

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 fishes = {}

local randomfish = ""

--alterado!!

if getPlayerSkillLevel(cid, 6) < limite then

doPlayerAddSkillTry(cid, 6, 20)

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 then

doPlayerAddSkillTry(cid, 6, bonus)

end

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

peixe = doSummonCreature(randomfish, playerpos)

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)

doRemoveCondition(cid, CONDITION_OUTFIT)

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) > 0 then

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

return true

end

if getPlayerSex(cid) == 1 then

if getCreatureOutfit(cid).lookType ~= 520 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "'You need fisher outfit for fishing'/'Você precisa da outfit 'Fisher' para pescar'")

return false

end

else

if getCreatureOutfit(cid).lookType ~= 521 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")

return false

end

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

outfit = getCreatureOutfit(cid)

if getPlayerSex(cid) == 0 then

out = 1467

else

out = 1468

end

doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)

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

return true

end

 

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

×
×
  • Criar Novo...