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

Thảo luận trong 'World Editor' bắt đầu bởi Tom_Kazansky, 22/3/11.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. AzuhaSky

    AzuhaSky T.E.T.Я.I.S

    Tham gia ngày:
    30/5/10
    Bài viết:
    550
    Nơi ở:
    WE Box
    Sai rồi bạn à,nếu ta cho expire time cho dummy,nó se không bị remove khỏi map,mà nó vẫn còn là một dữ liệu tạm của map,gây ra leak,chắc chắn sẽ không hết được,và nếu kiểm tra bằng raw code thì ... bạn sai hoàn toàn rồi bạn nhé!
     
    Chỉnh sửa cuối: 12/5/11
  2. faustviii

    faustviii Mr & Ms Pac-Man

    Tham gia ngày:
    28/1/09
    Bài viết:
    110
    Mình viết passive mà bạn :D
    cho nó 18% để triệu hồi 5 thằng đứng thành hình ngôi sao rồi lao vào chém
    Để mình miêu tả kĩ hơn:
    1/ Mình lấy 1 skill passive có buff
    2/Mình tạo 1 skill khác viết bằng trigger để triệu hồi 5 thằng kia,đồng thời move nó vào để chém(cần 2 triggers),đưa skill này cho dummy
    3/ đặt điều kiện xảy ra:
    event - unit is attacked
    condition
    - attacking unit has buff equal to true
    - random number from 1 to 100 lesser or equal to 17%
    action
    - creat 1 dummy for caster at casterloc
    - add 2 second of generic time to last created unit
    - set lv of abilitydummy for last created unit to level of passive for caster
    - order last created unit to < cast skill dummy > to attacked unit
    cái vấn đề là mình đã set owner of unit của dummy được triệu hồi cho dummy cast spell và owner of dummy cast spell cho attacking unit tức là hero có buff,theo cách nói của booyvip thì đó là đệ của đệ của hero,thì tức là dù mình hay nó giết cũng đều ra tiền,nhưng mà không được bạn ạ :-??
    à,nếu chỉ cần lấy animation của dummy thôi,còn dam mình tự gây cho nó,thì được tiền đúng ko,nhưng ở đây dam caster gây lên người target là dummy,và mình set con này thành đệ hero rồi,nhưng vẫn ko cho tiền
    Mình ko biết cách nào để chuyển attacking unit xuống trigger của dummy này được
    spell này có 5 trigger :-<
     
    Chỉnh sửa cuối: 12/5/11
  3. DragonKai

    DragonKai Mr & Ms Pac-Man

    Tham gia ngày:
    10/2/11
    Bài viết:
    222
    Ai chỉ mình cái này với khi giết được lính NH thì sau 2 giây lính đó xuất hiện lại tại vị trí cũ
    Và cho mình luôn system swap nhé thanks nhiều
     
    Chỉnh sửa cuối: 13/5/11
  4. Dark Gamer

    Dark Gamer Legend of Zelda

    Tham gia ngày:
    26/8/07
    Bài viết:
    1,125
    Nơi ở:
    Hà Nội
    Cho mình hỏi sao cái cài font của mình nó không hiện ra như hướng dẫn của anh Rex hay của Maiev nhỉ
    nó không hiện mấy dòng đầu
    và cũng k có Reiventing the Craft lun

    FONT.JPG
     
  5. goder2910

    goder2910 Donkey Kong

    Tham gia ngày:
    31/3/06
    Bài viết:
    396
    Nơi ở:
    Hồ Chí Minh
    Đồng ý cả 2 chân luôn, nếu mà dùng Add expire timer thì chắc chắn là khi dummy chết sẽ vẫn còn leak, nên dùng UnitClear của AzuhaSky là cần thiết , còn bạn nào mà ko muốn dùng Jass thì có thể tự tạo cho mình 1 system = GUI cũng được (mình đang dùng cách này, vì mình khoái dùng GUI hơn, chẳng hiểu sao:))) , đó là tạo trigger check khi dummy chết thì remove khỏi game là ok, nhưng recommend vẫn là UnitClear của đại ka AzuhaSky ;))

    Mình có đọc qua về cách làm skill của bạn, có thể mình sai, nhưng hình như bạn ko hiểu ý của Azuha, có thể nói thế này, bạn co 17% để triệu hồi 5 con dummy tấn công target, quan trọng ở đây là bạn có 5 con , vậy tại sao bạn ko gắn damage của hero cho damage của Dummy. Nếu mà là mình , mình sẽ làm như sau : (bản chất Passive Skill cũng giống như skill thường, chẳng qua là nó bị động, chứ ko chủ động như khi cast skill)

    - Khi unit bị attack thì tạo 5 con dummy xung quanh Attacking Unit (theo hình ngôi sao, cái này khá đơn giản, đặt poin chính xác là ok).

    - Sau đó thì Order nó tấn công Attacking Unit, bạn canh đúng thời gian 5 con dummy lao vào Attacking unit thì "Cause Hero Damage x 5 Attacking unit" là xong (damage bao nhiêu thì do bạn quyết định ) , đâu nhất thiết phải dùng damage của Dummy. (nếu làm spell như mình nói trên thì chỉ cần 1 trigger là đủ )

    Mình cũng viết rất nhiều spell nhưng ít khi minh dùng command "Order Unit to "Cast skill dummy" lắm (mình chỉ dùng nó khi làm spell phức tạp), vì khi dùng nó thì ko thật sự thoải mái trong 1 số hoàn cảnh (đó là ý kiến của mình).
     
    Chỉnh sửa cuối: 13/5/11
  6. AzuhaSky

    AzuhaSky T.E.T.Я.I.S

    Tham gia ngày:
    30/5/10
    Bài viết:
    550
    Nơi ở:
    WE Box
    Nếu thay vì làm như vậy,tốt hơn bạn nên cho mỗi dummy có một chiêu thức dạng Animation là attack,range use là 100 chả hạng,rồi sau cho trigger thứ hai thì nên cho gây dam bởi chiêu thức của dummy,và call dam bằng trigger Unit - Cause damage (First of group (Unit owner by (Triggering unit))) to (Target spell of ability being cast) dealing ....dam.... attack type gì đó and damage type gì đó!

    ---------- Post added at 09:33 ---------- Previous post was at 09:27 ----------

    Are you sure?
    Bạn có chắc đã bật UMSWE chưa?(Nó ở thanh menu ấy)Nếu bật rồi mà không thấy thì có hai trường hợp,1 là chưa reset lại JNG,2 là chưa nâng cấp jasshelper!
     
  7. Dark Gamer

    Dark Gamer Legend of Zelda

    Tham gia ngày:
    26/8/07
    Bài viết:
    1,125
    Nơi ở:
    Hà Nội
    Híc vấn đề là cái đấy mình cài làm hết rồi :(
    Hình như vấn đề là ở cái WE nó lại hiện là 1.21b thì phải
    Trong khi War của mình thì là 1.24b rồi
    Không biết cài thế nào nữa @@
     
  8. AzuhaSky

    AzuhaSky T.E.T.Я.I.S

    Tham gia ngày:
    30/5/10
    Bài viết:
    550
    Nơi ở:
    WE Box
    Bạn thử tải jasshelper này vào thư mục jng của bạn rồi giải nén ra!(Chọn Yes to all)
     
  9. Diệp Thanh

    Diệp Thanh Kirin Tor Moderator Lão Làng GVN

    Tham gia ngày:
    7/2/04
    Bài viết:
    4,290
    Bị soft antivirus nó chặn rồi, tắt đi. Tải lại JNGP và Jasshelper bản mới nhất. Giải nén ra, copy jasshelper.exe mới tải về dán đè vào thư mục jasshelper trong folder JNGP.
    Muốn có mấy dòng font thì phải tick chọn UMSWE rồi khởi động lại. Còn nếu dùng Win 7 thì chả mở được UMSWE thì phải.

    JNGP v5d: http://www.wc3c.net/showthread.php?t=90999
    Jasshelper 0.A.2.B: http://www.wc3c.net/showthread.php?t=88142
     
    Chỉnh sửa cuối: 13/5/11
  10. Dark Gamer

    Dark Gamer Legend of Zelda

    Tham gia ngày:
    26/8/07
    Bài viết:
    1,125
    Nơi ở:
    Hà Nội
    cám ơn anh nhưng mà sao nó cứ báo lỗi WE erros patch 1.21b là sao anh nhỉ ???
    Hay we của e vẫn là 1.21b @@
    dù war là 1.24b rồi
     
  11. AzuhaSky

    AzuhaSky T.E.T.Я.I.S

    Tham gia ngày:
    30/5/10
    Bài viết:
    550
    Nơi ở:
    WE Box
    Đã bảo tải cái này về cậu à!Giải nén về trong cái JNG5d mà Rex đưa cho ấy!Nếu Chương trình diệt virus tắt cũng không ổn lắm,cứ để yên và mặc xác nó ăn đi NewgenWE.exe,bạn cứ thản nhiên chạy we.bat trong thư mục đó!Và cái nữa là Tải PATCH war3 mới cho bạn đi,có thể nó lỗi gì đó!
     
  12. ZhengHe

    ZhengHe T.E.T.Я.I.S

    Tham gia ngày:
    4/1/09
    Bài viết:
    623
    Cho mình hỏi 2 vấn đề:
    - Cách lấy damage base của hero (đã hỏi KuKulkan nhưng 2 ngày chưa thấy hồi âm)
    - Cách làm 1 spell với mô tả sau:
    + Tạo illusion của hero đối phương
    + Illusion ko hiện máu, ko click được, di chuyển xuyên qua được
    + Illusion chạy theo target và attack (animation) sau x giây thì mất.
    Thanks
     
  13. DragonKai

    DragonKai Mr & Ms Pac-Man

    Tham gia ngày:
    10/2/11
    Bài viết:
    222
    Ai chỉ mình cái này với khi giết được lính NH thì sau 2 giây lính đó xuất hiện lại tại vị trí cũ
    Và cho mình luôn system swap nhé thanks nhiều
     
  14. faustviii

    faustviii Mr & Ms Pac-Man

    Tham gia ngày:
    28/1/09
    Bài viết:
    110
    trigger 1
    Mã:
    Ven
        Events
            Unit - A unit Is attacked
        Conditions
            ((Attacking unit) has buff Unholy Aura) Equal to True
            (Random integer number between 1 and 100) Less than or equal to (6 x (Level of Knight Aura  for (Attacking unit)))
        Actions
            Trigger - Turn off (This trigger)
            Unit - Create 1 ven for (Owner of (Attacking unit)) at (Position of (Attacking unit)) facing Default building facing degrees
            [COLOR="Red"]Unit - Change ownership of (Last created unit) to (Owner of (Attacking unit)) and Change color[/COLOR]
            Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
            Unit - Set level of Knight Aura  for (Last created unit) to (Level of Knight Aura  for (Attacking unit))
            Unit - Order (Last created unit) to Neutral Fire Lord - Soul Burn (Attacked unit)
            Trigger - Turn on (This trigger)
    
    trigger 2
    Mã:
    Init Copy
        Events
            Map initialization
        Conditions
        Actions
            Set SSIndex = 0
            Set SSMax = 500
            For each (Integer A) from 1 to SSMax, do (Actions)
                Loop - Actions
                    Set SSDummyGroup[(Integer A)] = (Units in (Playable map area))
                    Unit Group - Remove all units from SSDummyGroup[(Integer A)]
    
    trigger 3
    Mã:
    Shadow Strike 
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Vendetta 
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    SSIndex Less than SSMax
                Then - Actions
                    Set SSIndex = (SSIndex + 1)
                Else - Actions
                    Set SSIndex = 1
            Set SSCaster[SSIndex] = (Triggering unit)
            Set SSTarget[SSIndex] = (Target unit of ability being cast)
            Set SSPoint[SSIndex] = (Position of SSTarget[SSIndex])
            Set SSDamage[SSIndex] = (Random real number between 2.00 and 4.00)
            Unit Group - Add SSTarget[SSIndex] to SSGroup
            For each (Integer SSInteger2) from 1 to 5, do (Actions)
                Loop - Actions
                    Set SSPoint2[SSIndex] = (SSPoint[SSIndex] offset by 500.00 towards (72.00 x (Real(SSInteger2))) degrees)
                    Unit - Create 1 ShadowV for (Owner of SSCaster[SSIndex]) at SSPoint2[SSIndex] facing SSPoint[SSIndex]
                    Unit Group - Add (Last created unit) to SSDummyGroup[SSIndex]
                    [COLOR="Red"]Unit - Change ownership of (Last created unit) to (Owner of (Casting unit)) and Change color[/COLOR]
                    Special Effect - Create a special effect at SSPoint2[SSIndex] using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
                    Special Effect - Destroy (Last created special effect)
                    Special Effect - Create a special effect at SSPoint2[SSIndex] using Abilities\Spells\Demon\DemonBoltImpact\DemonBoltImpact.mdl
                    Special Effect - Destroy (Last created special effect)
                    Animation - Change (Last created unit)'s animation speed to 300.00% of its original speed
                    Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 50.00% transparency
                    Custom script:   call RemoveLocation (udg_SSPoint2[udg_SSIndex])
            Custom script:   call RemoveLocation (udg_SSPoint[udg_SSIndex])
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Shadow Strike Loop Copy <gen> is on) Equal to False
                Then - Actions
                    Trigger - Turn on Shadow Strike Loop <gen>
                Else - Actions
    
    trigger 4
    Mã:
    Shadow Strike Loop
        Events
            Time - Every 0.30 seconds of game time
        Conditions
        Actions
            For each (Integer SSInteger) from 1 to SSMax, do (Actions)
                Loop - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (SSTarget[SSInteger] has buff Shadow Strike 2) Equal to True
                        Then - Actions
                            Set SSPoint[SSInteger] = (Position of SSTarget[SSInteger])
                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                If - Conditions
                                    (Life of SSTarget[SSInteger]) Less than or equal to (SSDamage[SSInteger] x 2.00)
                                Then - Actions
                                    Special Effect - Create a special effect at SSPoint[SSInteger] using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
                                    Special Effect - Destroy (Last created special effect)
                                    Unit - Kill SSTarget[SSInteger]
                                    Unit Group - Pick every unit in SSDummyGroup[SSInteger] and do (Unit - Kill (Picked unit))
                                    Unit Group - Remove SSTarget[SSInteger] from SSGroup
                                Else - Actions
                                    Special Effect - Create a special effect attached to the chest of SSTarget[SSInteger] using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                                    Special Effect - Destroy (Last created special effect)
                                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        If - Conditions
                                            (Life of SSTarget[SSInteger]) Less than or equal to (SSDamage[SSInteger] x 11.00)
                                        Then - Actions
                                            Special Effect - Create a special effect at SSPoint[SSInteger] using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
                                            Special Effect - Destroy (Last created special effect)
                                            Unit - Kill SSTarget[SSInteger]
                                            Unit Group - Pick every unit in SSDummyGroup[SSInteger] and do (Unit - Kill (Picked unit))
                                            Unit Group - Remove SSTarget[SSInteger] from SSGroup
                                        Else - Actions
                                            Unit Group - Pick every unit in SSDummyGroup[SSInteger] and do (Actions)
                                                Loop - Actions
                                                    Set SSPoint2[SSInteger] = (SSPoint[SSInteger] offset by 150.00 towards (Random angle) degrees)
                                                    Unit - Move (Picked unit) instantly to SSPoint2[SSInteger], facing SSPoint[SSInteger]
                                                    Animation - Play (Picked unit)'s attack animation
                                                    Unit - [COLOR="Red"]Cause SSCaster[SSInteger] to damage SSTarget[SSInteger], dealing SSDamage[SSInteger] damage of attack type Chaos and damage type Divine[/COLOR]
                                                    Custom script:   call RemoveLocation (udg_SSPoint2[udg_SSInteger])
                            Custom script:   call RemoveLocation (udg_SSPoint[udg_SSInteger])
                        Else - Actions
                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                If - Conditions
                                    (SSTarget[SSInteger] is dead) Equal to True
                                Then - Actions
                                    Unit Group - Pick every unit in SSDummyGroup[SSInteger] and do (Unit - Kill (Picked unit))
                                    Set SSCaster[SSInteger] = No unit
                                    Set SSTarget[SSInteger] = No unit
                                    Unit Group - Remove SSTarget[SSInteger] from SSGroup
                                Else - Actions
                            Unit Group - Pick every unit in SSDummyGroup[SSInteger] and do (Unit - Kill (Picked unit))
                            Set SSCaster[SSInteger] = No unit
                            Set SSTarget[SSInteger] = No unit
                            Unit Group - Remove SSTarget[SSInteger] from SSGroup
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (SSGroup is empty) Equal to True
                Then - Actions
                    Trigger - Turn off (This trigger)
                Else - Actions
    
    trigger 5
    Mã:
    Unit Leak
        Events
            Unit - A unit Dies
        Conditions
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Unit-type of (Dying unit)) Equal to ShadowV
                Then - Actions
                    Unit - Remove (Dying unit) from the game
                Else - Actions
    
    ghi chú:attacking unit là hero mình cần cho tiền,attacked unit là creep đang bị đánh
    đấy,mình đã change owner of unit rồi,nhưng ko được,mình cũng không biết cách set dam của hero cho dummy 2 vì mình không tìm thấy mối liên quan giữa trigger ( mình chỉ dùng con dummy 1 cast spell là trung gian để trigger hoạt động thôi ).Vì vậy mà set dam của attacking unit cho dummy 2 thì system chắc chắn không biết được và sẽ không gây dam T____________T
     
  15. AzuhaSky

    AzuhaSky T.E.T.Я.I.S

    Tham gia ngày:
    30/5/10
    Bài viết:
    550
    Nơi ở:
    WE Box
    Creep Respawn System !Mời tham khảo nhé!

    ---------- Post added at 11:50 ---------- Previous post was at 11:45 ----------

    Đọc kỹ vấn đề mình đã nói đã nào! Bạn hãy tạo một chiêu thức cho dummy,VD cho là Storm Bolt,set damage của chiêu thức là 0,range use là 100,Animation là attack,Cooldown time là 0,Mana tiêu hao 0!
    Sau đó,mình sẽ có trigger của chiêu passive đó nhé,tạo 5 dummy như bạn nói,add chiêu thức tạo cho dummy và order nó sử dụng vào target,sau đó tạo thêm trigger gây damage cho chiêu thức của dummy sd với trigger gây damage là Unit - Cause damage (First of Group(Onwer of (Triggering unit) matching (Matching unit) is a Hero)) to Mục tiêu sử dụng dealing .Sát thương. with attack type Kiểu tấn công and damage type Kiểu sát thương.Vậy thôi,rất đơn giản,không quá phức tạp!
     
  16. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    Tham khảo bài viết này để tìm hiểu cách tính dmg base nha bạn.
     
  17. ZhengHe

    ZhengHe T.E.T.Я.I.S

    Tham gia ngày:
    4/1/09
    Bài viết:
    623
    @Raivor: bạn hiểu nhầm ý mình rồi. Damage base mình muốn nói ở đây là để dùng trong trigger ví dụ xài skill storm bolt vào target sẽ deal damage = damage của Hero + XXX
     
  18. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Mã:
    Slide Dancing
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to |cff00FF00Slide Dancing|r 
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    GUI Equal to 500
                Then - Actions
                    Set GUI = 0
                Else - Actions
                    Do nothing
            Set GUI = (GUI + 1)
            Set SD_Unit[GUI] = (Casting unit)
            Set SD_UnitPoint[GUI] = (Position of SD_Unit[GUI])
            Set SD_Point1[GUI] = (Position of SD_Unit[GUI])
            Set SD_TargetPoint[GUI] = (Target point of ability being cast)
            Set SD_Angel[GUI] = (Angle from SD_UnitPoint[GUI] to SD_TargetPoint[GUI])
            Set SD_Distance[GUI] = 25.00
            Trigger - Turn on Slide Dancing Move <gen>
    
    Mã:
    Slide Dancing Move
        Events
            Time - Every 0.04 seconds of game time
        Conditions
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Distance between SD_Point1[GUI] and SD_TargetPoint[GUI]) Greater than or equal to (SD_Distance[GUI] / 2.00)
                Then - Actions
                    Set SD_Point2[GUI] = (SD_Point1[GUI] offset by SD_Distance[GUI] towards SD_Angel[GUI] degrees)
                    Unit - Move SD_Unit[GUI] instantly to SD_Point2[GUI]
                    Set SD_Point1[GUI] = SD_Point2[GUI]
                Else - Actions
                    Trigger - Turn off Slide Dancing Move <gen>
    
    @ BoyVip: mình thêm GUI vào nhưng ko biết sai chỗ nào, con 1 đang slide thì lấy con 2 cast thì con 1 ko slide nữa.
    P/s: Cái SD_Point lúc chưa có GUI thì set [1][2] mình cho thêm GUI vào nên mình sửa thành 2 cái SD_Point1 và SD_Point2.
     
  19. faustviii

    faustviii Mr & Ms Pac-Man

    Tham gia ngày:
    28/1/09
    Bài viết:
    110
    bạn không hiểu ý mình nói rồi T______________T
    Bạn thử làm spell như mình đi,rồi sẽ thấy nó hoạt động như thế nào,vấn đề ở đây dummy nó không chém 1 lần,mà chém liên tục trong 10s,vì vậy làm như cách của bạn nó còn rắc rối hơn !??
     
  20. AzuhaSky

    AzuhaSky T.E.T.Я.I.S

    Tham gia ngày:
    30/5/10
    Bài viết:
    550
    Nơi ở:
    WE Box
    Còn đơn giản nữa,cho dummy đó là một locust,không gây dam,mình sẽ loop mỗi lần chém = time,diễn trải mỗi time = damage!Hết time thì thôi!Nếu cần thì PM,mình đưa cho!
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này