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

Status
Không mở trả lời sau này.
A Leo Nguyễn 112 ơi E đã làm condition zốg như a bảo, event là sell item from shop, action chỉ là hero- creat item and give it to (triggering unit) nhưg lại không đc mog a zúp đở Thanks a nhìu :(
 
A Leo Nguyễn 112 ơi E đã làm condition zốg như a bảo, event là sell item from shop, action chỉ là hero- creat item and give it to (triggering unit) nhưg lại không đc mog a zúp đở Thanks a nhìu :(

Pawn item to shop chứ ko phải sell item from shop. Cần phần biệt 2 cái này, không chỉ bạn mà nhiều người khác cũng nhầm lắm. To là tới, đến, pawn an item (to shop) là bán cho shop. Còn from là từ, sell an item (from shop) là bán 1 item (từ shop bán ra)

P/s: ờ mà cái condition hình như không có tác dụng =)) Phải là Item type of sold item = ... mới đúng :D
 
Chỉnh sửa cuối:
Mình đang làm trigger về cộng điểm khi lên level nó cho 5 điểm rùi mình xài lệnh Vd:-Agi xx thì nó tăng xx điểm và trừ số point của mà mình đã + lun ai giúp dùm
 
Cho e hỏi spell Divine Shield khi add vào item tại sao e sài lại chỉ đc có 1 lần o.0 ? zúp e vs thanks nhìu
 
bác nào làm hộ em trigger
( ngăn chứa item như trong diablo ) kiểu này với.
db2.jpg
 
Muốn làm được như thế thì đầu tiên bạn cần phải biết cơ bản về jass.
Nếu mới tập tành làm map thì nên tìm cái ý tưởng gì đó đơn giản tí.
 
