ส่วนที่เพิ่มเข้ามา
- parnerfai / เช็คซื่อขุน (เพิ่งเอามาใส่ตอนแรกคิดว่าไม่สำคัญแต่เจอกับตัวขุนแทบหนี)
- islag / หลังล็อกออน 1 นาทีถ้าไม่มีการต่อสู้ให้ทำการ reconnect เหตุการณ์นี้เจอบ่อยๆ
คือตื่นมาบางตัวไม่เข้าตี้ เข้าตี้ครบแต่บอทยัง waiting อยู่ (credit:kornroom99)
- ClickNpc() เพิ่มให้ดูด npc 2 จุดได้เร็วขึ้น (ในกรณีแมพนั้นเดินทับกัน)
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
PartnerFai:= 100; // แก้ไขค่าความซื่อสัตย์
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
Procedure OnTimer;
begin
ClickNpc(4); //เลข npc ที่ต้องการให้คลิกทั้ง2จุด
ClickNpc(2);
Inc(isLag);
if (isLag mod 60) = 0 then Reconnect(5);
end;
procedure LogOn;
begin
Point1X := 462;
Point1Y := 975; จุดเดินที่ 1แกน x y
Point2X := 402;
Point2Y := 575; จุดเดินที่ 2 แกน x y
Walk(122,735); จุดข้างแผนที่ที่จะให้บอทไปยืนรอปาร์ตี้เมื่อบอทหลุดหรือปาร์ตี้ไม่ครบ
end;
procedure PartyReady;
begin
echoChat('พร้อมเดิน',clRed);
Horse;
walk(462,975); เมื่อปาร์ตี้ครบบอทจะเดินไปยังจุดแรก
end;
procedure BattleStoped;
begin
if (not MyParty.isReady) then
begin
Walk(122,735); เมื่อบอทหลุดหรือปาร์ตี้ไม่ครบบอทจะไปยังข้างแผนที่
end;
var PartnerFai: Byte;
var isLag: Integer;
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
PartnerFai:= 100;
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
procedure LogOn;
begin
Point1X := 602;
Point1Y := 895;
Point2X := 922;
Point2Y := 875;
Walk(182,1035);
isLag := 0;
end;
procedure PartyReady;
begin
echoChat('พร้อมเดิน',clRed);
Horse;
walk(602,895);
end;
procedure BattleStarted;
begin
CheckDisconnect;
end;
Procedure OnTimer;
begin
ClickNpc(4);
ClickNpc(2);
Inc(isLag);
if (isLag mod 60) = 0 then Reconnect(5);
end;
procedure MyAttack;
var m : TCombatMonster;
n : byte;
sk : string;
begin
m := Combat.FindF1Monster;
n := Combat.Size;
sk := 'ยิงก้อนหิน';
if (MyPlayer.Hp < 0.25*MyPlayer.MaxHp) or (MyPartner.Hp < 0.25*MyPartner.MaxHp) or (not MyParty.isReady) 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
else
SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk);
end;
procedure MyPartnerAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure BattleStoped;
begin
isLag := 0;
if (not MyParty.isReady) then
begin
Walk(182,1035);
end;
if (MyPlayer.Sp < 0.25*MyPlayer.MaxSp) or (MyPartner.Sp < 0.25*MyPartner.MaxSp) then
begin
AutoEat;
AutoHeal;
end;
if (MyPlayer.Hp > 0.75*MyPlayer.MaxHp) or (MyPartner.Hp > 0.75*MyPartner.MaxHp) then
begin
Echo('เดิน',clRed);
if (MyPlayer.X = Point1X) and (MyPlayer.Y = Point1Y)
then Walk(Point2X,Point2Y)
else Walk(Point1X,Point1Y);
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;
begin
Init;
end.