Topic hỏi đáp về cách làm map | version 10

Status
Không mở trả lời sau này.
Mình xin phép code lại cái trigger đó
Mã:
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Mind Burn 
    Actions
        [COLOR="#4B0082"]Set TempUnit = (Triggering unit)
        Set TempInt = (Level of Mind Burn  for TempUnit)
        Set TempUnit2 = (Target unit of ability being cast)
        Set TempLoc = (Position of TempUnit2)[/COLOR]
        [COLOR="#FF0000"]Unit Group - Add TempUnit2 to TempGroup[/COLOR] //mục tiêu chắc chắn là bị burn rồi nên add vào group luôn
        For each (Integer LoopInteger) from 1 to 4, do (Actions) //1 -> 4 -> jump 4 lần
            Loop - Actions
                Wait 0.10 seconds //đợi 1 tí :)
                [COLOR="#FF0000"]Custom script:   set bj_wantDestroyGroup = true[/COLOR] //cái này để group mà sau khi pick random sẽ bị destroy, remove leak thôi
                Set TempUnit2 = (Random unit from [COLOR="#006400"](Units within 600.00 of TempLoc matching ((((((Matching unit) is alive) Equal to True) and (((Matching unit) is in TempGroup) Equal to False)) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) belongs to an enemy[/COLOR]
//Chú ý điều kiện nha
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        TempUnit2 Equal to No unit
                    Then - Actions
                        Set LoopInteger = 10 //ko có unit nào thì thoát khỏi vòng lặp
                        Custom script:   call RemoveLocation( udg_TempLoc )
                    Else - Actions
//Có unit, pick đc, vậy thì tạo dummy unit ở vị trí unit cũ đã bị burn (TempLoc) và burn unit này
                        Unit - Create 1 Dummy Unit for (Owner of TempUnit) at TempLoc facing 0.00 degrees  // tạo dummy unit
                        Set Dummy = (Last created unit)
                        Unit - Add a 1.00 second Generic expiration timer to Dummy
                        Unit - Add Mana Burn (Dummy) to Dummy
                        Unit - Set level of Mana Burn (Dummy) for Dummy to (((TempInt - 1) x 5) + LoopInteger)
                        Unit - Order Dummy to Night Elf Demon Hunter - Mana Burn TempUnit2  //cast mana burn
                        Custom script:   call RemoveLocation( udg_TempLoc )
                        Unit Group - Add TempUnit2 to TempGroup //bị burn thì add vào group
                        Set TempLoc = (Position of TempUnit2) //lưu lại vị trí unit vừa bị burn
        [COLOR="#FF0000"]Unit Group - Remove all units from TempGroup  //xóa các unit trong TempGroup[/COLOR]
Phần màu tím ko hề có set 1 biến Unit Group nào, nhưng trong vòng loop thì lại xóa leak :|
Phần màu đó là 1 biến Unit Group ẩn ko hề đc set mà chỉ dùng ẩn vậy thì cần gì remove
Biến Unit random mà sao dính Unit Group trong đó ( xanh lá cây)
Nên mình ko biết remove leak là remove cái nào trong này :| phương thức xóa leak này cũng ko ghi rõ tên biến nên ko biết mà lần :|
Mong các ĐK HD kỹ phần leak này T_T
 
Chỉnh sửa cuối:
>Phần màu đó là 1 biến Unit Group ẩn ko hề đc set mà chỉ dùng ẩn vậy thì cần gì remove

unit group TempGroup mà tôi dùng ở đây như là một giá sách, các unit là các quyển sách, khi add vào -> đặt sách lên giá
vì giá sách này tôi sẽ dùng lại nên tôi ko phá nó đi (call DestroyGroup) mà chỉ bỏ các quyển sách trên đó xuống (Remove all units from TempGroup)
ok?

vì sao phải "xóa" unit khỏi unit group? đó là do điều kiện pick unit để "burn" có điều kiện matching unit không ở trong TempGroup, nếu không "xóa" các unit đã pick được lần cast trước thì lần cast sau sẽ ko pick đc

>Biến Unit random mà sao dính Unit Group trong đó ( xanh lá cây)

phải pick để lấy unit group trước sau đó mới từ unit group đó lấy random ra một unit rồi cho vào biến, ok?
và unit group trên được tạo ra nên phải xóa

> Nên mình ko biết remove leak là remove cái nào trong này phương thức xóa leak này cũng ko ghi rõ tên biến nên ko biết mà lần

Mã:
[COLOR="#0000FF"]Custom script:   set bj_wantDestroyGroup = true[/COLOR]
Set TempUnit2 = (Random unit from [COLOR="#FF0000"](Units within 600.00 of TempLoc matching ((((((Matching unit) is alive) Equal to True) and (((Matching unit) is in TempGroup) Equal to False)) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) belongs to an enemy[/COLOR]

cái dòng xanh để xóa group màu đỏ ấy
cái hàm "random unit" sau khi lấy được random unit sẽ kiểm tra "bj_wantDestroyGroup", nếu là "true" thì sẽ destroy cái group mà unit vừa đc random ra
không hiểu cái này thì cứ dùng biến mà xóa như thường đi

cái bj_wantDestroyGroup còn dùng được cho Unit Group - Pick Every Units In Unit Group...
 
Chỉnh sửa cuối:
Anh Tom giúp em với. Làm sao để làm skill overload hay tide bringer sao cho effect xảy ra ngay khi vừa gây dame cho enemy unit :-?.
 
^^^
TempGroup là biến lưu những thằng đã bị manaburn và được tạo sẵn ở nơi quản lý biến của WE
Tổng cộng luôn chỉ có 5 thằng trong đó
thằng đầu tiên là thằng bị cast
Mã:
Unit Group - Add TempUnit2 to TempGroup
4 thằng tiếp theo bị dính manaburn là trong vòng loop: lấy ra 1 thằng nào đó khớp điều kiện trong range 600 tính từ thằng bị burn
Mã:
Set TempUnit2 = (Random unit from (Units within 600.00 of TempLoc matching ((((((Matching unit) is alive) Equal to True) and (((Matching unit) is in TempGroup) Equal to False)) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) belongs to an enemy
)
Câu lệnh trên tạo ra 1 group mới chứa tất cả các unit khớp điều kiện, trong range 600không nằm trong TempGroup.
Để tránh leak group do câu lệnh trên gây ra thì cần có câu lệnh này trước câu lệnh nói trên
Mã:
Custom script:   set bj_wantDestroyGroup = true
như thế này thì trước khi kết thúc câu lệnh lấy unit trong range 600 nói trên thì sẽ DestroyGroup đó luôn vì trong câu lệnh đó có kiểm tra biến bj_wantDestroyGroup để destroy
Cuối cùng thì
Mã:
Unit Group - Remove all units from TempGroup
để remove hết unit trong group lưu những thằng đã bị manaburn để kết thúc spell và chuẩn bị cho lần cast tiếp theo

P/S: Công nhận anh Tom ko giỏi phần explain cho lắm :))
 
Chỉnh sửa cuối:
Hĩu rồi cám ơn ĐK, luôn tiện chỉ mình luôn phần Unit
Mã:
    Events
        Time - Elapsed game time is 5.00 seconds
    Conditions
    Actions
        Set Point = (Center of Creep <gen>)
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Unit - Create 1 Footman for (Player((Integer A))) at Point facing Default building facing degrees
                [COLOR="#FF0000"]Set UnitDummy[(Integer A)] = (Last created unit)[/COLOR]
        Custom script:   call RemoveLocation(udg_Point)
Cái dòng màu đỏ này có ảnh hưởng leak gì đến map ko, tại theo HD của ĐK Tom thì phải nt này ( xanh bên dưới) hoặc ko có 2 dòng xanh đỏ, nhưng dạng mình làm ko phải là Dummy ( ra cái chút chết liền) mà Set cho 12 Hero dùng đến cuối map ( tiện việc đi lại)
Mã:
    Events
        Time - Elapsed game time is 5.00 seconds
    Conditions
    Actions
        Set Point = (Center of Creep <gen>)
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Unit - Create 1 Footman for (Player((Integer A))) at Point facing Default building facing degrees
                [COLOR="#000080"]Set UnitDummy[(Integer A)] = (Last created unit)[/COLOR]
                [COLOR="#000080"]Unit - Add a 2.00 second Generic expiration timer to UnitDummy[(Integer A)][/COLOR]
        Custom script:   call RemoveLocation(udg_Point)
 
Chỉnh sửa cuối:
Cái dòng màu đỏ này có ảnh hưởng leak gì đến map ko, tại theo HD của ĐK Tom thì phải nt này ( xanh bên dưới) hoặc ko có 2 dòng xanh đỏ, nhưng dạng mình làm ko phải là Dummy ( ra cái chút chết liền) mà Set cho 12

Hero dùng đến cuối map ( tiện việc đi lại)

dùng đến cuối map thì thôi, xóa leak gì nữa?
 
Tiện đây hỏi luôn về cách làm item tăng spell damage khi mang vào đc không.Mới chỉ thấy item tăng spell damage theo value chứ chưa bao giờ tăng theo %.
 
ai cho em xin cái until của con sandking trong map DOTA được không. không thì viết hộ em cái skill như thế này. khi cast: nhân vật đập 2 cái xuống đất sau đó lan ra 5 6 cái :vòng" .mỗi lần đập xuống đất là lan ra 1 "vòng" cái vòng khoảng 500 AOE. màu vàng hay vàng xanh da trời gì đó. mỗi lần lan ra "vòng" gây 200 dame. và làm slow các mục tiêu xung quanh. thank trước nha ;;). model của em là hero cầm chùy nên đặt Animation chuẩn 1 tý hộ em. chứ em cũng chả biết làm :D
ai giúp em miếng mồ. hix đang cần gấp mờ. mà muốn tự viết thì ai có link hướng dẫn nào cụ thể cho" Gấu mới" như em tập viết được không ạ.
 
Cho mình hỏi làm thế nào để khi chuẩn bị nhận quest thì thằng quest giver sẽ nói một câu gì đó như trong phần campaign mà không cần để cinamatic vậy?
 
Các pro cho hỏi hàm If nào, khi trong 1 Region ko còn Hero thì tự động tắt 1 trigger
 
Các pro cho hỏi hàm If nào, khi trong 1 Region ko còn Hero thì tự động tắt 1 trigger
như vậy ư :-ss
PHP:
Region
    Events
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Number of units in (Units in (Playable map area) matching (((Matching unit) is A Hero) Equal to True))) Less than 1
            Then - Actions
                Trigger - Turn off (This trigger)
            Else - Actions
                Do nothing

@Tom: bấm M nhầm P một hồi loạn luôn =))
 
Chỉnh sửa cuối:
"matching" mà lại "picked unit" ? =))

"tắt" thì turn off thôi chứ destroy để khỏi dùng nữa à?
 
Trong các skill base của war , skill nào là khóa phép ? Như kiểu Fear của Balanar trong DotA
 
Trong các skill base của war , skill nào là khóa phép ? Như kiểu Fear của Balanar trong DotA
Soul Burn trong Neutral Hosite/Special đó AoE thì xài Slient
 
Silent là stop casting mà
còn Soul Burn trong Neutral Hosite/Special thì ko tìm thấy ... Hay là của Elf ?

---------- Post added at 13:43 ---------- Previous post was at 13:39 ----------

Trong Trigger , Event để Order unit dùng skill theo ý muốn như thế nào ?
Chỉ thấy cái order nhưng chỉ có vài skill cơ bản. Skill ko có ở đó thì làm sao ?
 
Silent là stop casting mà

mỗi stop cast?
thử lại xem có gì ngoài "stop cast" không

còn Soul Burn trong Neutral Hosite/Special thì ko tìm thấy ... Hay là của Elf ?

không thấy thì có cái: Edit \ Find (Ctrl + F) đó, thể nào cũng thấy.
 
Skill Meta của Demon Hunter mặc dù là 0 s casting time nhưng sao vẫn mất mấy giây đơ đơ ... Và làm cách nào khắc phục
 
Em đang tìm cách làm hệ thống tarven như DotA mà ko làm được, em xin hỏi những câu như sau, mong mọi người trả lời giúp :D
1/ Làm sao để khi bắt đầu game, có 1 khoảng sight ở vùng tarven, khi mua unit thì nó biến mất.
2/Khi pick hero thì sẽ thông báo: "abcxyz đã pick Zeratul" ?
3/Khi pick hero xong thì hero sẽ bay thẳng về "Team1revive region" ?

Mong được giúp đỡ :D
 
Skill Meta của Demon Hunter mặc dù là 0 s casting time nhưng sao vẫn mất mấy giây đơ đơ ... Và làm cách nào khắc phục

đặt Duration - Normal: 0.00

Trong Trigger , Event để Order unit dùng skill theo ý muốn như thế nào ?
Chỉ thấy cái order nhưng chỉ có vài skill cơ bản. Skill ko có ở đó thì làm sao ?

tìm order của skill gốc. (gốc là Chain Lightning thì dùng Orc - Far Seer - Chain Lightning)
 
Status
Không mở trả lời sau này.
Back
Top