hix nhờ WE làm giùm lun đi , tui làm thử mà có đc đâu còn cái Black Hole ko phải Model như vậy đâu ,đó là tạo effect mỗi s đó
Trigger đây, event với action chắc khỏi nói Mã: Actions Unit - Set life of (Killing unit) to ((Life of (Killing unit)) + (((Max life of (Dying unit)) / 100.00) x 20.00)) Special Effect - Create a special effect attached to the head of (Killing unit) using Objects\Spawnmodels\Human\HumanBlood\HeroBloodElfBlood.mdl Special Effect - Destroy (Last created special effect) Không, cái effect đó thì biết rồi, cái cục xanh xanh có điện ở giữa ấy @@
lỡ chỉ thì làm luôn cái Event và Condition luôn đi WE nhé tui nghĩ Event là A Unit is Attacked còn Condition là (Attacking Unit) has buff ..... equal to true ko bit như vậy đúng ko nhỉ
Event la` A unit die, rùi Condition kiểm tra xem GetUnitAbilityLevel(KillingUnit(), spell) > 1 hay không...
Ui bạn KuKulKan hay là bạn viết toàn bộ cái Trigger ra giùm mình lun đi bởi vì cái dòng này GetUnitAbilityLevel(KillingUnit(), spell) mình chưa học - chưa biết => ko bít => bạn giúp giùm lun đi
nó viết tắt đấy, phải hiểu chứ Mã: Event A unit Dies Condition (Level ability xyz of (Killing unit)) Great to 0 Action Unit - Set life to........ Special Effect - .......... have fun 8-)
Event: o Unit - A Unit Dies Condition: o Level of ( spell) for (KillingUnit) > 0 (1) Action: o set A = (KillingUnit) o set B = (DyingUnit) o set Max_life = (Max life of B) (2) o set Cur_life = (Life of A) (3) o set Add_life = ((0.10 x (Real((Level of Spell for A)))) x Max_life) (4) o Unit - Set life of A to (Cur_life + Add_life) *Ghi chú (1) Ctr-D --> Integer Comparison --> Unit - Level of Ability for Unit (2) Unit - Property (3) Unit - Property (4) Arithmetic --> 2 giá trị A x B - tại A --> Arithmetic --> 2 giá trị A2 x B2 - tại A2 chọn 0.1 tương đương 10% - tại B2-> Coversion - Conver Integer to Real --> Unit - Level of Ability for Unit Vậy tại A ta đã có có phần trăm tương ứng với level của spell, 10% 20% 30% ... và ta chỉ việc x % này với Max_life tức là B sẽ là Max_life GoodLuck :)
KuKulKan là clone của ông Themantime, ổng là người làm map X Hero F-Day. Ổng học Jass giỏi lắm, cái mà cậu bảo là viết tắt thực ra là ngôn ngữ Jass.
lKan vừa xong 1 con hero, ờ thì cũng không bik gọi nó sao nữa tạm là Unknown Hero, với 5 skill KIM - MOC - THUY - HOA - THO và 1 skill Release Power - Cơ bản với 5 skill KMTHT này, nếu hoán đổi vị trí thì ta sẽ có 5! tức là 120 skill, và lKan đã làm cho nó là vậy... với 120 skill cơ bản là standar skill của tất cả hero và unit trong Warcraft - Cách tạo skill, lKan sẽ nói cho mọi người dễ hiểu, KMTHT tương ứng với 12345 11111 --> 1skill 11112 --> 1 skill 11113 --> 1 skill .... 11545 --> 1 skill ( thứ 120 ) Chắc có lẽ đây là 1 í tưỡng điên rồ :( lKan sẽ post thêm chi tiết cách sử dụng cũng như import..rất dễ http://www.mediafire.com/download.php?y0uymgwnmmd
Uhm cảm ơn bạn Kukulkan vì đã giúp đỡ , mình làm đc rùi hóa ra mình làm sai cái Event và Condition nên nó ko ra :P Tiện thể cho mình hỏi cách tạo creep spam : mỗi 30s tạo 5 con creep ở Region X ,sau đó check nếu trong Region X có đủ 15 con Creep thì ko tạo nữa , nếu ko đủ thì tạo thêm . Nghe hơi đơn giản nhưng mà mình lại làm ko đc quê quá nên nhờ bạn giúp vậy
đúng rồi, làm gui thì chỉ cần hiểu sơ sơ tiếng Anh là đc thôi, vì làm spell gui giống như ghép mấy câu tiếng Anh lại , rồi ra cái mình muốn... Cái integer , number of unit in region rành rành ra đó mà ko thấy, chắc ko hiểu nó nghĩa gì.
Event:Time - Every 30.00 seconds of game time Condittion: Action: Set g = (Units in (Region X) matching (((Life of (Matching unit)) Greater than 0.00) and ((Owner of (Matching unit)) Equal to Neutral Hostile))) If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions (Number of units in g) Less than 15 Then - Actions Unit - Create 5 Creeps for Neutral Hostile at (Center of (Region X)) facing 270.00 degrees Else - Actions Do nothing Custom script: call DestroyGroup( udg_g ) Custom script: set udg_g = null Ghi chú: g là 1 biến Group, ta set Group để tránh leak, khi set group thì cần điều kiện và những unit để xét gọi là Matching unit, chỉ 2 điều kiện ( chắc là đủ ), máu > 0 để xem nó còn sống không, nó có thuộc về Player mà ta Create ..... for Player không 2 dòng cuối để xóa leak thui, lần sau có set bất kì Group nào thì nhớ xóa leak Custom script: call DestroyGroup( udg_tên biến group ) Custom script: set udg_tên biến group = null ----- Tom's edit: (post cũ) "o" ở đầu dòng là gì vậy ? dùng cái "list" ko tốt hơn hay sao ? cái dòng null group g không cần thiết vì nó là global mà.
nếu nó có 15 creep, mình kill 3, còn 12, sau đó nó check ko đủ 15 lại tạo thêm 5 thằng nữa => 17 creep trái với đề bài mà esle để trống cần gì Do nothing cho nó nặng
Ngay cả khi đủ 15 thì cũng có cách làm cho nó thành 20 :) thậm chí 25 :), nghe đâu như là lure creep thì phải, thật ra cũng không nên gò bó nó quá ờ thanks Tom tại tui thích hay dùng kí hiệu riêng
muốn ĐÚNG 15 unit, ko lure gì gì thì phải tốn công thêm một tí: Mã: Creep Spawn Events Time - Every 5.00 seconds of game time Conditions Actions Set TempInt = (Number of units in CreepGroup) If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions TempInt Less than 15 Then - Actions Set TempPoint = (Center of CreepSpawnPlace <gen>) Unit - Create (15 - TempInt) Footman for Neutral Hostile at TempPoint facing Default building facing degrees Unit Group - Add all units of (Last created unit group) to CreepGroup Custom script: call RemoveLocation( udg_TempPoint ) Else - Actions Mã: Creep Spawn Die Events Unit - A unit Dies Conditions ((Triggering unit) is in CreepGroup) Equal to True Actions Unit Group - Remove (Triggering unit) from CreepGroup đó là ví dụ cho MỘT region: CreepSpawnPlace <gen> nếu muốn nhiều region thì cần nhiều "CreepGroup", có thể dùng array. và số trigger thì cũng chỉ là 2 thôi nhé