Jass, ngôn ngữ cơ bản của War 3 - Các bạn vào tham khảo

Thảo luận trong 'World Editor' bắt đầu bởi hyaTHa_dk, 9/8/06.

  1. hyaTHa_dk

    hyaTHa_dk Mr & Ms Pac-Man

    Tham gia ngày:
    10/4/05
    Bài viết:
    235
    Nơi ở:
    Hà Nội
    thằng điên, biết gì thì post bài hướng dẫn anh em thì ko, vào đây chat chít hỏi nhăng cuội làm như nó kinh lắm nên mới nói để xem code jass của mọi người thế nào ????? Cứ làm như nó thử khả năng của mọi người xem ai = được nó chưa đấy ???

    CÒn ở đây chẳng có ai tự nói mình giỏi nhất cả.. Chắc chỉ có cái thằng DKM mới nghĩ đến điều đó mà thôi !!
    Tái bút: mà anh gì mà mọi người hay gọi là Pro ơi, nếu ko có gì có ích cần làm ở đây thì cũng rất mong đừng vào đây nói lung tung nữa nhớ
     
  2. VTTRoseRed

    VTTRoseRed Youtube Master Race Lão Làng GVN

    Tham gia ngày:
    21/3/05
    Bài viết:
    20
    Thôi bỏ đi, trở lại chủ đề chính, cho mình hỏi hya có script sin,cos ko thì send cho mình, dùng mấy cái default của blizard thì hình như hơi lag zzz
     
  3. hyaTHa_dk

    hyaTHa_dk Mr & Ms Pac-Man

    Tham gia ngày:
    10/4/05
    Bài viết:
    235
    Nơi ở:
    Hà Nội
    ko phải lag đâu mà do quy định của bạn đó
    ví dụ như hàm clover 4 lá,3 lá (mình đã post lên rồi, bạn thử tìm lại xem các bài viết trong topic chung xem) ko thây có gì gây lag cả
    mà YM là gì thế ? của mình là hya_tha_dk
    --------------------------------------------------------------------------
    THôi quay lại với phần tiếp theo
    Các bài tiếp sau tôi sẽ post về spell Critical Strike

    Thực ra, nếu các bạn có thể làm lại được tất cả các spell của Blizzard có hỗ trợ nhiều Hero cast cùng 1 lúc thì lúc đó dường như các bạn muốn làm gì cũng được rồi đó :D Lúc đó các bạn đã coi như kiểm xoát toàn bộ Jass rồi đó

    Các spell mà tôi khuyến cáo các bạn tự làm lại có thể là những spell sau:

    - ShockWave (với việc kiểm xoát đường đi của missle)

    - Blizzard (làm y trang như Blizzard đó nha, tức là đến khi Hero bị 1 tác động nào đó, hay hết time thì ngừng cast)

    - Chain Lightning ( Với việc kiểm xoát số lần nhảy và %damage giảm sau 1 lần nhẩy)

    - Death and Decay (Cái này nghĩ thì tưởng nó giống Blizzard, nhưng nó khó hơn khá nhiều so vơi Blizzard đó)

    - Feral Spirit (Với việc kiểm xoát max = "2" Unit Wolf cho 1 Hero + Support cho nhiều Hero cast. Spell này cũng tỏ ra khó chơi đó)

    - 1 spell Aura bất kỳ(hoặc làm spell Big Bad Voodoo là ổn)

    - Voodo Spirits( Với việc kiểm xoát số lượng Unit bay xung quanh Hero thôi cũng đủ đê làm spell này khó chơi rồi)

    - Critical Strike(sẽ post dưới đây)

    - Evasion (làm được Critical Strike hẵng rồi mới nhảy sang spell này được)

    - Frost Armor

    - Slow Poison của Dryad và Spirit of Vengeance cũng tỏ ra khó chơi ra phết đấy

    - Storm Bolt hoặc Engtangling Roots
    - Immolation
    - 1 cái khá quan trọng là làm 1 hệ thống Stack của vài loại Ore nữa

    Để mai post về phần Critical Strike
     
  4. VTTRoseRed

    VTTRoseRed Youtube Master Race Lão Làng GVN

    Tham gia ngày:
    21/3/05
    Bài viết:
    20
    Ờ, sẽ thử tìm lại trong mấy cái topic, nhưng giờ ngồi lục lên thì ngại quá, chơ dota đã :D.
    Còn mấy cái spell đó thì mình thấy chỉ có cái evansion là hơi chuối, nhưng hồi trước có đọc 1 cái spell block damage trên wc3sear.ch rồi, có thể áp dụng làm evansion, nhưng có cái dở là 1 số lúc nó block cả spell, hya có biết cách phân biệt incoming damage là từ spell hay từ hero ko ? vd khi bị stormbolt thì biết là mình bị cast phép chứ ko phải bị đánh, nếu làm đc thế thì evansion cũng ko khó lắm rồi zzz
    Với lại hya có mấy cái chương trình unblock dota ko, hồi trước trong máy có nhưng giờ mất tiêu rồi, mấy cái map dota đã unblock cũng bay luôn :( zzz
    btw, ym của mình là vttrosered1985
     
  5. hyaTHa_dk

    hyaTHa_dk Mr & Ms Pac-Man

    Tham gia ngày:
    10/4/05
    Bài viết:
    235
    Nơi ở:
    Hà Nội
    1 câu gợi ý thôi : bạn cứ so sanh order của Unit chính là biết được ngay nó đang làm gì !
    --------------------------------------------------------------------------
    Nào CS nào
    thực ra, làm CS = trigger mà lại giống y hệt của Blizzard thì cũng khá khó khăn... Nhưng để từ nó phục vụ các spell khác thì tôi thấy nó khá có ích, mọi người nên tìm hiểu chi tiết về spell này
    --------------------------------------------------------------------------
    Vì lúc tôi học về WE, cũng hiểu thời đó CS là niềm mơ ước của nhiều người, nó đã trải qua rất nhiều hình thái Trigger rồi cuối cùng(cách đây khoảng 9 tháng) nó mới chính thức được ra đời đoạn mã chính thức........
    Đây là đoạn trigger đầu tiên sơ khai nhất đây:
    gồm 2 trigger:
    ================================
    TRIGGER1:
    Event :
    --- Unit is Attacked
    Action:
    ----Add to "Trigger 2" the event "Unit - attacked unit" take damage
    ------------
    TRIGGER2:
    Action:
    ---- Display to all player the text " damage = String(damage taken)"
    ================================
    Trigger 1 đăng ký cho trigger 2: 1 event đặc biệt là "Unit bị đánh" "MẤT MÁU"
    Mất máu này có thể do rất nhiều nguyên nhân, có thể bị tấn công = vật lý và bị tấn công = phép thuật
    -----------------------------------------
    Tuy nhiên, 2 trigger trên lại sinh ra 1 hiện tượng khá khó chịu.
    Đó là khi test spell:
    + Ở lần đánh đầu tiên : hiện ra 1 dòng thông báo Unit bị đánh mất bao nhiêu máu
    + Ở lần đánh thứ 2 : hiện ra 2 dòng thông báo Unit bị đánh mất bao nhiêu máu
    + Ở lần đánh thứ 3 : hiện ra 3 dòng thông báo Unit bị đánh mất bao nhiêu máu
    .......

    Như vậy, đoạn trigger Action sẽ thực hiện = với số lần Unit ăn đòn
    Nếu như nó chỉ thực hiện 1 lần thôi với mọi lần đánh thì coi như CS cơ bản đã xong vì
    Ta đã có 3 yếu tố cần để làm CS đó là :
    Unit bị đánh, Unit tấn công, Lượng máu mà Unit bị đánh mất
    Nếu x Lượng máu này với 2 thì coi như đã thành CS rồi :D

    Như vậy, điều ta băn khoăn ở đây là làm sao để đoạn trigger này chạy 1 lần mà thôi !!!
    Trước tiên, các bạn hãy xem CS type1 đi đã
    Map đây:
     

    Các file đính kèm:

  6. VALKYRIE FOREVER

    VALKYRIE FOREVER Youtube Master Race

    Tham gia ngày:
    30/10/04
    Bài viết:
    60
    Nơi ở:
    Valkyrie
    Anh hyaTHa_dk sao không vào nữa vậy ?Em đang thích tìm hiểu mấy cái này nhưng khó hiểu quá
     
  7. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    Sao ko dùng JASS:

    function TakeDam takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), ( "Damage = " + R2S(GetEventDamage()) ) )
    endfunction

    function Trig_TAKE_Actions takes nothing returns nothing
    local unit u = GetAttacker()
    local unit a = GetAttackedUnitBJ()
    local trigger t
    set t = CreateTrigger()
    call TriggerRegisterUnitEvent( t, a, EVENT_UNIT_DAMAGED )
    call TriggerAddAction(t, function TakeDam )
    loop
    exitwhen ( GetTriggerEvalCount(t) == 1)
    call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL, 0.10))
    endloop
    set u = null
    set a = null
    call DestroyTrigger(t)
    endfunction

    //===========================================================================
    function InitTrig_TAKE takes nothing returns nothing
    set gg_trg_TAKE = CreateTrigger( )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_TAKE, EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddAction( gg_trg_TAKE, function Trig_TAKE_Actions )
    endfunction

    Mỗi lần đánh chỉ hiện 1 dòng mà thôi.
    Nhưng nếu nhân Damage take với 2 thì nên dùng "Set Life (to Value)" đừng dùng "Damage Target", vì Target còn có giáp mà. Nếu dùng Dam Spell thì chỉ đúng với Lính thường thôi. Còn với Hero thì ngoài 25% Hero Armor còn có item giảm dam Spell nữa. Nên tốt nhất là dùng "Set Life (to Value)" , thêm điều kiện là nếu Life của AttackedUnit mà <= Damage take thì dùng "Damage Target". Tất nhiên cú đánh cuối cùng này Damage sẽ ko đc như các cú đánh khác.
    Nói thật là tui đã từng tạo Aura CS, có cả Floating Text hiện lên nhưng cái Text chỉ đúng với những unit Armor = 0 mà thôi nên tui đành bỏ.
    Còn 1 kiểu Aura CS khác là Add Ability CS cho Unit nhưng kiểu này sẽ có icon của CS hiện ra, trừ phi ai đó làm cho icon của CS không hiện ra (chà điều này chắc là không thể).
     
  8. hyaTHa_dk

    hyaTHa_dk Mr & Ms Pac-Man

    Tham gia ngày:
    10/4/05
    Bài viết:
    235
    Nơi ở:
    Hà Nội
    làm ơn đừng post kiểu này ở đây hộ cái
    bạn post như thế này thì theo bạn có ai hiểu được gì ko ????:hug:
    nếu thật sự muốn giúp thì làm ơn post dần từ cái cơ bản dùm mình chứ như thế này thì cũng ko mấy ai ở đây tham khảo được cái của bạn
    chứ post lên để tôi xem thì xin cám ơn, tôi xem làm gì chứ ??? :hug:

    trả biết bạn như thế nào chứ cái trigger đếm số lần combo kill còn ko làm được, lại làm được cái CS aura thì đúng là con vẹt rồi còn gì(nghĩa là copy của ai đó đấy hoặc còn quá mơ hồ về nhiều cái)

    Còn map này cho bạn biết độ nông cạn + với cái gọi là ko thể làm được đây
    Spell name: Perfect CS Aura
    Spell là Aura và hoạt động với bất kỳ loại giáp nào kể cả armor = 1000... tóm lại là perfect (tất nhiên tôi vừa mới làm nên 1 số bug nhỏ là ko tránh khỏi, mong mọi người + bạn thông cảm nhé =)) )
    Tất nhiên là bạn về sau có thể làm được cái này thôi(vì đã có tôi giúp mà =)) )

    Map đây:
     

    Các file đính kèm:

  9. VALKYRIE FOREVER

    VALKYRIE FOREVER Youtube Master Race

    Tham gia ngày:
    30/10/04
    Bài viết:
    60
    Nơi ở:
    Valkyrie
    Các anh có thể giải thích kĩ cho em về các hàm trong JASS được không ?(trong mấy cái ví dụ trước đấy).Em thấy mấy cái này hay lắm,nhưng em chi hiểu cách làm trigger,chứ không hiểu ngôn ngữ JASS được
     
  10. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    Này hyaTHa_dk, tui chịu rùi đó. Không nghĩ ra cách tạo CS Aura.
    Xin hãy hướng dẫn cách tạo.
    Hoặc chỉ cần cách tạo CS mà ko có "icon" cũng đc.
    PLZ!
     
  11. hyaTHa_dk

    hyaTHa_dk Mr & Ms Pac-Man

    Tham gia ngày:
    10/4/05
    Bài viết:
    235
    Nơi ở:
    Hà Nội
    k thôi !! Nhưng với bạn mình đòi hỏi cao hơn chút :D

    - Nếu muốn học PCS ngay thì làm cho mình spell Evason Aura (Chance=100%)
    và nhóm unit chỉ có 1 máu thôi
    '----------------------------------
    ==>Recommend
    - Hoặc nếu ko được nữa thì làm cho mình spell Spirit Wolf(spell "Thả" chó của con Tướng Orc ấy =)) ) = jass hoặc trigger cũng đuợc
    - Bảo đảm spell này giống hệt Blizzard, thay đổi được số lượng unit wolf gọi ra
    - map test: cho mình 3-5 hero học phép đó hoặc nhiều hơn thì càng tốt
    ==>Recommend
    Làm xong thì mình sẽ chỉ cho làm Perfect CS. Hè, bạn mà làm được PCS thì sẽ làm được khối phép khác :D
    nhanh lên nhé, mình chỉ dc online 2 ngày nghỉ mà thôi :((
     
  12. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    Cho hỏi cách gửi kèm files (Attach Files), hoặc nick Yahoo của hyaTHa_dk.
    Spirit Wolf(JASS) thì tui tạo xong rồi.
    Còn Evasion Aura thì hơi khó, tui tạo bị lỗi là không tránh đc dam bonus của bash, không tránh đc pulverize, còn critical strike chỉ tránh đc dam, các arrow thì chưa thử, nhưng chắc cũng không tránh đc nếu dùng arrow kiểu "cast". Nếu đánh bình thường thì nếu 1 unit nào đó đầy máu thì vẫn mất máu ở lần bị đánh đầu tiên sau đó mới không mất, còn các unit khác thì ko sao.
     
  13. hyaTHa_dk

    hyaTHa_dk Mr & Ms Pac-Man

    Tham gia ngày:
    10/4/05
    Bài viết:
    235
    Nơi ở:
    Hà Nội
    unit mất máu ở lần đầu tiên là sao ?
    bạn chỉ cần để tất cả các unit test có MaxHp=1 rồi test thôi mà
    chỉ cần nó ko chết thì coi như bạn đã xong spell này
     
  14. fitary

    fitary Mr & Ms Pac-Man

    Tham gia ngày:
    11/1/07
    Bài viết:
    182
    Nơi ở:
    Recycle Bin
    Làm để tạo ra quân địch rồi chop nó chạy vòng vòng , truy sát mình vậy mấy bạn
     
  15. fitary

    fitary Mr & Ms Pac-Man

    Tham gia ngày:
    11/1/07
    Bài viết:
    182
    Nơi ở:
    Recycle Bin
    nếu muốn làm cho level mã tăng lên hơn nữa <mặc định là lv10 muốn tăng lên 15 hay hơn nữa > thì làm sao hả bạn ?????
    <br>
    ___________________________
    <br>
    nếu muốn làm cho level mã tăng lên hơn nữa <mặc định là lv10 muốn tăng lên 15 hay hơn nữa > thì làm sao hả bạn ?????:hug: =((
     
  16. Dark_Knight645

    Dark_Knight645 Donkey Kong

    Tham gia ngày:
    20/12/06
    Bài viết:
    472
    cái jass này ko có phần help, ko có code mẫu vào xem chịu chả hiểu gì tuốt
     
  17. Dark_Knight645

    Dark_Knight645 Donkey Kong

    Tham gia ngày:
    20/12/06
    Bài viết:
    472
    ai có phần help của jass giống như trong các ngôn ngữ lập trình ko
    (ko sửa bài đc thế mới đau)
     
  18. hyaTHa_dk

    hyaTHa_dk Mr & Ms Pac-Man

    Tham gia ngày:
    10/4/05
    Bài viết:
    235
    Nơi ở:
    Hà Nội
    chẳng hiểu gì cả, bác có down map về xem ko đấy ??
    mới cả những bài trước chỉ mới chạm nhẹ đến jass thôi mà ???
    toàn trigger + jass chay thôi mà bác cũng ko hiểu được thì ... có lẽ dù có cho bác phần help của jass cũng như ko thôi

    Còn bác xem ko hiểu chỗ nào thì kêu lên chứ, đừng vơ đũa cả ... 2 tay, 3 chân(1 chân ở giữa) như thế :D
     
  19. fitary

    fitary Mr & Ms Pac-Man

    Tham gia ngày:
    11/1/07
    Bài viết:
    182
    Nơi ở:
    Recycle Bin
    import 1 jass vào map thì làm sao hả bạn ?
     
  20. hyaTHa_dk

    hyaTHa_dk Mr & Ms Pac-Man

    Tham gia ngày:
    10/4/05
    Bài viết:
    235
    Nơi ở:
    Hà Nội
    +Đầu tiên bạn cũng vào Trigger(F4), sau đó tạo 1 trigger lên rồi đặt tên cẩn thận
    +Sau đó bạn vào Menu Edit chọn Convert to Custom Text ....

    -Đoạn trigger bạn chọn đã chuyển về dạng text(Jass) rồi, sau đó bạn có thể paste và copy được bình thường
     

Chia sẻ trang này