Postado Maio 27, 2015 10 anos Eai pessoa blz? estou aqui para pedir um sistema de fishing rod! eu já vi muitos servidores usando! o sistema é assim, são 4 rods, cada rod pesca tipos de pokemons diferentes! e cada uma tem um level mínimo para usar, ai vai o funcionamento basico delas! ------------------------------------------------------------------------------------------------------------------ Normal Rod Pesca Margikarp, Goldeen, krabby, entre outros o level mínimo dela é 10 Great Rod Pesca Os mesmos pokemons da normal rod e outros pokemons configurados por min! Level mínimo dela é 30 Super Rod Pesca os mesmos pokemons da Great Rod e outros configurados por min! Level mínimo dela é 60 Ultra Rod Pesca os mesmos pokemons da super rod e outros configurados por min level mínimo dela é 80 ------------------------------------------------------------------------------------------------------------------ Pronto! acho que deu para entender + ou - como elas funcionam, não acho que seja díficil para alguem que tenha no mínimo um pouco do conhecimento de lua, para fazer. Se tiverem alguma dúvida podem perguntar, este sistema, todos jogos que joguei, com ele fiquei viciadão neles Eu uso a Versão 854 e tfs 0.3.6! muito obrigado pela atenção, e tenham todos um bom dia! Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Maio 27, 2015 10 anos Você pode pegar seu script de rod e adicionar isso para retornar se não tiver o level necessário: if getPlayerLevel(cid) < 50 then doPlayerSendCancel(cid, "Você precisa ser level "..level.." para usar essa rod.") return true end Coloca logo no inicio do script após o function, se quiser use esse: local fishing = { ["Magikarp"] = {skill = 0, level = 0}, ["Qwilfish"] = {skill = 18, level = 0}, ["Remoraid"] = {skill = 16, level = 0}, ["Staryu"] = {skill = 22, level = 0} } local storage = 15458 local bonus = 1 local limite = 80 local level = 50 -- Aqui você altera o level necessário para utilizar a rod. local function doFish(cid, pos, ppos, chance, interval, number) if getPlayerLevel(cid) < 50 then doPlayerSendCancel(cid, "Você precisa ser level "..level.." para usar essa rod.") return true end 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, 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 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 return true end addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) 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 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 = 5.2 + getPlayerSkillLevel(cid, 6) / 9.5 doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage)) return true end ➥ Regras | Seções OTServ | Seções BOT
Postado Maio 27, 2015 10 anos Autor Você pode pegar seu script de rod e adicionar isso para retornar se não tiver o level necessário: if getPlayerLevel(cid) < 50 then doPlayerSendCancel(cid, "Você precisa ser level "..level.." para usar essa rod.") return true end Coloca logo no inicio do script após o function, se quiser use esse: local fishing = { ["Magikarp"] = {skill = 0, level = 0}, ["Qwilfish"] = {skill = 18, level = 0}, ["Remoraid"] = {skill = 16, level = 0}, ["Staryu"] = {skill = 22, level = 0} } local storage = 15458 local bonus = 1 local limite = 80 local level = 50 -- Aqui você altera o level necessário para utilizar a rod. local function doFish(cid, pos, ppos, chance, interval, number) if getPlayerLevel(cid) < 50 then doPlayerSendCancel(cid, "Você precisa ser level "..level.." para usar essa rod.") return true end 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, 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 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 return true end addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) 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 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 = 5.2 + getPlayerSkillLevel(cid, 6) / 9.5 doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage)) return true end Este que você acabou de me passar é o script completo?? pq se for avisa ai que vou testar! e se funfa já tem rep garantido! Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Maio 27, 2015 10 anos Este que você acabou de me passar é o script completo?? pq se for avisa ai que vou testar! e se funfa já tem rep garantido! É completo, fiz apenas a alteração para o level. ➥ Regras | Seções OTServ | Seções BOT
Postado Maio 27, 2015 10 anos Autor É completo, fiz apenas a alteração para o level. Então Blz! Irei Testar é Agora! Obrigado Pela Atenção! Eu Fui Testar Deu este erro: [27/05/2015 19:38:27] [Error - Action Interface] [27/05/2015 19:38:27] data/actions/scripts/tools/fishing.lua:onUse [27/05/2015 19:38:27] Description: [27/05/2015 19:38:27] data/actions/scripts/tools/fishing.lua:54: attempt to call global 'doSetMonsterPassive' (a nil value) [27/05/2015 19:38:27] stack traceback: [27/05/2015 19:38:27] data/actions/scripts/tools/fishing.lua:54: in function 'doFish' [27/05/2015 19:38:27] data/actions/scripts/tools/fishing.lua:126: in function <data/actions/scripts/tools/fishing.lua:71> Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.