Bạn nào có thể chỉ mình chỗ sai ở đây được không ?
PHP:
Untitled Trigger 001
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to War Stomp
    Actions
        Set UnitGroup = (Units in (Playable map area))
        For each (Integer A) from 1 to 10, do (Actions)
            Loop - Actions
                Unit Group - Add all units of (Units of type dummy) to UnitGroup
                Unit - Create 1 dummy for (Owner of (Triggering unit)) at ((Position of (Casting unit)) offset by 400.00 towards ((Real((Integer A))) x 40.00) degrees) facing Default building facing degrees
                Unit - Set level of Frost Nova for (First unit of group UnitGroup to (Level of War Stomp for (Triggering unit))
                Unit Group - Order (Units in (Playable map area)) to Undead Lich - Frost Nova (First unit of group UnitGroup)
                Wait 5.00 seconds
                Unit Group - Remove all units of (Units of type dummy) from UnitGroup
Khi Test thì mình thấy dummy không xuất ra Frost Nova ,cứ đứng đờ ở đấy thôi và sau đó thì unit đấy không tự động chết :4cool_confuse:
 
Chỉnh sửa cuối:
Ai chỉ mình cách làm cái skill Backstab của Rikimaru trong DotA phát, không biết làm hàm If thế nào để cho ĐK là sau lưng thằng bị đánh thì mới gây dame :D
 
Sao bạn ko làm thế này cho đơn giản hơn O.o:
PHP:
Events
    Unit - A unit Starts the effect of an ability
Conditions
    (Ability being cast) Equal to (==) SPELL 
Actions
    Set Temp_point = (Position of (Casting unit))
    Set Temp_Group1 = (Units within 99999 of Temp_point matching ((((Matching unit) belongs to an enemy of (Owner of (Casting unit))) Equal to (==) True) and (((Triggering unit) is alive) Equal to (==) True)))
    Unit Group - Pick every unit in AAGroup1 and do (Actions)
        Loop - Actions
            Set Temp_Point2 = (Position of (Picked unit))
            Unit - Create 1 Dummy for (Owner of (Casting unit)) at AALoc2 facing Default building facing (270.0) degrees
            Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
            Unit - Add Frost Nova to Last Created Unit
            Unit - Set level of Frost Nova  for (Last created unit) to (Level of SPELL  for (Casting unit))
            Unit - Order (Last created unit) to Undead Lich - Frost Nova (Picked unit)
    Custom script:   call DestroyGroup(udg_Temp_Group)
    Custom script:   call RemoveLocation (udg_Temp_Point2)
    Custom script:   call RemoveLocation (udg_Temp_Point1)

@FlameDrake:
PHP:
Backstab

Events
    Unit - A unit Is attacked
Conditions
    ((Attacking unit) has buff  Backstab ) Equal to (==) True
    ((Attacked unit) belongs to an enemy of (Owner of (Attacking unit))) Equal to (==) True
Actions
    Set Backstab_Caster = (Attacking unit)
    Set Backstab_Target = (Attacked unit)
    Set Backstab_Point[1] = (Position of Backstab_Caster)
    Set Backstab_Point[2] = (Position of Backstab_Target)
    Set Backstab_Angle = (Angle from Backstab_Point[1] to Backstab_Point[2])
     Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
        If - Conditions
             Multiple ConditionsOr - Any (Conditions) are true
                Conditions
                     Multiple ConditionsAnd - All (Conditions) are true
                        Conditions
                            (Facing of Backstab_Caster) Less than or equal to (<=) ((Facing of Backstab_Target) + 120.00)
                            (Facing of Backstab_Caster) Greater than or equal to (>=) ((Facing of Backstab_Target) - 120.00)
                     Multiple ConditionsAnd - All (Conditions) are true
                        Conditions
                            Backstab_Angle Less than or equal to (<=) ((Facing of Backstab_Target) + 120.00)
                            Backstab_Angle Greater than or equal to (>=) ((Facing of Backstab_Target) - 120.00)
        Then - Actions
            Unit - Cause Backstab_Caster to damage Backstab_Target, dealing ((Real((Agility of Backstab_Caster (Include bonuses)))) x (0.25 x (Real((Level of [U]Backstab[/U]  for Backstab_Caster))))) damage of attack type Hero and damage type Normal
            Special Effect - Create a special effect attached to the chest of Backstab_Target using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
            Special Effect - Destroy (Last created special effect)
        Else - Actions
    Custom script:   call RemoveLocation (udg_Backstab_Point[1])
    Custom script:   call RemoveLocation (udg_Backstab_Point[2])

Nguồn từ Axe & Rikimaru spell pack - popo80000 (thehelper)
 
Chỉnh sửa cuối:
Sao bạn ko làm thế này cho đơn giản hơn O.o:
@FlameDrake:
PHP:
Backstab

        If - Conditions
             Multiple ConditionsOr - Any (Conditions) are true
                Conditions
                     Multiple ConditionsAnd - All (Conditions) are true
                        Conditions
                            (Facing of Backstab_Caster) Less than or equal to (<=) ((Facing of Backstab_Target) + 120.00)
                            (Facing of Backstab_Caster) Greater than or equal to (>=) ((Facing of Backstab_Target) - 120.00)
                     Multiple ConditionsAnd - All (Conditions) are true
                        Conditions
                            Backstab_Angle Less than or equal to (<=) ((Facing of Backstab_Target) + 120.00)
                            Backstab_Angle Greater than or equal to (>=) ((Facing of Backstab_Target) - 120.00)
        Then - Actions

Cái condition của backstab trên thử 1 lần rồi nhưng k hiệu quả. Dùng cái này tốt hơn với point1 là vị trí thằng bị đánh và point 2 là vị trí thằng đánh:
Mã:
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
        (AD_Attacker is A melee attacker) Equal to True
        (Abs((((Angle from point1 to point2) mod 360.00) - ((Facing of AD_Defender) mod 360.00)))) Greater than 120.00
        (Abs((((Angle from point1 to point2) mod 360.00) - ((Facing of AD_Defender) mod 360.00)))) Less than 240.00
    Then - Actions
        Special Effect - Create a special effect attached to the chest of AD_Defender using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Cause AD_Attacker to damage AD_Defender, dealing ((0.50 x (Real((Level of Backstab  for AD_Attacker)))) x (Real((Agility of AD_Attacker (Include bonuses))))) damage of attack type Hero and damage type Normal
    Else - Actions
 
Ai chỉ mình cách làm cái skill Backstab của Rikimaru trong DotA phát, không biết làm hàm If thế nào để cho ĐK là sau lưng thằng bị đánh thì mới gây dame :D

GameVN có hẳn 1 tut về cái này do Mr.Tom làm sao không đọc :-/
Mã:
Custom script:   set udg_TempCheck = IsUnitBehind( udg_TempUnit , udg_TempUnit2 )
Custom script:   set udg_TempCheck = IsUnitInFront( udg_TempUnit , udg_TempSource )
Custom script:   set udg_TempCheck = IsUnitAtSideLeft( udg_TempUnit , udg_TempSource )
Custom script:   set udg_TempCheck = IsUnitAtSideRight( udg_TempUnit , udg_TempSource )
//Source ở đây tương đương với unit B
Xem chi tiết tại đây
 
Mình đang làm trigger về cộng điểm khi lên level nó cho 5 điểm rùi mình xài lệnh Vd:-Agi xx thì nó tăng xx điểm và trừ số point của mà mình đã + lun ai giúp dùm

Cần mọi người giúp dùm mình làm trigger này :(
 
Cần mọi người giúp dùm mình làm trigger này :(

Của bạn đây :)


Mã:
Untitled Trigger 001
    Events
        Map initialization
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Set PlayerArray[(Integer A)] = (Player((Integer A)))
                For each (Integer B) from 1 to 100, do (Actions)
                    Loop - Actions
                        Trigger - Add to Level <gen> the event (Player - PlayerArray[(Integer A)] types a chat message containing (-Agi + (String((Integer B)))) as An exact match)

Mã:
Untitled Trigger 002
    Events
        Unit - A unit Gains a level
    Conditions
        ((Triggering unit) is A Hero) Equal to True
    Actions
        Set Integer[(Player number of (Owner of (Triggering unit)))] = (Integer[(Player number of (Owner of (Triggering unit)))] + 5)

Mã:
Level
    Events
    Conditions
    Actions
        Set Group = (Units owned by (Triggering player) matching ((((Matching unit) is A Hero) Equal to True) and (((Matching unit) is alive) Equal to True)))
        For each (Integer A) from 1 to 100, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Entered chat string) Equal to (-Agi  + (String((Integer A))))
                        Integer[(Player number of (Triggering player))] Less than or equal to (Integer A)
                    Then - Actions
                        Hero - Modify Agility of (First unit of group Group): Add (Integer A)
                        Set Integer[(Player number of (Triggering player))] = (Integer[(Player number of (Triggering player))] - (Integer A))
                    Else - Actions
        Custom script:   call DestroyGroup (udg_Group)
 
Ai pro giúp mình tính phép tính này với mình cần lên level hero khi đánh quái
đánh quái lv1:375 kinh nghiệm - lv2:600 - lv3:900 -lv4: 1275 mình tính đi tính lại tới lv3 thì không đc 900 kinh nghiệm nữa

---------- Post added at 20:08 ---------- Previous post was at 19:39 ----------

Của bạn đây :)


