Ir para conteúdo
  • 0

Skill de Fishing não sobe


juniinhocadete

Pergunta

Isso é 1 action de pesca, só que eu pesco e meu skill FISHING não avança, não ganho nenhum skill.

Alguem poderia edita para quando tiver pescando ganhar skills de FISHING?

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local playerFishing = getPlayerSkill(cid, SKILL_FISHING)

 

local now = nil

for i = 1, #config do

if (config.chance > math.random(1, 100)) then

now = config

break

end

end

 

if(itemEx.itemid >= 8632 and itemEx.itemid <= 8632 or itemEx.itemid == 493) then

if(math.random(1, (100 + (playerFishing / 10))) <= playerFishing) then

if(playerFishing >= now.fishing) then

if(now.quest.enable) then

if(getPlayerStorageValue(cid, now.quest.storage) < 1) then

doPlayerAddItem(cid, now.item[1], now.item[2])

doSendAnimatedText(getPlayerPosition(cid), "OLD ROD!", TEXTCOLOR_PURPLE)

else

doPlayerAddItem(cid, ITEM_FISH, 1)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")

end

else

doPlayerAddItem(cid, now.item[1], now.item[2])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught "..getItemNameById(now.item[1]).."!")

end

else

doPlayerAddItem(cid, ITEM_FISH, 1)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")

end

end

doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)

doPlayerRemoveItem(cid, ITEM_WORM, 1)

return TRUE

end

return FALSE

end

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Troca por este aqui:

 

 

local config = {
waters = {4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825},
fishable = {4608, 4609, 4610, 4611, 4612, 4613, 7236},
spawning = {4614, 4615, 4616, 4617, 4618, 4619},
holes = {7236},

corpses = {
-- [corpse] = {[aid] = { {itemid, countmax, chance} }}
[10499] = {
[101] = {
-- TODO: Water Elemental loot...
},
[102] = {
-- TODO: Massive Water Elemental loot
}
}
},
checkCorpseOwner = getConfigValue("checkCorpseOwner"),
rateLoot = getConfigValue("rateLoot"),

summons = {
-- {skill, name, chance, bossName, bossChance}
},
rateSpawn = getConfigValue("rateSpawn"),

baitFailRemoveChance = 10,
allowFromPz = false,
useBait = true,
baitCount = 1,
fishes = 1
}

config.checkCorpseOwner = getBooleanFromString(config.checkCorpseOwner)

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(isInArray(config.waters, itemEx.itemid)) then
if(isInArray(config.spawning, itemEx.itemid)) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
end

doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
return true
end

local corpse = config.corpses[itemEx.itemid]
if(corpse ~= nil) then
corpse = corpse[itemEx.actionid]
if(corpse ~= nil) then
local owner = getItemAttribute(itemEx.uid, "corpseowner")
if(owner ~= 0 and owner ~= getPlayerGUID(cid) and config.checkCorpseOwner) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUARENOTTHEOWNER)
return true
end

local chance, items = math.random(0, 100000) / config.rateLoot, {}
for _, data in ipairs(corpse) do
if(data[3] >= chance) then
local tmp = {data[1], math.random(1, data[2])}
table.insert(items, tmp)
end
end

local itemCount = table.maxn(items)
if(itemCount > 0) then
local loot = items[math.random(1, itemCount)]
doPlayerAddItem(cid, loot[1], loot[2])
end

doTransformItem(itemEx.uid, getItemInfo(itemEx.itemid).decayTo)
doSendMagicEffect(toPosition, CONST_ME_WATERSPLASH)
doDecayItem(itemEx.uid)
return true
end
end

if(not isInArray(config.fishable, itemEx.itemid)) then
return false
end

