Tiểu Quận Chúa
Mr & Ms Pac-Man
- 19/12/09
- 244
- 1,859
Lời nói đầu
Dạo này mình thấy có rất nhiều newbies tập tành làm map mà mình thấy các topic như topic hỏi đáp chưa thật sự hữu ích với các newbies. Nên mình quyết định lập topic này để tiếp nhận các câu hỏi của newbies để giải đáp và có thể giúp đỡ họ trên con đường làm map đầy gian nan và thú vị.Nội dung chính của topic:
- Nơi các newbies đưa ra các câu hỏi.
- Nơi giải đáp các câu hỏi của newbies.
- Đưa ra những chỉ dẫn thật sự hữu ích cho các newbies có thêm hiểu biết về làm map. Tạo ra môi trường học tập tích cực cho các newbies.
Những điều nên làm trong topic này
- Nhiệt tình chỉ bảo các newbies
- Nếu có gì k biết cứ hỏi các ae trong box sẽ nhiệt tình trả lời, đừng lo ngại, đắn đo.
Lời cuối cùng tôi hi vọng các bạn ủng hộ topic này vì tương lai của thế hệ WE sau này.
Tổng hợp 1 số link có ích cho newbies nè:
http://forum.gamevn.com/showthread.php?882466-Bai-Huong-Dan-Cach-lam-Fade-Filter
http://forum.gamevn.com/showthread.php?882552-Bai-Huong-Dan-Cach-lam-Dialog-Box
http://forum.gamevn.com/showthread.php?882452-Cach-lam-Custom-Sound-Sets-cho-1-Unit
http://forum.gamevn.com/showthread.php?880718-Tong-hop-cac-link-huu-dung-danh-cho-newbie-
Tổng hợp các câu hỏi đã có trong box
#1 Gaothatto
Tương tác các loại giáp và kiểu tấn công:
Giáp thì có các loại: Metal, Stone, wood, flesh, ethereal
Kiểu tấn công thì có: Normal, pierce,siege, spell, chaos, magic, hero.
#2 choima
1. Cách lính đi như các map thủ cửa (ra roi nhung xơ xài không biết làm)
2. Cách lính đi giống DDay <giống như trên>
Link Demo:
http://www.mediafire.com/?blerxhaajabnzl7
http://forum.gamevn.com/attachment.php?attachmentid=148404&d=1321874011
http://www.mediafire.com/?w4ptt3d2dky189v
#3 tinhle87
hướng dẫn m về kiểu spell 1 unit trượt đến gần 1 unit gây choáng xung quang 1 khoảng ntn ấy nhỉ? Trigger?
Dash đơn giản: http://www.mediafire.com/?t5t3fkugns1i8g2
Spell dạng slide: http://www.mediafire.com/?k5dkdxl381nxdcn
Trigger
PHP:
Chidori
Events
Unit - A unit Starts the effect of an ability // Khi bắt đầu 1 tuyệt chiêu
Conditions
(Ability being cast) Equal to Chidori // Chiêu đó là Chidori
Actions
Set Caster = (Casting unit) // Đặt đơn vị Caster là ng` sử dụng skill
Set Target = (Target unit of ability being cast) // Đặt đơn vị Targer là thằng bị dính skill
Set Point_Target = (Position of Target) // Đặt vị trí thằng bị dính skill
Set Dame = (Real(((Level of Chidori for Caster) x (Strength of Caster (Include bonuses))))) // Đặt giá trị dame skill là Lv skill x Strength ng` sử dụng skill
Special Effect - Create a special effect attached to the hand right of Caster using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl // Tạo 1 cục điện ở tay phải
Set Effect = (Last created special effect) // Đặt giá trị cho cục điện vừa tạo trên là Effect
Wait 0.80 game-time seconds // chờ 0.80 giây của game
Unit - Pause Caster // Ngưng mọi hoạt động của ng` dùng skill
Unit - Turn collision for Caster Off // Cho ng` dùng skill khả năng đi xuyên mọi thứ
Trigger - Turn on Chidori Loop <gen> // Mở trigger Loop lên cho nó trượt
PHP:
Chidori Loop
Events
Time - Every 0.04 seconds of game time // Cứ 0.04 giây của game
Conditions
Actions
Set Point_Caster = (Position of Caster) // Đặt vị trí ng` sử dụng skill
Set Point_Slide = (Point_Caster offset by 40.00 towards (Angle from Point_Caster to Point_Target) degrees) // Đặt vị trí trượt từ vị trí ng` sử dụng skill lên 40 khoảng cách theo hướng từ vị trí ng` dùng skill đến vị trí thằng bị dính skill
If (All Conditions are True) then do (Then Actions) else do (Else Actions) // Hàm if ( nếu .. thì .. ngược lại .. )
If - Conditions
(Distance between Point_Caster and Point_Target) Less than or equal to 50.00 // Khoảng cách giữa vị trí ng` dùng skill và thằng bị dính skill nhỏ hơn hay gần = 50 khoảng cách
Then - Actions
Trigger - Turn off Chidori Loop <gen> // Tắt ngay Loop không cho trượt nữa
Animation - Play Caster's attack animation // Cho ng` dùng skill tạo 1 thế đánh ảo ( cho đẹp thôi )
Wait 0.50 game-time seconds // Chờ 0.50 theo thời gian game
Set Group = (Units within 400.00 of Point_Target matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of Caster)) Equal to True))) // Đặt đơn vị Group là khoảng trống 400 khoảng cách ngay vị trí thằng bị dính skill và check rằng nếu creep trong phạm vị 400 đó là kẻ thù và còn sống thì mới gây dame
For each (Integer A) from 1 to 8, do (Actions) // Vòng Loop điện 8
Loop - Actions
Special Effect - Create a special effect at (Point_Target offset by 300.00 towards ((Real((Integer A))) x 45.00) degrees) using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl // Xuất hiện điện 8 cục thành vòng tròn ( vì 45 x 8 = 360 độ )
Special Effect - Destroy (Last created special effect) // Sau khi tạo xong thì bỏ 8 cục điện đó đi ngay
Unit Group - Pick every unit in Group and do (Actions) // Chọn Group set trên để gây dame
Loop - Actions
Unit - Cause Caster to damage (Picked unit), dealing Dame damage of attack type Hero and damage type Universal // Ng` dùng skill sẽ gây 1 lượng Dame theo dame set ở trigger trên
Unit - Turn collision for Caster On // Tắt khả năng đi xuyên tường của ng` dùng skill
Unit - Unpause Caster // Mở lại mọi hoạt động của ng` dùng skill
Special Effect - Destroy Effect // Bỏ cục điện set ở trigger đầu tay phải
Custom script: call RemoveLocation(udg_Point_Caster) // xóa leak vị trí ng` dùng skill
Custom script: call RemoveLocation(udg_Point_Slide) // xóa leak vị trí trượt
Custom script: call RemoveLocation(udg_Point_Target) // xóa leak vị trí thằng dính skill
Custom script: call DestroyGroup(udg_Group) // xóa leak cái Group gây dame
Else - Actions
Unit - Move Caster instantly to Point_Slide // Cho ng` dùng skill trượt tới vị trí set trượt trên
Custom script: call RemoveLocation(udg_Point_Caster) // xóa leak vị trí ng` dùng skill
Custom script: call RemoveLocation(udg_Point_Slide) // xóa leak vị trí trượt
câu hỏi: ai chỉ em cách làm unit xây nhà mà sau khi xây xong nó biến mất với, hay chỉ em cách xây nhà mà unit đó chỉ cần tạo ra trạng sơ khai của căn nhà rồi nó tự xây lên mình ênh cũng đc! em muốn làm unit có thể xây một lúc nhiều cái nhà mà hok biết cách
@1: xây nhà mà sau khi xây nhà unit biến mất có 2 cách: 1 là dùng trigger .2 là dùng wisp của nightelf (chơi melee chắc bạn cũng biết)
@2: Nó tự xây lên thì bạn thử xài upgrade unit xem (hoặc xài trigger)
@3: 1 lúc xây nhiều nhà có thể dùng Alcotyle của Undead
Tạo ra 1 cái rồi đi xây được nhà khác là Acolyte (Undead)
Xây xong 1 nhà mới thoát ra ngoài được là Peon (Orc)
Xây dở mà bỏ ra thì công trình ở nguyên trạng thái là Peasant (Human)
Bạn muốn xây kiểu nào thì copy hoặc edit từ con đó...
Về căn bản của WE thì đúng là ko có tutorial trên forum mình đâu nhưng mà toàn là tiếng A. Đọc ko hiểu thì dịch khắc hiểu. Dịch ko hiểu thì thử thay đổi rồi coi coi có khác gì so với trước để tìm ra ý nghĩa nó. Cực hiếm những cái mà mình dùng hết các cách vừa nêu mà ko hiểu....
#5 Gaothatto
Cho em hỏi nếu em tạo ra 1 hero và có 4 skill cùng xuất phát điểm học là lv1. Nhưng khi hero này chọn học 2 skill thì 2 skill còn lại tự động khóa lại ko học đc nữa. Điều này có thể thực hiện được ko?
Giả sử có 4 skill lưu vào biến ability array Abi[1/2/3/4]. Tạo 1 integer i = 0 để kiểm tra số skill hero đã học
Code:
PHP:
Events
Unit - A unit Learns a skill
Conditions
Or - Conditions:
Learned hero skill == Abi[1]
Learned hero skill == Abi[2]
Learned hero skill == Abi[3]
Learned hero skill == Abi[4]
Actions
Set i = 0
For integer A from 1 to 4 do:
If (Level of Abi[integer A] of TempUnit >= 1 ) then
Set i = i + 1
If i = 2 then
Turn off this trigger
For integer B from 1 to 4 do:
If (Level of Abi[integer B] of TempUnit <= 0 ) then
Player - Disable Abi[integer B] for (Owner of TempUnit)
Em lại gặp vấn đề cần sự giúp đỡ. Em làm map chiến thuật nên sẽ có phần chọn quân ngay từ bên ngoài. Nhưng em muốn khi bắt đầu vào game, nếu player 1 chọn human thì sẽ được xây sẵn 1 cái nhà hero tại 1 vị trí theo ý muốn. Cứ vậy nếu player 2 chọn human cũng đc xây sẵn 1 cái nhà hero. Em dùng if/then/eles thì không thể tìm thấy phần quy định if: nếu player 1 chọn "loại quân human". Em vẫn có 4 loại quân và 10 player, vậy làm như trên có hợp lý không vì phải viết tới 40 cái. Hic.
làm như thế này là được
1-12 tương đương player 1 với player 12 dòng lập
Code:
Demo
PHP:
Events
Map initialization
Conditions
Actions
For each (Integer A) from 1 to 12, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Race of (Player((Integer A)))) Equal to Human
Then - Actions
Unit - Create 1 Town Hall for (Player((Integer A))) at ((Player((Integer A))) start location) facing Default building facing degrees
Else - Actions
Do nothing
i trả lời cho em cai tai sao em import model vao map roi tu vai chuc KB no len hai tram may KB roi ma khong biet nó nằm ở đâu mà lấy ra sử dụng nữa
Đầu tiên bấm vào biểu tượng như hình hoặc F6.
Chọn một unit nào cũng dc, hay bất cứ thứ gì có model . Tim dòng này
Thay vào đây
Xong!
#8 Gaothato
Em làm theo bác dh-g đến bước facing (Default building facing degrees) thì không tài nào để nó hiện ra (Default building facing degrees). nó ở trong phần nào vậy.Tìm luẩn quẩn mãi không được. Ai chỉ rõ cho em đc không?
Để sử dụng được Integer A thì trước đó em quy định như sau: Set Integer A = (Pick player) là chuẩn rồi nhỉ?
cai degree khoi chinh cung dc. E set temp_player bang voi player number (for loop integer a) la ok.
#9 Gaothato
Lại có vấn đề cần hỏi các huynh đây. Em làm map melee nó quy định sẵn chỉ đc mua 3 hero. Nhưng đó là 4 hero có sẵn của mỗi quân thôi. VD: human có paladin,... Khi em cho thêm tướng vào nhà mua tướng thì: 4 con có sẵn vẫn thế chỉ mua đc 1, thằng tướng em import thêm vào thì lại mua đc cả đống cứ như quân thường vậy. Em thử đặt như sau:
Acition -> Player - limit training of heroes to 3 for Player 1.
Nhưng ko có kết quả. Thằng thêm vào vẫn mua đc rất nhiều. Ai có cách khăc phục không. Map melee nha.
Dùng cái này nè em:
Player - Limit training of Unit to 1 for Player 1 (Red) với Unit là unit type cần giới hạn
Chỉnh sửa cuối:






.