[ai cần bài hướng dẫn vô đây] "request" tutorials

Status
Không mở trả lời sau này.
Bài này sẽ hướng dẫn cách hồi sinh hero như DDay: có thời gian theo level của hero, có hiện thời gian đếm ngược.
-----------------------------------
Đầu tiên là vô Region Pallete. Trên menu của WE, Layer \ Region hoặc tại Terrain Editor, ấn "R".

Tạo 2 region là vị trí revive của team 1 và team 2. Của Tom là Team1 HeroReviveTeam2 HeroRevive (xem map demo)
------------------------------------
Sau đó vào Trigger Editor:

Variable: ấn Ctrl + B để tạo

HeroForRevive - Unit Array 12 (12 là số player, size khởi tạo của array)
ReviveTimer - Timer Array 12 (size khởi tạo mà để là 1 thì có lỗi)
ReviveTimerWindow - Timer Window Array 12
TempCheck - Boolean
TempInt - Integer
TempLoc - Point
TempReal - Real
TempUnit - Unit

Trigger:
Tạo 3 trigger:
Mã:
HeroReviveInitialization
    Events
        Time - Elapsed game time is 0.00 seconds
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Trigger - Add to HeroRevive <gen> the event (Time - ReviveTimer[(Integer A)] expires)
Trigger trên để "add event" timer expired cho trigger revive chính (HeroRevive đó)
Mã:
Hero Dies
    Events
        Unit - A unit Dies
    Conditions
        ((Triggering unit) is A Hero) Equal to True
    Actions
        Set TempUnit = (Triggering unit)
        Set TempInt = (Player number of (Owner of TempUnit))
        [B]Set TempReal = (3.00 + (5.00 x (Real((Hero level of TempUnit)))))[/B]
        Countdown Timer - Start ReviveTimer[TempInt] as a One-shot timer that will expire in TempReal seconds
        Countdown Timer - Create a timer window for ReviveTimer[TempInt] with title (Name of TempUnit)
        Set ReviveTimerWindow[TempInt] = (Last created timer window)
        Countdown Timer - Show ReviveTimerWindow[TempInt]
        Set HeroForRevive[TempInt] = TempUnit
Trigger trên là khi một hero chết, tạo thời gian đếm và bảng đếm. Thời gian hồi sinh hero là TempReal (in đậm)
Mã:
HeroRevive
    Events
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Set TempInt = (Integer A)
                Custom script:   set udg_TempCheck = ( GetExpiredTimer() == udg_ReviveTimer[ udg_TempInt ] )
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        TempCheck Equal to True
                    Then - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (HeroForRevive[TempInt] belongs to an ally of Player 1 (Red)) Equal to True
                            Then - Actions
                                Set TempLoc = (Center of Team1 HeroRevive <gen>)
                            Else - Actions
                                Set TempLoc = (Center of Team2 HeroRevive <gen>)
                        Hero - Instantly revive HeroForRevive[TempInt] at TempLoc, Show revival graphics
                        Camera - Pan camera for (Player(TempInt)) to TempLoc over 0.00 seconds
                        Custom script:   call RemoveLocation( udg_TempLoc )
                        Countdown Timer - Destroy ReviveTimerWindow[TempInt]
                    Else - Actions
Trigger trên thì ko thấy event đâu cả, hic Tom quên, nhg đùa thôi, Tom đã add event cho nó ở trigger thứ 1 rồi :))
Trong trigger này, khi một trong 12 timer kết thúc (tức là thời gian đếm đã về 0) thì sẽ kiếm tra xem timer kết thúc này là timer thứ mấy, từ 1 -> 12. Nếu là timer thứ 1 thì sẽ hồi sinh hero của player 1, là timer thứ 5 thì hồi sinh hero của player 5. Đó là biến TempCheck, có 1 dòng jass - Custom Script ấy nhg ko sao đâu.
Khi TempCheck = true, tức là tìm đc timer bị hết là timer nào, tiến hành revive hero. Thứ 1 là xem hero cần revive thuộc team nào (cái If đó) để xác định vị trí revive. Thứ 2 là hồi sinh hero, dùng lệnh Hero - Revive, sau đó dùng Pan Camera để đưa camera cho player về vị trí hồi sinh. 2 dòng cuối là xóa point để tránh leak và xóa bảng đếm thời gian.
-----
Copy cái này đơn giản thôi, chỉ cần tạo Region, rồi copy hết cái mục Revive Heroes vào, "enable" các lệnh đỏ đỏ là xong.
-----
Chú ý: cái này chỉ "MPI" tức là chỉ hoạt động đúng khi mỗi player có MỘT hero.
Ngoài ra nếu muốn tên hero hay tên player trên bảng đếm thời gian, cũng như có "màu" thì có lẽ newbie nên học thêm đã. Đến lúc nào đó sẽ tự làm đc. :)>-
-----
Tom đã gứi kèm map demo ở dưới, ai ko rõ thì cứ vào xem ::)
 

