sub checkRodexID { my $id; foreach my $mail_id (keys %{$rodexList->{mails}}) { my $mail = $rodexList->{mails}{$mail_id}; next if ($mail->{page} != 0 || $mail->{page_index} != 0); $id = $mail_id; last; } if (defined $id) { message "Your wanted mail id is $id.\n"; return $id; } else { message "You have no mails.\n"; return 0; } } macro StrawCheck { do attendance request pause 1 $ss = 0 while ($ss < 3) as ss_loop do eval $::messageSender->rodex_open_mailbox($ss, 0, 0) pause 1 do eval $::messageSender->rodex_refresh_maillist($ss, 0, 0) pause 1 while (checkRodexID() != 0) as loop $oo = checkRodexID() $currentID = $oo do eval $::messageSender->rodex_read_mail($ss, $currentID, 0) pause 1 do eval $::messageSender->rodex_request_items($::rodexList->{current_read}, 0, $ss) pause 1 do eval $::messageSender->rodex_delete_mail($ss, $currentID, 0) pause 1 $zz = checkRodexID() if ($oo == $zz) { $ss++ } end loop $ss++ end ss_loop pause 1 } automacro New1 { location iz_int,iz_int01,iz_int02,iz_int03,iz_int04,iz_int05 class Novice base = 1 job = 1 run-once 1 call { do attendance request pause 1 $ss = 0 while ($ss < 2) as ss_loop do eval $::messageSender->rodex_open_mailbox($ss, 0, 0) pause 1 do eval $::messageSender->rodex_refresh_maillist($ss, 0, 0) pause 1 while (checkRodexID() != 0) as loop $oo = checkRodexID() $currentID = $oo do eval $::messageSender->rodex_read_mail($ss, $currentID, 0) pause 1 do eval $::messageSender->rodex_request_items($::rodexList->{current_read}, 0, $ss) pause 1 do eval $::messageSender->rodex_delete_mail($ss, $currentID, 0) pause 1 $zz = checkRodexID() if ($oo == $zz) { $ss++ } end loop $ss++ end ss_loop pause 1 do conf attackAuto 0 do conf route_randomWalk 0 do conf autoTalkCont 1 do conf lockMap none do conf route_teleport 0 do timeout ai_clientSuspend 1 do mconf 2401 1 0 0 do mconf Poring 1 0 0 do plugin unload koreshield do plugin unload tele-search do conf teleportAuto_lostTarget 0 do conf teleportAuto_dropTarget 0 do conf teleportAuto_dropTargetKS 0 do conf itemsTakeAuto 2 do conf itemsGatherAuto 0 do conf teleportAuto_portal 0 do iconf Miracle Medicine 0 0 0 do move 23 31 do move 27 31 pause 1 do move 56 21 do move 56 16 #ออกไปอีสูท pause 1 release all } } automacro New2 { location int_land,int_land01,int_land02,int_land03,int_land04,int_land05 class Novice job = 1 inventory "Wood" < 2 run-once 1 call { pause 2 do move 80 104 do talknpc 78 103 c r0 c c c c c c c c c n pause 1 $x1 = @rand(59, 64) $y1 = @rand(63, 71) do move $x1 $y1 pause 1 do conf attackAuto 2 do conf route_randomWalk 1 do ai on do ai auto #release all } } automacro New_2_1 { location int_land,int_land01,int_land02,int_land03,int_land04,int_land05 class Novice inventory "Wood" >= 2 job = 1 run-once 1 call { pause 1 do conf attackAuto 0 do conf route_randomWalk 0 $x1 = @rand(59, 64) $y1 = @rand(63, 71) do move $x1 $y1 do talknpc 58 69 c c c c n do ai on do ai auto release all } } automacro New_2_2 { location int_land,int_land01,int_land02,int_land03,int_land04,int_land05 class Novice job = 2 run-once 1 call { pause 2 do move 49 56 pause 1 do talk no pause 0.5 do ai on do ai auto release all } } automacro New_3_1 { location izlude,izlude_a,izlude_b,izlude_c,izlude_d class Novice inventory "Criatura Academy Hat [1]" = 0 job = 2 run-once 1 call { pause 1 do conf autoTalkCont 0 $x1 = @rand(113, 120) $y1 = @rand(171, 178) do move $x1 $y1 pause 1 do talk @npc (115 181) pause 0.5 do talk cont pause 0.5 do talk cont pause 0.5 do talk no pause 0.5 do talk cont pause 0.5 do talk resp 3 pause 0.5 do talk no pause 0.5 do talk @npc (124 165) pause 1 do sell pause 1 do sell @inventory(Poor Can) pause 0.5 do sell @inventory(Banana Juice) pause 0.5 do sell done pause 1 do talknpc 115 181 n pause 1 do conf autoTalkCont 1 release all } } automacro New_3_2 { location izlude,izlude_a,izlude_b,izlude_c,izlude_d class Novice inventory "Criatura Academy Hat [1]" = 0 job = 3 run-once 1 call { pause 1 do conf autoTalkCont 1 do move @random ("125 257","130 257") release all } } automacro New_3_3 { location iz_ac01,iz_ac01_a,iz_ac01_b,iz_ac01_c,iz_ac01_d,iz_ac01_e class Novice job = 3 inventory "Criatura Academy Hat [1]" = 0 run-once 1 call { pause 2 $x1 = @rand(92, 105) $y1 = @rand(36, 41) $Go1 = $x1 $y1 do move $Go1 do move $Go1 pause 0.5 do talknpc 102 44 c c c c c n release all } } automacro New_3_5 { location iz_ac01,iz_ac01_a,iz_ac01_b,iz_ac01_c,iz_ac01_d class Novice job = 4 inventory "Criatura Academy Hat [1]" = 1 run-once 1 call { pause 0.5 do talknpc 102 44 c c c n pause 0.5 do move 100 25 release all } } automacro New_4 { location izlude,izlude_a,izlude_b,izlude_c,izlude_d class Novice job = 4 inventory "Criatura Academy Hat [1]" = 1 inventory "Delivery Box" = 0 run-once 1 call { pause 2 $x1 = @rand(123, 131) $y1 = @rand(137, 142) do move $x1 $y1 do move $x1 $y1 pause 0.5 do talknpc 128 148 c c c c c c c n release all } } automacro New_4_1 { location izlude,izlude_a,izlude_b,izlude_c,izlude_d class Novice job = 5 inventory "Criatura Academy Hat [1]" = 1 inventory "Delivery Box" = 1 run-once 1 call { pause 1 do move izlude_in do move izlude_in release all } } automacro New_4_2 { location izlude_in class Novice job = 5 inventory "Criatura Academy Hat [1]" = 1 inventory "Delivery Box" = 1 run-once 1 call { pause 2 $x1 = @rand(62, 68) $y1 = @rand(108, 112) do move $x1 $y1 pause 0.5 do talknpc 69 116 c c c c c c c c c c c n pause 1 release all } } automacro New_4_3 { location izlude_in class Novice job = 5 inventory "Criatura Academy Hat [1]" = 1 inventory "Novice Butterfly Wing" = 5 run-once 1 call { pause 1 #do skills add 1 6 do respawn pause 1 release all } } automacro New_5 { location izlude,izlude_a,izlude_b,izlude_c,izlude_d class Novice job = 5 inventory "Criatura Academy Hat [1]" = 1 inventory "Novice Butterfly Wing" = 4 exclusive 1 run-once 1 call Golv } macro Golv { do ai manual pause 2 do eq Criatura Academy Hat [1] do eq Tattered Novice Ninja Suit do eq Somber Novice Hood do eq Novice Slippers do eq Novice Main-Gauche do eq Novice Guard do conf lockMap prt_fild08 do conf attackAuto 2 do conf route_randomWalk 1 do conf attackAuto_inLockOnly 2 do conf saveMap izlude do conf skillsAddAuto 1 do conf skillsAddAuto_list NV_BASIC 9 do conf statsAddAuto 1 do conf statsAddAuto_dontUseBonus 1 do conf statsAddAuto_list 18 dex, int 20, 30 str, int 40 do conf route_teleport 0 do conf route_teleport_minDistance 300 do conf saveMap_warpToBuyOrSell 1 do conf sellAuto 1 do conf sellAuto_npc izlude 128 158 do conf sellAuto_distance 5 do conf itemsMaxWeight_sellOrStore 69 do conf storageAuto 1 do conf storageAuto_npc izlude 128 148 do conf storageAuto_npc_steps c r1 n do conf avoidGM_near 4 do conf avoidGM_near_inTown 0 do conf avoidGM_talk 4 do mconf all -1 0 0 do mconf 1007 1 0 0 do mconf 1063 1 0 0 do mconf 1002 1 0 0 do mconf 2398 0 0 0 do mconf 1008 1 0 0 do mconf 1113 1 0 0 do pconf all 2 do mconf Resting Adventurer -1 0 0 pause 2 do move izlude 23 98 pause 2 do ai auto release New_5 } automacro JobChange1 { location prt_fild08,prt_fild08a,prt_fild08b,prt_fild08c,prt_fild08d,prt_fild08e,prt_fild08f,prt_fild08g,prt_fild08h class Novice base >= 4 job = 10 exclusive 1 run-once 1 call { pause 2 do ai manual pause 2 do move izlude pause 2 do move izlude 126 256 do ai auto release JobChange1 } } automacro JobChange2 { location iz_ac01,iz_ac01_a,iz_ac01_b,iz_ac01_c,iz_ac01_d,iz_ac01_e,iz_ac01_f,iz_ac01_g,iz_ac01_h class Novice base >= 4 exclusive 1 job = 10 run-once 1 call { do ai manual pause 2 do move 122 25 do ai auto release JobChange2 } } automacro JobChange3 { location iz_ac02,iz_ac02_a,iz_ac02_b,iz_ac02_c,iz_ac02_d,iz_ac02_e,iz_ac02_f,iz_ac02_g,iz_ac02_h class Novice base >= 4 job = 10 exclusive 1 run-once 1 call { do ai manual pause 2 do move 219 108 pause 2 do move 144 170 pause 2 do talknpc 156 173 c c r0 c c c c n pause 2 do eq Criatura Academy Hat [1] do eq Novice Mace [3] do eq Cotton Shirts pause 2 do move 198 27 pause 2 do ai auto release JobChange3 } } automacro Armor { location iz_ac01,iz_ac01_a,iz_ac01_b,iz_ac01_c,iz_ac01_d,iz_ac01_e,iz_ac01_f,iz_ac01_g,iz_ac01_h class Acolyte #inventory "******** Team Manteau" = 0 job = 1 run-once 1 exclusive 1 call { do move 78 34 pause 2 do move 91 34 pause 2 do move 102 40 pause 2 do talknpc 102 44 c n pause 2 do talknpc 105 40 c c c c c c c c n do conf skillsAddAuto_list AL_RUWACH 1, AL_TELEPORT 2, AL_HEAL 3, AL_INCAGI 10, AL_DP 5, AL_BLESSING 10 pause 2 do move izlude pause 2 do ai auto } } automacro vocher { location izlude class Acolyte base >= 4 exclusive 1 inventory "Tattered Novice Ninja Suit" = 1 run-once 1 call { do ai manual pause 2 do move 128 146 pause 2 do talknpc 131 148 c c r0 n pause 2 do ai on } } automacro vocher2 { location moc_para01 class Acolyte base >= 4 inventory "Tattered Novice Ninja Suit" = 1 run-once 1 exclusive 1 call { do ai manual pause 2 do move 17 34 pause 2 do talknpc 17 37 c r2 c r0 n pause 2 do ai on } } automacro vocher3 { location moc_para01 class Acolyte base >= 4 inventory "Tattered Novice Ninja Suit" = 0 inventory "Free Ticket for Kafra Storage" = 20 run-once 1 exclusive 1 call { do ai manual pause 2 do talknpc 17 37 c r1 r0 n pause 1 do talknpc 17 37 c r1 r6 n pause 1 do talknpc 17 37 c r1 r6 n pause 1 do talknpc 17 37 c r1 r6 n pause 1 do talknpc 17 37 c r1 r6 n pause 1 do eq Criatura Academy Hat [1] do eq Novice Mace [3] do eq Cotton Shirts pause 1 do move 30 10 pause 2 do move prt_fild08 pause 2 do ai auto } } automacro vocher4 { location prt_fild08,prt_fild08a,prt_fild08b,prt_fild08c,prt_fild08d class Acolyte base >= 4 job = 1 inventory "Free Ticket for Kafra Transportation" = 1 run-once 1 exclusive 1 call { pause 1 do conf lockMap prt_fild08 do conf attackAuto 2 do conf route_randomWalk 1 do conf skillsAddAuto_list AL_RUWACH 1, AL_TELEPORT 2, AL_HEAL 3, AL_INCAGI 10, AL_DP 5, AL_BLESSING 10 do conf statsAddAuto_list 15 dex, int 23, 50 str, int 40 do ai on do ai auto } } automacro MapChangeToStraw { location prt_fild08,prt_fild08a,prt_fild08b,prt_fild08c,prt_fild08d,prt_fild08e,prt_fild08f,prt_fild08g,prt_fild08h class Acolyte exclusive 1 base = 15..17 run-once 1 exclusive 1 call gostraw } macro gostraw { do eq Eden Group Manteau do eq Eden Group Boots I do eq Eden Group Uniform I do eq Eden Group Hat pause 1 do respawn pause 3 do autosell pause 5 do ai manual pause 2 do move payon pause 3 $x1 = @rand(169, 177) $y1 = @rand(96, 104) do move $x1 $y1 pause 1 do talknpc 181 104 c r0 n pause 1 do plugin load telesearchV3 do conf attackAuto 0 do conf route_randomWalk 0 do conf lockMap pay_fild02 do conf saveMap_warpToBuyOrSell 1 do conf saveMap payon do conf skillsAddAuto 1 do conf skillsAddAuto_list AL_RUWACH 1, AL_TELEPORT 2, AL_HEAL 3, AL_INCAGI 10, AL_DP 5, AL_BLESSING 10 do conf statsAddAuto 1 do conf statsAddAuto_dontUseBonus 1 do conf statsAddAuto_list 15 dex, int 23, 50 str, int 40 do conf sellAuto 1 do conf sellAuto_npc payon 159 96 do conf storageAuto 1 do conf storageAuto_npc payon 181 104 do conf storageAuto_npc_steps c r1 do conf itemsMaxWeight_sellOrStore 69 do conf saveMap_warpToBuyOrSell 1 do iconf 601 0 0 1 $t = @random("3","6","9","15") pause $t do ai auto release MapChangeToStraw } automacro Blessing { location pay_fild02 status not Blessing job > 27 sp > 40% delay 20 run-once 1 call { do ss 34 release all } } ####################### Tread ############################### automacro autostoragemap { inventory "Strawberry" >= 50 location pay_fild02 exclusive 1 call { do respawn pause 3 release all } } automacro autostorage1 { inventory "Strawberry" >= 50 location payon exclusive 1 call { pause 1 do ai manual $player = notviaimp $pl = @player ($player) pause 1 do deal $pl pause 1 goto Check :Check $player = notviaimp $pl = @player ($player) do deal $pl $item1 = Strawberry $i1 = @Inventory ($item1) $invA = @invamount (Strawberry) if ($invA >= 1) goto oke1 goto bukan :oke1 pause 0.5 do deal add $i1 goto Check :bukan if ($.zeny >= 20000) { $zenyToGive = @eval($.zeny - 8000) do deal add z $zenyToGive } pause 1 do deal pause 1 do deal pause 1 do deal do ai on pause 1 $x1 = @rand(154, 164) $y1 = @rand(88, 95) do move $x1 $y1 pause 1 do talknpc 159 96 s pause 1.5 Selling() pause 1 do sell done pause 1 $lv = $.lvl if ($lv >= 30) { do talknpc 159 96 b pause 1.5 do buy 5 2 } else { do talknpc 159 96 b pause 1.5 do buy 5 1 } $job = $.joblvl if ($job >= 19) { do talknpc 159 96 b pause 1.5 do buy 15 1 } do ai auto do ai on pause 1 release all } } ######################## Memo ######################## automacro WarpToMap { hook AI/lockMap location payon job >= 19 eval $::field->isCity == 1 inventory "Blue Gemstone" >= 1 class Acolyte overrideAI 1 call OpenWarp } macro OpenWarp { do ai manual do tele pause 2.5 do eval AI::clear("move", "route"); $x = @arg("$.pos", 1) $y = @arg("$.pos", 2) $x0 = @eval($x + @rand(1,3)) $x1 = @eval($x - @rand(1,3)) $y0 = @eval($y - @rand(1,3)) $randomWarp = @random("$x0", "$x1") $y0 do sl 27 $randomWarp pause 3 $Warp = pay_fild02 #ใส่แมพที่จะวาปไป ที่ memo ไว้แล้ว do warp $Warp pause 2 do move $randomWarp pause 1 do ai auto release all } ######################## Memo ######################## automacro memo { job >= 19 location pay_fild02 exclusive 1 timeout 300 call { do memo release all } } ######################## card ######################## automacro card { inventory "Snake Card" >= 1 equipped rightHand Novice Mace [3] location pay_fild02 exclusive 1 timeout 320 call { do ai manual pause 1 do uneq Novice Mace [3] pause 1 $card = @inventory (Snake Card) $Mace = @inventory (Novice Mace [3]) pause 1 do card use $card pause 1 do card merge $Mace pause 1 do eq $Mace pause 1 do ai auto do ai on release all } } ######################## card1 ######################## automacro card1 { inventory "Snake Card" >= 1 equipped rightHand Novice Mace [Snake] [3] location pay_fild02 exclusive 1 timeout 320 call { do ai manual pause 1 do uneq Novice Mace [Snake] [3] pause 1 $card = @inventory (Snake Card) $Mace = @inventory (Novice Mace [Snake] [3]) pause 1 do card use $card pause 1 do card merge $Mace pause 1 do eq $Mace pause 1 do ai auto do ai on release all } } ######################## card2 ######################## automacro card2 { inventory "Snake Card" >= 1 equipped rightHand Novice Mace [Snake*1] [3] location pay_fild02 exclusive 1 timeout 320 call { do ai manual pause 1 do uneq Novice Mace [Snake*1] [3] pause 1 $card = @inventory (Snake Card) $Mace = @inventory (Novice Mace [Snake*1] [3]) pause 1 do card use $card pause 1 do card merge $Mace pause 1 do eq $Mace pause 1 do ai auto do ai on release all } } ######################## card3 ######################## automacro card3 { inventory "Snake Card" >= 1 equipped rightHand Novice Mace [Snake*2] [3] location pay_fild02 exclusive 1 timeout 320 call { do ai manual pause 1 do uneq Novice Mace [Snake*2] [3] pause 1 $card = @inventory (Snake Card) $Mace = @inventory (Novice Mace [Snake*2] [3]) pause 1 do card use $card pause 1 do card merge $Mace pause 1 do eq $Mace pause 1 do ai auto do ai on release all } } ######################## Subroutine ######################## sub Selling { foreach my $item (@{$char->inventory}) { if ($item->{equipped} == 0) { my $control = Misc::items_control ($item->{name}, $item->{nameID}); if ($control->{sell} == 1) { my $qty = $item->{amount} - $control->{keep}; if ($qty> 0) { giveItem($item->{binID}, $qty); } } } } } sub giveItem { my ($index, $qty) = @_; my $cmd = sprintf("sell %d %d", $index, $qty); Commands::run($cmd); }