Topic Post Spell

  • Thread starter Thread starter ducthai
  • Ngày gửi Ngày gửi
Status
Không mở trả lời sau này.
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 đó :D
 
Import effect ở giữa, tạo 1 cái rồi tạo effect Flame Strike Special mỗi sec. Effect này lag kinh @@
 
Trigger đây, event với action chắc khỏi nói :D
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 @@
 
Trigger đây, event với action chắc khỏi nói :D
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 @@

Search trên hive, cái đó có gì lạ đâu :-/?
 
lỡ chỉ thì làm luôn cái EventCondition luôn đi WE nhé :D
tui nghĩ EventA Unit is Attacked còn Condition (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 :D
 
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-)
 
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 :D

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 :)
 
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-)

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ễ :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 :D 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 :D
 
đú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 :D
 
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é 3:-O
 
Tạo ra các unit dummy hình cái mộ,thằng nào đi gần vào thì cast ensare vào,chắc thế @@.
 
Status
Không mở trả lời sau này.
Back
Top