Cách sử dụng script macro căn bản

Thảo luận trong 'Võ Lâm Truyền Kỳ phiên bản 3D' bắt đầu bởi superkhung, 26/8/13.

  1. KatherineHaAnh

    KatherineHaAnh Legend of Zelda

    Tham gia ngày:
    13/3/03
    Bài viết:
    1,114
    Đã nói là PVP vô dụng rồi mà vẫn hỏi :2cool_burn_joss_sti
     
  2. little fox

    little fox C O N T R A

    Tham gia ngày:
    2/3/03
    Bài viết:
    1,944
    Nơi ở:
    INFINITY
    Đang vọc cái add-on đập đá mà bị vướng chỗ này. Đồng chí nào gỡ dùm.

    Cái code bắt viên đá của bản TQ:
    Mã:
    ("五行石·(.+)((.+)级)")
    Về bản VN đang thử đoạn này nhưng ko bắt được
    Mã:
    ("Đá Ngũ Hành-(.+) (Lv(.+))")
    Ký tự này()là ký tự đặc biệt của TQ ko phải dấu () thường.
     
  3. bogiaspt

    bogiaspt Youtube Master Race

    Tham gia ngày:
    29/11/05
    Bài viết:
    48
    Thì đang hỏi PVE chứ ai chẳng biết là PK ko xài được, não
     
  4. boylove67

    boylove67 Youtube Master Race

    Tham gia ngày:
    5/5/05
    Bài viết:
    82
    target vào Player ko xài dc marco thế nên ko có marco buff
     
  5. KatherineHaAnh

    KatherineHaAnh Legend of Zelda

    Tham gia ngày:
    13/3/03
    Bài viết:
    1,114
    Hóa ra hiểu PVP có nghĩa là PK à :9cool_too_sad: não vl :2cool_burn_joss_sti

    - - - Updated - - -

    Còn nếu mà dùng để kiểm tra buff trên người mình thì dùng hàm GetBuffList để lấy các buff đang có trên người mình :4cool_beauty:
     
  6. bogiaspt

    bogiaspt Youtube Master Race

    Tham gia ngày:
    29/11/05
    Bài viết:
    48
    Híc cơ bản là tôi ko biết xài hàm GetBuffList thế nào, ngồi sờ lần mãi ko đc T_T
     
  7. KatherineHaAnh

    KatherineHaAnh Legend of Zelda

    Tham gia ngày:
    13/3/03
    Bài viết:
    1,114
    local function CheckBuff(target,buffID)
    BuffList = target.GetBuffList()
    buffed = false
    for z,x in pairs(BuffList) do
    if x.dwID == buffID then
    buffed = true
    end
    end
    return buffed
    end

    - - - Updated - - -

    Đoan code dưới đây sẽ tự cast TVVN nếu ko có và skill ko đang bị cooldown
    Mã:
    /script local p = GetClientPlayer()
    local TVVN = 312
    local buffTVVN = 1376
    local function CheckBuff(target,buffID)
    BuffList = target.GetBuffList()
    buffed = false
    for z,x in pairs(BuffList) do
    if x.dwID == buffID then 
    buffed = true
    end
    end
    return buffed
    end
    local function CheckCDs(skillId)
    bOnCD,currentCDTime,totalCDTime = p.GetSkillCDProgress(skillId,p.GetSkillLevel(skillId)) 
    return currentCDTime/16 == 0
    end
    if not(CheckBuff(p, buffTVVN)) and CheckCDs(TVVN) then OnAddOnUseSkill(TVVN) end
    
     
  8. bogiaspt

    bogiaspt Youtube Master Race

    Tham gia ngày:
    29/11/05
    Bài viết:
    48
    Thanks cậu nhiều nha để mềnh test, mềnh là ĐM KVQ nên có cái checkbuff kia là ngon oy ^^
     
  9. bogiaspt

    bogiaspt Youtube Master Race

    Tham gia ngày:
    29/11/05
    Bài viết:
    48
    Cảm ơn KatherineHaAnh nhiều lắm lắm, nhờ có đoạn code check buff mà combo của mình đc 90% rồi, còn 10% nữa đang nghiên cứu nốt
     
  10. AnndyW

    AnndyW Youtube Master Race

    Tham gia ngày:
    29/1/12
    Bài viết:
    53
    Tks bạn đã share, nhưng cho mình hỏi, mình có thể thay ID và thay phần khai báo biến thành skill Phá Thương Khung được ko :4cool_beauty:
     
  11. KatherineHaAnh

    KatherineHaAnh Legend of Zelda

    Tham gia ngày:
    13/3/03
    Bài viết:
    1,114
    Tất nhiên là được vì mình viết cho TD mà, SkillID cua PTK là 359 và buffID của PTK là 375, thay vào là xong :4cool_beauty:

    - - - Updated - - -

    10% là cái gì thế? xem mình có giải quyết hộ đc ko :5cool_big_smile:
     
  12. herosf2006

    herosf2006 Mega Man

    Tham gia ngày:
    19/3/08
    Bài viết:
    3,448
    Nơi ở:
    Đà Nẵng

    #so nếu để dấu đấy thì vào game không có font nó tự mất rồi, bỏ luôn đi
     
  13. boylove67

    boylove67 Youtube Master Race

    Tham gia ngày:
    5/5/05
    Bài viết:
    82
    đọc câu này làm tưởng là làm dc marco cho buff dc 90% =.= làm ngồi ngâm cứu đoạn code của KatherineHaAnh :6cool_beat_brick:
     
  14. boylove67

    boylove67 Youtube Master Race

    Tham gia ngày:
    5/5/05
    Bài viết:
    82
    Cái này là check buff của bản thân mà o.o đâu phải checkbuff target
    Nếu chỉ dùng để checkbuff r` tự buff thì thế này xài tạm cũng ổn còn nếu nhét vào marco dame để pve thì dài quá sao đủ trong 1024 ký tự
    Có thể rút gọn lại thế này
    Mã:
    /script local p = GetClientPlayer()
    local function CheckBuff(buffID)
    buffed = false
    for z,x in pairs(p.GetBuffList()) do
    if x.dwID == buffID then
    buffed = true
    end
    end
    return buffed
    end
    local function CheckCDs(skillId)
    bOnCD,currentCDTime,totalCDTime = p.GetSkillCDProgress(skillId,p.GetSkillLevel(skillId)) 
    return currentCDTime/16 == 0
    end
    if not(CheckBuff(p,1376)) then OnAddOnUseSkill(312) end
    Ko cần skill nào cũng phải khai báo local Skill=.... Lệnh này dùng khi mình muốn khai báo 1 list các skill cần xài trong 1 thời điểm nào đó.
    Nếu chỉ dùng 1 skill thì trực tiếp add ID skill đó vào luôn cho gọn

    - - - Updated - - -

    Ah còn 1 cái nữa, mình thấy mấy bạn hay thêm lệnh CheckCDs(skill) vào lệnh if o.o cái này ko cần thiết bởi vì đã có function check CD toàn bộ những skill nào mình có rồi nên ko cần thêm vào if làm j cho dài dòng cả :D
     
  15. KatherineHaAnh

    KatherineHaAnh Legend of Zelda

    Tham gia ngày:
    13/3/03
    Bài viết:
    1,114
    Viết ra cho người khác đọc thì phải để thế cho nó dễ hiểu, add thằng skillID vào thì ai mà biết là cái gì :5cool_sweat:
    Muốn check target thì thay cái biến p bằng biến target là xong. Ví dụ: t=GetTargetHandle(p.GetTarget()) rồi thay t cho p là có buff của target thôi.
    ko hiểu ý bạn muốn nói cái CheckCDs để trong lệnh if là thế nào. Ko có thì nó cứ gọi một chiêu cho tới khi đánh được thì thôi à :2cool_burn_joss_sti

    - - - Updated - - -

    Còn nếu viết code cho mình thì ngay cả tên biến mình cũng chỉ đặt là x1, x2 thôi cho nó đỡ tốn ký tự chứ ko đặt theo kiểu chủ thớt đặt đâu :4cool_beauty:
     
  16. Hến Lợn

    Hến Lợn Mr & Ms Pac-Man

    Tham gia ngày:
    5/10/08
    Bài viết:
    158
    Có ai làm giúp mình được cái chi lệnh cho 5đ buff với?_? Chỉ dùng 2 skill Túy vũ cửu thiên + Thiên điệp thổ thúy vì 2 skill này không cần target để buff :9cool_too_sad:
     
  17. AnndyW

    AnndyW Youtube Master Race

    Tham gia ngày:
    29/1/12
    Bài viết:
    53
    Mình dùng đoạn code của bạn thì nó vẫn cast TVVN khi đang có hiệu ứng buff, trong khi dùng đoạn của KatherineHaAnh thì khi nào ko có buff + ko bị CD thì nó mới buff :9cool_haha:
     
  18. KatherineHaAnh

    KatherineHaAnh Legend of Zelda

    Tham gia ngày:
    13/3/03
    Bài viết:
    1,114
    Vì bạn ấy cắt cái tham số target trong hàm đi nhưng lúc gọi hàm thì vẫn để target là p nên nó ko có tác dụng :5cool_big_smile:
     
  19. boylove67

    boylove67 Youtube Master Race

    Tham gia ngày:
    5/5/05
    Bài viết:
    82
    local function CheckBuff(buffID) đoạn này mình thiếu khai báo p :5cool_big_smile: sửa lại thành local function CheckBuff(p,buffID) là dc

    - - - Updated - - -

    if not(CheckBuff(p, buffTVVN)) and CheckCDs(TVVN) then OnAddOnUseSkill(TVVN) end
    ý mình nói là đoạn này nếu đã function checkCD skill ở trên r` xuống hàm điều kiện lại check thêm lần nữa làm j o.o
     
  20. herosf2006

    herosf2006 Mega Man

    Tham gia ngày:
    19/3/08
    Bài viết:
    3,448
    Nơi ở:
    Đà Nẵng
    cho mình hỏi trong chuỗi combo, nếu đánh miss thì làm sao :9cool_too_sad:
     

Chia sẻ trang này