Topic hỏi đáp về cách làm map | version 9

Status
Không mở trả lời sau này.
Cho hỏi cái dòng này :
Mã:
Custom script: call IssueTargetOrderById(GetLastCreatedUnit() , 852274 , GetTriggerUnit())
Chỗ "852274" là gì? Chỉ đoán nó là skill Item Illusions mặc định của war? Giờ nếu có custom Item Illusions thì phải sửa kiểu j?
 
852274order id của ability Item Illusion, custom ability lấy gốc từ ability này thì rõ ràng vẫn dùng 852274
 
YAN[asian];18603602 nói:
Cho hỏi cái dòng này :
Mã:
Custom script: call IssueTargetOrderById(GetLastCreatedUnit() , 852274 , GetTriggerUnit())
Chỗ "852274" là gì? Chỉ đoán nó là skill Item Illusions mặc định của war? Giờ nếu có custom Item Illusions thì phải sửa kiểu j?

Cái đó gọi là Order code, mình thì cũng không hiểu gì mấy đối với quy luật tạo ra của nó nhưng bạn cần phải am hiểu cái này để đưa lệnh order, nếu không hiểu, bạn nên convert ra order id như OrderId("lệnh ability,VD:thunderbolt")!Nếu có item thì sử dụng tốt nhất là Hero - Use item!:>
 
