You are on page 1of 12

//===== Custom eAthena Script ======================================= //= Fishing Script //===== By: ========================================================= //= Mercurial //===== Description

================================================= //= Fishing spot with random prizes and monsters //===== Version ===================================================== //= 1.0 //===== Description ================================================= //= $@fishitem - Fishing Prize IDs //= $itemreq[0] - Fishing Rod ID (Currently set at Hypnotist's Staff[1]) //= $itemreq[1] - Bait ID (Currently set at Fatty Chubby Earthworm) //= $itemreq[2] - Fishing Hat ID (Currently set at Fisherman's Hat) //= $@emonster - Monster IDs //= @fishch - Fishing Item Chance //= $@fp$ - NPC Name //=================================================================== //= If you want to add more events just add more cases in the second //= switch() //= Have fun! //=================================================================== thalys_s,333,77,7 script Pcheur 881,{

set .npcname$, "[Pcheur]"; setarray .@bite[0], 632, 7609, 14345, 7605, 14469, 7083; setarray .@spot$[0], "A Jawaii", "A Comodo", "sur Hugel Field 5", "Dans le Sunken Ship", "A l'entr du Sunken Ship"; setarray .@loot$[0], "de la nourriture", "des boites de loots (thunder, resentment...)", "du bois mort", "des chapeaux", "de vieilles boites mauves ou b leues", "Les Chapeaux Renewal", "Les Armes Renewal", "Une pice dore"; mes "Salut p'tit gars."; if (QFISH == 0) { set $@id, getcharid(0); mes "Fait moins de bruit, t'va faire fuir eul' poisson."; mes "J'ai dj pas attrap grand chose d'puis c'matin..."; mes "t'veux maider qu'tu dis?"; next; switch(select("Ok, mais alors tu m'apprendras pcher:Non, pas le t emps")) { case 1: mes "Ca fait plaisir a! Tout d'abord, faut tre pat ient."; //progressbar "0xFF0000", 15000; attachrid($@id); mes "Voil, comme a."; set QFISH, 1; mes "Aprs, faut des outils."; mes "Au minimum, une canne et un appt."; mes "Y a plein d'appts diffrents. Je t'apprendrais a plus tard."; mes "Aprs, t'as les bonus, mais a aussi, on v'ra p lus tard."; mes "D'abord, t'faut une canne."; mes "J'peux t'en changer, ou t'en vendre. Tu veux ?"; mes "Ca cote 1 million de zeny, une canne comme a

tu sais."; next; switch(select("Oui, s'il te plait:Non, pas le te mps")) { case 1: if (Zeny >= 1000000) { mes "Ok, voil ta canne!"; getitem 2764, 1; set Zeny, Zeny-1000000; } else { mes "T'as pas assez mon gars..."; } break; case 2: mes "Pas de canne, pas de pche."; break; } break; case 2: mes "T'as pas la patience pour la pche..."; break; } } else if (QFISH == 1) { mes "T'as ret'nu les l'ons? Qu'est-ce tu veux?"; next; switch(select("Des infos:Une canne:Des appts:Apprendre la patienc e:Me dbarasser d'un surplus pch encombrant")) { case 1: mes "Rien de plus facile. Des infos sur quoi?"; next; switch(select("Les bonus:les appts:les coins de pc he:Ce qu'on peut pcher")) { case 1: mes "Ca, j'te l'dis gratos."; mes "Etre un vrai pcheur, c'est u ne attitude."; mes "Si t'as les atours du pcheur , l'me du pcheur viendra t'aider."; mes "Un couteau, ca aide"; mes "Mais le must, c'est d'avoir un chapeau de pcheur!"; break; case 2: mes "L, j't'aide qu'en change d'un p'tit que'qu'chose."; mes "On entre dans les secrets d e pcheur"; mes "J'te l'dis contre 100 "+get itemname(7150)+". J'en ferais des cannes. Ok?"; next; switch(select("Oui, s'il te plai

t:Non, pas le temps")) { case 1: if (countitem(71 50)>=100) { mes "Bie n. V'l c'que tu peux utiliser pour pcher:"; for (set .@i,0; .@i<getarraysize(.@bite);set.@i,.@i+1) { mes "^5555FF"+ getitemname(getelementofarray(.@bite,.@i)) +"^000000"; } delitem 7150,100; } else mes "T'a s pas c'qui faut!"; break; case 2: mes "Alors faudr a trouver par toi-mme!"; break; } break; case 3: mes "L, j't'aide qu'en change d'un p'tit que'qu'chose."; mes "On entre dans les secrets d e pcheur"; mes "J'te l'dis contre 250 "+get itemname(632)+". J'en ferais des appts. Ok?"; next; switch(select("Oui, s'il te plai t:Non, pas le temps")) { case 1: if (countitem(63 2)>=250) { mes "Bie n. V'l que'que coins qu'j'connais:"; for (set .@i,0; .@i<2;set.@i,.@i+1) { mes "^5555FF"+ getelementofarray(.@spot$,rand(0,getarraysize(.@spot$))) +"^00000 0"; } mes "Plu s l'appt est haut dans cette liste, plus tu as de chance d'attraper quelque chose ."; mes "Voi l, je t'ai tout dit."; mes "Pou r l'reste, soit tu re-paye, soit tu cherches!"; delitem 632,250;

} else mes "T'a s pas c'qui faut!"; break; case 2: mes "Alors faudr a trouver par toi-mme!"; break; } break; case 4: mes "L, j't'aide qu'en change d'un p'tit que'qu'chose."; mes "On entre dans les secrets d e pcheur"; mes "J'te l'dis contre 50 "+geti temname(2301)+". J'en ferais des lignes. Ok?"; next; switch(select("Oui, s'il te plai t:Non, pas le temps")) { case 1: if (countitem(23 01)>=50) { mes "Bie n. V'l les trucs qu'j'ai d'j pcher:"; for (set .@i,0; .@i<getarraysize(.@loot$);set.@i,.@i+1) { mes "^5555FF"+ getelementofarray(.@loot$,.@i) +"^000000"; } mes "Et plein d'autres trucs encore."; mes "Bie n sr, y a toujours le risque d'attraper une pole rouill ou un gros monstre..."; delitem 2301,50; } else mes "T'a s pas c'qui faut!"; break; case 2: mes "Alors faudr a trouver par toi-mme!"; break; } break; } break; case 2: mes "J'peux t'en changer, ou t'en vendre. Tu veux ?"; mes "Ca cote 1 million de zeny, une canne comme a tu sais."; next;

