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

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

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

    minhtronglam90 Waiting to respawn GameOver

    Tham gia ngày:
    5/6/12
    Bài viết:
    422
    trong 9x Hero Defense VN của FlameDrake thì bỏ 100000 vàng mua cái nâng cấp phòng ngự tăng 100 giáp max lần nâng là 6 lần
     
  2. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Vậy thì tạo một ability từ Item Armor Bonus với 6 level,mỗi level hơn nhau 100 đơn vị armor.

    Khi một unit use item thì pick every unit là structure và là alies của owner of triggering unit rồi set level cho Item Armor Bonus +1
     
  3. vuongkkk

    vuongkkk T.E.T.Я.I.S

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    ^Cái gì đấy. Ko phải Item Armor Bonus là unleveling ability.

    ^^ thì vẫn như Trigger kia thôi.
    Mỗi lần sell item thì add cái Item Armor Bonus +100 vào.
    Sao ko thử đi :-??
     
  4. lonewolf020291

    lonewolf020291 T.E.T.Я.I.S

    Tham gia ngày:
    16/3/07
    Bài viết:
    579
    Nơi ở:
    Toy Box
    1 trong các cách:
    • Tạo 1 upgrade base từ Glyph of Fortification, 6 levels, Effect là Defense upgrade bonus.
    • Tạo 1 ability base từ Glyph of Fortification, Upgrade Type Glyph of Fortification trên.
    • Tạo 1 Item base từ Glyph of Fortification, 6 stock max, Replenish Interval lớn nhất có thể, có Ability trên.
    • Chỉnh Defense Upgrade Bonus của các unit cần nâng cấp là 100, thêm vào Upgrade used là Glyth of Fortification đã tạo.
    • Cho item vào shop bán.
     
    Chỉnh sửa cuối: 12/8/12
  5. YAN[asian]

    YAN[asian] Mario & Luigi

    Tham gia ngày:
    27/3/07
    Bài viết:
    812
    1 số model ko thể gắn thêm effect vào những điểm thông thường, như origin, chest, head,... Vậy có cách nào đại loại như thêm những "điểm" ấy vào model đó để có thể gắn effect vào ko?
     
  6. Tom_Kazansky

    Tom_Kazansky Quy ẩn giang hồ

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    dùng War3 Model Editor mở model đó ra, vào Windows \ Node Manager, ấn chuột phải -> Create Attachment, ấn chuột phải vào cái vừa tạo -> Edit Node, đặt tên nó là: <điểm> ref, ví dụ: origin ref, chest ref, head ref,...
    ngoài ra vị trí cái attachment này: vị trí tương đối với các node khác hay vị trí x, y, z thì tùy, đặt sao cho effect hiện ra đúng ý. Nên tham khảo các model có sẵn.

    ngoài ra, chuột phải -> Edit, có "Visiblility" là điều chỉnh ẩn/hiện theo animation, "Path" ở đây đặt vào path của một model, cái model này sẽ đựoc hiện ở vị trí attachment này.
     
    Chỉnh sửa cuối: 12/8/12
  7. raivor

    raivor Dragon Quest GVN Veteran

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,410
    Nên dùng thêm mdlvis để move attachment.
    Xem bài này, việc tạo attachment cũng tương tự ribbon.
     
  8. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Quote lại :|.
     
  9. btvinh

    btvinh Donkey Kong

    Tham gia ngày:
    15/1/11
    Bài viết:
    343
    màk cậu mún như thế nào Leo ... nói rõ tí ik
     
  10. langthangbairac

    langthangbairac T.E.T.Я.I.S

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    Ý cậu ấy là ở vị trí chest ( ngực ), là phần giữa của unit đấy
     
  11. kunbuzz1990

    kunbuzz1990 Youtube Master Race

    Tham gia ngày:
    26/3/12
    Bài viết:
    89
    cho hỏi tại sao sau khi mình chép 1 system trên Hiveworkshop về ( JASS ) thì mỗi lần test nó ko chạy luôn mà chạy từ menu lúc mới vào warcraft, mỗi lần mún test fải save lại rùi mới chạy luôn đc
     
  12. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Không. Ý tôi là tạo floating text trên đầu và căn giữa unit, nếu tạo theo cách thông thường thì text bị lệch qua bên phải của unit.
    Như ảnh này:
    [​IMG]
    Edit: hình như tôi tìm được cách giải quyết rồi. Có điều hơi thủ công tí :|
     
    Chỉnh sửa cuối: 12/8/12
  13. YAN[asian]

    YAN[asian] Mario & Luigi

    Tham gia ngày:
    27/3/07
    Bài viết:
    812
    Hình như là tạo text ở point ..
     
  14. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Dùng 2 cái này nó sẽ xuất hiện ngay trên đầu Unit và ko bị lệch qua trái hay phải mà sẽ bay thẳng lên
    Mã:
    Floating Text - Create floating text that reads [B]Thông tim[/B] above [B]Unit muốn hiện[/B] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
    
    Floating Text - Set the velocity of (Last created floating text) to 90.00 towards 90.00 degrees
    
     
  15. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Mọi người có ai gặp tình trạng này không ? Sau khi save = War III,load chơi rồi lại save tiếp thì những save sau đó đều bị crash.
     
  16. evilmaster0011

    evilmaster0011 Youtube Master Race

    Tham gia ngày:
    4/8/12
    Bài viết:
    3
    1/Khi làm 1 skill passive có giá trị âm trong F5 (dùng dấu trừ or dấu gạch là ra) nhưng sao em làm trong máy khi set giá trị âm nó lại nhảy về 0 ?????
    2/Với skill war club (cái skill nhặt cây của con người đá) có dòng mấy dòng khó hiểu:
    attach delay: xxx
    remove delay: xxx
    mấy dòng này có tác dụng gì vậy ?
     
  17. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    Instant Movement <~~~~~ skill blink AM của a Tom làm, ai có thể MUI giúp dc k? ... thật sự là skill này............ chả hĩu zì để làm MUI :|
     
  18. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    1-Shift + Enter hoặc Shift + double click chuột trái




    [spoil]
    Mã:
    InstantMovementBegin
        Events
            Unit - A unit Begins casting an ability
        Conditions
            (Ability being cast) Equal to Instant Movement 
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    InstantMovement_Int[1] Equal to 0
                Then - Actions
                    Trigger - Turn on InstantMovementTimer <gen>
                Else - Actions
            Set InstantMovement_Int[1] = (InstantMovement_Int[1] + 1)
            Set InstantMovement_Int[2] = (InstantMovement_Int[2] + 1)
            Set InstantMovementCaster[InstantMovement_Int[1]] = (Casting unit)
            Set TempLoc = (Position of (Triggering unit))
            Set TempLoc2 = (Target point of ability being cast)
            Unit - Create 1 Dummy Instant Movement for (Owner of InstantMovementCaster[InstantMovement_Int[1]]) at TempLoc facing (Angle from TempLoc to TempLoc2) degrees
            Set InstantMovementDummy[InstantMovement_Int[1]] = (Last created unit)
            Animation - Play InstantMovementDummy[InstantMovement_Int[1]]'s spell throw animation
            Animation - Change InstantMovementDummy[InstantMovement_Int[1]]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency
            Custom script:   call RemoveLocation( udg_TempLoc )
            Custom script:   call RemoveLocation( udg_TempLoc2 )
    
    Mã:
    InstantMovementBlink
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Instant Movement 
        Actions
            For each (Integer A) from 1 to InstantMovement_Int[1], do (Actions)
                Loop - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Triggering unit) Equal to InstantMovementCaster[(Integer A)]
                        Then - Actions
                            Set InstantMovementFade[(Integer A)] = 50.00
                            Set InstantMovementBlink[(Integer A)] = True
                            Animation - Change InstantMovementCaster[(Integer A)]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 50.00% transparency
                            Animation - Change InstantMovementDummy[(Integer A)]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 50.00% transparency
                            Skip remaining actions
                        Else - Actions
    
    Mã:
    InstantMovementStop
        Events
            Unit - A unit Stops casting an ability
        Conditions
            (Ability being cast) Equal to Instant Movement 
        Actions
            For each (Integer A) from 1 to InstantMovement_Int[1], do (Actions)
                Loop - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Triggering unit) Equal to InstantMovementCaster[(Integer A)]
                        Then - Actions
                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                If - Conditions
                                    InstantMovementBlink[(Integer A)] Equal to False
                                Then - Actions
                                    Unit - Remove InstantMovementDummy[(Integer A)] from the game
                                Else - Actions
                        Else - Actions
    
    Mã:
    InstantMovementTimer
        Events
            Time - Every 0.01 seconds of game time
        Conditions
        Actions
            For each (Integer A) from 1 to InstantMovement_Int[1], do (Actions)
                Loop - Actions
                    Set InstantMovementFade[(Integer A)] = (InstantMovementFade[(Integer A)] + 1.00)
                    Animation - Change InstantMovementCaster[(Integer A)]'s vertex coloring to (100.00%, 100.00%, 100.00%) with (100.00 - InstantMovementFade[(Integer A)])% transparency
                    Animation - Change InstantMovementDummy[(Integer A)]'s vertex coloring to (100.00%, 100.00%, 100.00%) with InstantMovementFade[(Integer A)]% transparency
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            InstantMovementFade[(Integer A)] Equal to 100.00
                        Then - Actions
                            Unit - Remove InstantMovementDummy[(Integer A)] from the game
                            Set InstantMovement_Int[2] = (InstantMovement_Int[2] - 1)
                        Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            InstantMovement_Int[2] Equal to 0
                        Then - Actions
                            Trigger - Turn off (This trigger)
                            Set InstantMovement_Int[1] = 0
                        Else - Actions
    
    [/spoil]

     
    Chỉnh sửa cuối: 12/8/12
  19. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    Mã:
    function SoulWaveCon takes nothing returns boolean
        return GetSpellAbilityId() == 'A0A4'
    endfunction
    
    function SoulWaveAct takes nothing returns nothing
        local unit cas = GetTriggerUnit()
        local location casloc = GetUnitLoc(cas)
        local location tarloc = GetSpellTargetLoc()
        local integer lvl = GetUnitAbilityLevel(cas,'A0A4')
        local real dis = DistanceBetweenPoints(casloc,tarloc)
        local integer point = R2I(dis/250)
        local real angle = AngleBetweenPoints(casloc,tarloc)
        local location dumpoint
        local unit dummy
        if point < 1 then 
        set point = 1
        else
        endif
        
        set bj_forLoopAIndex = 1
        set bj_forLoopAIndexEnd = point
        loop
            exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
            set dumpoint = PolarProjectionBJ(casloc,I2R(bj_forLoopAIndex*250),angle)
            call CreateUnitAtLoc(GetOwningPlayer(cas),'h01A',dumpoint,0.00)
            set dummy = GetLastCreatedUnit()
            call UnitApplyTimedLife(dummy,'BTLF',1.0)
            call UnitAddAbility(dummy,'A0A3')
            call SetUnitAbilityLevel(dummy,'A0A3',lvl)
            call IssueImmediateOrder( dummy,"howlofterror")
            call DestroyEffect(AddSpecialEffect("Abilities\Spells\Other\HowlOfTerror\HowlCaster.mdl",GetLocationX(dumpoint),GetLocationY(dumpoint)))
            set dummy = null
            call RemoveLocation(dumpoint)
            set bj_forLoopAIndex = bj_forLoopAIndex + 1
        endloop
        call RemoveLocation(casloc)
        call RemoveLocation(tarloc)
    endfunction
    
    //===========================================================================
    function InitTrig_Soul_Wave takes nothing returns nothing
        local trigger SoulWave = CreateTrigger(  )
        call TriggerRegisterAnyUnitEventBJ( SoulWave, EVENT_PLAYER_UNIT_SPELL_EFFECT )
        call TriggerAddCondition( SoulWave, Condition( function SoulWaveCon ) )
        call TriggerAddAction( SoulWave, function SoulWaveAct )
    endfunction
    
    
    cho hỏi sai chỗ nào mà nó cứ báo lỗi v. ạ :|
     
  20. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Nó báo như nào,post lên cho mọi người xem với chứ ?



    TOM: trong JASS, "\" phải viết là "\\" chứ: "Abilities\\Spells\\Other\\HowlOfTerror\\HowlCaster.mdl"

    ngoài ra, các biến local kiểu: unit, location, effect, item,... phải "null" sau khi dùng xong
     
    Chỉnh sửa cuối: 12/8/12
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này