[Tut] Special Lightning Effect

Thảo luận trong 'World Editor' bắt đầu bởi truongdzuy, 11/8/12.

  1. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    Việc tạo 1 custom lightning effect khác 16 lightning effect mẫu của War luôn là vấn đề nan giải.
    Ở đây mình xin được phép chỉ các bạn cách làm 1 Special Lightning Effect, chỉ với 4kb, k sử dụng trigger hay zì cả ( dài dòng và k dc thẩm mĩ = :D - theo tớ )
    Đầu tiên bạn fải có LightningData.slk ( vui lòng down ở dưới nhé :D )
    [​IMG]
    Đây là file để quản lí các lightning effect trong war3, như đã thấy. Nó có thể mở = Excel hoặc Notepad, tuy nhiên mở = Notepad sẽ rất rối và khó nhìn, vậy nên mình sẽ mở = Excel :D.
    Các Tab:

    Name:
    Tên string của lightning effect, trong War chỉ được phép sử dụng 4 chữ in hoa (Raw Code) để làm string cho lightning effect. Hãy đặt tên s cho đừng trùng vs các Lightning Effect khác ( kể cả của War3 )

    Comment:
    Phần này dùng để đặt tên, dễ fân biệt trong Excel ( k ảnh hưởng đến các thứ khác )

    DIR
    Không cần fải lo lắng về fần này, nó không bắt buộc fải thay đổi.


    File
    Đường dẫn của File, không nên thay đổi fần này trừ khi bạn biết bạn đang làm zì.

    ---------------------------------------------------
    Mình tự tìm hiểu thêm, đây là loại file .blp có tiền tố là DIR.
    Ví dụ full path là : war3mapImported\WhiteBurn.blp
    Thì DIR là war3mapImported
    còn file là WhiteBurn.blp
    ( fần này mình tìm hiểu thêm, các bạn nào cần nâng cao về cái này thì hãy đụng tới fần này, yêu cầu có khả năng thẩm mĩ, sử dụng pts để làm file .blp này, còn không thì chỉ nên xài base từ 16 cái có sẵn của War dc r`)
    ---------------------------------------------------

    AvgSegLen: Average Segment Length?
    Width: Chiều rộng của LE.
    R: Chỉ số "Đỏ" của Lightning Effect. tối đa : 255.
    G: Chỉ số "Xanh lá" của Lightning Effect. tối đa : 255.
    B: Chỉ số "Xanh dương" của Lightning Effect. tối đa : 255.
    A: hệ số Alpha. Càng thấp thì tỉ lệ trong suốt càng cao.
    NoiseScale: độ rung của lightning effect.
    TexCoordScale: hướng "chạy" của lightning effect (số âm thì texture chạy từ target về "gốc", số âm càng nhỏ thì chạy về càng nhanh, số dương thì ngược lại).
    Duration: Thời gian (theo giây) ?
    Version: 0 = RoC, 1 = Chỉ riêng TFT

    Trong Tab, các phần mình để "?" không nên thay đổi trừ khi bạn biết rõ mình làm gì.

    Nhìn vào hình ở trên, ta thấy 1-16 là có sẵn của Blizzard. từ 17 trở đi là các custom của tớ.
    P/s: tớ chả thay đổi gì nhiều trong đây.

    Tạo Lightning Effect cho riêng bạn​


    1.
    Copy and paste cái lightning effect mẫu mà bạn muốn. Tác giả chọn Drain Mana.

    2.
    Khi đa copy xg, đặt nó vào dòng tiếp theo của lightningdata.slk ( ở tác giả là dòng 17 - Rawcode: PURP )

    3.
    Tìm hiểu chỉ số RGB mà bạn muốn, chỉ số Alpha và tất cả các thử khác, chỉnh sửa 1 cách hợp lí.

    4.
    Đổi tên của Lightning Effect sao cho không trùng với các LE khác.
    [Tác giả: PURP]

    5.

    Bạn đã xong việc chỉnh sửa, bây h đến việc cho nó vào map !

    Import vào Map​

    Bước cuối cùng!​


    1. Save, tắt excel và mở map của bạn.


    2. Bật Import Manager. Hotkey: F12

    3.
    Làm theo như hình
    Use Custom path
    Đổi thành Splats\LightningData.slk
    Nếu không thì War3 sẽ k nhận file LightningData của bạn
    [​IMG]

    4. Cuối cùng là cách sử dụng lightning effect bạn đã tạo:

    Tìm spell sử dụng lightning effect. Ở đây tác giả sử dụng Drain Mân.
    Đổi Art- Lightning Effects thành rawcode của bạn.
    Bạn có để ý k có Lightning Effect của bạn k? để làm được việc này cần tổ hợp phím SHIFT +Enter ( hoặc giữ SHIFT và nhấp đôi vào Art- Lightning Effects 1 lần nữa). Lần này nó hiện ra những rawcode mà spell này sử dụng, hãy xóa đi và thay = rawcode lightning effect của bạn.
    Vì tác giả đặt là PURP nên sẽ ghi vào:
    [​IMG]

    5.
    Nhấn OK, Bây h bạn đã tạo cho mìnk 1 custom lightning effect mới r! Save map lại và hãy thử nó . Nếu làm đúng thì nó sẽ hoạt động và bạn sẽ thu được kết quả mong muốn.
    1 khi bạn đã thành thạo việc này, thì việc sử dụng lightning effect cũng sẽ tốt hơn và dễ hơn việc làm = trigger. ( DotA cũng làm cách này, theo tớ biết )

    Để làm nh` hơn lightning effect, chỉ việc chỉnh sửa LightningData.slk và import vào, thay thế cái cũ = cái mới

    Kết quả:

    Image test.jpg

    Demo đính kèm ở dưới :D
    p/s: tut đầu tay, có r` thì mod del zùm e ..... ngôn ngữ k dc văn chương lắm, đừng gạch đá nh` dc r` :D


    CREDITS: Orginal from : The Helper - hell_knight

    -------------Dark Lightning-----------
    Credits: JeffQ's Chain System ( sử dụng vì lười làm chain :D ....... và để đảm bảo MUI cho những bạn nào cần :D )
    Trigger này thiết lập thông số cho Chain của bạn, như Caster, Target ( mục tiêu ), Amount ( lượng damg deal ), Heal ( dùng cho Chain Drain Life - hút máu đối thủ truyền cho mình ) , Mana ( như Heal nhưng hồi mana ), Gold ( rút tiền unit chuyển cho mình ), Ally và Enemy để xác định dùng cho đội hay địch ( nếu Ally = True thì Ally sẽ dc hồi máu, Enemy = true thì enemy sẽ bị deal damg ), Amount Reduce ( lượng Amount giảm đi qua mỗi lần chain ), Slow vs Stun là bạn sử dụng skill dummy slow hay dummy stun để tạo effect cho trigger dưới. Mình dùng Slow nên sẽ set slow = true và stun = false. ChainSFX là effect chain, ở đây mình xài lightning effect advance nên sẽ sử dụng custom script để điền rawcode lightning effect.
    [spoil]
    Mã:
    Dark Lightning
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Dark Lightning 
        Actions
            Set QJC_Caster = (Triggering unit)
            Set QJC_TargetUnit = (Target unit of ability being cast)
            Set QJC_NoTarget = False
            Set QJC_Priority = False
            Set QJC_OnePerUnit = True
            Set QJC_Damage = True
            Set QJC_Heal = False
            Set QJC_Heatlh = False
            Set QJC_Mana = False
            Set QJC_Gold = False
            Set QJC_Leech = False
            Set QJC_Ally = False
            Set QJC_Enemy = True
            Set QJC_Amount = (60.00 + (40.00 x (Real((Level of Dark Lightning  for (Triggering unit))))))
            Custom script:   set udg_QJC_ChainSFX = "CLDK"
            Set QJC_TargetSFX = Abilities\Spells\Human\Polymorph\PolyMorphTarget.mdl
            Set QJC_AttackType = Chaos
            Set QJC_DamageType = Universal
            Set QJC_AmountReduce = 0.00
            Set QJC_JumpCount = (4 + (Level of Dark Lightning  for (Triggering unit)))
            Set QJC_Level = (Level of Dark Lightning  for (Triggering unit))
            Set QJC_JumpDelayTime = 0.10
            Set QJC_JumpRadius = 500.00
            Set QJC_Slow = True
            Set QJC_SlowEffect = -ArmorEffect 
            Set QJC_Stun = False
            Set QJC_StunEffect = -ArmorEffect 
            Set QJC_AoE = False
            Set QJC_DummyType = Dummy
            Trigger - Run Chain Create <gen> (checking conditions)
    
    [/spoil]


    Trigger này, khi dummy cast skill slow, ta sẽ remove buff slow đó, đồng thời tạo 1 con dummy khác và cho nó cast skill inner fire vào để - armor và - %damg :
    [spoil]
    Mã:
    Reduce armor
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to -ArmorEffect 
        Actions
            Unit - Remove Reduce Armor  buff from (Target unit of ability being cast)
            Set dontcopy_tempPos = (Position of (Triggering unit))
            Unit - Create 1 Dummy for (Owner of (Triggering unit)) at dontcopythis facing Default building facing degrees
            Unit - Add Dummy Skill - Armor  to (Triggering unit)
            Unit - Add a 1.00 second Generic expiration timer to (Triggering unit)
            Unit - Set level of Dummy Skill - Armor  for (Triggering unit) to (Level of -ArmorEffect  for (Triggering unit))
            Unit - Order (Triggering unit) to Human Priest - Inner Fire (Target unit of ability being cast)
            Custom script:   call RemoveLocation(udg_dontcopy_tempPos)
    
    [/spoil]


    Qua đây, thì khi caster sử dụng skill này, đối thủ chain sẽ bị deal 60 + 40*lvl damg và giảm: 10/14/18/22% damg, -2/3/4/5 armor trong 10s
    Demo đính kèm ở dưới
     

    Các file đính kèm:

    Chỉnh sửa cuối: 18/9/12
    lonewolf020291 thích bài này.
  2. _Wild__Wolf_

    _Wild__Wolf_ Youtube Master Race

    Tham gia ngày:
    4/8/11
    Bài viết:
    80
    Thanks bác! đang nghiên cứu cái này mà dốt E.L . may có bác....
     
  3. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    update Demo thành skill khác hay hơn, k đơn giản base từ Chain Lightning nữa :)
     
  4. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    demo để thấy được "đó là lightning vừa nhập vào" thì dùng Chain Lightning là được rồi, lại còn phải "chain system" làm gì? cứ phức tạp hóa vấn đề

    Mã:
    Custom script:   set udg_QJC_ChainSFX = "CLDK"
    đặt string thôi sao phải custom script?
     
  5. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    có ng` nói Chain Lightning hơi "bèo" nên hnai có chút tgian e làm cái nỳ :D
    zụ string ........ e chưa bjk :D
     
  6. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    thì tôi chỉ khuyên vậy thôi, còn dùng Chain Lightning hay làm cái khác thì tùy =))

    Mã:
    Set QJC_ChainSFX = CLDK
    có gì mà ko biết?

    thế dòng này:

    Mã:
    Set QJC_TargetSFX = Abilities\Spells\Human\Polymorph\PolyMorphTarget.mdl
    ở đâu ra =))
    đó là set string chứ là gì
     
  7. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    àk ...... cái ChainSFX ng` ta set là Lightning Effect a ạ :D ...... nên e fải xài v. ... còn cái TargetSFX là String ..... :D:D ...... sợ đụng chạm hư nên e set custom lun :D .... dù s cũng tks a .... h e mới để ý
     
  8. NguLongHaKhac

    NguLongHaKhac T.E.T.Я.I.S

    Tham gia ngày:
    5/2/11
    Bài viết:
    653
    Nơi ở:
    MC
    Cho mình hỏi:
    Bây giờ mình tạo ra 1 cái lighting mới và model của nó là moonlight.mdx và texture của nó là moon.blp
    Vậy là mình phải thay thế cái đường dẫn và import file .slk xong thì phải import cái mdx và texture nhỉ
     
  9. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    Lightning effect chỉ dùng texture chứ không dùng model nên chỉ cần import texture vào map và làm như #1.
    NoiseScale: độ rung của lightning effect.
    TexCoordScale: hướng "chạy" của lightning effect (số âm thì texture chạy từ target về "gốc", số âm càng nhỏ thì chạy về càng nhanh, số dương thì ngược lại).
    Bổ sung vào nhé :)>-.
     
    Chỉnh sửa cuối: 4/9/12
    truongdzuy thích bài này.

Chia sẻ trang này