Mã:
Untitled Trigger 001
    Events
        Map initialization
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Set PlayerArray[(Integer A)] = (Player((Integer A)))
                For each (Integer B) from 1 to 100, do (Actions)
                    Loop - Actions
                        Trigger - Add to Level <gen> the event (Player - PlayerArray[(Integer A)] types a chat message containing (-Agi + (String((Integer B)))) as An exact match)

Mã:
Untitled Trigger 002
    Events
        Unit - A unit Gains a level
    Conditions
        ((Triggering unit) is A Hero) Equal to True
    Actions
        Set Integer[(Player number of (Owner of (Triggering unit)))] = (Integer[(Player number of (Owner of (Triggering unit)))] + 5)

Mã:
Level
    Events
    Conditions
    Actions
        Set Group = (Units owned by (Triggering player) matching ((((Matching unit) is A Hero) Equal to True) and (((Matching unit) is alive) Equal to True)))
        For each (Integer A) from 1 to 100, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Entered chat string) Equal to (-Agi  + (String((Integer A))))
                        Integer[(Player number of (Triggering player))] Less than or equal to (Integer A)
                    Then - Actions
                        Hero - Modify Agility of (First unit of group Group): Add (Integer A)
                        Set Integer[(Player number of (Triggering player))] = (Integer[(Player number of (Triggering player))] - (Integer A))
                    Else - Actions
        Custom script:   call DestroyGroup (udg_Group)

bạn cho mình cái map được không có vài điểm mình không hiểu lắm nên không làm được
 
GameVN có hẳn 1 tut về cái này do Mr.Tom làm sao không đọc :-/
Mã:
[B]Custom script:[/B]   set udg_TempCheck = IsUnitBehind( udg_TempUnit , udg_TempUnit2 )
[B]Custom script:[/B]   set udg_TempCheck = IsUnitInFront( udg_TempUnit , udg_TempSource )
[B]Custom script:[/B]   set udg_TempCheck = IsUnitAtSideLeft( udg_TempUnit , udg_TempSource )
[B]Custom script:[/B]   set udg_TempCheck = IsUnitAtSideRight( udg_TempUnit , udg_TempSource )
//Source ở đây tương đương với unit B
Xem chi tiết tại đây

thì đơn giản vì cái đó... có cái đó (Custom script:) nên không đọc =))
 
Ai làm giùm em skill Enrage của Ursa trong DotA với.
 
Có cách nào để tạo được nhiều hơn 2 cliff type trong 1 map không? Và có thể tạo region không phải hình chữ nhật? (hoặc gộp nhiều region lại thành 1 region?)
 
Có cách nào để tạo được nhiều hơn 2 cliff type trong 1 map không? Và có thể tạo region không phải hình chữ nhật? (hoặc gộp nhiều region lại thành 1 region?)

1.có nhưng phải cần phần mềm worldeditor rất cổ để thêm vào.
2.có thể vẽ đè 2 region lên nhau để tạo ra 1 region mới, khi pick unit trong region phải pick toàn bộ region
 
Cho e hỏi spell Divine Shield khi add vào item tại sao e sài lại chỉ đc có 1 lần o.0 ? zúp e vs thanks nhìu

Zúp e vs :(. Cho e hỏi thêm e làm trigger khi avtive spell avatar thì add spell bass vào unit. wait 50s thì remove spell --> sao nó ko remove spell đi :( ? Thanks nhìu
 
Status
Không mở trả lời sau này.
Back
Top