Sweetvn's GUI spell template - Các bạn vào tham khảo

Thảo luận trong 'World Editor' bắt đầu bởi hyaTHa_dk, 24/7/08.

  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
    Trước tiên do topic Jass ở trên tui post tut hơi bị chậm post bài cho newbie

    Thứ 2 là có rất nhiều adv mem đã khá về WE rồi, mà bài cho họ chắc còn lâu tui mới post đến

    ==> tui lập topic này coi như post trước bài để phục vụ những mem kể trên ^_^

    -------------------------------------------------------------------------
    có vài điểm muốn thống nhất luôn với các bạn là:

    1. Những spell template tui giới thiệu ở đây chưa từng được post ở bất kỳ đâu, nên mọi quyền tác giả thuộc về tui SweetSaintVN

    2. Mặc dù có tư tưởng tiến bộ những tui cũng có nhiều cái cổ hủ nên...
    CÁC BẠN KHÔNG ĐƯỢC MANG MAP CỦA TUI CHO NGƯỜI NƯỚC NGOÀI XEM

    3. Vì là topic cho mem cấp cao nên hướng dẫn chi tiết là không có đâu, mọi người không hiểu thì hỏi ở dưới

    4. tạm thế thôi đã :D
    -------------------------------------------------------------------------

    _/_/_/_/_/_/
    Phần 1:_/_/
    _/_/_/_/_/

    Timer: không dùng biến mảng, hỗ trợ nhiều hero cùng sử dụng

    Theo lẽ thông thường thì 1 đồng hồ nếu muốn nhiều hero cast cần ngay 1 Unit Group hay một biến kiểu màng để lưu lại các Hero cast trong GUI

    Nhưng thôi, nói về ưu điểm của Template này thì nhìu lắm, dưới đây là 1 công thức chung

    <>Concept<><><><><><><><><><><><><><><><><><><><><><><><>
    Timer: thực chất là 1 vòng lặp lại liên tiếp sau những khoảng thời gian nhất định

    nếu muốn làm 1 timer thì ta phải dùng 1 vòng lặp cũng tương tự sau khoảng thời gian nhất định

    <>Concept<><><><><><><><><><><><><><><><><><><><><><><><>

    để làm được điều trên tui dùng 2 trigger để thực hiện vòng lặp
    -------------------------------------------------------------------------------------------------
    Trigger 1:
    -Event: whatever

    -Action:
    ++++++tạo 1 unit "Fake Unit" và cho nó chết sau 0.01s
    ++++++set custom value of last created unit to : 100 chang han

    ++++++ tiếp theo là bước truyền biến vào unit trên
    -------------------------------------------------------------------------------------------------
    Trigger2
    -Event : Unit dies

    -Condition:
    ++++++++dying unit equal to dying "Fake Unit"
    ++++++++custom value of "dying unit" greater than "0"

    -Action
    ++++++tạo 1 unit "Fake Unit" và cho nó chết sau 0.01s
    ++++++set custom value of "last created unit" to : "Custom value of dying unit" - 1

    +++++ tiếp theo là MAIN ACTION CỦA BẠN với việc NHẬN BIẾN TỪ DYING UNIT (đây là unit ở Trigger 1 mang toàn bộ biến ở Trigger 1)
    -------------------------------------------------------------------------------------------------

    <>Concept<><><><><><><><><><><><><><><><><><><><><><>
    Dying unit ở đây = Fake Unit type và mang được một số biến sau

    Point: Postion of (Dying Unit) : ở trigger 1, bạn muốn lưu point nào thì đặt nó ở point đó
    Unit: target unit of ability being cast, ở trigger1, bạn muốn lưu unit nào thì bảo nó cast phép gì đó vào unit đó
    Real: Hit point của unit đó với regen type = never
    integer vv....

    <>Concept<><><><><><><><><><><><><><><><><><><><><><>

    lolololololololololol
    Bên trong map:lol
    lolololololololololol

    -LẦN 1
    +++có 1 unit chết, custom value = 100
    +++tạo 1 unit khác với custom value của unit chết - 1 = 99
    +++ thực hiện MAIN ACTION

    -LẦN 2
    +++có 1 unit chết, custom value = 99
    +++tạo 1 unit khác với custom value của unit chết - 1 = 98
    +++ thực hiện MAIN ACTION

    .......
    .......

    -LẦN 100
    +++có 1 unit chết, custom value = 1
    +++tạo 1 unit khác với custom value của unit chết - 1 = 0
    +++ thực hiện MAIN ACTION

    -LẦN 101
    +++có 1 unit chết, custom value = 0
    +++ không thực hiên gì cả
    +++ vòng lặp tự ngắt sau 100 lần


    Dưới đây là cách làm 2 spell tối qua tôi vừa viết:
    Rain of Ice và Knock Back Aura theo yêu cầu của 1 số mem


    Các bạn ngạc nhiên vì code rất ngắn và hiệu quả lại cao thì cũng không sao vì từ giờ sẽ phải

    THAY ĐỔI CÁCH NHÌN VỀ GUI, VÀ TÔN TRỌNG SWEETVN HƠN ^_^..... just joking !!

    Dùng winrar giải nén, map đây:
     

    Các file đính kèm:

  2. Diệp Thanh

    Diệp Thanh Kirin Tor Moderator Lão Làng GVN

    Tham gia ngày:
    7/2/04
    Bài viết:
    4,403
    Good jpb Hytha...nice to see you are coming back :D
     
  3. sukaraki

    sukaraki Donkey Kong

    Tham gia ngày:
    12/5/08
    Bài viết:
    356
    Nơi ở:
    Demonworld
    chữ job em ko có gì để nói. Còn chữ coming ko cần are đâu anh.

    @to hyaTHa_dk : đi làm rồi mà vẫn còn giúp đỡ anh em, bạn này tốt ghê :D.Tình hình là trong GUI nghĩ hoài ko ra vụ làm sao 1 unit ranger đánh 1 phát đc nhiều con và nhiều missle bay ra. Nếu chơi đểu thì cũng đc : tạo unit locust hình missle rồi cho bay tới đám ở gần con đang attack, khi tới khoảng 60,60 thì dam nó = prima atribute include bonus.Nhưng dam nó nhận đc như vậy là ko chính xác theo cách tính thông thường gồi.Muốn nó dam thông thường mà ranger đánh ra đc nhiều missile thì làm sao vậy >"< hix ba hoa với mấy thằng đệ là "spell nào anh cũng làm đc" cuối cùng dính spell này ngớ người.
     
  4. Vua_Do_Hoa

    Vua_Do_Hoa Mr & Ms Pac-Man

    Tham gia ngày:
    30/3/08
    Bài viết:
    217
    Nơi ở:
    Tp Hồ Chí Minh
    Ôi gời !!! Nguyên ngày hum qua tìm quài ko ra , giờ nó tọt lên đầu mới thấy...
    _______________________

    Wow, thiết là hết chỗ chê vào kinh nghiệm xương máu của anh luôn. Vừa nhanh vừa hiệu quả.
    Cám ơn anh nhiều
    _________
    Nói thiệt: Từ khi anh bảo viết Tut JASS em chỉ chờ xem bài của anh ... Mấy cái map đang làm dở cắt luôn :D
     
  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
    multi arrow thì bình thường bạn dùng spell của cái xe tăng của humman ấy, Vao Object ấn Ctrl + F để search cái này "barrage". and change targets, dam cho mỗi arrow là 100%
     
  6. Vua_Do_Hoa

    Vua_Do_Hoa Mr & Ms Pac-Man

    Tham gia ngày:
    30/3/08
    Bài viết:
    217
    Nơi ở:
    Tp Hồ Chí Minh
    Trời đất , cái vụ này mà anh Sukaraki ko biết nữa hả >!? Em nhớ đã có nói rồi mà ta ... ::(
     
  7. sukaraki

    sukaraki Donkey Kong

    Tham gia ngày:
    12/5/08
    Bài viết:
    356
    Nơi ở:
    Demonworld
    Hơ hơ cái spell duy nhất ta ko biết làm hóa ra là spell có sẵn à :)) .có thể + thêm dam, mà xem ra ko cần.
    :devil: remain undefeated SpellMaster :devil:
     
  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
    trước tiên xin cảm ơn sự ủng hộ của mọi người, hôm nay tui xin làm 1 spell chi tiết hơn 1 chút để mọi người cùng tham khảo ( cuối tuần mà )

    _/_/_/_/_/_/
    Phần 2:_/_/
    _/_/_/_/_/

    Cũng vẫn chủ đề TIMER

    như mọi người đã biết KnockBack template ở trên dựa vào 1 skill base là SLOW của Human, hay 1 skill nào đó target Unit.... để lưu unit bị knock back lại (thông qua Target Unit of Ability Being Cast)

    thế nhưng còn những spell kiểu như Fire Ball, hay mũi tên của Tướng hổ trong Dota thì sao đây ????

    thực chất chúng là những Unit bình thường như bao unit khác... nhưng có thêm ability Locust

    Như các bạn biết unit đã có Locust thì target chúng = niềm tin mất :( , vậy chúng ta làm sao đây :((

    nhiều GUI ner, cũng chỉ còn biết dùng timer và 1 seri các biến mảng để move nó thôi, vì nó thuộc dạng unit còn ko thể dùng Group để pick được nữa chứ :(

    NHƯNG, tôi thì DISAGREE với họ


    Ở phần 2 dưới đây, tôi sẽ đưa ra một CÔNG THỨC CHUNG ĐỂ MOVE NHỮNG UNIT CÓ ABILITY LOCUSST
    ------------------------------------------------------------------------

    <>SUY NGHĨ<><><><><><><><><><><><><><><><><><><>
    Để làm được cái điều trên thì chúng ta cần xem điều kiện để làm được nó là :

    EVENT: có 1 event được gọi ra liên tục sau 0.01s hay lớn hơn 0.01s cũng được

    ACTION: có 1 MAIN ACTION LÀ UNIT - MOVE UNIT TO ..OffSET.. TOWARDS .....
    ++++++ phần MOVE UNIT TO .. OffSET .. thì range = bao nhiêu là chúng ta đặt nên cái này coi như xong
    ++++++ phần TOWARDS ... thì là hướng bay của Missle, chúng ta có thể lấy hướng mặt của unit đó làm hướng bay (facing of (unit))


    ==> vậy là còn event gọi ra liên tục thì sao đây, câu trả lời vẫn là Unit - Start the effect of an ability thôi, vì sao hay như thế nào thì đến lúc post tut cho newbie tôi sẽ nói kỹ hơn
    <>SUY NGHĨ<><><><><><><><><><><><><><><><><><><>


    Issue - Unit Target Unit thì không được :(

    thế còn Issue - Order Unit with no target thì sao ?

    Template này sẽ dùng 2 base skill là Slam và Roar để tạo nên vòng lặp TIMER như Concept ở bài đầu tiên đã nói

    Spell đi kèm bài hướng dẫn là FIRE BALL, bắn 1 cục lửa, khi nó đâm vào unit enemy thì sẽ phát nổ(giống mũi tên arrow của tướng hổ trong dota)
    ------------------------------------------------------------------------


    để làm được điều trên tui lại vẫn dùng 1 TRIGGER gây ngòn nổ + 2 triggerMAIN để thực hiện vòng lặp
    --------------------------------------------------------------------------
    Trigger 1: Trigger gây ngòi

    -Event: unit begin casting an ability: Fire Ball Skill chẳng hạn or something like that ..

    -Action:
    ++++++tạo 1 unit "Missle Unit"
    ++++++set custom value of last created unit to : 100 chang han
    ++++++cho nó 2 skill kể trên là "SLAM" và "ROAR"
    ++++++Châm ngòi cho vòng lặp = việc ORDER last created unit to SLAM
    --------------------------------------------------------------------------

    Trigger2: 1/2 Vòng lặp trên

    -Event : Unit start the effect of an ability

    -Condition:
    ++++++++"Ability being cast" equal to "SLAM"
    ++++++++custom value of "casting unit" greater than "0"

    -Action
    +++++ Set custom value of "Casting Unit" to : Custom value of casting unit - 1
    +++++ Reset ability cooldown cho casting unit
    +++++ ORDER "casting"unit to ROAR

    +++++ tiếp theo là MAIN ACTION CỦA BẠN
    +++++ MOVE UNIT .....

    --------------------------------------------------------------------------
    Trigger3: 1/2 Vòng lặp dưới

    -Event : Unit start the effect of an ability

    -Condition:
    ++++++++"Ability being cast" equal to "ROAR"
    ++++++++custom value of "casting unit" greater than "0"

    -Action
    +++++ Set custom value of "Casting Unit" to : Custom value of casting unit - 1
    +++++ Reset ability cooldown cho casting unit
    +++++ ORDER "casting"unit to SLAM

    +++++ tiếp theo là MAIN ACTION CỦA BẠN
    +++++ MOVE UNIT .....

    ----------------------------------------------------------------------

    <><><><><><><><><>
    Bên trong map<><>
    <><><><><><><><><>

    Bắt đầu bắn phép:
    + Tạo 1 missle cho casting unit
    + cho nó 2 skill SLAM + ROAR
    + Bảo nó cast SLAM

    ...
    Có Unit cast phép SLAM
    + Move chính Unit cast phép đó đi 1 khoảng xx range
    + Reset cooldown + báo nó cast ROAR

    ...
    Có Unit cast phép ROAR
    + Move chính Unit cast phép đó đi 1 khoảng xx range
    + Reset cooldown + báo nó cast SLAM

    ........ chấm chấm và chấm chấm, 2 Trigger trên cứ thay nhau gọi cho nhau và kết quả là unit của chúng ta đang dy chuyển :D

    ----------------------------------------------------------------------

    Map dưới tui cần nói qua 1 chút
    như đã nói Fire Ball khi bay, nếu nó chạm vào unit nào là nó sẽ phát nổ ...

    + Chắc các bạn có thể phần biệt được Orc - ShockWave và Undead - Carionswarm, chúng đều là 2 spell dùng missle nhưng shockwave còn làm 1 effect trên đất, khiến nó như bị lún xuống khi có missle bay, còn carrionswarm thì không.
    ==> template sử dụng SLAM cũng vì lẽ đó, nếu bạn ko muốn giống như shockwave(tức là có effect của mặt đất bị lún) ..... vào spell SLAM của Neutral Hostile và chính Area of Effect = 0 (tôi để trong map là 50), có thể tăng lên để tăng vùng đất bị effect này

    +khi Unit Missle chết, nó sẽ tự động active spell : Kaboom của Goblin và phát nổ, deals dam ra unit enemy xung quanh, các bạn vào chính thông số của spell đó thôi...

    + Muốn thay đổi missle thì vào Model chỉnh bình thường thôi :D


    ... Map đây, dùng winrar giải nén ....
     

    Các file đính kèm:

  9. 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
    tuần sau tui bận rồi, nên hôm nay tranh thủ làm nhanh vài spell cho ae......
    chắc tối, hoặc chiều sẽ thêm 1 bài nữa :D nếu có time

    _/_/_/_/_/_/
    Phần 3:_/_/
    _/_/_/_/_/

    Cũng vẫn chủ đề TIMER

    như mọi người đã biết FIRE BALL MISSLE ở trên là move 1 unit có ability Locust

    thế nhưng còn những spell kiểu như Illusory Orb của Faerir Dragon trong dota thì sao? vấn đề là khi hero cast phép Move là move ngay tới Orb nó phóng ra từ trước ....

    ----------------------------------------------------------------------
    Chúng ta thấy bài trước, ta dùng 2 skill Issue Order With NO TARGETSLAM và ROAR để làm TIMER, những giờ thì làm cách nào để lưu HERO và cái ORB đấy đây........

    Đứng trước vấn đề này, bản thân tui hồi trước cũng mất vài ngày để nghĩ ra được cách khắc phục, và cuối cùng..... :D trời không phụ lòng người, :x

    Tôi đã quên bẵng đi mất 2 biến lưu trên 1 Unit đó là :

    SET RALLY-POINT FOR "UNIT" TO "UNIT": có thể lưu UNIT
    SET RALLY-POINT FOR "UNIT" TO "POINT": có thể lưu POINT


    thực chất, đây là lệnh lưu cho 1 UNIT kiểu CÔNG TRÌNH
    tức là "Is a buliding = TRUE"

    Khi 1 Unit đã là công trình thì nó đương nhiên sẽ lưu được 2 biến trên
    ------------------------------------------------------------------------

    Như vậy, CÔNG THỨC CHUNG CHO TIMER MOVE UNIT kể trên là
    3 TRIGGER: 1 trigger GÂY NGÒI NỔ, 2 MAIN ACTION, và UNIT ORB phải là unit dạng CÔNG TRÌNH(Is a Bulding = TRUE)

    ------------------------------------------------------------------

    mọi việc không có gì thay đổi, CHỈ THAY ĐỔI "Target of ability being cast = Rally-Point of ( Casting Unit ) as an unit"

    ------------------------------------------------------------------------
    Dưới đây là 3 Missle mẫu tui làm,

    1. Circle Missle: gọi ra 1 quả cầu băng dy chuyển vòng quanh caster + deals Frost Nova khi nó va vào bất kỳ enemy nào.....
    ==> dy chuyển tròn quanh caster ....

    2. Faerie Missle: giống hệt như Illusory Orb trong dota . Carrion để phóng missle và roar để move đến vị trí của missle Orb ..... nhưng tôi có thêm 1 số effect mới nữa :x để deals damage = rejunvenation với số âm
    ==> dy chuyển thẳng so với caster ....

    2 Spell trên dùng chung 1 Template, chỉ thay đổi model và cách deals dam mà thôi .....

    3. Leap của Mirana trong Dota, nhảy qua mọi địa hình ..... cũng gần giống template của bài 1 KnockBack
    --------------------------

    Mọi người cũng thông cảm vì spell làm ở tốc độ cao, cũng chưa làm kỹ càng lắm... MỤC ĐÍCH CHÍNH LÀ ĐỂ MỌI NGƯỜI HIỀU PHƯƠNG PHÁP LÀM SPELL THÔI :x
    Map đây, dùng winrar giải nén ....
     

    Các file đính kèm:

  10. Vua_Do_Hoa

    Vua_Do_Hoa Mr & Ms Pac-Man

    Tham gia ngày:
    30/3/08
    Bài viết:
    217
    Nơi ở:
    Tp Hồ Chí Minh
    Toàn là cách cao cấp !! Trong 4rum này chắc chỉ mình anh nghỉ ra mà thui ...
    Em vẫn đang còn là "người mò map cấp cao" ^^! nên mấy vấn đề này còn mới.
     
  11. sukaraki

    sukaraki Donkey Kong

    Tham gia ngày:
    12/5/08
    Bài viết:
    356
    Nơi ở:
    Demonworld
    Xem ko kỹ lắm ,vì nhiều chữ quá, có gì mạo phạm xin lượng thứ.Sau đây là điều tôi muốn nói:

    - Bạn bàn về việc move unit có locust ?
    - Từ đó để làm đc các skill như tạo ra con gì đó bay theo 1 quy luật nào đó mình muốn (bay thẳng ,bay tròn ..v..v..) ?
    - Muốn move thì bạn phải pick ?

    Nếu vấn đề chỉ có thế, thì ko cần nhiều thứ rối mù như vậy >"< .Tôi tạo rất nhiều spell, trong đó có Vòng tròn ma quái tạo các missile đen thui bay thành hình xoáy ốc xung quanh hero caster, mỗi lần đụng unit địch thì deal dam = intel X 0.3 .Mỗi missile bay đc 4 giây thì lên dĩa. Việc tui làm chỉ là 1 trigger gọi missle, set cho nó 1 cái tên dạng mảng.trigger 2 là move nó và đảm nhận việc deal dam, xong.
     
  12. 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
    dùng mảng theo tôi là ok
    nhưng dùng for LOOPA và for LOOPB thì chỉ hỗ trợ chính xác là 2 kiểu spell thôi

    bạn thử dùng timer của bạn làm cho 3 loại missle xem có vấn đề gì ko ? tui nghĩ là có vấn đề(cũng chưa thử)...... bạn thử mang 3 spell cùng 1 lúc vào 1 map để thử xem ?

    LOOPA và LOOPB và timer thì không thể tin tưởng được nó đâu theo tui thì tôi nghĩ thế này

    timer1: 0.05s
    Action:

    set loopA=1
    Loop
    ++++LoopA = LoopA +1
    Until loopA > 10

    ngay trong lúc loop A = 3

    timer2: 0.05s bắt đầu chạy
    set loopA=1 ===> tự nhiên loopA của timer 1 biến thành 1 ..... :)
    Loop
    ++++LoopA = LoopA +1
    Until loopA > 8

    Thực ra..... cũng chưa test nên bạn test dùm tui luôn nhé
    --------------------------------
    còn như bạn thấy, mấy dòng đầu trong bài 1 có nói rõ
    Timer: không dùng biến mảng, hỗ trợ nhiều hero cùng sử dụng

    btw, câu hỏi rất hay, rất tốt :D
     
  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
    tiếp ...

    WAVEFORM ..... cũng đơn giản chỉ thêm special effect là NAGADEATH vào mỗi bước dy chuyển + cho model của missle = .mdl là xong thôi

    spell này tui mở map trước ra và edit từ illusory orb của faerie. cơ bản thì giống nhau nhưng khác là waveform dy chuyển hero đến điểm cast phép

    ==> thay đổi chút it custom value của unit ban đầu thôi

    Còn mọi thứ vẫn thế ....

    À quên: thêm 1 trigger "Effect Off", là 1 trigger (trigger này cũng đã giới thiệu từ trước) dùng để remove effect mà cũng không cần dùng biến TEMP để lưu vào sau đó remove ...

    Cách sử dụng: là bạn gọi 1 special effect ra sau đó, run trigger này ngay sau khi gọi special effect(tức là ngay sau dòng gọi special effect). Bạn cũng có thể hiểu nôm na là nó sẽ tự động remove effect sau 1s (1s này cũng có thể chỉnh được), bạn cũng ko cần bận tâm đến nó nữa

    Muốn tìm hiểu thêm thì bạn vào topic Jass của tôi để thao khảo thêm, có rất nhiều trigger nửa Custom Script, nửa Trigger để bạn có thể sử dụng ...


    Map đây, dùng winrar giải nén:
     

    Các file đính kèm:

  14. Vua_Do_Hoa

    Vua_Do_Hoa Mr & Ms Pac-Man

    Tham gia ngày:
    30/3/08
    Bài viết:
    217
    Nơi ở:
    Tp Hồ Chí Minh
    Thế còn về việc tạo một Quả cầu cho nó bay đến vô định. dính con enemy nào thì đẩy con đó dựt lùi lại làm cách nào, nếu dùng theo cách của anh Hya.:-\
     
  15. sukaraki

    sukaraki Donkey Kong

    Tham gia ngày:
    12/5/08
    Bài viết:
    356
    Nơi ở:
    Demonworld
    A và B thực ra chỉ là 2 intenger có sẵn thôi, ko nên lạm dụng.Tôi làm spell toàn mỗi spell 1 cái intenger riêng, tên dễ nhìn lắm :)) : ví dụ tên spell là kamejoko thì có các biến sau : kame_dum (dummy) , kame_caster , kame_for (loop intenger) , kame_point (target point) , kame_tar (target unit) .Gà cỡ nào mà mở đc cái map tui ra, nhìn sơ là hiểu hết :))
     
  16. 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
    vậy thì array làm thế nào ??, bạn đưa thử map bạn làm cho tui xem được ko ?

    tui cũng vừa xem tut của bạn tom_ka .... thấy vài cái về GUI knock back chẳng hạn
    http://forum.gamevn.com/showthread.php?t=472748

    ví dụ như đoạn này (cũng chẳng biết nó ntn nhưng thấy có loop là copy thui :P )

    nếu ko sử dụng loopA và loopB thì bạn làm sao hỗ trợ multi hero cast ???
    bạn gọi ra index của những cái biến của bạn như thế nào ấy .... còn tên biến thì như thế nào mà chẳng được .....


    @ vuadohoa
    may quá sáng nay nhà có mạng nên làm cho bạn luôn, nốt lần này thôi đấy ...

    Nguyên tắc thì cũng như spell fire ball

    chỉ khác là khi fire ball unit die(tức là phát nổ) ... bạn tạo 1 "Fake Unit" và đặt nó ở 1 điểm sao cho góc giữa điểm đó với vị trí của unit cần knockback = góc bạn muốn knockback

    (trong map thì góc knockback = góc của quả fire ball với hero)

    mọi thứ vẫn nguyên đại nguyên kiện, ko có gì mới ...

    map đây. dùng winrar giải nén...
     

    Các file đính kèm:

  17. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    Ko sử dụng LoopA và LoopB thì tạo 1 biến loop riêng cũng đc mà.
    For Each Integer Variable, Do Multiple Actions
    Mã:
    For each (Integer SlideLoop) from 1 to SlideIndex, do (Actions)
        Loop - Actions
    
    Nếu lo lắng về việc dùng LoopA và LoopB trùng nhau, chỉ cần tạo biến loop riêng cho từng spell là ok ngay.
    ----
    Gọi index ?
    Nói chung là index thế này:
    Ví dụ hiện tại có SlideIndex = 10, vậy: SlideLoop (hoặc LoopA) sẽ lặp từ: 1 -> 10
    Mã:
    1  2  3  4  5  6  7  8  9  10
    Nếu khi loop mà SlideTick của biến loop mà bằng 0 (tức là dừng slide) thì SlideIndex sẽ giảm 1, (còn 9) và các index cũng phải lùi lại, ví dụ LoopA đang ở 4 mà SlideTick[4] == 0
    Mã:
    1  2  3  _  5  6  7  8  9  10
    1  2  3  5  6  7  8  9  10
    Và như vậy, đẩy index về thì SlideUnit, SlideAngle, SlideDistance, SlideTick (nói chung là data của Slide) cũng sẽ lùi lại, data có index 4 sẽ là data của index 5, data có index 5 sẽ là data của index 6,... Vì vậy tôi mới cho loop từ LoopA đến SlideIndex - 1 (từ 4 -> 9)
    Và cứ như thế thì đến khi SlideIndex == 0, tuy timer vẫn chạy nhg loop trong timer sẽ ko lặp nữa (vì từ 1 đến... 0 ) => coi như dừng tất cả Slide luôn.
    ------
    Thật ra slide này thì cũng... dễ nên mới loop đc kiểu này, spell nào phức tạp quá thì tôi nghĩ loop kiểu này ko đc ổn lắm.
     
  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
    :D à, đúng rồi :P , vậy là cũng ko bị lỗi phần LOOP được :P
    ------------------------------------------------------------------------

    Nhưng nói chung là theo quan điểm của tôi thôi, thì dùng timer nó ghê ghê thế nào ấy, càng nhiều timer chạy để get event thì dễ bị error lắm nếu làm ko cẩn thận

    Nên tốt nhất là giao mọi thứ cho war3 quản lý :D, mình chỉ làm cái ven ven thôi cho nó lành :D

    @tom: bạn bảo spell nào thì phức tạp, post lên đi, biết đâu cách của tui làm được thì sao ;;) .. tranh thủ thời gian này đang rảnh :p
     
  19. 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
    tiếp .....

    spell name : Element Orb

    + cast silence lên map
    + gọi ra 2 quả cầu lửa bay lên theo hình vòng xoắn ốc

    + khi 2 quả cầu trên chạm vào nhau thì phát nổ + rơi 1 quả cầu lửa xuống mặt đất
    + quả cầu này rơi xuống và deals ... 2dam cho area

    ----------------------------------------------------------------------

    Set Rally-point thật là hữu dụng để lưu biến Point vào 1 unit mà không cần dùng biến

    Như vậy, chúng ta đã có thể cùng 1 lúc lưu 2 biến point, 2 biến unit vào 1 Fake Unit = cách sử dụng set Rally-point ....và Rally-Unit

    Spell này sử dụng template cho Unit có locus để move và set rally-point để lưu lại địa điểm bay ...

    Map đây, dùng winrar giải nén..
     

    Các file đính kèm:

  20. Vua_Do_Hoa

    Vua_Do_Hoa Mr & Ms Pac-Man

    Tham gia ngày:
    30/3/08
    Bài viết:
    217
    Nơi ở:
    Tp Hồ Chí Minh
    à anh Hya ơi thế con mấy bài nữa thì chúng ta bước vào JASS ạ ?
    Giờ em càng xem càng ko hiểu =)) . Chắc ...:hug:
     

Chia sẻ trang này