Ir para conteúdo

[Encerrado] ADD level no fishing


Cypher

Posts Recomendados

Queria sabe como adiciono um determinado level pra o player usar o fishing.

local fishing = {
["Magikarp"] = {skill = 10, level = -2},
["Horsea"] = {skill = 20, level = 2},
["Poliwag"] = {skill = 20, level = 2},
["Krabby"] = {skill = 20, level = 2},
["Goldeen"] = {skill = 20, level = 4},
["Psyduck"] = {skill = 30, level = 5},
["Tentacool"] = {skill = 35, level = 5},
["Staryu"] = {skill = 35, level = 6},
["Squirtle"] = {skill = 40, level = 6},
["Seel"] = {skill = 40, level = 6},
["Seaking"] = {skill = 50, level = 8},
["Starmie"] = {skill = 70, level = 8},
["Slowpoke"] = {skill = 50, level = 8},
["Poliwhirl"] = {skill = 50, level = 8},
}

local storage = 15458
local storageP = 154580
local bonus = 1
local limite = 50


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  --- <nem vem por essa que ja mexi e não funciono '-'
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
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 ~= 481 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")
return false
end
else
if getCreatureOutfit(cid).lookType ~= 482 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 = 546
else
out = 545
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 Peonline
Link para o comentário
Compartilhar em outros sites

local fishing = {
["Magikarp"] = {skill = 10, level = -2},
["Horsea"] = {skill = 20, level = 2},
["Poliwag"] = {skill = 20, level = 2},
["Krabby"] = {skill = 20, level = 2},
["Goldeen"] = {skill = 20, level = 4},
["Psyduck"] = {skill = 30, level = 5},
["Tentacool"] = {skill = 35, level = 5},
["Staryu"] = {skill = 35, level = 6},
["Squirtle"] = {skill = 40, level = 6},
["Seel"] = {skill = 40, level = 6},
["Seaking"] = {skill = 50, level = 8},
["Starmie"] = {skill = 70, level = 8},
["Slowpoke"] = {skill = 50, level = 8},
["Poliwhirl"] = {skill = 50, level = 8},
}

local storage = 15458
local storageP = 154580
local bonus = 1
local limite = 50

if getPlayerLevel(cid) > 10 then

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 --- <nem vem por essa que ja mexi e não funciono '-'
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
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 ~= 481 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")
return false
end
else
if getCreatureOutfit(cid).lookType ~= 482 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 = 546
else
out = 545
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

if getPlayerLevel(cid) > 10 then

 

10 eo lvl que precisa para usar a vara de pesca

Link para o comentário
Compartilhar em outros sites

 

 

local fishing = {
["Magikarp"] = {skill = 10, level = -2},
["Horsea"] = {skill = 20, level = 2},
["Poliwag"] = {skill = 20, level = 2},
["Krabby"] = {skill = 20, level = 2},
["Goldeen"] = {skill = 20, level = 4},
["Psyduck"] = {skill = 30, level = 5},
["Tentacool"] = {skill = 35, level = 5},
["Staryu"] = {skill = 35, level = 6},
["Squirtle"] = {skill = 40, level = 6},
["Seel"] = {skill = 40, level = 6},
["Seaking"] = {skill = 50, level = 8},
["Starmie"] = {skill = 70, level = 8},
["Slowpoke"] = {skill = 50, level = 8},
["Poliwhirl"] = {skill = 50, level = 8},
}
 
local storage = 15458
local storageP = 154580
local bonus = 1
local limite = 50
local level_fish = 10
 
 
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  --- <nem vem por essa que ja mexi e não funciono '-'
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
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 getPlayerLevel(cid) > level_need then
   doPlayerSendCancel("you need level 10 to use this item!")
   return true
end
 
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 ~= 481 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")
return false
end
else
if getCreatureOutfit(cid).lookType ~= 482 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 = 546
else
out = 545
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

Link para o comentário
Compartilhar em outros sites

Nos dois scripts deram erro ;s

 

kttallan:

 

[21/07/2013 15:30:30] [Error - LuaScriptInterface::loadFile] data/actions/scripts/fishing/greatrod.lua:173: 'end' expected (to close 'if' at line 23) near '<eof>'

[21/07/2013 15:30:30] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/fishing/greatrod.lua)
[21/07/2013 15:30:31] data/actions/scripts/fishing/greatrod.lua:173: 'end' expected (to close 'if' at line 23) near '<eof>'
StyloMaldoso:

 

[21/07/2013 15:32:58] [Error - Action Interface]

[21/07/2013 15:32:58] data/actions/scripts/fishing/greatrod.lua:onUse
[21/07/2013 15:32:58] Description:
[21/07/2013 15:32:58] data/actions/scripts/fishing/greatrod.lua:93: attempt to compare nil with number
[21/07/2013 15:32:58] stack traceback:
[21/07/2013 15:32:58] data/actions/scripts/fishing/greatrod.lua:93: in function <data/actions/scripts/fishing/greatrod.lua:92>
Editado por Peonline
Link para o comentário
Compartilhar em outros sites


local fishing = {

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

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

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

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

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

["Psyduck"] = {skill = 30, level = 5},

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

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

["Squirtle"] = {skill = 40, level = 6},

["Seel"] = {skill = 40, level = 6},

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

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

["Slowpoke"] = {skill = 50, level = 8},

["Poliwhirl"] = {skill = 50, level = 8},

}

 

local storage = 15458

local storageP = 154580

local bonus = 1

