สคริปหลักแบบปาตี้ ตรงนี้ผม+สลับตราเข้าไปด้วยสามารถนำไปปรับแต่งได้ง่าย
uses '.\Script\ขงเบ้ง.txt';
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.
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.
ตรงนี้ผมจะแก้เอาสลับตราออกไงคับขอวิธีแก้หน่อยเพราะเวลาเปิดแล้วมันตัดออกเรื่อยๆเลยอะคับ
แล้วก็ถ้าต้องการจะเซ็ตให้ตี npc ที่อยู่ตำแหน่งเป็น row , col เซ็ตตรงไหนอะคับ ขอบคุณล่วงหน้าคับ