Xử lý vấn đề không autoeat ở TB

Thảo luận trong 'TS Online' bắt đầu bởi TuanLinhTTL, 22/2/06.

  1. TuanLinhTTL

    TuanLinhTTL Youtube Master Race

    Tham gia ngày:
    29/7/05
    Bài viết:
    57
    Mình đã có post một bài nói về vấn đề tdut này ở 1 bài về vấn đề hot trong script ở TB. Bây giờ mình đã thử được cách của mình ở Cự Lộc khi đánh với tốc độ cao hơn (chưa bao giờ dis vì thiếu mana hay lev 1 bay về điểm kỷ lục hoặc TQ do ăn TH hoặc TQ). Thực sự mình thấy dùng TB vẫn rất hay và hiệu quả. Nếu muốn TB tdut được tốt nhất bạn hạn chế khả năng nguy hiểm TB ăn những thứ linh tinh ngoài HP và SP. Cach làm rất đơn giản. Mình đã làm và đã bot Cự Lộc gần 8 tiếng không dis (1 phút tầm 6 - 7 trận nên hồi mana không thể nào kịp)
    Đó là để tất cả những gì nguy hiểm ở ô cuối cùng. Như ở Cự Lộc mình để TH, TQ, dm( dm để đề phòng full thùng vẫn đón được dm ^^), tdck và ong mật ở 5 ô cuối cùng. Sau đó sủa hàm DOeatSP va DoeatHP như sau:
    function doEatHP(order,difHp)
    {
    for(var i = 1;i<= 20 ;i++)
    {
    var oSlot = ts.MyItems.Item(i)
    var oItem = ITEMS.Item(oSlot.itemid)
    if (oSlot.itemid == 0 || oSlot.itemid == 46107)
    {
    continue;
    }
    if(oItem.isHPItem())
    {
    if (difHp <= oItem.itemvalue)
    {
    ts.EatItem(i, 1 ,order);
    debug( " Eat " +" HP + "+ oItem.itemvalue+" at slot"+i+" amount 1 ",0xC08008 )
    }
    else
    {
    var eatHpAmt = (difHp - (difHp % oItem.itemvalue)) / oItem.itemvalue
    if (eatHpAmt > oSlot.num)
    {
    eatHpAmt = oSlot.num;
    }
    ts.EatItem(i,eatHpAmt,order)
    debug( " Eat " +" HP + "+oItem.itemvalue+" at slot"+i+" amount "+eatHpAmt ,0xC08008 )
    difHp = difHp - eatHpAmt * oItem.itemvalue
    }
    }
    }
    }


    function doEatSP(order,difSp)
    {
    for(var i = 1;i<= 20 ;i++)
    {
    var oSlot = ts.MyItems.Item(i)
    var oItem = ITEMS.Item(oSlot.itemid)
    if (oSlot.itemid == 0 || oSlot.itemid == 46107)
    {
    continue;
    }
    if(oItem.isSPItem())
    {
    if (difSp <= oItem.itemvalue)
    {
    ts.EatItem(i, 1 ,order);
    debug( " Eat " +" SP + "+ oItem.itemvalue+" at slot"+i+" amount 1 ",0xC08008 )
    }
    else
    {
    var eatSpAmt = (difSp - (difSp % oItem.itemvalue)) / oItem.itemvalue
    if (eatSpAmt > oSlot.num)
    {
    eatSpAmt = oSlot.num;
    }
    ts.EatItem(i,eatSpAmt,order)
    debug("Eat " + " SP+" + oItem.itemvalue + " at slot " + i + "amount "+eatSpAmt ,0xC08008 )
    difSp = difSp - eatSpAmt * oItem.itemvalue
    }
    }
    }
    }
    Các bạn có thể thấy ở đây mình cho i <= 20. Mục đích là để TB không ăn 5 ô cuối cùng mà mình để các thứ lung tung. Đối với TH nên để 2 ô bởi tỉ lệ rơi ra la khá nhiều. Sau đó các bạn vẫn phải ăn 1 ít tdut. Điều này phục vụ cho lúc bắt đầu chạy thôi à. Bởi lúc bắt đầu TB chỉ nhận được item ở ô đầu tiên. Xong trong quá trình đánh rơi ra item nào TB đều nhận biết đựơc --> dùng được tdut. Ăn tdut để đề phong thời gian đầu hết SP do đánh quá nhanh mà TB lại coi mình 0 có SP hay HP để ăn ---> dis khi đang đánh (mình đã gặp rất nhiều trước đây và giờ đã hiểu được nguyên do). Các bạn có thể kiểm chứng điều mình nói bắng cách debug hoặc bằng cách xem Inventory trong lúc đánh.
    Chúc các bạn may mắn! Nếu tôi noob xin đừng chê bai ^^
     
  2. DocCuuKiem

    DocCuuKiem Mega Man

    Tham gia ngày:
    13/9/05
    Bài viết:
    3,089
  3. nmt_l

    nmt_l Donkey Kong

    Tham gia ngày:
    3/9/05
    Bài viết:
    322
    Lâu không chơi Ts ai biết cho hỏi cái skill tuyền phong tên là gì nhỉ, thay cai defend bằng cái đó cái mà quên mất tiêu :D, giờ không biết dùng cả Tb luôn :p
     
  4. DocCuuKiem

    DocCuuKiem Mega Man

    Tham gia ngày:
    13/9/05
    Bài viết:
    3,089
    Biết ID skill đó nè : 13002=Tuyền Phong :D
     
  5. nmt_l

    nmt_l Donkey Kong

    Tham gia ngày:
    3/9/05
    Bài viết:
    322
    DCK cho hỏi cái tìm mấy cái skill đó ở đâu nhỉ, để biết còn thay đổi cho dễ, 13002 là id của skill thế câu lệnh tương ứng của nó là gì nhỉ :D, xin được cái TB nó lại viết theo skill chứ không theo Id nên chưa biết sửa tương đương thế nào, có cái link nào cho cái vô coi, ngồi chỉnh scrip toàn lỗi :D,
     
  6. TuanLinhTTL

    TuanLinhTTL Youtube Master Race

    Tham gia ngày:
    29/7/05
    Bài viết:
    57
    Dạ thưa bác Độc Cửu Kiếm. XIn bác nhìn kỹ lại cho em bác Sơn Hải bảo gì nhe? Của 1 bạn trên GVN. Thưa bác đó chình là bài post của em từ cách đây cũng lâu rồi trong bài về script lev 1 dào tẩu gì đó. Bác có thể xem lại và đối chiếu. Tuy nhiên trong đó em chỉ bảo là trừ đi 5 ô cuối cùng và ở đây bác Sơn Hải đã tự trừ. Tuy vậy, ở đây em đã sưa lai DoeatSP va HP theo cách của em đơn giản hơn 1 chút. Bác có thể theo dõi và đối chiếu.
    Xin lỗi hơi bực khi có người nghĩ mình trộm thành quả của người khác.
     
  7. DocCuuKiem

    DocCuuKiem Mega Man

    Tham gia ngày:
    13/9/05
    Bài viết:
    3,089
    đã có ghi của 1 bạn, nêu bạn đăng kí nick ở bên DDKP7 thì edit thành tên ở bên đó...OK :D
     
  8. sakana

    sakana Youtube Master Race

    Tham gia ngày:
    24/12/05
    Bài viết:
    28
    To TuanLinhTTL : ban co the pot cai js của ban dang xài lên ko ! sao cai js minh treo khoang 30 phút la bi dis.
     
  9. TuanLinhTTL

    TuanLinhTTL Youtube Master Race

    Tham gia ngày:
    29/7/05
    Bài viết:
    57
    Mình đã post đầy đủ trong phần share script đó. Bạn có thể vào đó để xem kỹ hơn. Cũng có giải thích rõ ràng về vấn đề tự động trả lời BTQ.....
     
  10. DuongVănTruong

    DuongVănTruong Guest

    Tham gia ngày:
    Bài viết:
    0
    Nơi ở:
    Thiên Đường
    Cách cũng hay đấy nhưng mình xin chỉ thêm cho bạn nè: nên để TQ và TH mỗi thứ 2-3 ô thì sẽ đạt hiệu quả cao nhất.
     
  11. TuanLinhTTL

    TuanLinhTTL Youtube Master Race

    Tham gia ngày:
    29/7/05
    Bài viết:
    57
    Cũng không cần vậy đâu. Bởi TB chỉ nhận được item ở các ô khác ô đầu tiên khi chỉ khi trong trận đánh nó rớt ra à. Thế cho nên bạn cứ nhét một đống full HP, SP vào là rất không hay. Bởi những chỗ full TB không hề nhận ra để ăn. Nó cho đó là itemid = 0 và amount = 0. Có thể debug thấy rất rõ. Và lúc đó ăn sẽ chỉ dựa vào tdut là chủ yếu. Như mình nè đặt TH, TQ.. vào 5 ô cuối cug đồng thời đặt thêm ít HP và SP chỉ là để đề phòng thời gian lúc bắt đầu bot thôi. Còn đâu để trống hết. Sau đó mình nhận thấy rớt TQ, TH ra nhiều hơn số ô mình để dành (ví dụ TQ>50 và TH>100) và sang cả các ô khác cũng không bị TB ăn nhầm. Đó là suy nghĩ của mình. Không biết các bạn thế nào? Chính vì vậy hàm Dosenditem và Dropitem có thể hoạt động được (bởi lúc này đã nhận được amount và id, tên của item). Các bạn thử kiểm tra xem nhé ^_^
     

Chia sẻ trang này