Attachments

Mà anh Tom ơi , em làm mấy spell có set last create unit = xxx . Lúc sử dụng spell đúng lúc lại có thằng khác xài spell cũng có set unit và xxxxxxxxxx , 2 spell nhảy lẫn lộn với nhau , có cách nào để khắc phục cái này kô ạ :o
 
thì XXX tick thêm dấu array vào nữa:D
hoặc dùng jass để dùng biến local ^^
 
ai chỉ em phần spell skill em down về roài nhưng ko bít add vào map mình ai bít chỉ dùm mong chỉ dễ hiểu thui nha :D
 
đây mình chỉ cho bạn cách copy spell GUI trước nha
ban đầu bạn mở WE lên xong rồi bạn bấm vào File rồi click vào Open rồi chọn cái map spell bạn vừa down về mình attach ở dưới map spell đó mở ra xem
bạn bật F4 xem các trigger trong đó xem trigger nào có tên giống với tên spell bạn cần rồi copy qua map của bạn; bạn xem trong dòng 2 của trigger đó
cái condition của trigger đó là gì ? VD như trong map demo ở dưới là Quakes
rồi bạn bật F6 vào phần abilities rồi bạn copy cái spell có tên Quakes vào map của bạn; xem trong phần trigger đó nữa bạn tìm dòng nào có ghi là
Unit-Creat 1 ... VD: trong map demo đó unit có tên là Quake rồi bạn bật F6 mở phần Units ra bạn copy Unit có tên như vậy trong trigger vào map của bạn
Thế là xong việc copy spell giờ bạn chỉ việc gắn spell đó cho hero của mình và xài :;)
 
thì XXX tick thêm dấu array vào nữa:D
hoặc dùng jass để dùng biến local ^^

