Jump to content


Photo

Walk for Level.


  • Please log in to reply
27 replies to this topic

#1 Mangtom

Mangtom

    เจี่ยงกั้น

  • Members
  • 62 posts

Posted 15 December 2006 - 02:35:06 PM

มาอัพเดทให้ครับทดลองมา อาทิตย์กว่าๆไม่มีปัญหาแต่อย่างใด (update 15/01/07)
ส่วนที่เพิ่มเข้ามา
- 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   Point1X,Point1Y,Point2X,Point2Y: Word;
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.


#2 Mangtom

Mangtom

    เจี่ยงกั้น

  • Members
  • 62 posts

Posted 15 December 2006 - 02:50:34 PM

ส่วนของลูกตี้ครับ
เพิ่ม - เชคซื่อขุน
- เรียกปาตี้ เอาไปไว้ใน ontimer ให้เชคตลอดเวลาในกรณีไม่เข้าตี้

Procedure Logon;
begin
Walk(122,735); จุดที่จะให้บอทเดินไปรอ
end;

procedure BattleStoped;
begin
if (not MyParty.isReady) then
begin
Walk(122,735); จุดที่จะให้บอทเดินไปรอ
RequestParty('mangtom'); ใส่ชื่อคนนำปาร์ตี้ลงไป
end;

var  PartnerFai: Byte;

procedure Init;
begin
   SetIsNotEat('ยาคืนวิญญาณ');
   SetIsNotEat('ยาวิญญาณม่วง');
   SetIsNotEat('ยาวิญญาณเขียว');
   SetIsCB('สาลี่พลังปราณ');
   SetIsCB('คุกกี้เนย');
   SetIsCB('ผงช่วยแผล');
   PartnerFai:= 100;
   echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;

Procedure Logon;
begin
   Walk(182,1035);
end;

procedure OnTimer;
begin
if (not MyParty.isReady) then
      begin
          Walk(182,1035);
          RequestParty('Mangtom');    
      end;
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) 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;
   sk: String;