local position, formula, tries = getThingPosition(cid), getPlayerSkill(cid, SKILL_FISHING) / 200 + 0.85 * math.random(), 0
config.allowFromPz = config.allowFromPz or not getTileInfo(position).protection
if(item.itemid ~= ITEM_MECHANICAL_FISHING_ROD) then
if(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_WORM) >= config.baitCount)) then
tries = 1
if(isInArray(config.holes, itemEx.itemid)) then
if(doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then
tries = 2
if(formula > 0.83) then
doPlayerAddItem(cid, ITEM_RAINBOW_TROUT, config.fishes)
elseif(formula > 0.7) then
doPlayerAddItem(cid, ITEM_NORTHERN_PIKE, config.fishes)
elseif(formula > 0.5) then
doPlayerAddItem(cid, ITEM_GREEN_PERCH, config.fishes)
else
doPlayerAddItem(cid, ITEM_FISH, config.fishes)
end
end
elseif(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then
tries = 2
if(table.maxn(config.summons) > 0 and getDistanceBetween(position, toPosition) < 2) then
local skill, summon = getPlayerSkill(cid, SKILL_FISHING), {name = "", chance = 0, bossName = "", bossChance = 0}
for _, data in pairs(config.summons) do
if(skill >= data[1]) then
summon.name = data[2]
summon.chance = data[3]
summon.bossName = data[4]
summon.bossChance = data[5]
end
end

local random = math.random(1, 100000) / config.rateSpawn
if(summon.bossName ~= "" and summon.bossChance >= random) then
doCreateMonster(summon.bossName, position)
tries = 4
elseif(summon.name ~= "" and summon.chance >= random) then
doCreateMonster(summon.name, position)
tries = 3
else
doPlayerAddItem(cid, ITEM_FISH, config.fishes)
end
else
doPlayerAddItem(cid, ITEM_FISH, config.fishes)
end
end
end
elseif(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_NAIL) >= config.baitCount)) then
if(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)) then
doPlayerAddItem(cid, ITEM_MECHANICAL_FISH, config.fishes)
tries = 2
else
tries = 1
end
end

if(tries > 1) then
doPlayerAddSkillTry(cid, SKILL_FISHING, tries)
if(not isInArray(config.holes, itemEx.itemid)) then
doTransformItem(itemEx.uid, itemEx.itemid + 6)
else
doTransformItem(itemEx.uid, itemEx.itemid + 1)
end

doDecayItem(itemEx.uid)
elseif(tries > 0) then
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
if(config.baitFailRemoveChance >= math.random(1, 100)) then
if(item.itemid == ITEM_MECHANICAL_FISHING_ROD) then
doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)
else
doPlayerRemoveItem(cid, ITEM_FISH, config.baitCount)
end
end
end

doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
return true
end

 

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

  • 0

Troca por este aqui:

 

 

local config = {
waters = {4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825},
fishable = {4608, 4609, 4610, 4611, 4612, 4613, 7236},
spawning = {4614, 4615, 4616, 4617, 4618, 4619},
holes = {7236},

corpses = {
-- [corpse] = {[aid] = { {itemid, countmax, chance} }}
[10499] = {
[101] = {
-- TODO: Water Elemental loot...
},
[102] = {
-- TODO: Massive Water Elemental loot
}
}
},
checkCorpseOwner = getConfigValue("checkCorpseOwner"),
rateLoot = getConfigValue("rateLoot"),

summons = {
-- {skill, name, chance, bossName, bossChance}
},
rateSpawn = getConfigValue("rateSpawn"),

baitFailRemoveChance = 10,
allowFromPz = false,
useBait = true,
baitCount = 1,
fishes = 1
}

config.checkCorpseOwner = getBooleanFromString(config.checkCorpseOwner)

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(isInArray(config.waters, itemEx.itemid)) then
if(isInArray(config.spawning, itemEx.itemid)) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
end

doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
return true
end

local corpse = config.corpses[itemEx.itemid]
if(corpse ~= nil) then
corpse = corpse[itemEx.actionid]
if(corpse ~= nil) then
local owner = getItemAttribute(itemEx.uid, "corpseowner")
if(owner ~= 0 and owner ~= getPlayerGUID(cid) and config.checkCorpseOwner) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUARENOTTHEOWNER)
return true
end

