Here it is, it works. I am not sure if this bot version is already psoted, could someone shout me a yell and tell me?
Thanks
/WHAT THIS BOT DOES:
/* Hunts 3 types of mobs if the first is gone it will move onto the seccond and etc. /* Uses specified skills, auras, and curses /* Picks up to 2 different items after a mob kill /* Rests if HP falls bellow a preset percentage /* Drinks potion if HP falls bellow a preset percentage /* Revives self if dead /* Restarts when disconnected /* Detects agro'd mobs and kills them /* Attempts to move around if stuck or all enemies are exhausted /* Accepts or joins party invitations /* Automatically Declines trade requests
/TO USE: /1. Paste script into ACTool 4.5.6 NON-BETA /2. Set up CONFIG area bellow /3. Start Lineage II and configure it to run at 800x600x16 resolution with the default positions for everything (Use the Interface button to reset) with enter-chat ENABLED! /4. Login and set up your charecter to be in the area you would like to hunt in /5. Alt-Tab out and click start
/Code: /////////////////////////////////////////////////////// ////////////////////CONFIG START/////////////////////// ///////////////////////////////////////////////////////
//NOTE: be sure not to have a space after the equals sign for typed commands. // DO NOT USE {F10} ACTools cannot press it properly!!
AutoRespawn =True //Set this to False if you dont want to automatically respawn (No need to fill out rest of this section if you disable it) Username =YOURUSERNAME //Your Username Password =YOURPASSWORD //Your Password ServerNumber =4 //The number on the left corresponding to your server (EG #1 is Bartz) CharecterPosition =2 //The Position of your charecter in the charecter selection menu LoginDelay =500 //delay between clicking login button (500 = 1/2 seccond) StartupDelay =35 sec //How long it takes to start Lineage II LoadingDelay =15 sec //How long it takes to load the world ApplicationPath = D:\games\Lineage II\System\L2.exe //Path to L2.exe
AcceptPartyInvite = False //Accept or decline party invitations
HPPercentRest = 70 //At what percent HP do you want to rest MPPercentRest = $HPPercentRest //At what percent MP do you want to rest HPPercentPotion = 25 //At what percent HP do you want to consume a potion HPPercentAttack = 70 //At what percent HP do you want to be able to attack MPPercentAttack = $HPPercentRest //At what percent MP do you want to be able to attack
Target1 ={F5} //Set this to your nearest target hotkey to target possible agro (you really dont want to change this to anything else or you WILL die) Target2 =/target [balor orc fighter] //Primary target you want to attack Target3 =/target [forest walking fungus] //Fail safe target, do you really want to idle while creatures spawn?
Attack =/attack //Key or Command bound to the normal attack you want to use (Mages: set this to {null} and use Special and SpecialDelay)
FirstStrikeSpecial ={NULL} //First strike special such a curse
AttackSpecial ={F4} //In-Attack/combat skill. If you are not going to use set to {NULL} AttackSpecialDelay =2000 //How often to check if you can cast If you are not going to use set to 0 or above [ Best to leave at 2000 for any skill ]
aura ={F6} //Aura/Non-combat skill. If you are not going to use **set to {NULL} AuraDelay =10 min //How often should the aura be cast. If you are not going to use set to 0 or above [ Set to the time in MS it takes for you aura to expire AuraCastTime =11 sec //how long does it take to cast the aura
Pickup =/pickup //Key or Command bound to pickup Potion ={F9} //Key bound to ANY KIND of potions
/////////////////////////////////////////////////////// ////////////////////CONFIG END///////////////////////// ///////////////////////////////////////////////////////
//WARNING: EDITING ANYTHING BELLOW THIS LINE SHOULD NOT BE DONE UNLESS YOU KNOW WHAT YOU ARE DOING!!
//Places cbar = 50, 557 targetx = 457, 0
fhealth = 125,25 mhealth = 81, 25 lhealth = 43, 25
fmana = 125, 38 mmana = 81, 38 lmana = 43, 38
fthealth = 447, 21 mthealth = 390, 21 lthealth = 326, 21
ftmana = 444, 25 mtmana = 390, 25 ltmana = 321, 25
//Definitions
HadDied = False IsAttacking = False IsResting = False CanRest = True m_needauracast = True m_canrest = True
Returned = 0 Output = 0 m_health = 0 m_mana = 0 m_battacked = 0 m_thealth = 0 m_thcount = 0 m_thvalue = 0
attackendHP = 0
//Temporary Variables i=0 tmpvar1 = 0 tmpvar2 = 0 tmpvar3 = 0 x = {null} y = {null}
END
//PROGRAM ENTRY POINT
SETActiveWindow Lineage II delay 5 sec objvar 10 //call respawn
While 1=1
CALL MainLoop ProcessMessages Delay 2500 TimeStamp CONTINUE() continue END
Procedure MainLoop
////PREP CALL GetHealth SET $m_health = $returned CALL GetMana SET $m_mana = $returned
Call IsParty Call IsTrade
IF $m_health <= 0 CALL IsDead END
if $m_health <= 25 call drinkpotion END
CALL BeingAttacked SET $m_battacked = $returned ////END PREP
IF $IsAttacking = True
CALL GetTargetHealth SET $m_thealth = $returned
IF $returned <= 0 Timestamp Creature Gone! CALL Pickup SET IsAttacking = False END
IF $m_thealth = $m_thvalue compute m_thcount = $m_thcount + 1 ELSE SET m_thcount = 0 SET m_thvalue = $m_thealth END
IF $m_thcount >= 6 Timestamp Creature Attack Timeout Occured Relocating SET m_thcount = 0 SET m_thvalue = 0 SET IsAttacking = False keys {ESC} CALL RandomMove END
END//ISATTACKING
IF $IsResting = True IF $m_mana >= $MPPercentAttack AND $m_health >= $HPPercentAttack CALL L2Say /stand delay 1 Sec set HadDied = False SET $IsResting = False
END
END//RESTING
IF $IsResting = False AND $IsAttacking = False TimeStamp Starting Next RF&AF if $m_needauracast = True AND $canRest = True set $m_needauracast = False Call CastAura END IF $m_health >= $HPPercentAttack CALL Attack END IF $m_health < $HPPercentRest OR $m_mana < $MPPercentRest TimeStamp Rest Needed! If $CanRest=True CALL Rest Else Timestamp Cant Rest! Maybe Under Attack! set $m_CanRest = True set $CanRest=True Call Attack True END END
END//RF&AF
END//MAINLOOP
/////////////////// /////TRIGGERS////// /////////////////// Procedure CastAttackSpecial every $AttackSpecialDelay IF $AttackSpecialDelay=0 OR $AttackSpecial={null} OR $hadDied=True exit ELSE if $IsAttacking = True
timestamp Casting AttackSpecial call l2say $AttackSpecial END END END
Procedure CastAura every $auraDelay IF $auraDelay=0 OR $aura={NULL} OR $hadDied=True exit ELSE if $isAttacking=False AND $isResting=False AND $CanRest=True timestamp Casting Aura set m_needauracast = False call l2say $aura delay $AuraCastTime set m_needauracast = False EXIT else set m_needauracast = True END END END
Procedure IsAttacked when $attackendHP > $m_health if $hadDied = True Exit END if $isattacking = False timestamp MOST DEFINATELY BEING ATTACKED call l2say /stand call Attack True END END Procedure SubIsAttacked when $attackendHP < $m_health set attackendHP = $m_health END //////////////////////// ////HELPER FUNCTIONS//// //////////////////////// Procedure IsParty IsObject PartyButton at 374, 567 If $AcceptPartyInvite = True MousePos 403, 580 ELSE MousePos 491, 579 END LeftMouseDown delay 50 LeftMouseUp TimeStamp Party Invitation Recieved delay 200 END End
Procedure IsTrade IsObject TradeButton at 388, 574 MousePos 491, 579 LeftMouseDown delay 50 LeftMouseUp TimeStamp Trade Invitation Recieved delay 200 END END
Procedure IsDisconnected IsObject ButtonDisconnected at 384, 321 TimeStamp DISCONNECTED MousePos 384, 321 delay 250 LeftMouseDown delay 50 LeftMouseUp if $AutoRespawn = True Call Respawn END END END
Procedure IsDead IsObject ResButton at 353, 245 TimeStamp DEAD if $AutoRespawn = True set HadDied = True delay 20 sec keys x delay 250 MousePos 684, 338 LeftMouseDown delay 50 LeftMouseUp delay 250 MousePos 400, 251 LeftMouseDown delay 50 LeftMouseUp delay 450 MousePos 358, 326 LeftMouseDown delay 50 LeftMouseUp delay 5 sec
Call Respawn ELse STOP END End END
Procedure Pickup set attackendHP = $m_health TimeStamp PICKUP() delay 1 sec CALL L2say $pickup delay 1 sec CALL L2Say $pickup delay 1 sec END
Procedure RandomMove TimeStamp RANDOMMOVE() keys {ESC} compute $returned = Random(X) * 10 keydown {RIGHT} $returned sec compute $returned = Random(X) * 15 keydown {UP} $returned sec END
Procedure Attack using force TimeStamp ATTACK() $force SET $IsAttacking = True if $force <> True CALL L2Say $target3 CALL L2Say $target2 END CALL L2Say $target1
call GetTargetHealth
if $returned > 97 OR $force = True call l2say $FirstStrikeSpecial delay 500 CALL L2Say $attack set CanRest = True else set $IsAttacking = False END END
Procedure Rest TimeStamp REST() set m_canrest = False CALL L2Say /sit SET IsResting = True END
Procedure DrinkPotion TimeStamp DrinkPotion() CALL L2Say $potion if $m_canrest = false Set CanRest = False end (* if $IsAttacking = False set IsResting = False Call L2Say /stand Call Attack True END *) END
Procedure L2Say using Text strlen tmpvar1 = $text if $text={null} or $tmpvar1=0 exit END TimeStamp L2Say( $tmpvar1 ): $Text strcopy $tmpvar1 = $text, 1, 1 AsciiChar $tmpvar2, 123
if $tmpvar1 = $tmpvar2
keys $text else
keys {return} delay 50 keys $Text delay 50 keys {return} delay 50 END END
Procedure BeingAttacked //TODO SET $Returned = False END
//////////////////// //HEALTH FUNCTIONS// //////////////////// Procedure GetHealth while 1=1 CALL GetHealthSub SET $tmpvar1 = $returned CALL GetHealthSub SET $tmpvar2 = $returned CALL GetHealthSub SET $tmpvar3 = $returned IF $tmpvar1 = $tmpvar2 AND $tmpvar2 = $tmpvar3 SET $returned = $tmpvar1 TimeStamp GetHealth(): $returned BREAK END END END Procedure GetMana while 1=1 CALL GetManaSub SET $tmpvar1 = $returned CALL GetManaSub SET $tmpvar2 = $returned CALL GetManaSub SET $tmpvar3 = $returned IF $tmpvar1 = $tmpvar2 AND $tmpvar2 = $tmpvar3 SET $returned = $tmpvar1 TimeStamp GetMana(): $returned BREAK END END END Procedure GetTargetHealth while 1=1 CALL GetTargetHealthSub SET $tmpvar1 = $returned CALL GetTargetHealthSub SET $tmpvar2 = $returned CALL GetTargetHealthSub SET $tmpvar3 = $returned IF $tmpvar1 = $tmpvar2 AND $tmpvar2 = $tmpvar3 SET $returned = $tmpvar1 TimeStamp GetTargetHealth(): $returned BREAK END END END Procedure GetTargetMana while 1=1 CALL GetTargetManaSub SET $tmpvar1 = $returned CALL GetTargetManaSub SET $tmpvar2 = $returned CALL GetTargetManaSub SET $tmpvar3 = $returned IF $tmpvar1 = $tmpvar2 AND $tmpvar2 = $tmpvar3 SET $returned = $tmpvar1 TimeStamp GetTargetMana(): $returned BREAK END END END
Procedure GetHealthSub compute i = 14 compute output = 0 while $i<=132 LoadRGB $i,25 if {RGBRED} > 200 set output = $i END compute i = $i+1 END if $output >= 14 compute output = $output - 14 END compute output = int ( ( $output / 118 ) * 100 ) set $returned = $output //Timestamp GetHealth(): % $output END
Procedure GetManaSub compute i = 14 compute output = 0 while $i<=132 LoadRGB $i,38 if {RGBBLUE} > 200 set output = $i END compute i = $i+1 END if $output >= 14 compute output = $output - 14 END compute output = int ( ( $output / 118 ) * 100 ) set $returned = $output //Timestamp GetMana(): % $output END
Procedure GetTargetHealthSub compute i = 320 compute output = 0 while $i<=449 LoadRGB $i, 19 if {RGBRED} > 200 set output = $i END compute i = $i+1 END if $output >= 320 compute output = $output - 320 END compute output = int ( ( $output / 129 ) * 100 ) set $returned = $output //Timestamp GetTargetHealth(): % $output END
Procedure GetTargetManaSub compute i = 320 compute output = 0 while $i<=449 LoadRGB $i, 26 if {RGBBLUE} > 200 set output = $i END compute i = $i+1 END if $output >= 320 compute output = $output - 320 END compute output = int ( ( $output / 129 ) * 100 ) set $returned = $output //Timestamp GetTargetMana(): % $output END
////////////////////////////////////////////////////////////// ////////////////////RESPAWN COMMANDS////////////////////////// ////////////////////////////////////////////////////////////// Procedure Respawn using HasBounced
//Code taken and modified from L2RRAL By Me (Sirusdv) if $HasBounced <> True ExecProgram $ApplicationPath delay $StartupDelay SetActiveWindow Lineage II
//Select Username Dialog compute x = ( {WindowWidth} / 2 ) compute y = ( ( {WindowHeight} / 2 ) - 40 ) MousePos $x, $y
LeftMouseDown delay 50 LeftMouseUp delay 250
//Enter Data Into Login keys $Username delay 250 END keys {TAB} delay 250 keys $Password
//Login With Username and Password WHILE 1 = 1 compute x = ( {WindowWidth} / 2 ) compute y = ( {WindowHeight} / 2 - 75 )
IsObject LoginButton at 337, 325 keys {RETURN} delay $LoginDelay ELSE BREAK END End
//Get Past News Window delay 2 sec compute x = ( {WindowWidth} / 2 )
compute y = ( {WindowHeight} / 2 + 170 ) MousePos $x, $y LeftMouseDown LeftMouseUp
//Select The Server delay 2 sec compute x = ( ( {WindowWidth} - 300 ) / 2 ) + 50 compute y = ( ( {WindowHeight} - 410 ) / 2 ) + 35 + ( 15 * $ServerNumber )
MousePos $x, $y LeftMouseDown LeftMouseUp delay 50 LeftMouseDown LeftMouseUp
delay 4 sec
//Check if bounced back to main window IsObject LoginButton at 337, 325 Call Respawn True End if $HasBounced = True EXIT END
//Select Charecter MousePos 185, 43 LeftMouseDown LeftMouseUp
delay 2 sec
compute y = ( $CharecterPosition * 7 ) + 52 MousePos 74, $y LeftMouseDown delay 50 LeftMouseUp
delay 1 sec MousePos 720, 432 LeftMouseDown delay 50 LeftMouseUp
delay $loadingdelay
//Cleanup after the death set HadDied = False set IsAttacking = False set IsResting = False set CanRest = True set m_needauracast = True set m_canrest = True
call l2say /stand call pickup call rest
End
////////////////// /////OBJECTS////// //////////////////
Object ResButton //353, 245 72=0,0|244=0,2|244=0,4|244=0,6|244=0,8 244=2,2 244=6,4 244=8,4 244=16,4|244=16,6|244=16,8 244=18,4 244=20,6|244=20,8 244=24,4|244=24,6 End
Object LoginButton // Test at coords 337, 325 24=0,0|24=2,0|24=4,0|24=6,0|24=8,0|24=10,0|24=12,0|24=14,0|24=16,0|24=18,0|24=20,0|24=22,0|24=24,0|24=26,0|24=28,0|24=30,0|24=32,0|24=34,0|24=36,0|24=38,0| 24=0,2|24=2,2|24=4,2|24=6,2|24=8,2|24=10,2|24=12,2|24=14,2|24=16,2|24=18,2|24=20,2|24=22,2|24=24,2|24=26,2|24=28,2|24=30,2|24=32,2|24=34,2|24=36,2|24=38,2| 24=0,4|24=2,4|24=4,4|32=6,4|24=8,4|24=10,4|24=12,4|24=14,4|24=16,4|24=18,4|24=20,4|24=22,4|24=24,4|24=26,4|24=28,4|32=30,4|24=32,4|24=34,4|24=36,4|24=38,4| 32=0,6|32=2,6|32=4,6|36=6,6|32=8,6|32=10,6|40=12,6|40=14,6|40=16,6|244=18,6|40=20,6|244=22,6|32=24,6|32=26,6|32=28,6|36=30,6|244=32,6|40=34,6|244=36,6|32=38,6| 40=0,8|40=2,8|40=4,8|44=6,8|40=8,8|40=10,8|40=12,8|40=14,8|44=16,8|244=18,8|40=20,8|244=22,8|40=24,8|40=26,8|40=28,8|44=30,8|244=32,8|40=34,8|244=36,8|40=38,8| 48=0,10|48=2,10|48=4,10|248=6,10|248=8,10|48=10,10|244=12,10|244=14,10|48=16,10|48=18,10|48=20,10|244=22,10|48=24,10|48=26,10|48=28,10|48=30,10|244=32,10|48=34,10|244=36,10|48=38,10| 48=0,12|48=2,12|48=4,12|48=6,12|48=8,12|48=10,12|48=12,12|48=14,12|48=16,12|48=18,12|244=20,12|48=22,12|48=24,12|48=26,12|48=28,12|48=30,12|48=32,12|48=34,12|48=36,12|48=38,12| End
Object ButtonDisconnected // Test at coords 384, 321 24=0,0|24=2,0|24=4,0|24=6,0|24=8,0|24=10,0|24=12,0|24=14,0|24=16,0|24=18,0|24=20,0|24=22,0|24=24,0|24=26,0|24=28,0|24=30,0|24=32,0|24=34,0|24=36,0|24=38,0|24=40,0|24=42,0| 24=0,2|24=2,2|33=4,2|33=6,2|33=8,2|24=10,2|24=12,2|24=14,2|24=16,2|24=18,2|24=20,2|24=22,2|24=24,2|33=26,2|33=28,2|24=30,2|24=32,2|24=34,2|24=36,2|24=38,2|24=40,2|24=42,2| 33=0,4|255=2,4|33=4,4|33=6,4|33=8,4|247=10,4|41=12,4|247=14,4|33=16,4|41=18,4|41=20,4|36=22,4|36=24,4|36=26,4|255=28,4|33=30,4|36=32,4|33=34,4|41=36,4|247=38,4|41=40,4|36=42,4| 41=0,6|255=2,6|41=4,6|41=6,6|41=8,6|255=10,6|36=12,6|255=14,6|41=16,6|44=18,6|41=20,6|44=22,6|41=24,6|44=26,6|255=28,6|41=30,6|44=32,6|41=34,6|44=36,6|255=38,6|41=40,6|44=42,6| 49=0,8|49=2,8|255=4,8|255=6,8|49=8,8|49=10,8|247=12,8|49=14,8|49=16,8|49=18,8|49=20,8|49=22,8|49=24,8|49=26,8|255=28,8|49=30,8|49=32,8|49=34,8|49=36,8|255=38,8|49=40,8|49=42,8| End Object TradeButton // Test at coords 388, 574 24=0,0|24=2,0|24=4,0|24=6,0|24=8,0|24=10,0|24=12,0|24=14,0|24=16,0|24=18,0|24=20,0|24=22,0|24=24,0|24=26,0|24=28,0|24=30,0|24=32,0|24=34,0|24=36,0|24=38,0| 24=0,2|24=2,2|24=4,2|24=6,2|32=8,2|32=10,2|24=12,2|24=14,2|24=16,2|24=18,2|24=20,2|24=22,2|24=24,2|24=26,2|24=28,2|24=30,2|24=32,2|24=34,2|24=36,2|24=38,2| 28=0,4|28=2,4|28=4,4|28=6,4|28=8,4|248=10,4|28=12,4|248=14,4|28=16,4|244=18,4|244=20,4|28=22,4|28=24,4|244=26,4|36=28,4|28=30,4|28=32,4|28=34,4|28=36,4|28=38,4| 32=0,6|32=2,6|32=4,6|32=6,6|32=8,6|32=10,6|248=12,6|36=14,6|32=16,6|244=18,6|244=20,6|36=22,6|40=24,6|244=26,6|40=28,6|32=30,6|32=32,6|32=34,6|32=36,6|32=38,6| 40=0,8|40=2,8|40=4,8|40=6,8|40=8,8|40=10,8|248=12,8|40=14,8|40=16,8|44=18,8|40=20,8|44=22,8|244=24,8|40=26,8|244=28,8|40=30,8|40=32,8|40=34,8|40=36,8|40=38,8| 48=0,10|48=2,10|48=4,10|48=6,10|48=8,10|48=10,10|48=12,10|48=14,10|48=16,10|48=18,10|48=20,10|48=22,10|48=24,10|48=26,10|48=28,10|48=30,10|48=32,10|48=34,10|48=36,10|48=38,10| End Object PartyButton // Test at coords 374, 567 248=56,0| 248=6,2|248=24,2|248=42,2| 160=0,4|160=2,4|152=4,4|64=6,4|80=8,4|80=10,4|80=12,4|80=14,4|80=16,4|80=18,4|80=20,4|80=22,4|80=24,4|80=26,4|80=28,4|80=30,4|80=32,4|80=34,4|80=36,4|80=38,4|80=40,4|80=42,4|80=44,4|80=46,4|80=48,4|80=50,4|80=52,4|80=54,4|80=56,4|80=58,4|64=60,4|152=62,4| 72=0,6|160=2,6|24=4,6|24=6,6|24=8,6|24=10,6|24=12,6|24=14,6|24=16,6|24=18,6|24=20,6|24=22,6|24=24,6|24=26,6|24=28,6|24=30,6|24=32,6|24=34,6|24=36,6|24=38,6|24=40,6|24=42,6|24=44,6|24=46,6|24=48,6|24=50,6|24=52,6|24=54,6|24=56,6|24=58,6|24=60,6|24=62,6| 32=0,8|100=2,8|24=4,8|24=6,8|24=8,8|24=10,8|24=12,8|24=14,8|24=16,8|24=18,8|24=20,8|24=22,8|24=24,8|24=26,8|24=28,8|24=30,8|24=32,8|24=34,8|24=36,8|24=38,8|24=40,8|24=42,8|24=44,8|24=46,8|24=48,8|24=50,8|24=52,8|24=54,8|24=56,8|24=58,8|24=60,8|24=62,8| 32=0,10|76=2,10|28=4,10|24=6,10|24=8,10|24=10,10|24=12,10|24=14,10|24=16,10|24=18,10|24=20,10|32=22,10|32=24,10|24=26,10|24=28,10|24=30,10|24=32,10|24=34,10|24=36,10|24=38,10|24=40,10|24=42,10|24=44,10|24=46,10|24=48,10|24=50,10|24=52,10|24=54,10|24=56,10|24=58,10|24=60,10|28=62,10| 44=0,12|80=2,12|36=4,12|32=6,12|32=8,12|32=10,12|32=12,12|32=14,12|32=16,12|32=18,12|32=20,12|32=22,12|36=24,12|36=26,12|36=28,12|32=30,12|40=32,12|40=34,12|36=36,12|244=38,12|40=40,12|244=42,12|32=44,12|32=46,12|32=48,12|32=50,12|32=52,12|32=54,12|32=56,12|32=58,12|28=60,12|32=62,12| 28=0,14|80=2,14|40=4,14|36=6,14|36=8,14|40=10,14|40=12,14|40=14,14|40=16,14|40=18,14|40=20,14|36=22,14|36=24,14|248=26,14|40=28,14|40=30,14|44=32,14|44=34,14|44=36,14|40=38,14|44=40,14|44=42,14|40=44,14|40=46,14|40=48,14|40=50,14|40=52,14|40=54,14|40=56,14|36=58,14|40=60,14|40=62,14| 24=0,16|56=2,16|48=4,16|44=6,16|48=8,16|48=10,16|48=12,16|48=14,16|48=16,16|48=18,16|48=20,16|48=22,16|48=24,16|248=26,16|48=28,16|48=30,16|244=32,16|244=34,16|48=36,16|48=38,16|244=40,16|48=42,16|48=44,16|48=46,16|48=48,16|48=50,16|48=52,16|48=54,16|48=56,16|48=58,16|40=60,16|48=62,16| 24=0,18|56=2,18|56=4,18|48=6,18|48=8,18|48=10,18|48=12,18|48=14,18|48=16,18|48=18,18|48=20,18|48=22,18|48=24,18|48=26,18|48=28,18|48=30,18|48=32,18|48=34,18|48=36,18|48=38,18|48=40,18|48=42,18|48=44,18|48=46,18|48=48,18|48=50,18|48=52,18|48=54,18|48=56,18|48=58,18|48=60,18|56=62,18| End
|