local limite = 50

 

if getPlayerLevel(cid) > 10 then

doPlayerSendCancel(cid, "So lvl 10 usa a vara de pescar.")

return true

end

 

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 --- <nem vem por essa que ja mexi e não funciono '-'

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

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 ~= 481 then

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

return false

end

else

if getCreatureOutfit(cid).lookType ~= 482 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 = 546

else

out = 545

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 kttallan
Link para o comentário
Compartilhar em outros sites

Outro erro

kttallan

 

[21/07/2013 16:01:51] [Error - Action Interface]

[21/07/2013 16:01:51] data/actions/scripts/fishing/greatrod.lua
[21/07/2013 16:01:51] Description:
[21/07/2013 16:01:51] (internalGetPlayerInfo) Player not found when requesting player info #3
[21/07/2013 16:01:51] [Error - Action Interface]
[21/07/2013 16:01:51] data/actions/scripts/fishing/greatrod.lua
[21/07/2013 16:01:51] Description:
[21/07/2013 16:01:51] data/actions/scripts/fishing/greatrod.lua:23: attempt to compare number with boolean
[21/07/2013 16:01:51] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/fishing/greatrod.lua)
[21/07/2013 16:01:51] data/actions/scripts/fishing/greatrod.lua:173: 'end' expected (to close 'if' at line 23) near '<eof>'

 

Link para o comentário
Compartilhar em outros sites


local fishing = {

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

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

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

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

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

["Psyduck"] = {skill = 30, level = 5},

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

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

["Squirtle"] = {skill = 40, level = 6},

["Seel"] = {skill = 40, level = 6},

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

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

["Slowpoke"] = {skill = 50, level = 8},

["Poliwhirl"] = {skill = 50, level = 8},

}

 

local storage = 15458

local storageP = 154580

local bonus = 1

local limite = 50

 

 

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 --- <nem vem por essa que ja mexi e não funciono '-'

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

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 getPlayerLevel(cid) > 10 then

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

return true

end

 

if getPlayerSex(cid) == 1 then

if getCreatureOutfit(cid).lookType ~= 481 then

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

return false

end

else

if getCreatureOutfit(cid).lookType ~= 482 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 = 546

else

out = 545

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

Link para o comentário
Compartilhar em outros sites

StyloMaldoso

 

Eu não tenho ele sem editação mais eu dei uma arruma no seu script pois ate que deu certo o player n usa o fishing mais da um erro ao clicar na rod.

Olha eu concertei essa parte

 

 

if getPlayerLevel(cid) > level_need then
doPlayerSendCancel(cid,"you need level 10 to use this item.")
return true
end

Fico assim:

local fishing = {
["Magikarp"] = {skill = 10, level = -2},
["Horsea"] = {skill = 20, level = 2},
["Poliwag"] = {skill = 20, level = 2},
["Krabby"] = {skill = 20, level = 2},
["Goldeen"] = {skill = 20, level = 4},
["Psyduck"] = {skill = 30, level = 5},
["Tentacool"] = {skill = 35, level = 5},
["Staryu"] = {skill = 35, level = 6},
["Squirtle"] = {skill = 40, level = 6},
["Seel"] = {skill = 40, level = 6},
["Seaking"] = {skill = 50, level = 8},
["Starmie"] = {skill = 70, level = 8},
["Slowpoke"] = {skill = 50, level = 8},
["Poliwhirl"] = {skill = 50, level = 8},
}

local storage = 15458
local storageP = 154580
local bonus = 1
local limite = 50
local level_fish = 10


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 --- <nem vem por essa que ja mexi e não funciono '-'
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
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 getPlayerLevel(cid) > level_need then
doPlayerSendCancel(cid),"you need level 10 to use this item.")
return true
end

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 ~= 481 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")
return false
end
else
if getCreatureOutfit(cid).lookType ~= 482 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 = 546
else
out = 545
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

 

Mais da esse erro :

 

[21/07/2013 17:25:29] [Error - Action Interface]

[21/07/2013 17:25:29] data/actions/scripts/fishing/greatrod.lua:onUse
[21/07/2013 17:25:29] Description:
[21/07/2013 17:25:29] data/actions/scripts/fishing/greatrod.lua:93: attempt to compare nil with number
[21/07/2013 17:25:29] stack traceback:
[21/07/2013 17:25:29] data/actions/scripts/fishing/greatrod.lua:93: in function <data/actions/scripts/fishing/greatrod.lua:92>
Editado por Peonline
Link para o comentário
Compartilhar em outros sites

..

troca isso..

 

if getPlayerLevel(cid) > level_need then
    doPlayerSendCancel(cid,"you need level 10 to use this item.")
   return true
end

 

por isso

if getPlayerLevel(cid) > level_fish then
   doPlayerSendCancel("you need level 10 to use this item.")
   return true
end
Link para o comentário
Compartilhar em outros sites

Acho que estamos conseguindo kkkkk deu o erro:

 

[21/07/2013 20:53:39] [Error - Action Interface]

[21/07/2013 20:53:39] data/actions/scripts/fishing/greatrod.lua:onUse
[21/07/2013 20:53:39] Description:
[21/07/2013 20:53:39] (luaDoPlayerSendCancel) Player not found

Arrumei kkkk vlw stylo tamo ai Xd

era como eu te falei

 

doPlayerSendCancel(cid,"you need level 10 to use this item.")

Pode fechar o topico ;s

Link para o comentário
Compartilhar em outros sites

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