luci vẫn chưa hiểu ý mình , ý mình là có 2 unit cùng tạo 1 lúc nên nó set unit này lẫn sang unit kia , còn jass thì ..... =((:((:-s::(
 
Cho mình hỏi thêm phát ( lỡ hỏi rùi hỏi hết :D) .
[C1] Trong map minh` edit thì mình có quy định chỗ ra lính và bắt nó phải di chuyển . Vấn đề nằm ở chỗ là nó di chuyển 1 lúc rùi quay lại điểm bắt đầu .
[C2] Mình thay đổi cái max lv trong game constant ( wên mất tên rùi) nhưng sau khi hẻo lên lv 5 thì ko lên nữa nghe nói là thay đổi thêm cái gì nữa trong Xp Gain nhưng nó là gì
[C3] Thêm tướng vào mình đã làm theo hướng dẫn rùi nhưng mà ko thấy hero đâu hết .
[C4] Trên mạng họ chia sẻ cho nhau mấy cái skill mới nhưng mà làm sao để lấy ~ skill đó để thêm vào map của mình đc . Mình nghe nói là copy phần trigger nhưng ko đc mình đã thử copy phần trigger và phần quy đinh skill trong Object Manager ( abi... gì đó quên rùi ) nhưng cũng ko xong .
-------------------------------------------------------------------------------------
Có ai đó giúp mình chỉ ra nguyên nhân và cách khắc phục hok cám ơn nhìu nhìu
Ai ở Q9 TPHCM thì 1 chầu cafe
Còn ai xa quá thì mang ơn suốt đời :D:D:D:D
 
C1: Delete cái bật AI cho máy tính trong trigger Melee Initia....
C2: Trong cái game contast có phần hero Gain XP, delete số 0 đi là ổn (không nhớ rõ lắm hình như là 80,70,60... muốn biết chi tiết vào Topic hỏi đáp lùi về vài trang là thấy :D )
C3: Nói rõ hơn không hiểu lắm
C4: Có thể thiếu vài cái variables, vào Trigger rồi Ctrl+B sẽ thấy, variables đặc biệt là không copy được nên đành chép lại y chang vào map vậy :D
 
Cho mình hỏi thêm phát ( lỡ hỏi rùi hỏi hết :D) .
[C1] Trong map minh` edit thì mình có quy định chỗ ra lính và bắt nó phải di chuyển . Vấn đề nằm ở chỗ là nó di chuyển 1 lúc rùi quay lại điểm bắt đầu .
[C2] Mình thay đổi cái max lv trong game constant ( wên mất tên rùi) nhưng sau khi hẻo lên lv 5 thì ko lên nữa nghe nói là thay đổi thêm cái gì nữa trong Xp Gain nhưng nó là gì
[C3] Thêm tướng vào mình đã làm theo hướng dẫn rùi nhưng mà ko thấy hero đâu hết .
[C4] Trên mạng họ chia sẻ cho nhau mấy cái skill mới nhưng mà làm sao để lấy ~ skill đó để thêm vào map của mình đc . Mình nghe nói là copy phần trigger nhưng ko đc mình đã thử copy phần trigger và phần quy đinh skill trong Object Manager ( abi... gì đó quên rùi ) nhưng cũng ko xong .
-------------------------------------------------------------------------------------
Có ai đó giúp mình chỉ ra nguyên nhân và cách khắc phục hok cám ơn nhìu nhìu
Ai ở Q9 TPHCM thì 1 chầu cafe
Còn ai xa quá thì mang ơn suốt đời :D:D:D:D

thêm tướng nghĩa là bạn đó đã tạo 1con unit mới hoặc copy 1 unit từ map A >> map B
bạn ra ngoài map bấm chữ U rồi chọn custom
rồi tìm từ human>>>neutral naga nó nằm ở trong vòng đó thôi
 
luci vẫn chưa hiểu ý mình , ý mình là có 2 unit cùng tạo 1 lúc nên nó set unit này lẫn sang unit kia , còn jass thì ..... =((:((:-s::(

Chả bao h có chuyện này,trừ khi wait:|
 
chắc ông dùng chung biến phải ko ::)
thôi thì ông post đoạn trigger đó lên tui xem nào ::)
 
Hic, có nghĩa là khi cast spell create 1 dummy, set Last Create Unit= Dummy1. Có 1 spell khác cũng Create dummy mà set = Dummy2, 2 spell cast cùng lúc, 2 biến set tùm lum =))
Chứ không phải dùng chung biến đâu :D
 
Thì đó,mới bảo thêm array vô,cần thì thêm biến đếm với array đó:|
 
RongDoVN hiểu sai ý mình rùi . mình thêm tướng từ các model nhưng mà test game thì ko thấy hình dạng hero đâu hết giống như nó " tàng hình " . Mấy câu kia đã thông hết
Nhưng lại fix thêm nhìu thắc mắc nữa :D
Mấy cái trigger di chuyển thì tớ chỉ sử dụng đc 1 cái nếu thêm cái thứ 2 thì 1 trong 2 cái di chuyển vậy có cách nào để cho sử dụng đc 2 hay nhìu cái hok share với :x
 
model đó bị gì rồi bạn ơi
thế model khác vào là vừa
còn cái trigger move từ TempLoc sang region khác chỉ có 1 cách đó
 
Em cần 1 tut về spell dựa trên chiêu crow form,nghĩa là thay đổi độ cao của unit,vd em cần 1 spell di chuyển như blink<ko nhảy qua mấy cái bờ dốc được nhé-nghĩa là phải check trước xem có " đi bộ được đến đó ko ">. Hiểu nôm na nó là khinh công :-j,nhảy từ chỗ này qua chỗ khác,cooldown 5s.
 
hjx hình như hoàn toàn như blink cũ chả khác gì :(
để em làm lại rồi post lên thử :D :wink:
 
sao cái we của tui thiếu 1 số thứ về trigger vậy ?
 
Giúp em làm 1 spell giả Khinh Công đi anh TOM<bay lên đáp xuống:D>
 
Status
Không mở trả lời sau này.
Back
Top