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

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

  1. dh-g

    dh-g Fire in the hole!

    Tham gia ngày:
    29/8/09
    Bài viết:
    2,654
    Nơi ở:
    Q1 TP.HCM
    CSData vẫn tốt mà? ý cậu định chỉ về AutoIndex,AIDS ???
     
  2. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Cho mình hỏi: Có cách nào để ko thể điều khiển một unit ko?
    Unit khác vẫn đk đc, và unit ko đk thì vẫn dùng ability đc như bt, tức là disable control thôi ý, mà minh disable control phần cinematic thì nó yên luôn :|
     
  3. goldviper

    goldviper Mario & Luigi Lão Làng GVN

    Tham gia ngày:
    7/1/10
    Bài viết:
    742
    Nơi ở:
    Tổ dân phố
    Cho hỏi là làm thế nào để play Walk Animation của 1 group unit hay nói cách khác là của 1 unit bất kì :-?
     
  4. vuongkkk

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

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Thế thì có 3 system nhiều người dùng nhất là: AutoIndex, AIDS, Unit Indexer
     
  5. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Làm theo cách này !
     
  6. oxpebk

    oxpebk Youtube Master Race

    Tham gia ngày:
    7/9/12
    Bài viết:
    1
    Bạn nào giúp mình làm spell "Phong sương toái ảnh" của con NMC nhưng làm sao để nó truy đuổi kiểu missile và spell mưa kiếm của con Cửu thiên tuyết ma được ko, mình xin thank trc

    - - - Updated - - -

    Bạn nào giúp mình làm spell "Phong sương toái ảnh" của con NMC nhưng làm sao để nó truy đuổi kiểu missile và spell mưa kiếm của con Cửu thiên tuyết ma được ko, mình xin thank trc
     
  7. goldviper

    goldviper Mario & Luigi Lão Làng GVN

    Tham gia ngày:
    7/1/10
    Bài viết:
    742
    Nơi ở:
    Tổ dân phố
    ^
    ^ mình đã đọc qua và cũng chưa hiểu lắm ,đây là làm cho 1 unit bất kì mà @@
     
  8. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Quoteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
     
  9. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Thanks

    Gán Locust cho unit đó thì không điều khiển được.
    Còn chỉ muốn cho unit A sử dụng ability mà ko move,blah blah thì gán biến cho unit A tạo một unit dummy có tên là B khác,gắn các ability dummy cho unit B (các ability này nếu là target point hay target unit thì đặt cast range 99999999)
    khi select unit A thì clear select và select unit dummy B (nếu ko có locust thì kiếm event nào đó để select unit B :!)
    khi unit dummy B xài skill dummy thì sẽ cho unit A (đã gán biến) oder ra vị trí đó
    Hay ý em là sao ? Nói mơ hồ thì khó giúp.
     
  10. 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 này chắc chỉ có nước cậu code để mỗi khi thằng ko có quyền điều khiển (mà cậu muốn) order 1 số lệnh trừ cast spell ra thì stop mặc dù player đó vẫn được share full control

    Vì cách duy nhất để play animation walk là dùng play index animation (như là cái mà LeoNguyen đưa ra trên kia) + mỗi 1 unit thì cách sắp xếp animation của nó lại ko cố định
    Nên ko thể play animation walk của 1 unit bất kì 1 cách chuẩn xác được. Cách duy nhất mà mình biết đến thì lại phải lôi ra từ tập hợp đã định sẵn trong hashtable mà kiểu này thì lag là chắc @@
     
  11. whisky137

    whisky137 Dragon Quest

    Tham gia ngày:
    7/2/07
    Bài viết:
    1,318
    Cho mình hỏi cái:
    + Độ cao health bar chỉnh ở đâu ? Nhiều model mới thêm vào có health bar quá cao so với đầu của nó.
    + Skill Permanent Immolation, khi để LV1 thì ko sao. Nhưng khi để LV3 chẳng hạn, các LV sau của nó đều ko thay đổi damage so với LV1 dù damage tăng cả chục lần ? Mình nhớ trong X Hero Siege cũng sử dụng skill này.
     
  12. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Skill đó là một trong các Unlevelable Abilities (các abilities có lên level cũng ko có tác dụng)
    Xem thêm : http://forum.gamevn.com/showthread.php?956566 hoặc http://world-editor-tutorials.thehelper.net/cat_usersubmit.php?view=44234
     
  13. 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() == 'A00Z'
    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,'A00Z')
        local real dis = DistanceBetweenPoints(casloc,tarloc)
        local integer point = R2I(dis/250)
        local real angle = AngleBetweenPoints(casloc,tarloc)
        local location dumpoint
        local unit dummy
        local group casgroup
        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)
            set dummy = CreateUnitAtLoc(GetOwningPlayer(cas),'h003',dumpoint,0.00)
            call UnitApplyTimedLife(dummy,'BTLF',1.0)
            call UnitAddAbility(dummy,'A010')
            call SetUnitAbilityLevel(dummy,'A010',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 dumpoint = null
            set bj_forLoopAIndex = bj_forLoopAIndex + 1
        endloop
        call RemoveLocation(casloc)
        call RemoveLocation(tarloc)
        set casloc = null
        set tarloc = null
        set cas = null
    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
    
    h em muốn làm nó pick unit r` deal damg 1 lần theo đường này thì làm s ạ??? ( Skill Wave Of Terror của VS trong DotA, = Jass nhé, đang tập cách pick group theo jass vs biến local)
     
  14. goldviper

    goldviper Mario & Luigi Lão Làng GVN

    Tham gia ngày:
    7/1/10
    Bài viết:
    742
    Nơi ở:
    Tổ dân phố
    Hix ,vậy ra trong Dota thì mỗi unit type đều có ID của Walk Animation ,xong mỗi lần sử dụng phải dùng ID để play .Vậy giờ mỗi khi mình pick 1 Hero thì set cho hero đó 1 biến số ID của Animation Walk đã định trong model xong lúc cần có thể dùng được ko (ý là thay thế cái hashtable)
     
  15. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Đã dùng jass thì tốt nhất ko nên dùng location nữa mà dùng X Y ấy,tập dùng luôn sau này đỡ phải sửa lại. Còn pick unit thì CreateGroup() sau đó call GroupEnumUnitsInRange() rồi thao tác
    Mã:
    globals
       player TempPlayer // tạo một biến globals player để lưu owner của unit sau đó ở hàm Check check xem unit nào là enemy thì pick vào group
    endglobals
    function Check takes nothing returns boolean // Hàm này trả về các điều kiện để pick unit vào group,nó cũng như pick every unit in group matching condition,bên dưới là các condition
       local boolean b = true
       local unit u = GetFilterUnit()
       set b = b and IsUnitEnemy(u,TempPlayer) == true
       set b = b and GetWidgetLife(u) > .405
       set b = b and IsUnitType(u,UNIT_TYPE_STRUCTURE) == true
       return b
    endfunction 
    
    //x,y ở đây là tọa độ,GetSpellTargetX(),GetSpellTargetY() == Target point of ability being cast
    Mã:
    function A takes nothing returns nothing
    local unit u = GetTriggerUnit()
    local real x
    local real y
    local unit TempUnit
    local group TempGroup = CreateGroup()
    set TempPlayer = GetOwningPlayer(u)
    call GroupEnumUnitsInRange(TempGroup,x,y,300,function Check)
    loop
       set TempUnit = FirstOfGroup(TempGroup)
       exitwhen TempUnit == null
       //Thao tác ở đây,deal damage,tạo effect,blah blah
       call GroupRemoveUnit(TempGroup,TempUnit)
       set TempUnit = null
    endloop 
    endfunction 
    Nhớ set null các biến local sau khi dùng xong để tránh leak
     
    Chỉnh sửa cuối: 11/11/12
  16. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    Set custom value of unit = ID thử xem :-?.
     
  17. vuongkkk

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

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    ^Là lấy ra animation id theo từng loại unit chứ có phải theo từng con unit đâu mà làm thế @@

    Thực ra nếu cậu chỉ play cùng lúc độ 30 con unit cùng 1 lúc và sử dụng hashtable thì cũng ko lag đâu mà cùng lắm chỉ giật 1 cái 0.5s thôi :D Còn ko thì chịu vì dota chỉ play animation từng con 1 nên chả lag (nếu có dùng .... )
     
    Chỉnh sửa cuối: 11/11/12
  18. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    Không check được loại unit từ từng con unit hay sao mà không được '-'.

    Cơ mà ý bạn ấy là như này nè '-', vậy tại sao không dùng custom value of unit được :-?.
     
    Chỉnh sửa cuối: 11/11/12
  19. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Cho hỏi War3 mình bị gì thế này:
    - Trước khi cài JNGP thì dota chơi bình thường
    - Sau khi cài thì:
    • Vào host ng` ta thì nó bắt down lại map, mặc dù đã có map rồi
    • Mình host thì chỉ có 1 slot duy nhất, vào game thì chỉ có terrain là của dota, còn mọi code đều mất hết, chỉ còn lại cái trigger melee (tạo Town + 5 peasants,...). Và hình như không chỉ có dota, mà các map nào có dùng JNG đều bị thế này, các map melee thì bình thường
    - Gỡ JNGP ra thì trở lại bình thường :|
     
  20. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Mình đã và đang bị như vậy là do cài cái X Design Pack vào trực tiếp folder warIII nên vậy đó :))
     

Chia sẻ trang này