local chance, items = math.random(0, 100000) / config.rateLoot, {}
for _, data in ipairs(corpse) do
if(data[3] >= chance) then
local tmp = {data[1], math.random(1, data[2])}
table.insert(items, tmp)
end
end

local itemCount = table.maxn(items)
if(itemCount > 0) then
local loot = items[math.random(1, itemCount)]
doPlayerAddItem(cid, loot[1], loot[2])
end

doTransformItem(itemEx.uid, getItemInfo(itemEx.itemid).decayTo)
doSendMagicEffect(toPosition, CONST_ME_WATERSPLASH)
doDecayItem(itemEx.uid)
return true
end
end

if(not isInArray(config.fishable, itemEx.itemid)) then
return false
end

local position, formula, tries = getThingPosition(cid), getPlayerSkill(cid, SKILL_FISHING) / 200 + 0.85 * math.random(), 0
config.allowFromPz = config.allowFromPz or not getTileInfo(position).protection
if(item.itemid ~= ITEM_MECHANICAL_FISHING_ROD) then
if(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_WORM) >= config.baitCount)) then
tries = 1
if(isInArray(config.holes, itemEx.itemid)) then
if(doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then
tries = 2
if(formula > 0.83) then
doPlayerAddItem(cid, ITEM_RAINBOW_TROUT, config.fishes)
elseif(formula > 0.7) then
doPlayerAddItem(cid, ITEM_NORTHERN_PIKE, config.fishes)
elseif(formula > 0.5) then
doPlayerAddItem(cid, ITEM_GREEN_PERCH, config.fishes)
else
doPlayerAddItem(cid, ITEM_FISH, config.fishes)
end
end
elseif(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then
tries = 2
if(table.maxn(config.summons) > 0 and getDistanceBetween(position, toPosition) < 2) then
local skill, summon = getPlayerSkill(cid, SKILL_FISHING), {name = "", chance = 0, bossName = "", bossChance = 0}
for _, data in pairs(config.summons) do
if(skill >= data[1]) then
summon.name = data[2]
summon.chance = data[3]
summon.bossName = data[4]
summon.bossChance = data[5]
end
end

local random = math.random(1, 100000) / config.rateSpawn
if(summon.bossName ~= "" and summon.bossChance >= random) then
doCreateMonster(summon.bossName, position)
tries = 4
elseif(summon.name ~= "" and summon.chance >= random) then
doCreateMonster(summon.name, position)
tries = 3
else
doPlayerAddItem(cid, ITEM_FISH, config.fishes)
end
else
doPlayerAddItem(cid, ITEM_FISH, config.fishes)
end
end
end
elseif(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_NAIL) >= config.baitCount)) then
if(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)) then
doPlayerAddItem(cid, ITEM_MECHANICAL_FISH, config.fishes)
tries = 2
else
tries = 1
end
end

if(tries > 1) then
doPlayerAddSkillTry(cid, SKILL_FISHING, tries)
if(not isInArray(config.holes, itemEx.itemid)) then
doTransformItem(itemEx.uid, itemEx.itemid + 6)
else
doTransformItem(itemEx.uid, itemEx.itemid + 1)
end

doDecayItem(itemEx.uid)
elseif(tries > 0) then
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
if(config.baitFailRemoveChance >= math.random(1, 100)) then
if(item.itemid == ITEM_MECHANICAL_FISHING_ROD) then
doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)
else
doPlayerRemoveItem(cid, ITEM_FISH, config.baitCount)
end
end
end

doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
return true
end

 

 

Eu quero que ele pesque items no redemoinho vei, e esse ae não ta pescando nada :/

ajudaa ae plx

 

O unico problema que tem é que eu estou pescando e o skill de fish não quer subir, ele não sai do FISHING 10 ;/

Onde eu arrumo isso ?

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim amigão:

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local playerFishing = getPlayerSkill(cid, SKILL_FISHING)

local now = nil
for i = 1, #config do
if (config[i].chance > math.random(1, 100)) then
now = config[i]
break
end
end

