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

Status
Không mở trả lời sau này.
Chào các bạn , mình mới tập làm Map nên có nhiều điều ko rõ mà search hoài tìm ko thấy câu trả lời nên mấy bạn giúp mình 1 số vấn đề với.
1/ Về Creep, Map của mình dạng RPG nên cần có Creep để luyện cấp. Nếu mình lấy Creep trong phần Neutral Hostile thì sau khi đánh sẽ nhận được vàng nhưng điểm kinh nghiệm của Hero tới cấp 5 thì không lên nữa. Nếu mình chỉnh Creep thuộc Player khác thì điểm kinh nghiệm của Hero nhận sẽ vượt cấp 5 nhưng lại không nhận được vàng. Các bạn giúp mình tạo 1 loại Creep vừa có điễm kinh nghiệm trên cấp 5 vừa nhận được vàng với.
2/ Về nơi ra Creep, Nếu mình để Creep trực tiếp vào Map thì khi đánh qua 1 lần sẽ mất hết không có để đánh nữa, đặt nhiều thì nặng Map, với lại đặt nhiều khi Hero cấp 1 ra train sẽ Cực => chết ( Map mình ko cho hero hồi sinh vì là map đi cảnh )
Còn nếu làm 1 trigger cứ mỗi mấy phút ra Creep thì khi Creep sẽ ra mãi ra mãi không kiểm soát được. Các bạn giúp mình làm Creep giống như Map Kiếm Thế cứ một bãi 4 con, không đánh thì nó không ra, đánh hết rồi nó mới ra.

Mình chỉ có 2 vấn đề thôi mong các bạn giúp mình.!!!! Thanks trước !
 
Bạn viết trigger thế này thì 12 player đều có gold
Mã:
    Events
        Time - Elapsed game time is 5.00 seconds
    Conditions
    Actions
        Player Group - Pick every player in (All players) and do (Actions)
            Loop - Actions
                Player - Turn Gives bounty On for (Picked player)

Còn xuất hiện creep dạng đó thì hơi mệt 1 tí, mình lấy VD, bạn create 5 con Footman thì như sau
Mã:
Melee Initialization
    Events
        Time - Elapsed game time is 2.00 seconds
    Conditions
    Actions
        For each (Integer A) from 1 to 5, do (Actions)
            Loop - Actions
                Unit - Create 1 Footman for Neutral Hostile at (Center of (Playable map area)) facing Default building facing degrees
               [COLOR="#FF0000"] Set Creep[(Integer A)] = (Last created unit)[/COLOR] // Set 5 con Footman đó

Sau đó, viết tiếp trigger, nếu 1 trong số 5 con này die thì gắn biến đếm ( interge = interge của thằng Die +1) nếu interge 1 trong 5 thằng die = 30 thì hs lại và sau khi interge thằng die = 30, bạn phải cho nó = 0 lại, để cho lần hs tiếp theo, trigger như sau

Mã:
    Events
   [COLOR="#FF0000"]     Time - Every 1.00 seconds of game time[/COLOR] // sau mỗi giây
    Conditions
    Actions
        For each (Integer A) from 1 to 5, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        [COLOR="#FF0000"](Dying unit) Equal to Creep[(Integer A)][/COLOR] // Nếu 1 trong 5 thằng die
                    Then - Actions
                        [COLOR="#006400"]Set TimeCreep[(Integer A)] = (TimeCreep[(Integer A)] + 1)[/COLOR] // biến thời gian của nó +1 sau mỗi giây, nhìn lên Events
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                [COLOR="#006400"]TimeCreep[(Integer A)] Equal to 30[/COLOR] // nếu nó = 30
                            Then - Actions
                                [COLOR="#006400"]Set TimeCreep[(Integer A)] = 0[/COLOR] // cho thời gian hs của thằng die về lại 0, nếu để 30 thì, thằng Footman vừa chết là 30 + 1 = 31 , sai ĐK
                                Unit - Create 1 Footman for Neutral Hostile at (Center of (Playable map area)) facing Default building facing degrees // create 1 thằng Footman coi như hs
                                [COLOR="#FF0000"]Set Creep[(Integer A)] = (Last created unit)[/COLOR] // set thằng mới create vào lại biến Creep
                           Else - Actions
                    Else - Actions

P.S: Bạn áp dụng cách này vào dạng creep, bãi creep phù hợp với map mình.
 