ko hiểu sao minh làm spell deal dam bằng trigger mà vẫn bị nhận dam phản từ spell "gai" của bọ hung dù là loại dam gì đi chăng nữa ( thường thì mình để dam spell type normal ) , có ai bị như vậy ko :( , giải thik hộ mình vs :|
ps: các spell dùng spell có sẵn , hoặc dummy cast spell có sẵn thì ko sao , chỉ dam = trigger thôi :(
 
ai chỉ giúp với , khi mình nhập một đoạn chat nào đó ( thi du nhu -move) thì sẽ move hero của mình tới region đó , ai chỉ giúp với !!!
"region đó" là region nào vậy bạn ?
[spoil]
Mã:
    Events
        Player - Player 1 (Red) types a chat message containing -move as An exact match
        Player - Player 2 (Blue) types a chat message containing -move as An exact match
        Player - Player 3 (Teal) types a chat message containing -move as An exact match
        Player - Player 4 (Purple) types a chat message containing -move as An exact match
    Conditions
    Actions
        Set TempGroup = (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to True))
        Unit Group - Pick every unit in TempGroup and do (Actions)
            Loop - Actions
                Unit - Move (Picked unit) instantly to (Center of <Region001>)
        Custom script:   call DestroyGroup(udg_TempGroup)
[/spoil]

Bà con có ai biết làm trigger hiện kinh nghiệm nhận được khi giết địch không?
Dưới đây là 1 mẫu tham khảo, nhận exp khi giết địch lẫn nhặt item.
 

Attachments

ko hiểu sao minh làm spell deal dam bằng trigger mà vẫn bị nhận dam phản từ spell "gai" của bọ hung dù là loại dam gì đi chăng nữa ( thường thì mình để dam spell type normal ) , có ai bị như vậy ko :( , giải thik hộ mình vs :|
ps: các spell dùng spell có sẵn , hoặc dummy cast spell có sẵn thì ko sao , chỉ dam = trigger thôi :(

đây là hàm "damage target" của GUI:

Mã:
function UnitDamageTargetBJ takes unit whichUnit, unit target, real amount, attacktype whichAttack, damagetype whichDamage returns boolean
    return UnitDamageTarget(whichUnit, target, amount, [B][COLOR="Red"]true, false[/COLOR][/B], whichAttack, whichDamage, WEAPON_TYPE_WHOKNOWS)
endfunction

đây là hàm gây damage (native, JASS)

Mã:
native UnitDamageTarget takes unit whichUnit, widget target, real amount, [COLOR="Red"][B]boolean attack, boolean ranged[/B][/COLOR], attacktype attackType, damagetype damageType, weapontype weaponType returns boolean

hãy chú ý phần in đậm màu đỏ.
hàm "damage target" (UnitDamageTargetBJ), gọi native trên với tham số: attack=true và ranged=false => gây damage bởi attack và là melee nên bị "phản damage" là đúng.
(cái này làm tôi nhớ đến một vụ tương tự trong DotA (bản cũ): unit có Frost Armor đánh vào Centaur và bị phản dmg (từ skill 3 của Centaur), kết quả Centaur bị "slow" bởi Frost Armor =)))

giải quyết vấn đề này thì:
Mã:
Custom Script: call UnitDamageTarget( udg_SourceUnit, udg_TargetUnit, udg_DamageDeal, false, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, null )
 
Trong map Force Staff của WorldEditor có chỉ cách "đẩy" như lên gậy đẩy trong dota, ai chỉ mình cách đẩy sang trái, phải, dưới đi Thanks nhìu
 
Tại sao 1 unit có skill spell book và skill biến hình, khi biến hình xong quay trở về trạng thái cũ, thì phép trong spell book mất sạch? Khắc phục điều này bằng cách nào?
Thêm nữa là tại sao skill Breath Fire có ghi là đốt máu mỗi giây mà chẳng thấy bị đốt j cả?
 
Chỉnh sửa cuối:
>Tại sao 1 unit có skill spell book và skill biến hình, khi biến hình xong quay trở về trạng thái cũ, thì phép trong spell book mất sạch? Khắc phục điều này bằng cách nào?

Mã:
native UnitMakeAbilityPermanent takes unit whichUnit, boolean permanent, integer abilityId returns boolean

Custom Script: call UnitMakeAbilityPermanent( udg_Unit, true, udg_AbilityId )

AbilityId = raw id của ability trong spellbook

>Thêm nữa là tại sao skill Breath Fire có ghi là đốt máu mỗi giây mà chẳng thấy bị đốt j cả?

Breath of Fire chỉ gây đốt khi có buff Drunken Haze
dùng Breath of Frost nếu ko muốn có điều kiện trên
 
Mã:
Custom Script: call UnitDamageTarget( udg_SourceUnit, udg_TargetUnit, udg_DamageDeal, false, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, null )
Anh Tom cho em hỏi là h dưới bất kứ 1 custom spell nào thì ghi dòng này ở dưới cùng hay ở đâu hả anh , nói thật là chưa gặp vấn đề này bao giờ :(
 
>Tại sao 1 unit có skill spell book và skill biến hình, khi biến hình xong quay trở về trạng thái cũ, thì phép trong spell book mất sạch? Khắc phục điều này bằng cách nào?

Mã:
native UnitMakeAbilityPermanent takes unit whichUnit, boolean permanent, integer abilityId returns boolean

Custom Script: call UnitMakeAbilityPermanent( udg_Unit, true, udg_AbilityId )

AbilityId = raw id của ability trong spellbook

[/B]
dùng Breath of Frost nếu ko muốn có điều kiện trên

Cái này lạ quá, mới gặp lần đầu. Có thể hướng dẫn cụ thể hơn 1 chút ko? Nếu là GUI thì làm kiểu gì, khi nào, set biến kiểu gì?
 
Anh Tom cho em hỏi là h dưới bất kứ 1 custom spell nào thì ghi dòng này ở dưới cùng hay ở đâu hả anh , nói thật là chưa gặp vấn đề này bao giờ :(

thay Unit - Damage Target bằng dòng đó
Mã:
Set SourceUnit = <unit gây dmg>
Set TargetUnit = <unit nhận dmg>
Set DamageDeal = <lượng dmg>
Custom Script: call UnitDamageTarget( udg_SourceUnit, udg_TargetUnit, udg_DamageDeal, false, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, null )

variable:
  • SourceUnit, Target Unit: unit
  • DamageDeal: real

YAN[asian];18613362 nói:
Cái này lạ quá, mới gặp lần đầu. Có thể hướng dẫn cụ thể hơn 1 chút ko? Nếu là GUI thì làm kiểu gì, khi nào, set biến kiểu gì?

Mã:
Set TempUnit = <unit cần ability "permanent", ko mất khi transform>
Set AbilityId = Acid Bomb <một ability trong spellbook>
Custom Script: call UnitMakeAbilityPermanent( udg_TempUnit, true, udg_AbilityId )

  • TempUnit: unit
  • AbilityId: ability
 
Chỉnh sửa cuối:
thay Unit - Damage Target bằng dòng đó
Mã:
Set SourceUnit = <unit gây dmg>
Set TargetUnit = <unit nhận dmg>
Set DamageDeal = <lượng dmg>
Custom Script: call UnitDamageTarget( udg_SourceUnit, udg_TargetUnit, udg_DamageDeal, false, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, null )
[/LIST]
Cho em hỏi thêm là h mình muốn deal dam vào 1 group thì làm thế nào , thường thì em pick group đó và deal dam vào Picked unit
Nữa là h mỗi khi tạo spell thì e tạo 1 con dummy của Caster chuyên để deal dam và nhân luôn cái dam phản dam , sau đó giết nó đi .Vậy làm như vậy có được ko :-?
 
ai chỉ giúp với , khi mình nhập một đoạn chat nào đó ( thi du nhu -move) thì sẽ move hero của mình tới region đó , ai chỉ giúp với !!!

repeat lần thứ 2 , ai giúp ngoc với , đang cần gấp cho thằng em !!!
 
repeat lần thứ 2 , ai giúp ngoc với , đang cần gấp cho thằng em !!!

ko đọc à? :-??

"region đó" là region nào vậy bạn ?
[spoil]
Mã:
    Events
        Player - Player 1 (Red) types a chat message containing -move as An exact match
        Player - Player 2 (Blue) types a chat message containing -move as An exact match
        Player - Player 3 (Teal) types a chat message containing -move as An exact match
        Player - Player 4 (Purple) types a chat message containing -move as An exact match
    Conditions
    Actions
        Set TempGroup = (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to True))
        Unit Group - Pick every unit in TempGroup and do (Actions)
            Loop - Actions
                Unit - Move (Picked unit) instantly to (Center of <Region001>)
        Custom script:   call DestroyGroup(udg_TempGroup)
[/spoil]


Dưới đây là 1 mẫu tham khảo, nhận exp khi giết địch lẫn nhặt item.
 
YAN[asian];18615370 nói:
Cho hỏi add locust cho unit bằng trigger như nào nhỉ? (lâu ko dùng quên mất =.=!)

Đọc kĩ hộ mình chút >_<! Để phải post đến post thứ 3 vì mỗi cái tí ti này =_=!
 
Status
Không mở trả lời sau này.
Back
Top