begin
   m := Combat.FindF1Monster;
   sk := 'ธนูไฟ';
   SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,sk);
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.75*MyPlayer.MaxHp) or (MyPartner.Hp < 0.75*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.


#3 ที่ใดมีรัก!!!ที่นั่นมีทุก!!

ที่ใดมีรัก!!!ที่นั่นมีทุก!!

    ชิวลี่จวี

  • Members
  • 50 posts

Posted 15 December 2006 - 04:52:03 PM

อยากได้ตัวบอมที่ไม่เออเร่อ อะงับ พอดีผมใช้ทำเป็นหัวตีเบอทโจโฉ มันเออเร่อบ่อยมากคับ แทบจะบอกได้ว่าทุก1ชม
ถ้าไม่ได้อยู่บ้านเฝ้าละก็เวลมะขึ้นแน่ แง่กๆๆ
แล้วก็อยากได้บอมที่มีปุ่ม Hide งะคับ แก้ได้รึยังคับ
ทรมานมากๆๆเก็บซ่องลงข้างจอมะได้เต็มพื้นที่เลย10ตัว wink.gif wink.gif

#4 bankzar555

bankzar555

    ซุนจ้ง

  • Members
  • 24 posts

Posted 15 December 2006 - 05:13:19 PM

ขอบคุณงับ หึหึ

#5 Zhuge_liang

Zhuge_liang

    ฉวินไฉ่

  • Members
  • 12 posts

Posted 15 December 2006 - 07:00:22 PM

ไปโพสต์ในประมูลด้วยก็ดีนะคับ ถือว่าเป็นการสำรองไฟล์ เพราะตอนนี้เว็บนี้ยังไม่สมบูรณ์นะผมว่า ล่มรายวันเลย

#6 Mura@ek

Mura@ek

    นั่วลี่

  • Members
  • 86 posts

Posted 15 December 2006 - 10:08:26 PM

(Zhuge_liang @ Dec 15 2006, 07:00 PM) ดูโพสต์

ไปโพสต์ในประมูลด้วยก็ดีนะคับ ถือว่าเป็นการสำรองไฟล์ เพราะตอนนี้เว็บนี้ยังไม่สมบูรณ์นะผมว่า ล่มรายวันเลย


อะนะ คนทำน้อยใจแย่

#7 Mangtom

Mangtom

    เจี่ยงกั้น

  • Members
  • 62 posts

Posted 15 December 2006 - 10:26:49 PM

(ที่ใดมีรัก!!!ที่นั่น @ Dec 15 2006, 04:52 PM) ดูโพสต์

อยากได้ตัวบอมที่ไม่เออเร่อ อะงับ พอดีผมใช้ทำเป็นหัวตีเบอทโจโฉ มันเออเร่อบ่อยมากคับ แทบจะบอกได้ว่าทุก1ชม
ถ้าไม่ได้อยู่บ้านเฝ้าละก็เวลมะขึ้นแน่ แง่กๆๆ
แล้วก็อยากได้บอมที่มีปุ่ม Hide งะคับ แก้ได้รึยังคับ
ทรมานมากๆๆเก็บซ่องลงข้างจอมะได้เต็มพื้นที่เลย10ตัว wink.gif wink.gif

บอทโจโฉถ้าเปิดเยอะแล้วแรมน้อยก็มีปัญหา errer ได้เหมือนกันคับ อีกอย่างตรงโจโฉ
ถ้ามีตี้โดดกันเยอะอันนี้ก็มีส่วนเหมือนกันคับ ส่วนปุ่ม hide ต้องรอเจ้าของบอทมาแก้ให้คับ

#8 pure123

pure123

    ชิวลี่จวี

  • Members
  • 46 posts
  • Location:ต.หนองสะพาน อ.บ้านค่าย จ.ระยอง 21120
  • Interests:มีเควสให้ดูมากมาย

Posted 15 December 2006 - 10:29:34 PM

ขอบคุณมากๆๆครับ

หามานาน

#9 ที่ใดมีรัก!!!ที่นั่นมีทุก!!

ที่ใดมีรัก!!!ที่นั่นมีทุก!!

    ชิวลี่จวี

  • Members
  • 50 posts

Posted 16 December 2006 - 02:00:23 AM

รอ ต่อปาย
มะหร่ายจะมีปุ่ม hide ห้ายใช้จ้า ทรมานสุดๆๆๆ

#10 Loving You

Loving You

    ทหารศึกดาบแยก

  • Members
  • 18 posts

Posted 16 December 2006 - 02:12:34 AM

ทรมารด้วย

#11 TheAKunG

TheAKunG

    ชิวลี่จวี

  • Members
  • 46 posts

Posted 16 December 2006 - 06:28:12 PM

แวะ เข้ามาดูเจ๋ยๆ

#12 Loving You

Loving You

    ทหารศึกดาบแยก

  • Members
  • 18 posts

Posted 17 December 2006 - 09:14:07 PM

บอกแบบระเอียดมาก ขอบคุนมากงับ

#13 Roekytoya

Roekytoya

    ง่ออ๋อง ซุนกวน

  • Members
  • 261 posts

Posted 18 December 2006 - 03:09:02 AM

คุณ Mangtom มีสคริพ บอทเดิน 2 จุดสลับตราคูณไหมครับ ถ้ามีรบกวนช่วยโพสหน่อยนะครับผม ขอบอทเดิน 2 จุดสลับตราคูณแบบปาร์ตี้และคนเดียวด้วยนะครับผม ขอโทษคับที่ขอมากนะครับ

เอานี้ครับ สำหรับบอทเดิน 2 จุด คนเดียวถ้าค่าซื่อสัตย์ลดจะตัดนะครับ อันนี้ผมใช้อยู่ครับ


var Point1X,Point1Y,Point2X,Point2Y: Word;
var PartnerFai : Byte;

procedure Init;
begin
    SetIsNotEat('ยาคืนวิญญาณ');
    SetIsNotEat('ยาวิญญาณม่วง');
    SetIsNotEat('ยาวิญญาณเขียว');
    SetIsNotEat('ยาวิญญาณแดง');
    SetIsNotEat('ช็อกโกรักแท้');
    SetIsNotEat('ยาเก้าหยาง');
    SetIsNotEat('เปี๊ยะใหญ่แข็ง');
    SetIsCB('แผ่นไม้ไผ่ขาด');
//    SetIsCB('คุกกี้เนย');
//    SetIsCB('ผงช่วยแผล');
//    SetIsCB('ยาดอกไม้แดง');
    PartnerFai := 45;
    echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;

procedure LogOn;
begin
    Point1X := 1702;
    Point1Y := 635;
    Point2X := 1682;
    Point2Y :=975;
end;

procedure BattleStarted;
begin
    CheckDisconnect;
end;

procedure MyAttack;
var   m: TCombatMonster;
begin
    m := Combat.FindMaxLevel;
    SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,'มือเปล่า');
