Postado Março 29, 2017 8 anos Aproveitando o Tópico, @Vodkart, ou @xWhiteWolf... Caso eu queira, ao invés de pescar um monstro eu pescar um peixe.. por IDS, poderiam me dizer no que mudar? (No Caso eu NÃO PRECISO de Level... só de Fishing Skill mesmo..., porém consigo ajustar isto, caso eu estiver abusando!) Estarei usando as chances também, porém, quanto mais Skill, mais fácil a probabilidade de pescar, igual ao peixe normal... só que no caso, o peixe NORMAL (igual o sistema do global) seria, claro, mais fácil de ser pescado (na mesma medida do global), porém os outros peixes que requerem mais skills, irão facilitando muito lentamente de acordo com o up dos skills... Com isto, posso substituir completamente o script de fishing antigo! Se for necessário, uso a versão do TFS 1.1.. Muito obrigado, de coração! Editado Março 29, 2017 8 anos por Camilo Salvadori (veja o histórico de edições)
Postado Março 29, 2017 8 anos 13 horas atrás, Camilo Salvadori disse: Aproveitando o Tópico, @Vodkart, ou @xWhiteWolf... Caso eu queira, ao invés de pescar um monstro eu pescar um peixe.. por IDS, poderiam me dizer no que mudar? (No Caso eu NÃO PRECISO de Level... só de Fishing Skill mesmo..., porém consigo ajustar isto, caso eu estiver abusando!) Estarei usando as chances também, porém, quanto mais Skill, mais fácil a probabilidade de pescar, igual ao peixe normal... só que no caso, o peixe NORMAL (igual o sistema do global) seria, claro, mais fácil de ser pescado (na mesma medida do global), porém os outros peixes que requerem mais skills, irão facilitando muito lentamente de acordo com o up dos skills... Com isto, posso substituir completamente o script de fishing antigo! Se for necessário, uso a versão do TFS 1.1.. Muito obrigado, de coração! Spoiler -- tabela de nivel -- [nivel] = {level, fishing} local tablelevel = { [1] = {400, 100}, [2] = {500, 105}, [3] = {600, 110}, [4] = {700, 120}, [5] = {800, 130} } -- tabela de monstros -- [nivel] = monstro adicionado -- note que se voce for nivel 3 vc tera os monstros do 2 e do 1 tambem. local fishes = { [1] = 2160, [2] = 2152, [3] = 2152, [4] = 2152, [5] = 2152 } local useWorms = true local waterIds = {493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625} function onUse(cid, item, fromPosition, itemEx, toPosition) if getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid, "You can't fish in a protection zone!") return true end if isInArray(waterIds, itemEx.itemid) then if useWorms then if getPlayerItemCount(cid, ITEM_WORM) > 0 then doPlayerRemoveItem(cid, ITEM_WORM, 1) else doPlayerSendCancel(cid, "You don't have any worm to fish.") return true end end doPlayerAddSkillTry(cid, SKILL_FISHING, 1) local plvl, fishing = getPlayerLevel(cid), getPlayerSkill(cid, SKILL_FISHING) -- aqui fazemos o algoritmo para definir qual o level de pesca o player sera local level = 0 for i, lvl in ipairs(tablelevel) do if plvl >= lvl[1] and fishing >= lvl[2] then level = i else break end end -- a partir daqui o level do player pode ser pego atraves da variavel "level" -- aqui nos retornamos a tabela de monstros pescaveis pelo player local fishable = {} -- partimos de uma tabela vazia for i, fish in ipairs(fishes) do if level >= i then fishable[#fishable + 1] = {chance = 5 * (level - i + 1), fishid = fish} else break end end -- pra cada monstro temos uma chance associada que vai variar do nivel do player e da dificuldade do monstro -- retornando oque vai pescar local get = false -- nao vai pescar nada de inicio for i = 1, #fishable do if fishable[i].chance >= math.random(1, 100) then get = fishable[i].fishid break end end if not get then -- se nao pescou nada, da peixe doPlayerAddItem(cid, ITEM_FISH, 1) else -- se pescou algo, falar oque pescou/criar a criatura doPlayerAddItem(cid, get, 1) end doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY) return true end return false end fiz as modificações mas não sei se rodaria em tfs 1.1 pois esse código é de 0.4. Testa e me diz se apareceu algum erro Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Março 30, 2017 8 anos Autor Em 29/03/2017 ás 01:08, xWhiteWolf disse: não é por nada não mas achei que a pessoa que fosse te ajudar seguiria meu modelo de algoritmo. Já que o vod praticamente ignorou meu código eu decidi fazer um script de pesca com base no que eu já havia feito; Mostrar conteúdo oculto -- tabela de nivel -- [nivel] = {level, fishing} local tablelevel = { [1] = {400, 100}, [2] = {500, 105}, [3] = {600, 110}, [4] = {700, 120}, [5] = {800, 130} } -- tabela de monstros -- [nivel] = monstro adicionado -- note que se voce for nivel 3 vc tera os monstros do 2 e do 1 tambem. local tablemonsters = { [1] = "Water Elemental", [2] = "Massive Water Elemental", [3] = "Blood Crab", [4] = "Quara Constrictor", [5] = "Quara Predator Scout" } local useWorms = true local waterIds = {493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625} function onUse(cid, item, fromPosition, itemEx, toPosition) if getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid, "You can't fish in a protection zone!") return true end if isInArray(waterIds, itemEx.itemid) then if useWorms then if getPlayerItemCount(cid, ITEM_WORM) > 0 then doPlayerRemoveItem(cid, ITEM_WORM, 1) else doPlayerSendCancel(cid, "You don't have any worm to fish.") return true end end doPlayerAddSkillTry(cid, SKILL_FISHING, 1) local plvl, fishing = getPlayerLevel(cid), getPlayerSkill(cid, SKILL_FISHING) -- aqui fazemos o algoritmo para definir qual o level de pesca o player sera local level = 0 for i, lvl in ipairs(tablelevel) do if plvl >= lvl[1] and fishing >= lvl[2] then level = i else break end end -- a partir daqui o level do player pode ser pego atraves da variavel "level" -- aqui nos retornamos a tabela de monstros pescaveis pelo player local fishable = {} -- partimos de uma tabela vazia for i, mob in ipairs(tablemonsters) do if level >= i then fishable[#fishable + 1] = {chance = 5 * (level - i + 1), monster = mob} else break end end -- pra cada monstro temos uma chance associada que vai variar do nivel do player e da dificuldade do monstro -- retornando oque vai pescar local get = false -- nao vai pescar nada de inicio for i = 1, #fishable do if fishable[i].chance >= math.random(1, 100) then get = fishable[i].monster break end end if not get then -- se nao pescou nada, da peixe doPlayerAddItem(cid, ITEM_FISH, 1) else -- se pescou algo, falar oque pescou/criar a criatura doCreateMonster(get, fromPosition) end doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY) return true end return false end não tem melhor ou pior, ambos devem funcionar e se vc já tá usando o dele, continue usando. O meu só tá nos moldes da minha linha de raciocínio anterior. xWhiteWolf o seu funcionou o unico problema é que não ta pescando os monstros não sei se é por causa da dificuldade onde eu mecho para ficar mais fácil pescar os monstro? [Error - Actions Iterface] data/actions/tools/fishing.lua:oneUse Description: <luaDoCreateMonster> Cannot create monster: Water elemental [Error - Actions Iterface] data/actions/tools/fishing.lua:oneUse Description: <luaDoCreateMonster> Cannot create monster: Massive Water elemental [Error - Actions Iterface] data/actions/tools/fishing.lua:oneUse Description: <luaDoCreateMonster> Cannot create monster: Water elemental [Error - Actions Iterface] data/actions/tools/fishing.lua:oneUse Description: <luaDoCreateMonster> Cannot create monster: Blod Crab ta dando esse erros e com os outro monstro tbm Mesmo desacreditado e ignorado por todos, não posso desistir, pois para mim, vencer é nunca desistir ! By: Thenebrozo
Postado Março 30, 2017 8 anos 3 horas atrás, Thenebrozo disse: xWhiteWolf o seu funcionou o unico problema é que não ta pescando os monstros não sei se é por causa da dificuldade onde eu mecho para ficar mais fácil pescar os monstro? [Error - Actions Iterface] data/actions/tools/fishing.lua:oneUse Description: <luaDoCreateMonster> Cannot create monster: Water elemental [Error - Actions Iterface] data/actions/tools/fishing.lua:oneUse Description: <luaDoCreateMonster> Cannot create monster: Massive Water elemental [Error - Actions Iterface] data/actions/tools/fishing.lua:oneUse Description: <luaDoCreateMonster> Cannot create monster: Water elemental [Error - Actions Iterface] data/actions/tools/fishing.lua:oneUse Description: <luaDoCreateMonster> Cannot create monster: Blod Crab ta dando esse erros e com os outro monstro tbm testa o do vodkart, se funcionar troca essa linha aqui do meu: doCreateMonster(get, fromPosition) por doCreateMonster(get, getCreaturePosition(cid)) Tecnicamente as duas eram pra dar errado, o correto seria usar doCreateMonster(get, getClosestFreeTile(cid, fromPosition, true)). Mas como o vod usa a getCreaturePosition(cid) e o carinha do tópico disse que deu certo então com fromPosition tb deveria dar certo. Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Março 30, 2017 8 anos Autor 37 minutos atrás, xWhiteWolf disse: testa o do vodkart, se funcionar troca essa linha aqui do meu: doCreateMonster(get, fromPosition) por doCreateMonster(get, getCreaturePosition(cid)) Tecnicamente as duas eram pra dar errado, o correto seria usar doCreateMonster(get, getClosestFreeTile(cid, fromPosition, true)). Mas como o vod usa a getCreaturePosition(cid) e o carinha do tópico disse que deu certo então com fromPosition tb deveria dar certo. Deu certo a sua e a do Vod mais irei usar a sua, fico agradecido ao Vod ter me ajudado tbm, mas vc foi o unico que me respondeu e me ajudou quando eu precisei sendo assim fico muito grato e gostei muito, obrigado mesmo de coração. Tenho uma duvida onde eu mudo para ficar mais dificil para pescar os monstro? e quanto maior o level mais facil fica ? Mesmo desacreditado e ignorado por todos, não posso desistir, pois para mim, vencer é nunca desistir ! By: Thenebrozo
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.