Chỉnh sửa cuối:
Learn
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Reincarnation
Actions
Set ReincarnationCaster = (Triggering unit)
Set CanReincarnate = True
Trigger - Add to Death <gen> the event (Unit - ReincarnationCaster Dies)
Trigger - Add to ZeroLife <gen> the event (Unit - ReincarnationCaster's life becomes Less than or equal to (40.50 / 100.00))
Trigger - Turn off (This trigger)

Death
Actions
Set CanReincarnate = False

ZeroLife
Actions
Countdown Timer - Start CheckTimer as a One-shot timer that will expire in 0.00 seconds

Check
Events
Time - CheckTimer expires
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
CanReincarnate Equal to True
Then - Actions
-------- this unit is reincarnating --------
Countdown Timer - Start ReincarnationDelay as a One-shot timer that will expire in 7.00 seconds
Else - Actions
-------- this unit REALLY is DEAD --------
Set CanReincarnate = True

End
Events
Time - ReincarnationDelay expires
Conditions
Actions
Set TempPoint = (Position of ReincarnationCaster)
Special Effect - Create a special effect at TempPoint using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
Special Effect - Destroy (Last created special effect)
Unit - Create 1 Albatross for (Owner of ReincarnationCaster) at TempPoint facing Default building facing degrees
Set TempUnit = (Last created unit)
Unit - Add a 1.00 second Generic expiration timer to TempUnit
Unit - Add War Stomp to TempUnit
Unit - Set level of War Stomp for TempUnit to 3
Unit - Order TempUnit to Orc Tauren Chieftain - War Stomp
Custom script: call RemoveLocation( udg_TempPoint )

Đây là 5 trigger do a Tom làm. Bạn nào biết cách làm cho spell này nhiều hero dùng vẫn được không?
 
Có 1 số vấn đề em muốn hỏi các pác, 1 phần nếu bắt tìm trong các "Topic Hỏi Đáp cách làm map" thì nhiều quá - tới 10 version :( Nên em xin hỏi (nếu có trùng lập câu hỏi ở đâu đó xin đừng chém :D)


1/ Chĩnh exp chia sẽ với đồng đội ở đâu (vd: pồ mình kill con creep dc 100exp thì chĩnh sao mà mình nhận dc 80% là 80 exp)

2/ Trong map em làm có những trường hợp ngồ ngộ như , điều khiển Hero thì 5,6 giây sau nó mới làm việc mình muốn (Như mình ra lệnh nó đi đến điểm A mà nó cứ đứng yên hoặc tự đánh mấy con creep gần đó rồi 5,6 s sau nó mới chạy đến điểm A) Và những trường hợp này xảy ra khi mid game.

3/ Cho em hỏi có bài viết nào hướng dẫn copy Animation từ model này sang 1 model trắng (model chưa có animation)


Mong các pác giúp đỡ :)
 
@Infernal_Lord
kèm MUI vào :D

@Val.N
1, bó hand
2, có thể bị delay
3, bài viết như vậy thật sự chưa có trong nhóm mục WorldEditor ( trừ khi bạn viết :-j )
 
Bạn viết trigger thế này thì 12 player đều có gold
Mã:
    Events
        Time - Elapsed game time is 5.00 seconds
    Conditions
    Actions
        Player Group - Pick every player in (All players) and do (Actions)
            Loop - Actions
                Player - Turn Gives bounty On for (Picked player)

Còn xuất hiện creep dạng đó thì hơi mệt 1 tí, mình lấy VD, bạn create 5 con Footman thì như sau
Mã:
Melee Initialization
    Events
        Time - Elapsed game time is 2.00 seconds
    Conditions
    Actions
        For each (Integer A) from 1 to 5, do (Actions)
            Loop - Actions
                Unit - Create 1 Footman for Neutral Hostile at (Center of (Playable map area)) facing Default building facing degrees
               [COLOR="#FF0000"] Set Creep[(Integer A)] = (Last created unit)[/COLOR] // Set 5 con Footman đó

Sau đó, viết tiếp trigger, nếu 1 trong số 5 con này die thì gắn biến đếm ( interge = interge của thằng Die +1) nếu interge 1 trong 5 thằng die = 30 thì hs lại và sau khi interge thằng die = 30, bạn phải cho nó = 0 lại, để cho lần hs tiếp theo, trigger như sau

Mã:
    Events
   [COLOR="#FF0000"]     Time - Every 1.00 seconds of game time[/COLOR] // sau mỗi giây
    Conditions
    Actions
        For each (Integer A) from 1 to 5, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        [COLOR="#FF0000"](Dying unit) Equal to Creep[(Integer A)][/COLOR] // Nếu 1 trong 5 thằng die
                    Then - Actions
                        [COLOR="#006400"]Set TimeCreep[(Integer A)] = (TimeCreep[(Integer A)] + 1)[/COLOR] // biến thời gian của nó +1 sau mỗi giây, nhìn lên Events
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                [COLOR="#006400"]TimeCreep[(Integer A)] Equal to 30[/COLOR] // nếu nó = 30
                            Then - Actions
                                [COLOR="#006400"]Set TimeCreep[(Integer A)] = 0[/COLOR] // cho thời gian hs của thằng die về lại 0, nếu để 30 thì, thằng Footman vừa chết là 30 + 1 = 31 , sai ĐK
                                Unit - Create 1 Footman for Neutral Hostile at (Center of (Playable map area)) facing Default building facing degrees // create 1 thằng Footman coi như hs
                                [COLOR="#FF0000"]Set Creep[(Integer A)] = (Last created unit)[/COLOR] // set thằng mới create vào lại biến Creep
                           Else - Actions
                    Else - Actions

P.S: Bạn áp dụng cách này vào dạng creep, bãi creep phù hợp với map mình.

bạn Flame ơi biến Creep có type là gì nhỉ có array không mà có thì là bao nhiêu :(
cả biến TimeCreep nữa
 
bạn Flame ơi biến Creep có type là gì nhỉ có array không mà có thì là bao nhiêu :(
cả biến TimeCreep nữa
Biến Creep là Unit, ko có Type
Biến TimeCreep là Integer có array
 
Biến Creep là Unit, ko có Type
Biến TimeCreep là Integer có array
biến creep type là Unit chứ. sao lại không có type nó đâu cho tạo biến. mà biến Time type là Integer có array thì là bao nhiêu nhỉ :|.
mà ai biết import cây cối. chỉ mình với. sao minh import cái file .mdx vào rồi save lại rồi thay model cái cây rồi mà đặt ra đất nó vẫn hộp vuông :(, ai biết chỉ mình với
 
biến creep type là Unit chứ. sao lại không có type nó đâu cho tạo biến. mà biến Time type là Integer có array thì là bao nhiêu nhỉ :|.
mà ai biết import cây cối. chỉ mình với. sao minh import cái file .mdx vào rồi save lại rồi thay model cái cây rồi mà đặt ra đất nó vẫn hộp vuông :(, ai biết chỉ mình với
Trong Variable có 1 loại là Unit, 1 loại là Unit-Type, 1 loại Unit-Group, biến mình dùng trên là Unit
TimeCreep, để array là 1
 
Bạn viết trigger thế này thì 12 player đều có gold
Mã:
    Events
        Time - Elapsed game time is 5.00 seconds
    Conditions
    Actions
        Player Group - Pick every player in (All players) and do (Actions)
            Loop - Actions
                Player - Turn Gives bounty On for (Picked player)

Còn xuất hiện creep dạng đó thì hơi mệt 1 tí, mình lấy VD, bạn create 5 con Footman thì như sau
Mã:
Melee Initialization
    Events
        Time - Elapsed game time is 2.00 seconds
    Conditions
    Actions
        For each (Integer A) from 1 to 5, do (Actions)
            Loop - Actions
                Unit - Create 1 Footman for Neutral Hostile at (Center of (Playable map area)) facing Default building facing degrees
               [COLOR="#FF0000"] Set Creep[(Integer A)] = (Last created unit)[/COLOR] // Set 5 con Footman đó

Sau đó, viết tiếp trigger, nếu 1 trong số 5 con này die thì gắn biến đếm ( interge = interge của thằng Die +1) nếu interge 1 trong 5 thằng die = 30 thì hs lại và sau khi interge thằng die = 30, bạn phải cho nó = 0 lại, để cho lần hs tiếp theo, trigger như sau

Mã:
    Events
   [COLOR="#FF0000"]     Time - Every 1.00 seconds of game time[/COLOR] // sau mỗi giây
    Conditions
    Actions
        For each (Integer A) from 1 to 5, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        [COLOR="#FF0000"](Dying unit) Equal to Creep[(Integer A)][/COLOR] // Nếu 1 trong 5 thằng die
                    Then - Actions
                        [COLOR="#006400"]Set TimeCreep[(Integer A)] = (TimeCreep[(Integer A)] + 1)[/COLOR] // biến thời gian của nó +1 sau mỗi giây, nhìn lên Events
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                [COLOR="#006400"]TimeCreep[(Integer A)] Equal to 30[/COLOR] // nếu nó = 30
                            Then - Actions
                                [COLOR="#006400"]Set TimeCreep[(Integer A)] = 0[/COLOR] // cho thời gian hs của thằng die về lại 0, nếu để 30 thì, thằng Footman vừa chết là 30 + 1 = 31 , sai ĐK
                                Unit - Create 1 Footman for Neutral Hostile at (Center of (Playable map area)) facing Default building facing degrees // create 1 thằng Footman coi như hs
                                [COLOR="#FF0000"]Set Creep[(Integer A)] = (Last created unit)[/COLOR] // set thằng mới create vào lại biến Creep
                           Else - Actions
                    Else - Actions

P.S: Bạn áp dụng cách này vào dạng creep, bãi creep phù hợp với map mình.

Cái Vụ Creep ra thì khó quá mình làm không nổi. còn vụ chỉnh cho Creep thuộc player 12 mà mình player 1 giết nó thì nhận được vàng mình làm hoài không được.
Ý mình là Mấy con Creep thay vì của Hostile thì đánh có vàng mà ko lên cấp 5 dc, còn chỉnh cho Creep thuộc player thì đánh lên cấp 5 dc nhưng ko nhận được vàng khi giết nó. Có cách nào vừa nhận dc vàng vừa lên cấp 5 ko ????????????????????????
 
Cái Vụ Creep ra thì khó quá mình làm không nổi. còn vụ chỉnh cho Creep thuộc player 12 mà mình player 1 giết nó thì nhận được vàng mình làm hoài không được.
Ý mình là Mấy con Creep thay vì của Hostile thì đánh có vàng mà ko lên cấp 5 dc, còn chỉnh cho Creep thuộc player thì đánh lên cấp 5 dc nhưng ko nhận được vàng khi giết nó. Có cách nào vừa nhận dc vàng vừa lên cấp 5 ko ????????????????????????
Bạn cầm Demo mà coi
Trong Demo có 2 cách lấy gold từ player khác, xem cách nào hợp map mình thì sài
Còn cái HS creep, mình cho Time là 20 giây hs lại 1 con
Bạn coi mà ko hĩu nữa thì mình pó hand luôn :|
Demo: http://www.mediafire.com/?u1pwg4jalq1s90m
 
Các bạn giúp mình với, làm thế nào để những phần mình chưa khám phá ra thì nó sẽ đen đặc lại , chỉ khi mình đến thì phần đó nó mới sáng lên giống như AOE ý và cách điều chỉnh tầm nhìn của tất cả các units với. Cảm ơn nhiều
 
@Infernal_Lord
kèm MUI vào :D

@Val.N
1, bó hand
2, có thể bị delay
3, bài viết như vậy thật sự chưa có trong nhóm mục WorldEditor ( trừ khi bạn viết :-j )

Trùi ! Sao ác zậy @.@
À anh còn cái "có thể bị delay" thì giải quyết thế nèo :D
 
Mình up một cái skill vJass thì nó báo lỗi thế này:
newbitmapimagett.png

Mình phải làm gì đây?
Link: http://www.hiveworkshop.com/forums/...-30-adiktuz-190561/?prev=r=20&status=a&page=2
 
Mọi người cho hỏi làm sao create 5 thằng Dummy trước mắt thằng cast và theo 1 hàng dọc cân đối
Xem hình cho dễ hiểu
[spoil]
wc3scrnshot07291111261201.jpg
[/spoil]
P.S: Giờ toàn vip pro ko, toàn làm map = code, có mỗi mình làm = trigger :|
 
Chỉnh sửa cuối:
Mọi người cho hỏi làm sao create 4 thằng Dummy trước mắt thằng cast và theo 1 hàng dọc cân đối
P.S: Giờ toàn vip pro ko, toàn làm map = code, có mỗi mình làm = trigger :|

Mình cũng làm bằng Trigger mà :D
 
@Mr.Giang: Bạn có 2 system Timer có hàm NewTimer nên bị trùng nhau, giải quyết = cách bỏ bớt 1 cái :|

@FlameDrake: Theo mình biết thì cách thức làm thế này: x-x-O-x-x
Giải thích:
- Đầu tiên tạo 1 dummy chính ở giữa, dummy này sẽ nhìn về 1 hướng xác định (cái này tuỳ bạn, có thể là facing Caster hoặc kiểu khác)
- Tiếp theo tạo 2 dummy phụ, 2 dummy này sẽ dùng Pollar Point Offset và cho nó hướng theo Dummy chính 1 góc = góc nhìn của dummy chính + 90 độ, vậy ta được: x-x-O
- Làm tương tự bước trên nhưng góc sẽ là - 90 độ, ta được: O-x-x

Vậy là xong, cái khó là làm cho MUI thôi :D
 
Bạn có thể nói rõ hơn không? Mình hoàn toàn không biết gì về MUI!

http://www.hiveworkshop.com/forums/...279/multi-instancible-gui-spell-making-34393/ 1 bài viết rất hay từ hiveworkshop về hướng dẫn làm MUI spell = GUI :) Nếu hiểu được hết thì làm MUI ko khó nữa đâu :)
P/s: Mình mất tận 2 năm để có thế bắt đầu bước vào làm đc spell MUI = GUI ==!

---------- Post added at 12:33 ---------- Previous post was at 12:21 ----------

À ai có cách nào làm disabled item giống như kelen's dagger (kiếm blink) trong dota bị disabled trong 3 giây nếu nhận dmg từ 1 hero nào đó?
 
Tui pó hand rồi, viết dùm cái 2 thằng Dummy +90 với Facing of Caster đi T_T
 
Status
Không mở trả lời sau này.
Back
Top