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. WorldCyberGames

    WorldCyberGames Youtube Master Race

    Tham gia ngày:
    27/6/12
    Bài viết:
    99
    ^
    allied, self, enemy
    chỉ cần 3 ô này là đủ, còn lại bỏ hết (nếu muốn neutral nữa thì tick vào ô Neutral)
     
  2. vuongkkk

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

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    ^ Self và Friends, Allies ko được thì :-??
     
  3. langthangbairac

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

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    locust chứ không phải focust đâu bạn
     
  4. WorldCyberGames

    WorldCyberGames Youtube Master Race

    Tham gia ngày:
    27/6/12
    Bài viết:
    99
    ko đc thì dùng trigger deal damage AoE =))
     
  5. kingghot

    kingghot Mr & Ms Pac-Man

    Tham gia ngày:
    15/4/10
    Bài viết:
    290
    Nơi ở:
    Rach Gia
    Mình làm trigger để chiếm đống vậy ai xem dùm mình và chỉ mình khi người đó ra khỏi khu đó thì nó ngừng và người khác chiếm thì thời gian của nó sẽ + thêm thời gian bên kia hồi nãy chiếm đóng được dùm mình thanks
     
    Chỉnh sửa cuối: 1/7/12
  6. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Thay vì wait thì bạn dùng Event - Every 1 sc of game time,check mỗi giây nếu unit đó vẫn thuộc Group trên Region WIn kia thì mới tạo Floating Text. Còn muốn cộng thêm thời gian chiếm đóng như ý gì của bạn thì mình không hiểu lắm,bạn nói rõ hơn chút đi,có thể mình giúp được :-?
     
  7. cauxevd

    cauxevd Mr & Ms Pac-Man

    Tham gia ngày:
    22/1/10
    Bài viết:
    176
    KO ĐC RỒI ! Các bác test thì biết ... Còn cái bác kia cho thêm ênmy làm khỉ gì ?? ^^
    Skill giận slow của búa lùn nhá ... Các bác giúp sớm rùm
     
  8. YAN[asian]

    YAN[asian] Mario & Luigi

    Tham gia ngày:
    27/3/07
    Bài viết:
    812
    Skill đó ko thể ảnh hưởng lên bản thân, đồng đội thì chưa thử, thử tick ô Friend xem.
     
  9. kingghot

    kingghot Mr & Ms Pac-Man

    Tham gia ngày:
    15/4/10
    Bài viết:
    290
    Nơi ở:
    Rach Gia
    cái check của bạn là sao? bạn ghi ra trigger giùm mình được không mấy cái check không hiểu lém
     
  10. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Xem trigger dưới là hiểu,với điều kiện bạn phải set biến array cho TempUnit,TempInt. Khi unit đó đứng trên cái region WIn của bạn thì mỗi giây nó sẽ cộng thêm 1 vào TempInt,còn không đứng trên region đó thì mỗi giây sẽ trừ đi 1,khi TempInt lớn hơn hoặc bằng 21 thì TempUnit đó win. Nhớ set array cho TempUnit cũng như TempInt nhé ;)

    Mã:
    Untitled Trigger 001
        Events
            Time - Every 1.00 seconds of game time
        Conditions
        Actions
            Set TempGroup = (Units in WIn <gen>)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (TempUnit is in TempGroup) Equal to True
                Then - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            TempInt Less than 10
                        Then - Actions
                            Set TempInt = (TempInt + 1)
                            Floating Text - Create floating text that reads (String(TempInt)) above TempUnit with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 0.00%), and 0.00% transparency
                            Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                            Floating Text - Change (Last created floating text): Disable permanence
                            Floating Text - Change the lifespan of (Last created floating text) to 2.00 seconds
                            Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
                        Else - Actions
                Else - Actions
                        Set TempInt = (TempInt - 1)
                              If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                        TempInt Greater than or equal to 21
                Then - Actions
                        Game - Victory (Owner of TempUnit) (Show dialogs, Show scores)
                Else - Actions
    
    
     
  11. cauxevd

    cauxevd Mr & Ms Pac-Man

    Tham gia ngày:
    22/1/10
    Bài viết:
    176
    Vẫn không đc ! Chẳng lẽ ko có ai biết sao ? Thế có skill nào gây dam hoặc hồi máu AoE cho đồng đội và bản thân đây? OS !
     
  12. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    S bạn không thử xài Healing Spray nhưng thay Target Allow thành Self, Air, Ground, Friend, Invulnerable, Vulnerable
    Hoặc bạn có thể vào Special -> Item -> Item Arena Heal/Mana Regain , sau đó bạn tạo ra 4 spell dựa từ Spell này. chỉnh sửa thông số ( như 4 level of 1 ability ), tạo 4 item tương tự, mỗi item là 1 level của skill ( Item dạng charge nhé ).... Tạo 1 spell dummy nữa cho Hero học ( base từ ThunderClap ) nhưng chỉnh thông số mọi cái về 0 . Xài trigger mỗi khi hero sử dụng skill này thì tạo 1 dummy tại chỗ hero đó, tạo Item ( tùy theo từng level skill ) và đưa cho dummy. Order dummy xài Item này sau đó remove rummy :D.
    Chúc bạn thành công :D !
     
  13. WorldCyberGames

    WorldCyberGames Youtube Master Race

    Tham gia ngày:
    27/6/12
    Bài viết:
    99
    cho mình hỏi cách làm leaderboard giống MTH :|
     
  14. 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ách này hay hơn này : dùng skil death and decay thay số âm vào và thay target alow xong cho dummy cast là ok tăng theo phần trăm
     
  15. WorldCyberGames

    WorldCyberGames Youtube Master Race

    Tham gia ngày:
    27/6/12
    Bài viết:
    99
    cho mình hỏi sao add cái trigger này vào thì nó tét map ko đc nhỉ (nhấn tét, vào war xong dí ra chứ ko load map)?
    Mã:
    //TESH.scrollpos=10
    //TESH.alwaysfold=0
    library Necromastery uses Alloc, RegisterPlayerUnitEvent, T32
    
    globals
        private integer array DAMAGEID[4]
    endglobals
    
    //===========================================================================
    //                           CONFIGURABLES                        
    //===========================================================================
    
    globals
        private constant integer ABILID = 'ABNe' // raw code of ability "Necromastery"
        public constant integer DUMABILID = 'ANe0' // raw code of ability "Necromastery (Display)"
        private constant integer DUMMYID = 'nECD' // raw code of unit "Necromastery Dummy"
        
        private constant integer DAMAGE = 2 // damage bonus per soul
        
        private constant real COL = 50.0 // collision size of the soul
        private constant real SPEED = 500.0 // distance traveled by the soul per second
        private constant real TRUESPEED = SPEED * T32_PERIOD // distance traveled by the soul per period
        private constant string DEATHART = "Abilities\\Weapons\\AvengerMissile\\AvengerMissile.mdl" // death art used upon soul expiration
        private constant string DEATHARTPOINT = "chest" // attachment point of DEATHART
    endglobals
    
    private function InitFunc takes nothing returns nothing
        local integer i = 0
        local unit u = CreateUnit(Player(13), DUMMYID, 0, 0, 0)
    
        set DAMAGEID[0] = 'dmg0' // raw code of ability "Damage (10000's) (Necromastery)"
        set DAMAGEID[1] = 'dmg1' // raw code of ability "Damage (1000's) (Necromastery)"
        set DAMAGEID[2] = 'dmg2' // raw code of ability "Damage (100's) (Necromastery)"
        set DAMAGEID[3] = 'dmg3' // raw code of ability "Damage (10's) (Necromastery)"
        set DAMAGEID[4] = 'dmg4' // raw code of ability "Damage (1's) (Necromastery)"
        
        //preload
        loop
            exitwhen i > 4
            call UnitAddAbility(u, DAMAGEID[i])
            set i = i + 1
        endloop
        call UnitAddAbility(u, DUMABILID)
        call RemoveUnit(u)
        set u = null
    endfunction
    
    // maximum number of souls
    private function GetMaxSoul takes integer level returns integer
        if level == 1 then
            return 8
        elseif level == 2 then
            return 15
        elseif level == 3 then
            return 23
        elseif level == 4 then
            return 30
        endif
        return 0
    endfunction
    
    // amount of souls lost on death, where 1.0 = 100%
    private function GetSoulLost takes integer level returns real
        return 0.50
    endfunction
    
    //===========================================================================
    //                          END CONFIGURABLES                        
    //===========================================================================
    
    globals
        private constant real TRUE_COLLISION = COL * COL
    endglobals
    
    private struct Main extends array
        implement Alloc
    
        private unit killer
        private unit dummy
    
        private method destroy takes nothing returns nothing
            call RemoveUnit(this.dummy)
            call this.stopPeriodic()
            call this.deallocate()
        endmethod
        
        private static method setDamage takes unit u returns nothing
            local integer damage = DAMAGE * (GetUnitAbilityLevel(u, DUMABILID) - 1)
            local integer factor = 10000
            local integer level
            local integer i = 0
            
            loop
                exitwhen i > 4
                set level = damage / factor
                call SetUnitAbilityLevel(u, DAMAGEID[i], level + 1)
                set damage = damage - (level * factor)
                set factor = factor / 10
                set i = i + 1
            endloop
        endmethod
        
        private method periodic takes nothing returns nothing
            local integer level
            local real x = GetUnitX(this.dummy)
            local real y = GetUnitY(this.dummy)
            local real dx = GetUnitX(this.killer) - x
            local real dy = GetUnitY(this.killer) - y
            local real a
            local real height
            local real dist = dx * dx + dy * dy
            
            if dist <= TRUE_COLLISION then
                set level = GetUnitAbilityLevel(this.killer, DUMABILID)
                if level < GetMaxSoul(GetUnitAbilityLevel(this.killer, ABILID)) + 1 then
                    call UnitRemoveAbility(this.killer, DUMABILID)
                    call UnitAddAbility(this.killer, DUMABILID)
                    call SetUnitAbilityLevel(this.killer, DUMABILID, level + 1)
                    call setDamage(this.killer)
                endif
                
                call DestroyEffect(AddSpecialEffectTarget(DEATHART, this.killer, DEATHARTPOINT))
                call this.destroy()
            elseif IsUnitType(this.killer, UNIT_TYPE_DEAD) or GetUnitTypeId(this.killer) == 0 then
                call this.destroy()
            else
                set a = Atan2(dy, dx)
                call SetUnitX(this.dummy, x + TRUESPEED * Cos(a))
                call SetUnitY(this.dummy, y + TRUESPEED * Sin(a))
                set height = GetUnitFlyHeight(this.dummy)
                call SetUnitFlyHeight(this.dummy, height + ((GetUnitFlyHeight(this.killer) + 100) - height) / (dist / TRUESPEED), 0)
            endif
        endmethod
        implement T32x
    
        private static method onDeath takes nothing returns boolean
            local thistype this
            local unit u = GetTriggerUnit()
            local unit killer = GetKillingUnit()
            local integer ulevel = GetUnitAbilityLevel(u, ABILID)
            local integer klevel = GetUnitAbilityLevel(killer, ABILID)
            local integer i
            local real x
            local real y
            
            if ulevel > 0 then
                set i = R2I((GetUnitAbilityLevel(u, DUMABILID) - 1) * GetSoulLost(ulevel))
                call UnitRemoveAbility(u, DUMABILID)
                call UnitAddAbility(u, DUMABILID)
                call SetUnitAbilityLevel(u, DUMABILID, i + 1)
                call setDamage(u)
            elseif klevel > 0 then
                set this = this.allocate()
                set x = GetUnitX(u)
                set y = GetUnitY(u)
                set this.killer = killer
                set this.dummy = CreateUnit(Player(13), DUMMYID, x, y, Atan2(GetUnitY(this.killer) - y, GetUnitX(this.killer) - x) * bj_RADTODEG)
                
                call this.startPeriodic()
            endif
            
            set u = null
            set killer = null
            return false
        endmethod
    
        private static method onLearn takes nothing returns boolean
            local unit u = GetTriggerUnit()
            local integer i
            
            if GetLearnedSkill() == ABILID then
                if GetUnitAbilityLevel(u, DUMABILID) == 0 then
                    call UnitAddAbility(u, DUMABILID)
                    
                    set i = 0
                    loop
                        exitwhen i > 4
                        call UnitAddAbility(u, DAMAGEID[i])
                        set i = i + 1
                    endloop
                endif
            endif
            
            set u = null
            return false
        endmethod
        
        private static method onInit takes nothing returns nothing
            call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_DEATH, function thistype.onDeath)
            call RegisterPlayerUnitEvent(EVENT_PLAYER_HERO_SKILL, function thistype.onLearn)
            
            call InitFunc()
        endmethod
    endstruct
    
    endlibrary
     
  16. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Cũng có thấy cái leaderboard trong đấy và thực sự mà nói thì làm cái ý siêu dễ luôn. Xem hướng dẫn ở ĐÂY xem
     
  17. Hnquangg123

    Hnquangg123 Youtube Master Race

    Tham gia ngày:
    1/7/12
    Bài viết:
    2
    Làm sao dùng icon down về dc đây. Ai bik chỉ mình đi !
     
  18. langthangbairac

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

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    Nếu icon có disable rồi thì import 2 cái này vào nếu chưa có thì có thể dùng phần mềm image chỉnh ra một cái rồi import vào
     
  19. minh_pro_hy

    minh_pro_hy Donkey Kong

    Tham gia ngày:
    30/6/11
    Bài viết:
    487
    Nơi ở:
    Mặt Trời
    Làm sao để những khu vực chưa explore trên map đen kịt lại như map thiên kiếm nhỉ? :-/
     
  20. Killer.V.Lord01

    Killer.V.Lord01 Mr & Ms Pac-Man

    Tham gia ngày:
    30/6/12
    Bài viết:
    152
    Nơi ở:
    Đăk Lăk
    khu vực chưa mở ra đen kịt bạn dùng cái model này. import vào xong thay model cái gì trong doodad cũng được. nhưng nhớ đen xong thì vào terrain palet tô đen phần này đi.
    http://www.mediafire.com/?2ia4dnar8vuoh89
    quái thế nhỉ chả thấy cái chèn file chỗ nào đành úp lên media

    ---------- Post added at 22:53 ---------- Previous post was at 22:51 ----------

    Cho mình hỏi làm sao để đổi Icon của hero trong mini map là hình 2 vòng tròn nhỏ to như DotA nhỉ, gốc của war là hình vuông
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này