end;

procedure MyPartnerAttack;
var   m: TCombatMonster;
begin
    m := Combat.FindMaxLevel;
    SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,'มือเปล่า');
end;

procedure BattleStoped;
begin
    AutoEat;
    AutoHeal;
    CheckDisconnect;
    if (MyPlayer.Hp > (0.25 * MyPlayer.MaxHp)) then
begin
    Echo('เดิน',clRed);
    if (MyPlayer.X = Point1X) and (MyPlayer.Y = Point1Y)
    then Walk(Point2X,Point2Y)
    else Walk(Point1X,Point1Y);
end;
end;

procedure GMAppear(GMName: String; MapId,X,Y: Integer);
begin
    if MapId = MyPlayer.MapId then Reconnect(60*60*30);
end;

procedure NpcMove(NpcId: Byte; X,Y: Integer);
begin
      if (((MyPlayer.X - X) > 50) or ((MyPlayer.X - X) < 50) and ((MyPlayer.Y - Y) > 50) or ((MyPlayer.Y-Y)<50)) then
        ClickNpc(NpcId);
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.




#14 Taxido

Taxido

    จอมยุทธใหม่

  • Members
  • 1 posts

Posted 18 December 2006 - 03:40:20 AM

บอทเดินสองจุด สลับตรา ตัดสายเมื่อซื่อขุนลดต่ำกว่าที่กำหนด 100% ผมใช้อยู่คับดัดแปลงแต่งเติมได้


var SwapUse, AlreadySwap,PartnerFai,FirstCombat: byte;
      Point1X,Point1Y,Point2X,Point2Y: Word;

procedure LogOn;
begin
   FirstCombat := 1;
   Point1X := xxx;
   Point1Y := xxx;
   Point2X := xxx;
   Point2Y := xxx;
end;

procedure Init;
begin
   SetIsNotEat('ยาคืนวิญญาณ');
   SetIsNotEat('ยาวิญญาณม่วง');
   SetIsNotEat('คุกกี้เนย');
   //SetIsNotEat('เนื้อแผ่น');
   //SetIsCB('ผักกาดขาวดอง');
   SetIsDp('พรมเทพท่อง');
   SetIsDp('พรมจัวจวิ้น');
   SetIsCB('กระดาษซวน');
   SetIsCB('เสาคานพันปี');
   SetIsCB('หนังขนฮวน');
   SwapUse := 1;
   PartnerFai := 100; //ซื่อน้อยกว่า<<จะตัดสาย
   AlreadySwap := 0;
   echoChat('koRn Bot โหลดเสร็จแล้วครับ',clRed);
end;

procedure BattleStarted;
begin

end;

procedure MyAttack;
var   m: TCombatMonster;
   sk: String;
   n : byte;
