ปล.เควสที่เป็น warp นะครับแบบคลิกบอทไม่ได้
สคริปเควสจะมีอยู่ 2 แบบคือ แบบคนเดียวกับแบบเป็นปาตี้
ดูจากรูปการทำงานของ kornbot ส่วนของสคริปแบบเควส จะแบ่งเป็น2ส่วน
1.kornscript
2.quest script
สคริปหลักแบบคนเดียว ตัวอย่างแบบง่าย
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
SetIsCB('สาลี่พลังปราณ');
echoChat('koRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
procedure MyAttack;
var m: TCombatMonster;
sk: String;
begin
m := Combat.FindBestMonster;
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 (MyPlayer.Sp > 28)
then sk := 'มือเปล่า'
else sk := 'มือเปล่า';
SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk);
end;
procedure MyPartnerAttack;
var m: TCombatMonster;
sk: String;
begin
m := Combat.FindBestMonster;
if (MyPartner.Sp > 28)
then sk := 'มือเปล่า'
else sk := 'มือเปล่า';
SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,sk);
end;
procedure BattleStoped;
begin
AutoEat;
AutoHeal;
end;
begin
Init;
end.
ส่วนของสคริปเควสแบบคนเดียว
procedure Logon;
begin
i := 0;
end;
procedure OnTimer;
begin
Inc(i);
if (i = 2) then ClickNpc(1);
end;
procedure NpcDialog(DialogId: Integer);
begin
if (DialogId = 12385) then SendDialogEnd;
if (DialogId = 15657) then
begin
ClickNpc(99);
ClickNpc(99);
ClickNpc(1);
end;
end;
procedure NpcDialogMenu(DialogId: Integer);
begin
SelectDialogChoice(1);
SendDialogEnd;
end;
begin
echoChat('เจี่ยนยง.txt โหลดเสร็จแล้วครับ',clRed);
end.
สคริปหลักแบบปาตี้ ตรงนี้ผม+สลับตราเข้าไปด้วยสามารถนำไปปรับแต่งได้ง่าย
var SwapUse : Byte;
Procedure Logon;
begin
Sendaction(48);
End;
procedure getmyitems;
begin
Swaplucky('logon');
end;
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
SetIsCB('สาลี่พลังปราณ');
SetIsCB('คุกกี้เนย');
SetIsCB('ผงช่วยแผล');
SetIsCB('ยาดอกไม้แดง');
SetIsDP('พลุรื่นรมย์');
SwapUse := 1;
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
procedure MyAttack;
var m: TCombatMonster;
n: Byte;
sk : String;
begin
m := Combat.FindF1Monster;
n := Combat.Size;
sk := 'มือเปล่า';
if ((SwapUse = 1) and (n = 3)) then SwapLucky('on')
else
SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk);
end;
procedure MyPartnerAttack;
var m: TCombatMonster;
sk: String;
begin
m := Combat.FindF1Monster;
sk := 'มือเปล่า';
SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,sk);
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 อีกประมาณ 15 วินาที ถ้าคุณเลือก Auto Reconnect',clBlack);
Delay(1000);
Reconnect(1);
end
else
begin
Echo('ใส่ไอเท็มถูกต้อง ไม่มีการเปลี่ยนแปลง',clBlack);
end;
end;
end;
//---------------------------------------------//
procedure BattleStoped;
begin
SwapLucky('off');
if (MyPlayer.Sp < 0.25*MyPlayer.MaxSp) or (MyPartner.Sp < 0.25*MyPartner.MaxSp) then
begin
AutoEat;
end;
if (MyPlayer.Hp < 0.25*MyPlayer.MaxHp) or (MyPartner.Hp < 0.25*MyPartner.MaxHp) then
begin
AutoEat;
AutoHeal;
end;
end;
procedure PlayerOffline(PlayerName: String);
begin
if (PlayerName = 'ชื่อลูกตี้') then Reconnect(5);
if (PlayerName = 'ชื่อลูกตี้') then Reconnect(5);
if (PlayerName = 'ชื่อลูกตี้') then Reconnect(5);
if (PlayerName = 'ชื่อลูกตี้') then Reconnect(5);
end;
begin
Init;
end.
สคริปเควสแบบปาตี้
begin
echoChat('Start ขงเบ้ง',clRed);
ClickNpc(13);
end;
procedure NpcDialog(DialogId: Integer);
begin
if (DialogId = 19737) then SendDialogEnd;
if (DialogId = 19738) then SendDialogEnd;
if (DialogId = 10150) then
begin
Reconnect(1);
//ClickNPC(99);
//Delay(600);
//ClickNPC(13);
end;
end;
begin
echoChat('ขงเบ้ง.txt โหลดเสร็จแล้วครับ',clRed);
end.
ส่วนของลูกตี้
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
SetIsNotEat('ยาวิญญาณเขียว');
SetIsCB('สาลี่พลังปราณ');
SetIsCB('คุกกี้เนย');
SetIsCB('ผงช่วยแผล');
SetIsCB('ยาดอกไม้แดง');
SetIsDP('พลุรื่นรมย์');
SwapUse := 1;
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
procedure Logon;
begin
SendAction(48);
end;
procedure getmyitems;
begin
Swaplucky('logon');
end;
procedure MyAttack;
var m: TCombatMonster;
n: Byte;
sk : String;
begin
m := Combat.FindF1Monster;
n := Combat.Size;
sk := 'ธนูไฟ';
if ((SwapUse = 1) and (n = 3)) then SwapLucky('on')
else
SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk);
end;
procedure MyPartnerAttack;
var m: TCombatMonster;
sk: String;
begin
m := Combat.FindF1Monster;
sk := 'ธนูไฟ';
SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,sk);
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 อีกประมาณ 45 วินาที ถ้าคุณเลือก Auto Reconnect',clBlack);
Delay(1000);
Reconnect(15);
end
else
begin
Echo('ใส่ไอเท็มถูกต้อง ไม่มีการเปลี่ยนแปลง',clBlack);
end;
end;
end;
//--------------------------------------------------//
procedure BattleStoped;
begin
SwapLucky('off');
if (MyPlayer.Sp < 0.25*MyPlayer.MaxSp) or (MyPartner.Sp < 0.25*MyPartner.MaxSp) then
begin
AutoEat;
end;
if (MyPlayer.Hp < 0.25*MyPlayer.MaxHp) or (MyPartner.Hp < 0.25*MyPartner.MaxHp) then
begin
AutoEat;
AutoHeal;
end;
end;
procedure PlayerOffline(PlayerName: String);
begin
if (PlayerName = 'หัวตี้') then Reconnect(10);
if (PlayerName = 'ลูกตี้') then Reconnect(10);
if (PlayerName = 'ลูกตี้') then Reconnect(10);
if (PlayerName = 'ลูกตี้') then Reconnect(10);
end;
begin
Init;
end.