procedure BattleStarted; begin CheckDisconnect; end;
procedure MyAttack; var m : TCombatMonster; n : byte; sk : string; begin m := Combat.FindBestMonster; n := Combat.Size; sk := 'มือเปล่า'; if (MyPlayer.Hp < 0.25*MyPlayer.MaxHp) or (MyPartner.Hp < 0.25*MyPartner.MaxHp) then begin if (MyPlayer.Sp > 10) then SendAttack(MyPlayer.Row,MyPlayer.Col,MyPlayer.Row,MyPlayer.Col,'วิชาหลบหนี') else SendAttack(MyPlayer.Row,MyPlayer.Col,MyPlayer.Row,MyPlayer.Col,'หลบหนี'); end; if ((SwapUse = 1) and (n = 1) and (m.hp > MyDamage)) then SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk) else if ((SwapUse = 1) and (n = 1) and (m.hp < MyDamage)) then begin SwapLucky('on'); AlreadySwap := 1; end; if ((SwapUse = 1) and (n = 1) and (m.hp < MyDamage) and (AlreadySwap = 1)) then begin sk := 'ป้องกัน'; SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk); end; if (SwapUse = 0) or (n >1) then begin sk := 'มือเปล่า'; SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk); end; end;
procedure MyPartnerAttack; var m: TCombatMonster; n : byte; sk : string; begin m := Combat.FindBestMonster; n := Combat.Size; sk := 'มือเปล่า'; if ((SwapUse = 1) and (n = 1)) then begin if(m.hp > MyDamage) then begin sk := 'ป้องกัน'; end else begin sk := 'มือเปล่า'; end; end; SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,sk); end;
procedure BattleStoped; begin AlreadySwap := 0; SwapLucky('off'); if (MyPlayer.Sp < 0.25*MyPlayer.MaxSp) or (MyPartner.Sp < 0.25*MyPartner.MaxSp) then begin AutoEat; end; if (MyPlayer.Hp < 0.50*MyPlayer.MaxHp) or (MyPartner.Hp < 0.50*MyPartner.MaxHp) then begin AutoEat; AutoHeal; end; end;
procedure SwapLucky(taketype :string); var slotno,LuckyStatus : Byte; Slot: TMyItem; begin slotno := 25; Slot := MyItems[slotno];
if (taketype = 'on') then begin Equip(slotno,0); LuckyStatus := 1; Echo('ใส่ '+Slot.name+' เรียบร้อย',clBlack); end;
if (taketype = 'off') then begin if (LuckyStatus = 1) then begin Equip(slotno,0); LuckyStatus := 0; Echo('ถอด '+Slot.name+' เรียบร้อย',clBlack); end; end;
if (taketype = 'logon') then begin if (Slot.Id = 23024) then begin SwapUse := 0; Echo('[รายงาน] : ตราพังแล้ว กลับไปใช้ระบบปกติ!',clBlack); end else if ((Slot.Id <> 23085) and (Slot.Id <> 23023)) then begin Equip(slotno,0); Echo('ใส่ไอเท็มไม่ถูกต้อง มีการเปลี่ยนแปลง',clBlack); Echo('ถอด '+Slot.name+' เรียบร้อย',clBlack); Echo('เกมจะ Disconect และจะ Reconect อีกประมาณ 5 วินาที ถ้าคุณเลือก Auto Reconnect',clBlack); Delay(1000); Reconnect(5); end else begin Echo('ใส่ไอเท็มถูกต้อง ไม่มีการเปลี่ยนแปลง',clBlack); end; end; end;
procedure CheckDisconnect; begin if (MyPlayer.Hp < 0.25*MyPlayer.MaxHp) or (MyPartner.Hp < 0.25*MyPartner.MaxHp) then begin Echo('AutoHeal : เติมเลือดด่วน ไม่พอเลี้ยงชีพแล้ว !!',clBlack); AutoHeal; AutoEat; if (MyPlayer.Hp < 0.10*MyPlayer.MaxHp) or (MyPartner.Hp < 0.10*MyPartner.MaxHp) then Echo('Disconnected : เลือดไม่พอเลี้ยงชีพแล้ว !!',clBlack); Disconnect; end; if (MyPartner.Fai < PartnerFai) then begin Echo('Disconnected : ขุนพลซื้อสัตย์ต่ำกว่าที่กำหนด !!',clBlack); Disconnect; end; end;