Mukah 0 #1 Posted October 26, 2008 (edited) ------------------------------- Nome: Fishing Evolution Versão: 8.10 Tipo do script: Action Servidor Testado: Aries 0.4.5 Autor: Mukah ------------------------------- Como disse no meu primeiro script, do Plantinha System, postaria mais scripts meus... Dai eu pensei assim: Eu to sem scripts pra coloca lá... eu tenho uns só que estão muito foda pra ficar postano. MAS... Eu pensei melhor. Como gostei dos elogios, axei que vocês iriam gostar desse script tbm! (OBS: virem meu fan please *-*) O script eh o seguinte: Vocês conheçem o script de fishing (pesca) tradicional do Tibia certo? Mas este que fiz, ele é modificado! "Fishing Evolution 100 x 0 Fishing Global UHUU!! :lol:" Voltando ao assunto, o script ele pesca todos os tipos de peixe que existe no global! (Mais abaixo vou postar a tabela de peixes) Alem de ele pescar todos os tipos, ele contém outros efeitos (quando você pega o peixe) e ainda por cima necessita de skills para poder pescar os peixes! Inclusive, no final eu vou colocar o script do NPC que compra todos os itens e também o script para comer todos os peixes também! Tabela de peixes: Shrimps - [skill: 0-25+] Fishs - [skill: 26-35+] Northern Pikes - [skill: 36-45+] Green Perchs - [skill: 46-55+] Rainbow Trouts - [skill: 56-65+] Marlins - [skill: 66+] ----------------------------------------------- Bom, vamos para os scripts: Crie um arquivo na pasta "data/actions/scripts/" com o nome de "fishing.lua". fishing.lua -- Script 100% by Mukah -- 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) fskill = getPlayerSkill(cid,6) count = math.random(3,7) if isInArray(waterIds, itemEx.itemid) == TRUE then if itemEx.itemid ~= 493 then if useWorms == FALSE or useWorms == useWorms then fish = math.random(1,fskill) if (fish == 2 or fish == 4 or fish == 6 or fish == 8 or fish == 10 or fish == 12 or fish == 14 or fish == 16 or fish == 18 or fish == 20 or fish == 22 or fish == 24) then doPlayerAddItem(cid, 2670, count) doPlayerRemoveItem(cid, 3976, 1) doSendMagicEffect(toPosition, 53) doPlayerAddExp(cid,math.random(1,fskill+fskill/2+15)) doPlayerAddSkillTry(cid,6,1) elseif (fish == 26 or fish == 28 or fish == 30 or fish == 32 or fish == 34) then doPlayerAddItem(cid, 2667, 1) doPlayerRemoveItem(cid, 3976, 1) doSendMagicEffect(toPosition, 53) doPlayerAddExp(cid,math.random(1,fskill+fskill/2+15)) doPlayerAddSkillTry(cid,6,1) elseif (fish == 36 or fish == 38 or fish == 40 or fish == 42 or fish == 44) then doPlayerAddItem(cid, 2669, 1) doPlayerRemoveItem(cid, 3976, 1) doSendMagicEffect(toPosition, 53) doPlayerAddExp(cid,math.random(1,fskill+fskill/2+20)) doPlayerAddSkillTry(cid,6,1) elseif (fish == 46 or fish == 48 or fish == 50 or fish == 52 or fish == 54) then doPlayerAddItem(cid, 7159, 1) doPlayerRemoveItem(cid, 3976, 1) doSendMagicEffect(toPosition, 53) doPlayerAddExp(cid,math.random(1,fskill+fskill/2+30)) doPlayerAddSkillTry(cid,6,1) elseif (fish == 56 or fish == 58 or fish == 60 or fish == 62 or fish == 64) then doPlayerAddItem(cid, 7158, 1) doPlayerRemoveItem(cid, 3976, 1) doSendMagicEffect(toPosition, 53) doPlayerAddExp(cid,math.random(1,fskill+fskill/2+40)) doPlayerAddSkillTry(cid,6,1) elseif (fish == 66 or fish == 68 or fish == 70 or fish == 72 or fish == 74 or fish == 76 or fish == 78 or fish == 80 or fish == 82 or fish == 84 or fish == 86 or fish == 88 or fish == 90 or fish == 92 or fish == 94 or fish == 96 or fish == 98 or fish == 100 or fish == 102 or fish == 104 or fish == 106 or fish == 108 or fish == 110 or fish == 112 or fish == 114 or fish == 116 or fish == 118 or fish == 120 or fish >= 150) then doPlayerAddItem(cid, 7963, 1) doPlayerRemoveItem(cid, 3976, 1) doSendMagicEffect(toPosition, 53) doPlayerAddExp(cid,math.random(1,fskill+fskill/2+60)) doPlayerAddSkillTry(cid,6,2) else end end end doSendMagicEffect(toPosition, 1) return TRUE end return FALSE end -- Script 100% by Mukah -- Após ter criado o script acima, abra o arquivo "data/actions/actions.xml". Coloque o tag dentro depois do "<actions>" e antes do "</actions>". tag actions <action itemid="2580" script="fishing.lua" allowfaruse="1" /> [Edit_Motivo: Continuação] Bom.. então vamos para o script para COMER todas as comidas... ou melhor: peixes! Provavelmente seu OT já come Fish/Shrimps/Northerns Pikes; Então apenas vao restar Green Perchs/Rainbow Trouts/Marlins. Crie um arquivo na pasta "data/actions/scripts/" com o nome de "peixes.lua". -- Script Aries editado por Mukah -- local text = "" local nutrition = 0 local effect = 50 function onUse(cid, item, frompos, item2, topos) if item.itemid == 7159 then nutrition = [color=Red]50[/color] text = "[color=Blue]Munch.[/color]" elseif item.itemid == 7158 then nutrition = [color=Red]70[/color] text = "[color=Blue]Munch.[/color]" elseif item.itemid == 7963 then nutrition = [color=Red]350[/color] text = "[color=Blue]Munch.[/color]" end if (getPlayerFood(cid) + nutrition > 400) then doPlayerSendCancel(cid,"You are full.") else doPlayerFeed(cid, nutrition * 4) doPlayerSay(cid, text, 16) doRemoveItem(item.uid, 1) if effect < 31 then doSendMagicEffect(getPlayerPosition(cid), 27) end end return 1 end -- Script Aries editado por Mukah -- Pergunta: Ei Muka! Eu quero que os peixes sustente um certo tanto, como faço? Resposta do Muka: Voce edita os números em VERMELHO de acordo com sua escolha! Lembrando que quando o player fica Full, ele fica com 400 de Sustento (Feed) Pergunta: Ok. Mas agora eu quero mudar a FALA! Quero que ele fale "Mukah" em vez de "Munch"! Como eu faço? Resposta: Está vendo as palavras na cor AZUL? Você poderá editar avontade, basta mudar a fala sem tirar as Aspas ("")! Continuando: Agora falta o script do "actions.xml"! Após ter criado o script acima, abra o arquivo "data/actions/actions.xml". Coloque o tag dentro depois do "<actions>" e antes do "</actions>". tag actions <action itemid="7159" script="peixes.lua" /> <action itemid="7158" script="peixes.lua" /> <action itemid="7963" script="peixes.lua" /> Agora falta somente o NPC para vender os peixes (todos)! Crie um arquivo na pasta "data/npc/" e renomeie com o nome de "Perac.xml", um nome já bastante conheçido de alguns OT's baixados. Em seguida abra o arquivo "Perac.xml" e coloque o seguinte script: perac.xml <?xml version="1.0"?> <npc name="Perac" script="data/npc/scripts/fishs.lua" access="3" lookdir="2" autowalk="25"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="128" head="66" body="46" legs="2" feet="89"/> </npc> Agora crie um arquivo na pasta "data/actions/scripts/" com o nome de "fishs.lua". fishs.lua -- Script 100% by Mukah -- local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. creatureGetName(cid) .. '! I sell fishing rods(100gp) and buy Shrimp(5gp), Fish(20gp), Northern Pikes(40gp), Green Perch(70gp), Rainbow Trout(100gp) and Marlin(500gp).') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'shrimp') or msgcontains(msg, 'shrimps') then sell(cid,2670,getCount(msg),5) elseif msgcontains(msg, 'fish') or msgcontains(msg, 'fishs') then sell(cid,2667,getCount(msg),15) elseif msgcontains(msg, 'northern pike') or msgcontains(msg, 'northerns pikes') then sell(cid,2669,getCount(msg),40) elseif msgcontains(msg, 'green perch') or msgcontains(msg, 'green perchs') then sell(cid,7159,getCount(msg),70) elseif msgcontains(msg, 'rainbow trout') or msgcontains(msg, 'rainbow trouts') then sell(cid,7158,getCount(msg),100) elseif msgcontains(msg, 'marlin') or msgcontains(msg, 'marlins') then sell(cid,7963,getCount(msg),500) elseif msgcontains(msg, 'fishing rod') then buy(cid,2580,1,100) elseif msgcontains(msg, 'bye') and focus == cid and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 elseif msgcontains(msg, 'no') then selfSay('Ok. Come back when you need my services.') talk_state = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end -- Script 100% by Mukah -- Agora só falta adiciona-lo no seu map editor! Como adicionar no map editor? A OTNET tem! Ta ai uma foto do que fiz no meu OT que começei a criar: [Edit_Motivo: Continuação] Ta ai! (Y) Vlws! COMENTA! (Y) e VIRA MEU FAN PLEASE! Edited October 27, 2008 by Mukah Continuação Share this post Link to post
Nord 2 #2 Posted October 26, 2008 Mew, vc ta certo mesmo, é estranho sempre vim o mesmo tipo de peixe. Aprovadíssimo Share this post Link to post
123123 1 #3 Posted October 27, 2008 gostei, mto melhor do que o do rl mesmo Share this post Link to post
Surpresa 0 #4 Posted October 27, 2008 Caara, sensacional. Eu nunca pesquei no Global ._. , mas sei que vem sempre o mesmo peixe. Isso aí realmente é uma evolução. Testado e aprovado, fih. :* Share this post Link to post
Mock 32 #5 Posted October 27, 2008 cara gostei melhor q o rl mesmo xD vc podia ter usado a função p solta um distance shoot ate onde o player joga a vara na agua ai ficaria mais realista o problema q areis n tem =X eu vo por isso no meu ot n vo tirar seus creditos mais vi por so a função p solta o distance shoot pq fico massa Share this post Link to post
Mukah 0 #6 Posted October 27, 2008 Legal sua ideia, Mock! Seria uma boa mesmo! Mais é complicado... Perceba: "Tudo antigo é melhor" O mesmo aconteceu com o Tibia.. cada vez que foi evoluindo foi piorando... (meu script nao ;s) Eles já estão sem ideia para colocar no Servidor e melhorar. Seria bom se todos Scripters, Mappers, etc da OTNet tivessem uma oportunidade de dar ideias para o pessoal de lá. Provavelmente iria melhorar muito depois das ideias. Além do mais, vocês aqui da OTNet são 10! Aliaz, sao 1000³. Vocês tem ideias boas, criativas, mais é sempre normal ter alguns "avacalhoes" que estragam o Fórum. Mais graças a Deus a OTNet não tem isso. Há outros Fóruns (Não sei se posso citar nomes, por isso nao vou falar nomes) que tem de tudo, mas 70% desse tudo é virus. Mais td bem. A OTNet é um fórum dos melhores que já axei, tão de parabens ai... Mock... Depois vamos descutir algumas ideias.. etc.. se quiser conversar mais manda seu msn aew que eu adiciono! Share this post Link to post
Finrod Elensar 0 #7 Posted October 28, 2008 Sem palavras.... A MELHOR ACTION COM A MELHOR CRIATIVIDADE DE TODAS... OWNED... FICO BILHÕESSSS DE VEZES MELHOR QUE GLOBAL... Ta tudo certinhu, depois de um determinado "X" SKILL muda o peixe por vc estar mais forte em fishing, tudo perfeitoooooooo... Share this post Link to post
Piruk 0 #8 Posted October 28, 2008 Muito bom o script. Como muitos já falaram, melhor que o tibia rl ! Share this post Link to post
HenneT 2 #9 Posted October 30, 2008 Manda isso pro tibia global que eles vão apoiar a idéia com certeza, Uma coisa simples e nunca (pelo que eu sei) pensada. Parabéns! Hennet, Share this post Link to post
f@bio 0 #10 Posted November 1, 2008 Existe um BUG nesse script, ele n precisa de minhocas pra pescar, mesmo que vc coloque a opção TRUE ele n usa as minhocas para pescar, e não tem a mensagem de erro para quando o player não ter as minhocas ele rejeitar... Pode fixar por favor??? Obrigado Share this post Link to post
Mukah 0 #11 Posted November 1, 2008 Existe um BUG nesse script, ele n precisa de minhocas pra pescar, mesmo que vc coloque a opção TRUE ele n usa as minhocas para pescar, e não tem a mensagem de erro para quando o player não ter as minhocas ele rejeitar... Pode fixar por favor??? Obrigado Sim cara. Isto é proposital... Ninguem em OTserver fica pegano minhoca pra pode pesca não... Essa Opção true que tem ai foi só um teste que tentei fazer ele precizar de minhocas e esqueci de apagar. Porque depois pensei bem e vi que não seria bom os players terem que ficar pegando minhoca pra pode pesca, ainda mais em OT! O script ai tá o seguinte: Você pesca: Com ou sem minhoca Se você tem minhoca: ele pesca e tira as minhocas de 1 em 1 Se você não tem minhoca: ele pesca do mesmo jeito Não é bug... era uma coisa que estava pensando em fazer e esqueci de apagar... Mais mesmo assim Vlw aew... (meus scripts não costumam ter coisas "bugadas" ) Share this post Link to post
Will Pro 0 #12 Posted November 1, 2008 Aaahdorei! Simplesmente, a variadade e pescar por skill foi muito boa...mas tem coisas que não entendi: Posso pescar até 7 peixes com uma minhoca, ou 7 minhocas? >< Share this post Link to post
Boliinha 0 #13 Posted November 1, 2008 @Will pro não precisa de worms pra pesca, mas se você tiver tua worms some quando voce pega um peixe, intaum seria 7 peixes = 7 minhocas @Topic Gostei do script, poderia ser assim no Global =D Flw Share this post Link to post
Jereziah 0 #14 Posted November 6, 2008 Cara... Você ta de parabéns... Script Perfeito. Nenhum Erro, Bug... Tudo Correto. Adicionado ao Battle for Middle Earth ATS. Share this post Link to post
\o\ Wolf /o/ 0 #16 Posted January 7, 2009 ahsuduhasdn (meus scripts não costumam ter coisas "bugadas" ) modesto vc ? To brincando xD, bom script muitos de nois só pensam em coisas importantes e novas pra fazer que esquecemos as mais basicas, obrigado, flws Share this post Link to post
Gpwjhlkdcf 21 #17 Posted January 12, 2009 Sim cara. Isto é proposital...Ninguem em OTserver fica pegano minhoca pra pode pesca não... Essa Opção true que tem ai foi só um teste que tentei fazer ele precizar de minhocas e esqueci de apagar. Porque depois pensei bem e vi que não seria bom os players terem que ficar pegando minhoca pra pode pesca, ainda mais em OT! O script ai tá o seguinte: Você pesca: Com ou sem minhoca Se você tem minhoca: ele pesca e tira as minhocas de 1 em 1 Se você não tem minhoca: ele pesca do mesmo jeito Não é bug... era uma coisa que estava pensando em fazer e esqueci de apagar... Mais mesmo assim Vlw aew... (meus scripts não costumam ter coisas "bugadas" ) Mesmo assim, eu acho que você devia criar uma opção tipo: Continuar Pescando mesmo quando acabar as Worms. Porque, mesmo que a maioria não use, não é nenhum mal agradar a minoria. ^^ A propósito, muito bom sistema. Share this post Link to post
coubel 0 #18 Posted January 12, 2009 Kara naum tem o que falar xD é muito melhor do que o systema do Global xD que noob a cypsoft n te feito isso antes xP!! Brother sou seu fan!! Cambio desligo Share this post Link to post
Keys 0 #19 Posted January 12, 2009 Muito bom cara, ta de parabens, i9 sempre =] (y) Share this post Link to post
MotoBoy 0 #20 Posted January 12, 2009 muito bom meso pra OT.. mais num dava pra colcoar no global naum primeiro que o "big fish" porexemplo é uma lenda do tibia.. parte do RPG do jogo.. outra.. alguns desses peixes são usados em quests de exchange no global.. se desse pra pescar um negócio que você troca uai O.o qual proposito da quest? muito bom mesmo xD flws~~ Share this post Link to post