if(itemEx.itemid >= 8632 and itemEx.itemid <= 8632 or itemEx.itemid == 493) then
if(math.random(1, (100 + (playerFishing / 10))) <= playerFishing) then
if(playerFishing >= now.fishing) then
if(now.quest.enable) then
if(getPlayerStorageValue(cid, now.quest.storage) < 1) then
doPlayerAddItem(cid, now.item[1], now.item[2])
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
doSendAnimatedText(getPlayerPosition(cid), "OLD ROD!", TEXTCOLOR_PURPLE)
else
doPlayerAddItem(cid, ITEM_FISH, 1)
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")
end
else
doPlayerAddItem(cid, now.item[1], now.item[2])
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught "..getItemNameById(now.item[1]).."!")
end
else
doPlayerAddItem(cid, ITEM_FISH, 1)
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")
end
end
doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
doPlayerRemoveItem(cid, ITEM_WORM, 1)
return TRUE
end
return FALSE
end 

 

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

  • 0

Tenta assim amigão:

 

 

[size=4]function onUse(cid, item, fromPosition, itemEx, toPosition)[/size]
local playerFishing = getPlayerSkill(cid, SKILL_FISHING)

local now = nil
for i = 1, #config do
if (config[i].chance > math.random(1, 100)) then
now = config[i]
break
end
end

if(itemEx.itemid >= 8632 and itemEx.itemid <= 8632 or itemEx.itemid == 493) then
if(math.random(1, (100 + (playerFishing / 10))) <= playerFishing) then
if(playerFishing >= now.fishing) then
if(now.quest.enable) then
if(getPlayerStorageValue(cid, now.quest.storage) < 1) then
doPlayerAddItem(cid, now.item[1], now.item[2])
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
doSendAnimatedText(getPlayerPosition(cid), "OLD ROD!", TEXTCOLOR_PURPLE)
else
doPlayerAddItem(cid, ITEM_FISH, 1)
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")
end
else
doPlayerAddItem(cid, now.item[1], now.item[2])
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught "..getItemNameById(now.item[1]).."!")
end
else
doPlayerAddItem(cid, ITEM_FISH, 1)
doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")
end
end
doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
doPlayerRemoveItem(cid, ITEM_WORM, 1)
return TRUE
end
return FALSE
end 

 

 

Da pra entender nada ae, isso de color ;S

manda script correta pls :~~

 

.

 

Euu que errei ;~~

Sim.. eu testei essa ae é não funcionou :/

Link para o comentário
Compartilhar em outros sites

  • 0

function onUse(cid, item, fromPosition, itemEx, toPosition)

local playerFishing = getPlayerSkill(cid, SKILL_FISHING)

 

local now = nil

for i = 1, #config do

if (config.chance > math.random(1, 100)) then

now = config

break

end

end

 

if(itemEx.itemid >= 8632 and itemEx.itemid <= 8632 or itemEx.itemid == 493) then

if(math.random(1, (100 + (playerFishing / 10))) <= playerFishing) then

if(playerFishing >= now.fishing) then

if(now.quest.enable) then

if(getPlayerStorageValue(cid, now.quest.storage) < 1) then

doPlayerAddItem(cid, now.item[1], now.item[2])

doPlayerAddSkillTry(cid, SKILL_FISHING, 10)

doSendAnimatedText(getPlayerPosition(cid), "OLD ROD!", TEXTCOLOR_PURPLE)

else

doPlayerAddItem(cid, ITEM_FISH, 1)

doPlayerAddSkillTry(cid, SKILL_FISHING, 3)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")

end

else

doPlayerAddItem(cid, now.item[1], now.item[2])

doPlayerAddSkillTry(cid, SKILL_FISHING, 10)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught "..getItemNameById(now.item[1]).."!")

end

else

doPlayerAddItem(cid, ITEM_FISH, 1)

doPlayerAddSkillTry(cid, SKILL_FISHING, 3)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")

end

end

doPlayerAddSkillTry(cid, SKILL_FISHING, 1)

doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)

doPlayerRemoveItem(cid, ITEM_WORM, 1)

return TRUE

end

return FALSE

end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...