game_war48
Dragon Quest
- 7/9/08
- 1,320
- 6
I.HƯỚNG DẪN LÀM MAP WARCRAFT
1.Giới thiệu:Tôi mở topic này nhằm mục đích giới thiệu và hướng dẫn sơ qua về cách làm map. Sau khi đọc xong topic này, bạn có thể làm đc một map sơ sài (ít nhất là vẫn chơi đc để mà tự sướng). Tuy kiến thức nông cạn nhưng vẫn muốn đóng góp một phần cho 4rum gamevn chúng ta (như Bác nói: "Tuổi nhỏ làm việc nhỏ, tùy theo sức của mình."
). Đầu tiên hướng dẫn cách làm mẫu map kiểu DDay:DDAY JUDGMENT
Giới thiệu sơ lược những nét chính của DDay (đồng thời cũng là hiểu biết chúng ta sẽ học đc sau bài này) :
+Gồm có nhiều player được chia thành hai Force (Light Forces và Dark Forces).
+Mua Item tại các nhà Neutral Passive.
+Mỗi player khi bắt đầu vào trận thì đều phải chọn tướng (hoặc có thể dùng lệnh "-rg" để randoom tướng).
+Bên nào phá đc nhà chính bên kia trước thì thắng.
+Quân của hai Forces ra liên tục.
+Khoảng 15 phút đến nữa tiếng thì có mấy thằng tướng to đùng xuất hiện.
+Khi Heroes đánh chết đối phương thì sẽ được thưởng tiền và gỗ.
2.Hướng dẫn:
a) Trước tiên để có một map thì tất nhiên là phải mở World Editor. Sau đó Chọn File\New Map. Tiếp theo định độ dài rộng rồi màu cỏ. Rồi sắp xếp các nhà, các ngọn núi, ba đường chính, unit. Gọi chung chúng nó là terrain ( cái này tùy từng người, ai khéo tay thì làm đc terrain đẹp
)*Một số điều cần lưu ý:
_Layer\Terrain: Xây dựng Terrain (cây, cỏ, nước đại khái xây dựng nền móng maps).
_Layer\Doodads: các vật, cây, camera (nói chung là cây cối và non sông gấm vóc).
_Layer\Units: chứa tất cả các công trình hoặc quân của từng dân tộc của Warcraft.
_Layer\Regions: Cái này dùng để làm một số trigger (sẽ nói sau).
_Layer\Camera: Nơi đặt các Camera, cũng dùng để làm trigger (sẽ nói sau).
b)Phần Force - Đội:
Đầu tiên,bạn chọn Scenari\ Player Properties. Hộp thoại xuất hiện ( có chữ Scenario Properties ).Sau đó, định ra hai computer rồi cho một số player ( người chơi )
Tiếp theo ,vào phần Forces đánh dấu vào Use Custom Forces .Sau đó xuống bảng bên dưới nhấn Add Force .Khi đó sẽ xuất hiện thêm một Force nữa ,rồi bạn kéo những player xuống force 2 để chia Team .Sau đó muốn đổi thành Team 1,Team 2 hay Nhóm 1 ,2 thì tuỳ.
Ở phần forces trong phần bảng bên phải có mấy cái ô vuông tích đó thì bạn tích vào 4 phần đầu ( Allied ; Allied Victory ; Share Vision ; Share Unit Control) thì nó mới chia team.
Xong qua cái bản kế bên đánh dấu một số mặc định cho mỗi Force rồi.
c) Phân các tính chất của từng Building hoặc Heroes ,Unit (Phần này quan trọng đây)
Lấy ví dụ là bây giờ bạn muốn cái nhà có thể bán sách tăng skill như trong DDay ,hoặc mỗi hero có từng chiêu thức riêng.
++++ Building
Trước tiên ,khi muốn tạo một nhà nào đó thì bạn cần vào Module\ Object Editor (hoặc bấm F6) .Lại có một bảng hiện ra. Nhấn vào biểu tượng New Custom Unit hoặc Ctrl+Shift+N .Chọn một Building (ví dụ chọn nhà Gobling Mechant ở phần Neutral trong bảng Base Unit để làm một cái nhà bán sách) nhấn OK. Tuy nhiên khi đặt một Unit lên Map thì bạn nên chú ý là cái thông số bạn sửa ở Object Editor là <Custom> hoặc mặc định có sẵn.Nếu khi bạn add nó lên bản đồ mà không đúng thì sẽ chẳng có những thay đổi gì đâu.
Sau đó ,bảng kế bên xuất hiện nhiều thông số.Bạn cần biết một vài thông số sau :
_Abilities – Normal : tính chất ,khả năng.(Ví dụ phát hiện tàng hình ở các tower ,Shop Purchase Item là shop bán đồ )
_Combat – Acquisiton Range [ ] :tầm kiểm soát
_Combat – Armor Type [ ] : loại giáp
_Combat – Attack 1 –Attack Type [ ] :loại đạn bắn
_Combat – Attack 1 – damage base [ ] :sức huỷ diệt ,công phá.
_Combat – Attack range [] :tầm bắn.
*Ở đây Acquisiton Range và Attack Range có mối liên hệ , Acquisiton Range là khoảng cách khi có một unit của kẻ thù bước vào vòng phạm vi này thì nó sẽ đánh, còn Attack range thì lại là tầm bắn.
Ngoài ra còn có các Combat – Attack 2 -........:
_Combat – Defense Base [ ] : phòng thủ.
_Movement – Speed Base : khả năng di chuyển (tốc độ)
_Stats - Gold cost : số tiền mua unit này.
_Stats - Lumber cost : số gỗ xây.
_Stats – hit poins Maximum (Base) [ ] : Máu
_Stats – Is a building [ ] : có phải building không .Bạn cũng có thể xác lập mặc định này cho những con lính ,tướng.Khi đó ,một số mặc định của Building sẽ xuất hiện thêm vào đây.
_Stats – repair gold cost : số tiền để sửa chữa
_Stats - repair lumber cost : số gỗ để sữa chữa
Time :thời gian để sữa xong
_Stats – Stock Maximum [ ] : số lượng unit hoặc Item mà nhà có thể chế tạo
_Stats – Stock Splenish Interval [ ] : thời gian mà một Unit hoặc Item được chế tạo xong
_Techtree –Item Made : Item chế tạo là gì
_Techtree – Unit Sold : Unit đào tạo là gì
_Text – Name : Tên
Ngoài ra ,còn có một số thông số bạn có thể tự tìm hiểu.
++++Heroes , Units
Cái này cũng giống như Building ,bạn có thể tự tìm hiểu ( dễ thôi ).
d) Chọn Heroes (Tướng)
Việc chọn tướng thì khá quan trọng trong một map đấu tướng.Vì thế nếu bạn nào muốn tìm hiểu thêm về tính chất tướng hoặc các chọn tướng thì có thể đặt câu hỏi thêm .Tôi sẽ trả lời.
Trước hết khi tạo một tướng thì bạn phải tạo <Region> khoanh vùng chỗ cái vòng tròn mà ta hay chọn tướng và <Region> tại chỗ tướng sẽ xuất hiện.OK sẵn sàng làm một Trigger .( Trigger là một công cụ để thay thế ngôn ngữ lập trình như Visual hoặc C ,giúp các gamer có thể dễ dàng make map nếu không bít lập trình )
Tiếp theo bạn vào Module\Trigger Editor . Bạn tạo New Trigger ( Ctrl + T ) .Sau đó tạo một Event ( Ctrl + E ) và một New Action ( Ctrl + R ) ( Các cái này đều ở trên thanh công cụ)
_________Events ( sự kiện ) : có thể gọi là nền tảng cho sự bắt đầu của mọi hành động ( ví dụ khi bạn muốn sinh quân tại region nào đó thì cần phải xác định thời gian cho chúng ra.Đây là nhiệm vụ của Events )
_________Conditions : điều kiện để xảy ra hành động ( ví dụ những con cừu để chọn tướng khi bắt đầu trò chơi sẽ tương ứng với số user vào chơi .Vậy để tạo ra đúng số cừu thì cần phải có một số điều kiện )
_________Actions : Hành động ( đọc cái này các bạn hiểu chứ ? )
Mã:
+++ Event : Unit – Unit enters Region [ Region : nơi bạn khoanh vùng cái vòng trắng ]
+++ Condition : cái này không quan trọng .
+++ Action : Unit – Unit Create Units Facing Angel
( Bạn sẽ thấy một dòng chữ dài màu xanh có những gạch dưới )
[ Create [ số lượng : 1 thôi ] [ Loại tướng ] for [ Thuộc về đội nào ] at [ chỗ xuất hiện ( bạn gán vào Region mà hồi nãy đã tạo ) ] Facing [ Di chuyển tới đâu ( khỏi ) ]
Unit - Kill Unit:
Kill [Entering Unit] // Dùng để giết con cừu
++++ Reveive Hero (Hồi sinh tướng khi chết)
Mã:
+++Event : Unit-Player Unit Event [ A unit owned by ___ Die ]
+++Condition : Player Comparison [ Chọn Hero bị Die ,điền các thông số ]
Boolean Comparison : [Triggering Unit is A Hero] [Equal to] [True]
+++Action :
_Wait [ Time ]
_Hero - Reveive ( Instantly )
[ Chọn hero sống lại _ Tại đâu _ Show hoặc Hide ]
Nếu muốn có thể cho vài cái camera khi xuất hiện lại.
[B]
Bạn cũng tạo những Regions từ chỗ xuất phát và xác định chỗ đến .
Sau đó tạo một New Trigger
Mã:
+++ Event : Time – Time Elapsed [ Time : thời gian units sẽ ra ( bạn nên sát định đúng thời gian cho từng đợt ra quân ) ]
+++ Condition
+++ Action : Unit – Unit Create Unit Facing Angel
[ Create [ số lượng : 1 (có thể thay đỏi) ] [ Loại lính ] for [ Thuộc về đội nào ] at [ chỗ xuất hiện ( bạn gán vào Region muốn lính xuất hiện) ] Facing [ Hướng của unit ) ]
Nếu bạn muốn nó di chuyển đến nhà địch thì làm thêm 1 trigger:
_____Nhớ tạo quân 2 bên ra cho đều nha.
Mã:
+++Event: Time-Periodic Event: Every [time] seconds of game times.
+++Condition:none
+++Action:unitgroup-
[Last creat unit (region nơi quân xuất hiện) own by player[phe đó] attack move to [region nơi đặt nhà địch]
_____ Phần ra tướng bự con .Bạn cũng làm tương tự như trên nhưng cần chú ý làm nên vào Object Edior để chỉnh các thông số tấn công ,phòng thủ gì đó.
++++ Rơi tiền thưởng
Bạn nên chỉnh cái này ở những con lính trong Object Editor trước
Mã:
+++Event : Map Initialization
+++Condition :
+++Action : Player - Turn Player Flag On/Off
[ Turn ___ __ For ____ : tự điền lấy ]
Di chuyển (biến qua Regions) ( Move)
Mã:
+++Event : Unit-Unit enters Regions
+++Condition:
+++Move Unit ( Instantly) [ .... instantly to ...... ]
5) Trình diễn Maps
Cái này thì bạn sẽ thấy khi mỗi lần chọn map cho mỗi vòng đấu và Load map
Bạn vào Scenario\ Map Description .Nói chung là những dòng ở trên cái gạch .Khi hiện ra thì có cái bảng ghi Map Properties
+Description :
Name : Tên map
Suggested Player :
Description : ghi những cái gì bạn muốn
Author :
+ Option :
Ở đây có những cái mặc định .Bạn sẽ tự điền vào.
+Size and Camera Bounds : Chỉnh tầm nhìn của map
+Loading Screen : cái này bạn sẽ thấy khi Load map
_Loading Graphic : Những cái hình khi Load map
_Loading Screen Title
_Loading Screen Subtitle
_Loading Text
+ Prefs : chỉnh ngày đêm ,bầu trời gì đó của map.
++++Một số cái linh tinh
LOCK MAP : Chọn Import Manager rồi add vô một file càng nhẹ càng tốt 1 KB cũng được.Chọn File đó nhấn enter để Custom Path thành War3map.wtg rồi save .
Hiện text
Nếu bạn thích vào đầu mỗi trận đấu sẽ quảng cáo về map của mình , tên hay email .Nói chúng là các dòng text thì bạn sẽ dùng cái này.
+++Events : Time – Time Elapsed ( thời gian )
+++Conditions : none
+++Actions : Game – Text Message [ Explicilty Timed ]
( Display to [] for [time] seconds to text …………. )
Thắng và thua trận
Khi nhà chính của bạn hay của đối phương bị banh thì bên nào sẽ thua bên nào sẽ thắng .
+++Events : Unit – Specific Unit Event
[ Unit ( bạn chọn cái nhà chính bị banh ) Dies ]
+++Conditions : none
+++Actions : ---- Game – Victory
[Victory Player 1 red ( show dialogs , show scores ) ]
----Game – Defeat
[ Defeat ( player ) with the message ( vài dòng text ) ]
Nếu như map này có nhiều player thi bạn hãy làm những trigger tương ứng với số player
Tạo cừu vào đầu màn chơi
+++Events : Map
+++Conditions : None
+++Actions : ---- If / Then/ Else
__If : Player Slot Status Comparison
[ Player 1 [red] slot status] Equal to Is playing
__Then do : [ Unit – Create Units Facing Angle]
[ Create [ số lượng : 1 thôi ] [ chọn thằng lính hay con cừu ] for [ player 1 [red] ] at [ chỗ xuất hiện ( bạn gán vào Region chỗ xuất con cừu sẽ đứng ] Facing [ Di chuyển tới đâu ( Khỏi ) ]
__Else do : none
Với cách này bạn sẽ làm lần lượt cho các player khác nếu bạn tạo nhiều player
Cách tạo và sử dụng camera:
Camera là một phần không thể thiếu trong các map campaign, RPG. Nhờ nó mà người chơi được dẫn dắt vào cốt truyện, các quest một cách dễ dàng hơn.
Ấn tượng đầu tiên khi vào 1 map nào đó chính là phần terrain hiện lên trên màn hình của bạn. Theo tôi một map hero, arena hay gì gì đi chăng nữa,nếu có thêm phần start cinematic và ending cinematic chắc chắn sẽ gây ấn tượng hơn các map thông thường. Sau đây tui xin hướng dẫn các bạn về cách tạo và sử dụng camera.
-------------------------------
1 .Để chỉnh sửa một camera..trước tiên bạn phải bỏ chế độ Lock to Game Camera trên thanh công cụ View. Lúc này bạn mơi tự do xoay và kiểm tra các camera.
2. Creat 1 camera tại 1 vị trí mà bạn muốn chiếu. Sau đó click vào nó rồi bắt đầu chỉnh các thông số cho camera. Nội dung các thông số đó như sau:
-Target X, Y : toạ độ của camera trên bản đồ..Cái này chỉnh bằng chuột thì nhanh hơn gấp bội
- Z Offset : độ cao của camera so với điểm chiếu
- Rotation : thay đổi Rotation chẳng khác gì bạn xoay 1 cái compa. Rất dễ
- Angle of Attack : thay đổi góc chiếu của camera so với mặt đất,
- Roll : nghiêng camera sang trái hoặc sang phải. Thâm chí lộn ngược..he he
- Distance : độ xa tính từ camera đến vật cần chiếu.
- Field of View : giống hệt chức năng zoom của máy ảnh
- FarClipping : tầm nhìn tối đa của camera đó. Càng để xa thì càng thu được nhiều hình.
----------------------------
Một số lưu ý trong khi dùng cinematic đó là đoạn bắt đầu vào map. Một số người dùng Event là Time Elapsed = 0 Tuy nhiên như vậy vẫn gây ra vấp camera cho nên bạn phải dùng Map Intialization
----------------------------
Các đoạn Fade in, Fade Out, Wait , Camera Duration phải sắp xếp thời gian hợp lý sao cho khi chuyển thật êm.
Ví dụ :
- Map intialization ( bắt đầu)
- Fade out over 0 second ( màn hình trở nên đen kịt ngay khi start)
- Turn on cinematic mode ( bật chế độ cinematic)
- Wait 3-5 s
- Fade in over 2 seconds ( màn hình sáng dần sau 2s )
- Apply camera1 for 0 seconds
- Apply camera2 for 20 seconds ( chuyển từ từ camera1 sang camera2 sau 20s)
- Wait 12s ( Thời gian [wait+fade in+fade out] < [camera2 duration])
-Fade out over 5 seconds ( Màn hình tối dần sau 5s)
- Wait 5s ( đợi thêm 5s để màn hình tối hẳn 100% rồi bắt đầu sang camera khác hoặc bắt đầu vào game )
-----------------------------
Các kỹ thuật tạo và sử dụng camera còn rất nhiều ở đây tui chỉ ví dụ một trường hợp rất đơn giản. Ai muốn tìm hiểu kỹ về camera và cinematic thì hãy xem kỹ trong map Cam của tuiđã post ở trên.
Dưới đây là Zeddy's Guide. Tui làm map này để hướng dẫn về camera. Cảm ơn đã ủng hộ
Zeddy's Guide
Credit:Zeddy
Note: Phần dưới là tôi vừa copy vừa edit nên hơi có sơ sót, nếu ai có gì kô hiểu gì cứ hỏi nhé.
II.FAQ
1.Các tính năng của shop:
a)Hỏi:
Em muốn hỏi chi tiết về Items Shop, các tính năng và thủ thuật có thể có của Items Shop, hoặc Shop Lính.v.v...
b)Trả lời:
Đầu tiên bạn tạo một custom building base từ building Mercenary Camp của Neutral Passive chẳng hạn.
Ở phần Abilities - Normal: Add thêm 3 ability cho nó bao gồm:
+Shop Purchase Item.
+Shop Sharing.
+Select Hero.
_Muốn nó bán items thì chỉnh phần : Techtree - Item Sold: Bấm vào sẽ có bảng hội thoại xuất hiện , bạn bấm vào Add Item và chọn những item sẽ bán trong nhà đấy.
_Muốn nó bán units thì chỉnh phần : Techtree - Unit Sold: Bấm vào sẽ có bảng hội thoại xuất hiện , bạn bấm vào Add Unit và chọn những units sẽ bán trong nhà đấy.
*Phần Item Made là chỉ bán cho thằng cùng phe với nó mà thôi, thế nên tốt nhất là kô chọn cái gì ở trong đấy hết.
2.Cách chọn tướng giống dday:
a)Hỏi:
Mấy anh pro ú ù có thể chỉ em làm thế nào để mình tạo 1 chô~để chọn hero --> tạo con cừu hay cái con j` sáng sáng để chọn hero í.(giống Dday lúc mình vô chơi có 1 con để chọn í.
Tiếp theo là làm thế nào để map có 2->8n` vô chơi dc e tạo xong vô test là nó cho thắng luôn
Và cuối cùng là làm thế nào tạo1 cái nhà có items ở trong(máu,sách, vu~khí...),1 cái nhà
tăng máu lúc mình chạy về thành, nhà lính tự chạy ra, con tướng lúc mình fang nó là win.
Giúp e nha mí a. Thaks nhìu.
b)Trả lời:
-Cách chọn tướng:
cách này bất lợi ở chỗ mỗi tướng phải có 1 region, 1 trigger riêng..Bạn tạo 1 khu vực đủ rộng cho số Hero mình có, nên đặt cách biệt vùng chơi (đặt doodad cản lại, xây trên tường hay đặt boundary), sao đó, xếp hero lên, chuyển owner cho tất cả về neutral passive, đặt trước mặt mỗi hero 1 cái circle of power (unit ở phần neutral passive, campaign)..vẽ 1 region ngay trên đó rồi làm trigger sau (chẳng hạn chọn tướng blood mage):
-event: unit - a unit enters <Blood Mage region>
-condition: triggering unit equal to <Cừu>
-Action: unit - kill triggering unit
unit - create 1 Blood Mage for owner of triggering unit at owner of triggering unit start location
camera - pan camera for owner of triggering unit to owner of triggering unit start location
trigger - turn of [this trigger]
Cách trên tạo hero và chuyển camera về vị trí start location của player, do đó bạn nên đặt start location(unit) ở vị trí mình muốn..hoặc cũng có thể tạo và xoay camera về 1 region nào đó tùy bạn..
-Nhà có item thì đơn giản nó như cái Goblin Merchant thôi, bạn tìm ở phần Object, Unit, Neutral Pasive(building). Bạn cũng có thể đổi tên, thay model tùy thích. Còn muốn thay đổi item bán trong shop thì tìm đến dòng: Techtree - items sold
-Map ban đầu mới vô có 1 trigger melee initialization, bạn xóa nó đi là ổn..Số người chơi bạn vào: Scenario / Player properties (trên thanh menu đó).
-Nhà tăng máu nó nằm ở phần: bạn mở cái Unit palette/Neutral Pasive là thấy. Tên nó là Fountain of Health.
-Cách ra quân thì bạn xem map demo sẽ hiểu phần nào:
MAP DEMO
Credit:RexAnthony
3.Cách ghép đồ:
a)Hỏi:
Cần 1 bài hướng dẫn tỉ mỉ, dễ hiểu về ghép đồ, bao gồm ghép nhiều đồ khác nhau thành 1 đồ mới, nhiều đồ giống nhau (đồ dùng 1 lần như máu, mana) tự "xếp" vào 1 slot bằng Trigger.
b)Trả lời:
Về ghép nhiều item khác nhau thành 1 item khác.mình sẽ chỉ cái dễ nhất:
còn về item máu khi có 1 bình trên người nhặt thêm 1 bình máu nữa sẽ gộp lại thành 2 thì làm trigger như thế này:Mã:Super Item Events Unit - A unit Acquires an item Conditions Actions If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions ((Hero manipulating item) has an item of type Orb of Frost) Equal to True ((Hero manipulating item) has an item of type Orb of Fire) Equal to True ((Hero manipulating item) has an item of type Orb of Lightning) Equal to True Then - Actions Item - Remove (Item carried by (Hero manipulating item) of type Orb of Frost) Item - Remove (Item carried by (Hero manipulating item) of type Orb of Fire) Item - Remove (Item carried by (Hero manipulating item) of type Orb of Lightning) Item - Create Claws of Attack +15 at (Center of (Playable map area)) Special Effect - Create a special effect at (Position of (Hero manipulating item)) using Abilities\Spells\Items\AIam\AIamTarget.mdl Special Effect - Destroy (Last created special effect) Hero - Give (Last created item) to (Hero manipulating item) Else - Actions
Mã:mau Events Unit - A unit Acquires an item Conditions ((Hero manipulating item) has an item of type Potion of Greater Healing) Equal to True (Charges remaining in (Item carried by (Hero manipulating item) of type Potion of Greater Healing)) Greater than or equal to 0 Actions Set TempUnit = (Hero manipulating item) Set TempItem = (Item being manipulated) For each (Integer A) from 1 to 6, do (Actions) Loop - Actions Set TempItem2 = (Item carried by TempUnit in slot (Integer A)) If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions (Item-type of TempItem2) Equal to (Item-type of TempItem) TempItem2 Not equal to TempItem Then - Actions Item - Set charges remaining in TempItem2 to ((Charges remaining in TempItem2) + (Charges remaining in TempItem)) Hero - Drop TempItem from TempUnit Item - Remove TempItem Skip remaining actions Else - Actions
Ai kô hiểu thì xem map demo ở bên dưới:
MAP DEMO
Credit:rongdoVN
4.Cách hồi sinh hero như dday:
a)Hỏi:
Ai chỉ chi tiết cho em cách hồi sinh hero như dday với!
a)Trả lời:
Đầ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 HeroRevive và Team2 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:
Trigger trên để "add event" timer expired cho trigger revive chính (HeroRevive đó)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 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ã: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 thì ko thấy event đâu cả, hic Tom quên, nhưng đùa thôi, Tom đã add event cho nó ở trigger thứ 1 rồiMã: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
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.
Ai kô rõ cứ xem map demo ở dưới:
MAP DEMO
Credit:Tom_Kazansky
5.Cách tạo bảng điểm:
a)Hỏi:
Chỉ em cách làm bảng tính kill giống như dday ý
b)Trả lời:
------------------------------------------------Tạo leaderboard thì khá đơn giản, cần 1 biến (variable) name: TomLeaderboard, type là leaderboard. 1 biến mảng (variable array) name: PlayerValue, type: Integer để lưu giá trị cho mỗi player
Create xong thì cần update board đó, ví dụ update khi killMã:CreateBoard Events Time - Elapsed game time is 0.00 seconds Conditions Actions Leaderboard - Create a leaderboard for (All players) titled Score Board //tạo 1 board với tiêu đề (ở đây là "Score Board" Set TomLeaderboard = (Last created leaderboard) //lưu board mới tạo vào biến Leaderboard - Add Player 1 (Red) to TomLeaderboard with label Tom Kazansky and value 0 //thêm player 1 vào board với tiêu đề (có thể là tên player hoặc gì cũng đc ) là Tom Kazansky Leaderboard - Add Player 2 (Blue) to TomLeaderboard with label RexAnthony and value 0 //thêm player 2 vào board Leaderboard - Add Player 3 (Teal) to TomLeaderboard with label god_of_the_noob and value 0 //thêm player 3 vào board For each (Integer A) from 1 to 12, do (Actions) //loop này để đặt giá trị là 0 cho mọi player (3 player chắc chỉ cần from 1 to 3 là đủ) Loop - Actions Set PlayerValue[(Integer A)] = 0
Từ I là index của player killer ( tựa như Player 1 -> index là 1)Mã:BoarUpdate Events Unit - A unit Dies Conditions // tất nhiên cần thêm điều kiện Actions Set I = (Player number of (Owner of (Killing unit))) // I là 1 biến integer, biến này tạo ra để dùng tạm Set PlayerValue[i] = (PlayerValue[i] + 1) // thêm giá trị vào biến giá trị của player Leaderboard - Change the value for (Player(I)) in TomLeaderboard to PlayerValue[i] // bây giờ thay đổi giá trị của board cho player killer
Player(I) là Conversion - Convert Player Index To Player <- Player(1) = player 1
Credit:Tom_Kazansky