begin
   m := Combat.FindBestMonster;
   n := Combat.Size;
   if ((MyPlayer.Hp < 0.25*MyPlayer.MaxHp) or (MyPartner.Hp <0.25*MyPartner.MaxHp) or (FirstCombat = 1) or (n >5))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 > 1100)) then
   SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,'มือเปล่า')
   else
   if ((SwapUse = 1) and (n = 1) and (m.hp < 1100) and (AlreadySwap = 0))then
   begin
   SwapLucky('on');
   AlreadySwap := 1;
   end;
   if ((SwapUse = 1) and (n = 1) and (m.hp < 1100) and (AlreadySwap = 1)) then
   begin
   SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,'ป้องกัน');
   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 > 1100) then
   begin
   sk := 'ป้องกัน';
   end
   else
   begin
   sk := 'มือเปล่า';
   end;
   end;
   SendAttack(MyPartner.Row,MyPartner.Col,m.Row,m.Col,sk);
end;

procedure BattleStoped;
begin
   ClickNpc(1);
   ClickNpc(5);
   if (SwapUse = 1) then
   begin
   if (FirstCombat = 1) then
   begin
   SwapLucky('logon');
   FirstCombat := 0;
   end
   else
   begin
   SwapLucky('off');
   end;
   end;
   AlreadySwap := 0;
   AutoHeal;
   AutoEat;
   doDrop;
   CheckDisconnect;
   if (MyPartner.Hp > (0.25 * 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 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(15);
   end
      else
   begin
     Echo('ใส่ไอเท็มถูกต้อง ไม่มีการเปลี่ยนแปลง',clBlack);
   end;
    end;
end;

Procedure OnTimer;
Begin

end;


procedure doDrop;
var   i:Byte;
   Slot: TMyItem;
begin
   for i := 1 to 25 do
   begin
   Slot := MyItems[i];
   if (Slot.Num >= 40) then
   begin
   if (Slot.Name = 'พรมจัวจวิ้น')
   or (Slot.Name = 'พรมเทพท่อง')
   or (Slot.Name = 'ผงช่วยแผล')
   or (Slot.Name = 'ยาดอกไม้แดง')
   or (Slot.Name = 'คุกกี้เนย')
   then Drop(i,40);
   //แก้ตรง45 เป็น 50 ให้ทิ้งประมาณนี้
   end;
end;
end;

procedure GMAppear(GMName: String; MapId,X,Y: Integer);
begin
   if MapId = MyPlayer.MapId then Reconnect(60*60*30);
end;

procedure PlayerOffline(PlayerName: String);
begin
//if (PlayerName = 'XXXX') then Reconnect(10);
end;

procedure CheckDisconnect;
begin
  if (MyPlayer.Hp < 0.25*MyPlayer.MaxHp) or (MyPartner.Hp < 0.25*MyPartner.MaxHp) then
   begin
   Echo('Reconnect : เลือดไม่พอเลี้ยงชีพแล้ว !!',clBlack);
   AutoHeal;
   //Reconnect(3);
   end;
   if (MyPartner.Fai < PartnerFai) then
   begin
   Echo('Disconnected : ขุนพลซื้อสัตย์ต่ำกว่าที่กำหนด !!',clBlack);
   Disconnect;
  end;
end;

begin
Init;
end.


[/quote]


#15 KoRnRoom99

KoRnRoom99

    Exclusive Member

  • Exclusive Programmer
  • 10104 posts

Posted 19 December 2006 - 09:46:02 AM

ขอบคุณทุกทั่นที่ช่วยๆกันตอบนะค้าบ อิอิ จะพยายามเก็บ error ให้หมดในเร็ววัน tongue.gif
IPB Image
IPB Image
Works: KoRnBot Project,TSLoadDatFile
Thanks X CroSs, Truebot, TSBot, Solars, JackY, some1, Storm24, AssertionFailed from www.skjune.com
IPB ImageIPB ImageIPB ImageIPB ImageIPB ImageIPB Image

#16 Loving You

Loving You

    ทหารศึกดาบแยก

  • Members
  • 18 posts

Posted 21 December 2006 - 01:54:53 PM

สู้ๆนะงับเป็นกำลังใจให้

#17 manuel

manuel

    กัวต้า

  • Members
  • 38 posts

Posted 22 December 2006 - 06:20:26 PM

เอ่อ ผมขอถามแบบโง่ๆนิดนุง ไห้มันนั่งยังใงนะครับลืม มัวแต่เดินๆลืมนั่ง(เกิดบอทตัวเดียวครับ)

#18 Roekytoya

Roekytoya

    ง่ออ๋อง ซุนกวน

  • Members
  • 261 posts

Posted 23 December 2006 - 03:52:25 AM

(manuel @ Dec 22 2006, 06:20 PM) ดูโพสต์

เอ่อ ผมขอถามแบบโง่ๆนิดนุง ไห้มันนั่งยังใงนะครับลืม มัวแต่เดินๆลืมนั่ง(เกิดบอทตัวเดียวครับ)


ถ้านั่งตีก็ไปแก้ไขเพิ่มเติมตรง procedure logon นะครับเพิ่มแบบข้างล่างนี้นะครับ ลบตรงพิกัด X1 Y1 X2 Y2 ทิ้งด้วยนะครับให้เหลือแค่ตัวอย่างนะครับ ถ้าทำแบบตัวอย่างจะนั่งนะครับ


procedure Logon;
begin
    SendAction(48);
end;


แล้วก็ต้องไปลบตรง procedure BattleStoped ตรงแถวช่วงการเดินทิ้งนะครับอย่างผมยกตัวอย่างของคุณ Taxido ให้ดูตรง procedure BattleStoped

ก่อนแก้ไข


procedure BattleStoped;
begin
   ClickNpc(1);
   ClickNpc(5);
   if (SwapUse = 1) then
   begin
   if (FirstCombat = 1) then
   begin
   SwapLucky('logon');
   FirstCombat := 0;
   end
   else
   begin
   SwapLucky('off');
   end;
   end;
   AlreadySwap := 0;
   AutoHeal;
   AutoEat;
   doDrop;
   CheckDisconnect;
   if (MyPartner.Hp > (0.25 * 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 BattleStoped;
begin
   ClickNpc(1);
   ClickNpc(5);
   if (SwapUse = 1) then
   begin
   if (FirstCombat = 1) then
   begin
   SwapLucky('logon');
   FirstCombat := 0;
   end
   else
   begin
   SwapLucky('off');
   end;
   end;
   AlreadySwap := 0;
   AutoHeal;
   AutoEat;
   doDrop;
   CheckDisconnect;
   if (MyPartner.Hp > (0.25 * MyPartner.MaxHp)) then
end;


แก้ไขแค่ 2 จุดนะครับ

ส่วนอันนี้ผมโมดิฟายของคุณ Taxido และคุณ Mangtom นะครับ อันนี้นั่งตีสลับตราคูณ + ซื่อลดจะตัดนะครับผมใช้อยู่ ฮิวได้ด้วยนะครับ ดูด NPC เองเหมือนกับทูรบอทครับไม่ต้องมาหาเลข NPC ครับ


var SwapUse, MyDamage, AlreadySwap, FirstCombat : byte;
var PartnerFai : Byte;

procedure Init;
begin
    SetIsNotEat('ยาคืนวิญญาณ');        // เซ็ตของที่บอทห้ามกิน
    SetIsNotEat('ยาวิญญาณม่วง');        // เซ็ตของที่บอทห้ามกิน
    SetIsNotEat('ยาวิญญาณเขียว');     // เซ็ตของที่บอทห้ามกิน
    SetIsNotEat('ยาวิญญาณแดง');     // เซ็ตของที่บอทห้ามกิน
    SetIsNotEat('ช็อกโกรักแท้');         // เซ็ตของที่บอทห้ามกิน
    SetIsNotEat('พายเนื้อทอด');         // เซ็ตของที่บอทห้ามกิน
    SetIsNotEat('โสมคนฉางไป๋');         // เซ็ตของที่บอทห้ามกิน
    SetIsNotEat('ฟักใหญ่');         // เซ็ตของที่บอทห้ามกิน
    SetIsDp('พรมเทพท่อง');        // ทิ้งของ
    SetIsDp('พรมจัวจวิ้น');        // ทิ้งของ
    SetIsCB('ไผ่เจียงหยาง');        // บริจาค
    SetIsCB('กระดาษซวน');        // บริจาค
    SetIsCB('เสาคานพันปี');        // บริจาค
    SetIsCB('หนังขนฮวน');        // บริจาค
    PartnerFai := 100;             // แก้ไขค่าซื่อสัตย์ขุนพลได้ตรงนี้
    SwapUse := 1;
    MyDamage := 400;             // แก้ไขค่าที่ผู้เล่นโจมตีใส่คอม
    AlreadySwap := 0;
    echoChat('KoRn Bot โหลดเสร็จแล้วครับ',clRed);
end;

procedure Logon;
begin
    FirstCombat := 1;
    SendAction(48);
end;

procedure Getmyitems;
begin
    Swaplucky('logon');
end;

procedure BattleStarted;
begin
    CheckDisconnect;
end;

procedure MyAttack;
var   m : TCombatMonster;
    n : byte;
    sk : string;
begin
    m := Combat.FindBestMonster;
    n := Combat.Size;
    sk := 'มือเปล่า';
    if (FirstCombat = 1) then
begin
    if(MyPlayer.Sp > 10) then
begin
    sk := 'วิชาหลบหนี';
    SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk);
end
    else
begin    
    sk := 'หลบหนี';
    SendAttack(MyPlayer.Row,MyPlayer.Col,m.Row,m.Col,sk);
end;
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;
    if (SwapUse = 1) then
begin
    if (FirstCombat = 1) then
begin
    SwapLucky('logon');
    FirstCombat := 0;
end
    else
begin
    SwapLucky('off');
end;
end;
    if (MyPlayer.Sp < 0.75*MyPlayer.MaxSp) or (MyPartner.Sp < 0.75*MyPartner.MaxSp) then
begin
    AutoEat;
end;
    if (MyPlayer.Hp < 0.75*MyPlayer.MaxHp) or (MyPartner.Hp < 0.75*MyPartner.MaxHp) then
begin
    AutoEat;
    AutoHeal;
    CheckDisconnect;
    if (SpCount = 0) and (HpCount = 0) then Disconnect;
end;
end;

procedure NpcMove(NpcId: Byte; X,Y: Integer);
begin
      if (((MyPlayer.X - X) > 50) or ((MyPlayer.X - X) < 50) and ((MyPlayer.Y - Y) > 50) or ((MyPlayer.Y-Y)<50)) then
        ClickNpc(NpcId);
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 อีกประมาณ 20 วินาที ถ้าคุณเลือก Auto Reconnect',clBlack);
    Delay(1000);
    Reconnect(20);
end
    else
begin
    Echo('ใส่ไอเท็มถูกต้อง ไม่มีการเปลี่ยนแปลง',clBlack);
end;
end;
end;

procedure doDrop;
var   i:Byte;
    Slot: TMyItem;
begin
    for i := 1 to 25 do
begin
    Slot := MyItems[i];
    if (Slot.Num >= 45) then
begin
    if (Slot.Name = 'พรมจัวจวิ้น')
    or (Slot.Name = 'พรมเทพท่อง')
    then Drop(i,45);
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;
    Echo('Disconnected : เลือดไม่พอเลี้ยงชีพแล้ว !!',clBlack);
    Disconnect;
end;
    if (MyPartner.Fai < PartnerFai) then
begin
    Echo('Disconnected : ขุนพลซื้อสัตย์ต่ำกว่าที่กำหนด !!',clBlack);
    Disconnect;
end;    
end;

begin
    Init;
end.




#19 manuel

manuel

    กัวต้า

  • Members
  • 38 posts

Posted 23 December 2006 - 10:19:21 AM

โอ้ว ขอบคุณคับนั่งแว้ว โง่มาตั้งนานงับ แหะๆ พิมคำว่า !sit แล้วมันมะนั่ง ฮ่าๆๆๆใช้อันนี้นี่เอง

#20 Loving You

Loving You

    ทหารศึกดาบแยก

  • Members
  • 18 posts

Posted 24 December 2006 - 02:52:52 AM

แบบเปนปาร์ตี้มีไหมคับ สลับตรายิงธนูไฟอะ




2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users