Cách làm Map đây - Topic hỏi đáp cho anh em

Thảo luận trong 'World Editor' bắt đầu bởi hung_war3, 15/4/04.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. [XS]-Minhtan

    [XS]-Minhtan Legend of Zelda

    Tham gia ngày:
    22/8/06
    Bài viết:
    954
    Spell sẽ làm tương tự như spell này
    Imediate kill
    Events
    Unit - A unit Is attacked
    Conditions
    ((Unit-type of (Attacking unit)) Equal to Ogre Lord) and ((Life of (Attacked unit)) Less than or equal to (Real(((Level of Two Heads Power for (Attacking unit)) x 200))))
    Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    (Random integer number between 1 and 100) Less than or equal to 10
    Then - Actions
    Animation - Play (Attacking unit)'s Attack slam animation
    Floating Text - Create floating text that reads Critical Hit! above (Triggering unit) with Z offset 3.00, using font size 10.00, color (100.00%, 40.00%, 40.00%), and 0.00% transparency
    Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
    Floating Text - Change (Last created floating text): Disable permanence
    Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
    Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
    Unit - Kill (Attacked unit)
    Wait 1.00 seconds
    Floating Text - Destroy (Last created floating text)
    Else - Actions
    Do nothing

    Sử dụng lệnh:
    (Random integer number between 1 and 100) Less than or equal to 30
    => Action của 30% này
    (Random integer number between 31 and 100) Less than or equal to 60
    => Action của 30% tiếp
    (Random integer number between 61 and 100) Less than or equal to 90
    => Action của 30% còn lại

    Chả rõ đúng hay không mà đại loại là như thế :))
     
  2. Virus2612

    Virus2612 Mr & Ms Pac-Man

    Tham gia ngày:
    8/6/04
    Bài viết:
    137
    Nơi ở:
    Cần Thơ
    có trigger nào làm hiển thị số dam mà unit bị đánh nhận được cho mình xem ko vậy? giống như trong defiance hay là skill ulti của Des trong dota vậy đó!!! Cảm ơn các bạn nhiều!
     
  3. ghost111

    ghost111 Youtube Master Race

    Tham gia ngày:
    30/10/06
    Bài viết:
    26
    Qua Topic "Jass - ngôn ngữ cơ bản của WE " có 1 Map hướng dẫn về hiển thị Dmg ,nhưng chỉ là hiển thị Dmg khi Unit bị tấn công ,còn Spell thì thêm Condition Spell Used nữa ( hình như ghi sai bét tên rồi thì phải :| )
     
  4. z.Z.z

    z.Z.z Mr & Ms Pac-Man

    Tham gia ngày:
    6/1/03
    Bài viết:
    176
    thank Minhtan nhiều nhé, quên mất con Ogre :P
     
  5. Virus2612

    Virus2612 Mr & Ms Pac-Man

    Tham gia ngày:
    8/6/04
    Bài viết:
    137
    Nơi ở:
    Cần Thơ
    Cho em hỏi 1 cái: Khi mình làm phép bằng trigger thì unit cast phép đó sẽ ko mất mana, vậy làm sao cho phép đó cast mất mana được? Và phép đó có 4 lvl thì ko lẽ qua mỗi lvl mình làm 1 phép khác nhau?

    Đừng chỉ pằng Jass, em mới tập làm map thôi T_T

    p.s: Lục lại 148 trang chắc em chít ><
     
  6. F10-E-Q

    F10-E-Q Youtube Master Race

    Tham gia ngày:
    31/8/07
    Bài viết:
    54
    CO' AI BIT' XAI` chuong trinh` WEU chi em voi' em co' ma` ko bit' dung`....
     
  7. dntnguyen

    dntnguyen Mario & Luigi

    Tham gia ngày:
    21/8/04
    Bài viết:
    733
    Trình này cũng giống hệt WE có gì mà ko dùng được. Nó có nhiều lệnh hỗ trợ hơn thôi mà
    ___________________________
    Sao lại không mất ? VD làm 1 chiêu khi quăng búa stun vào đầu nó thì sét giật nó 3 lần. Vậy thì khi cast chiêu storm bolt ( vd ) thì tất nhiên sẽ mất mana
     
  8. 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,398
    -Muốn làm phép bằng trigger thì tất nhiên phải có một cái phép gốc nào đó mình lấy ra chỉnh sửa lại thông số, giả sử dặt tên "my spell". Sau đó mới dùng
    trigger để tạo hiệu ứng nào đó, chắc chắn phải có event "a unit begin casting an abi/ begin effect of an abi....."
    condition: abi equal to "my spell"..

    Ví dụ như thế, vậy nếu my spell tốn mana thì khi cast nó vẫn mất mân như thường.
    Còn làm từng level thì dùng action" if/then/else"
    Hoặc "if/then/multiple action"
     
  9. ghost111

    ghost111 Youtube Master Race

    Tham gia ngày:
    30/10/06
    Bài viết:
    26
    Hơ...ai chỉ cho tui 1 cái Turtorial Multip Spell bằng PDF file được không ? Hay là hướng dẫn ngay trên Forum cũng được
    Mô tả thứ cần hướng dẫn : làm thế nào khi Cast 1 Spell thì khi Spell đó hết tác dụng lại nhảy ra 1 Spell khác ,hoặc là Cast 1 lúc nhiều lần Spell
    VD : Cast xong Inferno ,tạo 1 Shockwave nơi Targer Inferno ,hoặc là Cast 1 lúc 3 Shockwave với góc độ là 60*/90*/120*
    Và hướng dẫn giùm cái Trigger Order Cast Spell (lâu quá quên :( )
    VD : Unit "A" Attack Unit "B" ,nhưng Trigger ra lệnh Unit "A" Cast 1 Spell nào đó ,và Spell này là Custom Spell
    Mong là có người hướng dẫn đầy đủ 2 phần câu hỏi :|
     
  10. Virus2612

    Virus2612 Mr & Ms Pac-Man

    Tham gia ngày:
    8/6/04
    Bài viết:
    137
    Nơi ở:
    Cần Thơ
    bạn có thể chỉ rõ hơn về vấn đề lvl skill được ko?
     
  11. 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,398
    nếu mỗi level bạn có nhiều action khác nhau thì dùng if/then/multiple action.
    Còn nếu mỗi level bạn chỉ cho 1 action thôi thì dùng if/then/else.
    -Đại khái như sau:

    -event: a unit begin casting a spell
    -cond: ability being cast equall to "my spell"
    -act:
    +If level of ability being cast equall to 1, then "action" else do nothing
    +If level of ability being cast equall to 2, then "action" else do nothing
    +If....
     
  12. F10-E-Q

    F10-E-Q Youtube Master Race

    Tham gia ngày:
    31/8/07
    Bài viết:
    54
    Nhung ma` WE khi em edit 1 map va` them vao` advance trigger nhung vao` map thi` ko thay' trigger moi' nao` ma` y cu~ ko hiu~ tai. sao....ma` doi khi em vao` cai' no' ra path unsuccessful gi` do' ..giup em voi...
     
  13. ghost111

    ghost111 Youtube Master Race

    Tham gia ngày:
    30/10/06
    Bài viết:
    26
    Mở WE Enchance lên ,bấm Edit map ,sau đó Check Advance Trigger ,sau đó bấm Optimize ,nếu không bấm thì coi như...lỗi búa lua xua
     
  14. 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
    VD : Cast xong Inferno ,tạo 1 Shockwave nơi Targer Inferno ,hoặc là Cast 1 lúc 3 Shockwave với góc độ là 60*/90*/120*
    --------------------------------------------------------------
    phiền bạn down CAT's team 3.9 về mở ra tham khảo 2 spell Moon Stone Fall hay Multi Shockwave, có gì ko hiểu thì hỏi thêm...

    Còn vẫn chưa làm được thì bạn xem bài Trigger - new bie tham khảo của mình
    http://gamevn.com/showthread.php?t=289759

    bài này hướng dẫn chi tiết cho bạn cách làm những gì bạn cần

    Và hướng dẫn giùm cái Trigger Order Cast Spell (lâu quá quên :( )
    VD : Unit "A" Attack Unit "B" ,nhưng Trigger ra lệnh Unit "A" Cast 1 Spell nào đó ,và Spell này là Custom Spell
    ----------------------------------------------------------------
    spell là custom spell nhưng cũng phải base trên 1 spell nào đó đúng ko ?(tức là ban đầu bạn copy spell đó sau đó sửa đi chỉ số của spell đó + đổi tên spell... nhưng base spell của nó thì ko đổi, có thể nhìn vào String Order - Active/deactive của spell đó)

    ví dụ bạn
    base trên Holy light thì Order = Human - Paladin - HolyLight
    base trên chain lightning thì Order = Orc - Far Seer - Chain Lightning
    base trên Storm Bolt thì Order = human - Mountain King - Storm Bolt
     
  15. ghost111

    ghost111 Youtube Master Race

    Tham gia ngày:
    30/10/06
    Bài viết:
    26
    Hơ...cái bài TRIGGER to đùng vậy mà không thấy >.< ,cám ơn anh hyaTHa
     
  16. lovethao

    lovethao Youtube Master Race

    Tham gia ngày:
    29/12/05
    Bài viết:
    26
    Các bác biết làm sao để khi hero attack 1 unit thì nó hiện lượng máu của unit bị mất lên không giống chiêu critical ý
    với lại làm sao để hiện máu mà sau con số đó không có ###.000 em thử roài nhưng nó vẫn hiện lên ###.0 hix
    mong các bác chỉ giúp
     
  17. F10-E-Q

    F10-E-Q Youtube Master Race

    Tham gia ngày:
    31/8/07
    Bài viết:
    54
    em xin hoi~ 1 cai' trigger......co' ai bit' lam` skill cua egina trong Dota ko, chieu cuoi', chieu ma` no' tao. ra 1 wa~ cau` roi` hut' tat' ca unit enemy gan` do' vao` roi` lat' sau..bomm....em muon' hoi~ la` cai' trigger de hut' unit tu` tu` vao` wa~ cau` do'...may' anh giup em.....hic...
    ___________________________
    chan' wa' may' anh oi....em co' cai' map ma` sao trong WE thi` trông no' đep va` gon. gàng lám...hic..ai ngo` upload len epicwar...nhin` cai' map no' xấu kinh khũng...hen` chi ko ai them` choi...em ko bit' lam` map đẹp huhuhuhuhuhu...phi' cong suc' wa'''''''''...nen em thay đổi = 1 cai' dau' ??...hic..vay la` ko ai thay' dc cai' hinh` dang. xau' xi' cua cai' map nua~...huhuhuuhuhuh......
     
  18. F10-E-Q

    F10-E-Q Youtube Master Race

    Tham gia ngày:
    31/8/07
    Bài viết:
    54
    ma` thui,em cung~ lam` dc rui`..kekeke...moi' thui....
     
  19. z.Z.z

    z.Z.z Mr & Ms Pac-Man

    Tham gia ngày:
    6/1/03
    Bài viết:
    176
    em đang thử mò cái Jass 1 tí, đọc hiểu được 1 ít rồi. Mở 1 vài map viết = jass ra thấy nó có gọi mấy cái hàm(nó tạo) rồi đưa tham số vào nữa. Giống như cái này (vd thôi)
    cái chỗ RemoveUnitTimed.execute(d,5) đưa vào WE là thành lỗi, vậy dùng gì để chỉnh sửa map viết = jass bây giờ? Mấy cái hàm đó dùng như thế nào?
    ai rành về jass giúp em nha, em đang cần gấp lắm:(
     
  20. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    Bạn nên tạo 1 timer chứ ko nên chờ (TriggerSleepAction) như vậy vì chờ kiểu này sẽ lâu hơn real wait đó, vả lại trigger mà call function này cũng sẽ phải chờ nên sẽ có sự sai lệch về thời gian. VD: nếu sau "call RemoveUnitTimed(d,5)" bạn muốn làm gì đó luôn thì lại phải chờ.



    function H2I takes handle h returns integer
    return h
    return 0
    endfunction

    function LocalVars takes nothing returns gamecache
    if udg_Cache == null then
    call FlushGameCache(InitGameCache("somename"))
    set udg_Cache = InitGameCache("somename")
    endif
    return udg_Cache
    endfunction

    function SetHandleHandle takes handle subject, string name, handle value returns nothing
    if value==null then
    call FlushStoredInteger(LocalVars(),I2S(H2I(subject)),name)
    else
    call StoreInteger(LocalVars(), I2S(H2I(subject)), name, H2I(value))
    endif
    endfunction

    function GetHandleUnit takes handle subject, string name returns unit
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
    endfunction
    //==============================================
    function RemoveUnitTimedE takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local unit d = GetHandleUnit(t,"StoreUnit")
    call RemoveUnit(d)
    call SetHandleHandle(t,"StoreUnit",null)
    call DestroyTimer(t)
    set d = null
    set t = null
    endfunction

    function RemoveUnitTimed takes unit u, real wait returns nothing
    local timer t = CreateTimer()
    call TimerStart(t,wait,false,function RemoveUnitTimedE)
    call SetHandleHandle(t,"StoreUnit",u)
    set u = null
    set t = null
    endfunction


    Ở trên có function H2I, LocalVars, SetHandleHandle, GetHandleHandle là các function trong Local Handle Vars của Kattana dùng để store(nhớ) các local var khi muốn dùng 1 var ở 2 function khác nhau.
    SetHandleHandle dùng để nhớ unit u với timer t, sang function RemoveUnitTimedE thì timer t là GetExpiredTimer(). Để lấy unit u đã nhớ với timer t ở function RemoveUnitTimed thì tui dùng GetHandleUnit.
    Trong function SetHandleHandle takes handle subject, string name, handle value thì
    subject là timer t
    name là "StoreUnit"
    value là unit u

    Còn function GetHandleUnit takes handle subject, string name thì
    subject là timer t
    name là "StoreUnit"

    sau đó function này sẽ trả cho ta unit u, nếu ko store unit nào cho name này thì function sẽ trả null (=no unit)

    Lúc chưa biết function này thì việc lấy local var của function này dùng vào function khác hơi khó, có lẽ phải dùng 1 global var nhg như thế sẽ rất dễ trùng nhau.

    À mà khi call 1 function thì chỉ cần call <tên function>(cái function takes) chứ không cần ".execute" đâu. Và khi viết 1 function bạn nên lùi vào một chút.(thường thì là 4 lần cách)
    function ...
    <lùi>call ...
    endfunction
    nếu bạn lùi vào thì bạn có thể gọi function này ở các trigger khác(nhg phải ở dưới function này)
    ----------------------------------
    bạn copy toàn bộ script này rồi paste vào đây:
    bạn ấn vào 1 rồi paste xuống dưới "Custorm Script Code:" ấy, nhớ tạo 1 global var: Cache, type GameCache
    [​IMG]
    xong save vào, rồi bây giờ thoải mái mà dùng.
    ----------------------------------
    Tui diễn đạt như vậy chắc hơi khó hiểu mong bạn thông cảm cho. :D
    Tui có gửi kèm cái script này đấy.
     

    Các file đính kèm:

Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này