ไม่รู้มีใครเป็นบ้างหรือเปล่าครับ ทำไมผมติ๊กที่ Option - Auto Disconnect When HP<20% แล้วบอทไม่ยอมตัดเลย มาตัดอีกทีตอนซื่อสัตย์ขุนเหลือ 20 แล้วผมก็ไม่ได้ตั้ง Reconnect ไว้ด้วยครับ ช่วยแจ้งแถลงไขหรือมีวิธีแก้ไขอย่างไรบ้างครับ
ปัญหาบอทไม่ตัดสายเวลาเลือดใกล้หมด
Started by SOLO, Mar 19 2007 01:10 PM
4 replies to this topic
#1
Posted 19 March 2007 - 01:10:02 PM
#2
Posted 19 March 2007 - 07:46:53 PM
ขอดูสคริปได้ไหมคับเผื่อจะมีแนวทางแก้ไข
#3
Posted 20 March 2007 - 12:07:58 AM
สคริปที่ใช้มี 2 แบบครับลองทั้ง 2 อันแล้วก็ยังไม่ตัด
อันแรกนี่เดิม ๆ เลยครับไม่ได้เปลี่ยนอะไรเลย ได้มาพร้อมตัวบอทนี่แหละครับ
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
SetIsCB('');
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
procedure BattleStarted;
begin
end;
procedure MyAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure MyPartnerAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure BattleStoped;
begin
end;
begin
Init;
end.
อีกอันเป็นสคริปที่ก๊อปมาจากในกระทู้ซักอันในเว็บบอร์ดนี้ครับ เป็นเดิน 2 จุด
var walkx1, walkx2, walky1, walky2 : Integer;
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
SetIsCB('ยาต่อวิญญาน');
SetIsCB('ยาพอกคลายเอ็น');
walkx1 := 602;
walky1 := 1495;
walkx2 := 582;
walky2 := 1895;
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
procedure LogOn;
begin
Horse;
end;
procedure walk1towalk2;
begin
if((MyPlayer.X = walkx1) and (MyPlayer.Y = walky1)) then
walk(walkx2, walky2)
else
walk(walkx1, walky1);
end;
procedure MyAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure MyPartnerAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure BattleStoped;
begin
AutoEatHP;
AutoHeal;
AutoEatSP;
walk1towalk2;
end;
begin
Init;
end.
อันแรกนี่เดิม ๆ เลยครับไม่ได้เปลี่ยนอะไรเลย ได้มาพร้อมตัวบอทนี่แหละครับ
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
SetIsCB('');
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
procedure BattleStarted;
begin
end;
procedure MyAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure MyPartnerAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure BattleStoped;
begin
end;
begin
Init;
end.
อีกอันเป็นสคริปที่ก๊อปมาจากในกระทู้ซักอันในเว็บบอร์ดนี้ครับ เป็นเดิน 2 จุด
var walkx1, walkx2, walky1, walky2 : Integer;
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
SetIsCB('ยาต่อวิญญาน');
SetIsCB('ยาพอกคลายเอ็น');
walkx1 := 602;
walky1 := 1495;
walkx2 := 582;
walky2 := 1895;
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
procedure LogOn;
begin
Horse;
end;
procedure walk1towalk2;
begin
if((MyPlayer.X = walkx1) and (MyPlayer.Y = walky1)) then
walk(walkx2, walky2)
else
walk(walkx1, walky1);
end;
procedure MyAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure MyPartnerAttack;
var m: TCombatMonster;
begin
m := Combat.FindF1Monster;
SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,'มือเปล่า');
end;
procedure BattleStoped;
begin
AutoEatHP;
AutoHeal;
AutoEatSP;
walk1towalk2;
end;
begin
Init;
end.
#4
Posted 20 March 2007 - 03:26:15 AM
สคริปอันบนนะครับลองเอาอันนี้ไปลองดู เชคซื่อขุน
ส่วนบอทเดินลองดูกระทู้เก่านะครับเคยโพสไว้
ส่วนบอทเดินลองดูกระทู้เก่านะครับเคยโพสไว้
var PartnerFai: byte;
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
PartnerFai:= 100;
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
Procedure Logon;
begin
SendAction(48);
end;
procedure BattleStarted;
begin
CheckDisconnect;
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) 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
if (MyPlayer.Sp < 0.25*MyPlayer.MaxSp) or (MyPartner.Sp < 0.25*MyPartner.MaxSp) then
begin
AutoEat;
end;
if (MyPlayer.Hp < 0.70*MyPlayer.MaxHp) or (MyPartner.Hp < 0.70*MyPartner.MaxHp) then
begin
AutoEat;
AutoHeal;
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.
procedure Init;
begin
SetIsNotEat('ยาคืนวิญญาณ');
SetIsNotEat('ยาวิญญาณม่วง');
PartnerFai:= 100;
echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;
Procedure Logon;
begin
SendAction(48);
end;
procedure BattleStarted;
begin
CheckDisconnect;
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) 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
if (MyPlayer.Sp < 0.25*MyPlayer.MaxSp) or (MyPartner.Sp < 0.25*MyPartner.MaxSp) then
begin
AutoEat;
end;
if (MyPlayer.Hp < 0.70*MyPlayer.MaxHp) or (MyPartner.Hp < 0.70*MyPartner.MaxHp) then
begin
AutoEat;
AutoHeal;
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.
#5
Posted 30 March 2007 - 02:33:38 PM
เด๋วลองเช็คให้นะครับ แต่แก้แบบคุณ Mangtom ก็ดีเหมือนกันคับ ปลอดภัยดี หุหุ (ผมก็ใช้เช็คซื่อแบบนี้อยู่เหมือนกัน ^^")
Works: KoRnBot Project,TSLoadDatFile
Thanks X CroSs, Truebot, TSBot, Solars, JackY, some1, Storm24, AssertionFailed from www.skjune.com
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users