switch(select("Oui, s'il te plait:Non, pas le te mps")) { case 1: if (Zeny >= 1000000) { mes "Ok, voil ta canne!"; getitem 2764, 1; set Zeny, Zeny-1000000; } else { mes "T'as pas assez mon gars..."; } break; case 2: mes "Pas de canne, pas de pche."; break; } break; case 4: mes "Ca, c'facile!"; sleep2 15000; mes "Et voil. Tu connais manant!"; break; case 3: mes "Pour des appts, j'ai besoin de quelques truc pour en fabriquer."; mes "Et pis, ca s'ra pas gratuit:"; mes "Il me faudra 50 " + getitemname(632) + ", e t 1.000.000z pour une boite d'appts."; mes "T'es ok?"; next; switch(select("Oui:Non")) { case 1: mes "Ok. Voyons voir dj si t'as c' qui faut."; if (countitem(632)>49 && Zeny>=1 000000) { mes "Parfait. Qu'est ce tu veux contre a?"; next; switch(select("Pumpkin M ojo:Animal Scroll:Chicken Egg:Ox Tail Egg:Spirit of Fish")) { case 1: mes "Voi l pour toi."; getitem 7609,25; break; case 2: mes "Voi l pour toi."; getitem 14345,15; break;

case 3: mes "Voi l pour toi."; getitem 7605,10; break; case 4: mes "Voi l pour toi."; getitem 14469,5; break; case 5: mes "Voi l pour toi."; getitem 7083,1; break; } delitem 632,50; set Zeny, Zeny-1000000; } else { mes "Dsol, t'as pas c'qui faut."; } break; case 2: mes "Pas d'appts, pas de pche."; mes "Aprs, tu peux toujours allez les chercher toi-mme."; break; } break; case 5: mes "Voil ce qui arrive quand on pche trop longtem ps."; mes "Bouge pas..."; delitem 7497,countitem(7497); delitem 6075,countitem(6075); break; } } close; } alb2trea,95,98,4 script Fishing Spot::fishing 723,{ setarray $@fishitem[0], 675, 12033, 12028, 12031, 12029, 12034, 12030, 12027, 12999, 12107, 12106, 12105, 12109, 12070, 12065, 12045, 12050, 12055, 12060, 13761, 13598, 12244, 12189, 12240, 5287, 5184, 5200, 5282, 7497, 7095, 7004, 2664, 2708, 2665, 2667, 21060, 12103, 7146, 7608, 5746, 5747, 5748, 5749, 5750, 5751, 5752, 5753, 5754, 5755, 5756, 5757, 5758, 5760, 1654, 13431, 1830, 1985, 13062; setarray $@fishitemper[0], 1, 7, 7, 7, 7, 7, 7, 7, 5, 3, 5, 3, 8, 8, 8, 8, 8, 8, 8, 9, 2, 5, 5, 4, 4, 4, 4, 4, 8, 8, 8, 4, 4, 4, 4, 1, 5, 5, 1, 2,

2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2; setarray $@itemreq[0], 2764, 5317, 1249; setarray $@emonster[0], 2020, 2016, 1968, 2070; setarray $@fishbite[0], 632, 7609, 14345, 7605, 14469, 7083; set @fishch, 30; set .bonuschance, 0; set $@fp$, "[Fishing Spot]"; set .@ok, 1; if (.waitingTime == 0) { if(countitem($@itemreq[0]) >= 1) { mes $@fp$; mes "Vous voyez des poissons nager dans l'eau."; mes "Voulez-vous pcher?"; switch(select("Oui", "Non")) { case 1: next; mes "Quel appt souhaitez vous utiliser?"; switch(select("Fat Chubby Earthworm:Pumpkin Mojo :Animal Scroll:Chicken Egg:Ox Tail Egg:Spirit of Fish")) { case 1: if (countitem ($@fishbite[0])>0) { delitem $@fishbite[0],1; set .bonuschance, 10; } else { mes "Vous n'avez pas ce qu'il faut."; set .@ok, 0; } break; case 2: if (countitem ($@fishbite[1])>0) { delitem $@fishbite[1],1; set .bonuschance, 20; } else { mes "Vous n'avez pas ce qu'il faut."; set .@ok, 0; } break; case 3: if (countitem ($@fishbite[2])>0) { delitem $@fishbite[2],1; set .bonuschance, 30; } else { mes "Vous n'avez pas ce

qu'il faut."; set .@ok, 0; } break; case 4: if (countitem ($@fishbite[3])>0) { delitem $@fishbite[3],1; set .bonuschance, 40; } else { mes "Vous n'avez pas ce qu'il faut."; set .@ok, 0; } break; case 5: if (countitem ($@fishbite[4])>0) { delitem $@fishbite[4],1; set .bonuschance, 50; } else { mes "Vous n'avez pas ce qu'il faut."; set .@ok, 0; } break; case 6: if (countitem ($@fishbite[5])>0) { delitem $@fishbite[5],1; set .bonuschance, 60; } else { mes "Vous n'avez pas ce qu'il faut."; set .@ok, 0; } break; } if (.@ok == 1) { mes "C'est parti!"; switch(rand(1, 12)) { case 1: goto GotFish; break; case 2: case 10: case 11: case 12: mes $@fp$; mes "Ca y tait presque!"; specialeffect2 611; close;

case 3: mes $@fp$; mes "Vous avez attrap un Fugu! Vous tes empoisonn."; skilleffect 52,2000; sc_start SC_Poison,60000 0,0; close; case 4: getmapxy $@fmap$,$@fmapx ,$@fmapy,0; set $@rn, rand(0, getarr aysize($@emonster) - 1); mes $@fp$; mes "Vous avez attrap un " + getmonsterinfo($@emonster[$@rn], 0) + " ... Courrez!!!"; monster $@fmap$, $@fmapx , $@fmapy, getmonsterinfo($@emonster[$@rn], 0) + " Leader", $@emonster[$@rn], 1; for(set .ctr,0; .ctr<=10 ; set .ctr, .ctr + 1) { if(rand(1, 10) < = 1) { npctalk "Le " + getmonsterinfo($@emonster[$@rn],0) + " a appel des renforts... COURREZ!"; monster $@fmap$, $@fmapx, $@fmapy, getmonsterinfo($@emonster[$@rn], 0), $@emonster[$@rn] , 1; } } close; case 5: mes $@fp$; mes "Un Merman vous a fa it tomber dans l'eau..."; sleep2 2000; specialeffect2 611; warp "iz_dun04", rand(1, 200), rand(1, 200); close; case 6: mes $@fp$; mes "Vous avez pch une vie ille pole frire...Heing?!"; getitem 7031,1; close; case 7: mes $@fp$; mes "Vous avez attrap une Marine Sphere qui vous explose la figure..."; close2; atcommand "!nuke "+strch arinfo(0); end; case 8: mes $@fps$; mes "Le lancer de d de la chance..."; mes "Entrez un nombre en

tre 1 & 4"; set @chance,rand(1,4); input @hisinput; if(@hisinput==@chance) { set @fishch,@fis hch+10; goto GotFish; } else goto GotFish; case 9: goto GotFish; break; } } set .count, .count+1; if (.count == 5) { set .waitingTime, 1; set .@count, 0; initnpctimer; } break; case 2: next; mes $@fp$; mes "...Vous continuez votre chemin..."; close; break; } close; } else { mes $@fp$; mes "Vous avez besoin d'un "+getitemname($@itemreq[0])+" et au m oins d'un "+getitemname($@fishbite[0])+" pour pcher."; close; } } else { dispbottom "Vous n'apercevez rien d'intressant...Pourtant, le coi n semble poissoneux."; } close; OnTimer300000: stopnpctimer; set .waitingTime, 0; set .count, 0; end; GotFish : if(getequipid(1) == $@itemreq[1]) set @fishch,@fishch + 10; if(countitem($@itemreq[2]) > 0) set @fishch,@fishch + 15; set @fishch,@fishch+.bonuschance; if(rand(1,100) <= @fishch) {

mes $@fp$; mes "Vous relachez le poisson"; mes "par chance, il portait un item."; set .@itemper, rand(0,100); set .@rank, rand(0,getarraysize($@fishitem)-1); while ( .@itemper < $@fishitemper[.@rank] ) set .@rank, rand(0,getarraysize($@fishitem)-1); getitem $@fishitem[.@rank],1; specialeffect2 610; close; } else if(rand(1, 100) <= 10 && countitem($@itemreq[0])) { mes $@fp$; mes "Vous aviez attrap quelque chose, mais il tait trop lo urd pour votre canne."; mes "Elle s'est brise en deux..."; delitem $@itemreq[0], 1; specialeffect2 611; close; } else { mes $@fp$; mes "Vous aviez attrap quelque chose, mais il s'est enfui ."; specialeffect2 611; close; } end; } hu_fild05,181,226,4 jawaii.gat,146,105,1 jawaii.gat,190,112,1 jawaii.gat,185,137,1 jawaii.gat,194,136,1 jawaii.gat,244,117,1 jawaii.gat,156,182,1 jawaii.gat,105,181,1 jawaii.gat,106,199,1 jawaii.gat,123,219,1 jawaii.gat,133,271,1 jawaii.gat,104,235,1 jawaii.gat,120,247,1 jawaii.gat,159,185,1 jawaii.gat,119,164,1 comodo.gat,256,163,1 comodo.gat,223,115,1 comodo.gat,167,80,1 comodo.gat,231,77,1 comodo.gat,254,80,1 alb2trea.gat,116,88,1 alb2trea.gat,102,97,1 treasure01.gat,68,113,1 treasure01.gat,68,148,1 treasure01.gat,52,154,1 treasure01.gat,87,156,1 treasure01.gat,68,168,1 treasure02.gat,101,68,1 duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Fishing Spot Spot#10 Spot#11 Spot#12 Spot#13 Spot#14 Spot#15 Spot#16 Spot#17 Spot#18 Spot#19 Spot#20 Spot#21 Spot#22 Spot#23 Spot#37 Spot#38 Spot#39 Spot#40 Spot#41 Spot#24 Spot#25 Spot#26 Spot#27 Spot#28 Spot#29 Spot#30 Spot#31 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723 723

hu_fild05.gat,187,186,1 hu_fild05.gat,182,228,1 hu_fild05.gat,143,127,1 hu_fild05.gat,243,123,1 hu_fild05.gat,169,201,1

duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing) duplicate(fishing)

Fishing Fishing Fishing Fishing Fishing

Spot#42 Spot#43 Spot#44 Spot#45 Spot#46

723 723 723 723 723

You might also like