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

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Đã protect thì sao mà bỏ vào?
    Còn muốn bàn vụ deprotect thì miễn bàn... :@)

     
  2. vu821989

    vu821989 Youtube Master Race

    Tham gia ngày:
    13/3/09
    Bài viết:
    98
    http://www.mediafire.com/?vbv5m5b43iyqzbt

    trên là bản đã deprotect rồi , bạn rảnh mà biết cách thì chỉ giùm mình nhé .... THX !!!!
     
  3. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Vui lòng đọc nội quy box :
     
  4. DylandKyo

    DylandKyo Donkey Kong

    Tham gia ngày:
    28/10/10
    Bài viết:
    358
    quote lần 4, bác nào giúp m` với @@
     
  5. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Ai chỉ mình cách check terrain ở location hoặc x,y là cliff với,thanks nhiều
     
  6. 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
     cậu tìm hiểu SYS này đi :-?

    Mã:
    library TerrainPathability initializer Init
    //******************************************************************************
    //* BY: Rising_Dusk
    //* 
    //* This script can be used to detect the type of pathing at a specific point.
    //* It is valuable to do it this way because the IsTerrainPathable is very
    //* counterintuitive and returns in odd ways and aren't always as you would
    //* expect. This library, however, facilitates detecting those things reliably
    //* and easily.
    //* 
    //******************************************************************************
    //* 
    //*    > function IsTerrainDeepWater    takes real x, real y returns boolean
    //*    > function IsTerrainShallowWater takes real x, real y returns boolean
    //*    > function IsTerrainLand         takes real x, real y returns boolean
    //*    > function IsTerrainPlatform     takes real x, real y returns boolean
    //*    > function IsTerrainWalkable     takes real x, real y returns boolean
    //* 
    //* These functions return true if the given point is of the type specified
    //* in the function's name and false if it is not. For the IsTerrainWalkable
    //* function, the MAX_RANGE constant below is the maximum deviation range from
    //* the supplied coordinates that will still return true.
    //* 
    //* The IsTerrainPlatform works for any preplaced walkable destructable. It will
    //* return true over bridges, destructable ramps, elevators, and invisible
    //* platforms. Walkable destructables created at runtime do not create the same
    //* pathing hole as preplaced ones do, so this will return false for them. All
    //* other functions except IsTerrainWalkable return false for platforms, because
    //* the platform itself erases their pathing when the map is saved.
    //* 
    //* After calling IsTerrainWalkable(x, y), the following two global variables
    //* gain meaning. They return the X and Y coordinates of the nearest walkable
    //* point to the specified coordinates. These will only deviate from the
    //* IsTerrainWalkable function arguments if the function returned false.
    //* 
    //* Variables that can be used from the library:
    //*     [real]    TerrainPathability_X
    //*     [real]    TerrainPathability_Y
    //* 
        globals
            private constant real MAX_RANGE = 10.
            private constant integer DUMMY_ITEM_ID = 0x776f6c67
        endglobals
    
        globals
            private item Item = null
            private rect Find = null
            private item array Hid
            private integer HidMax = 0
            public real X = 0.
            public real Y = 0.
        endglobals
    
        function IsTerrainDeepWater takes real x, real y returns boolean
            return not IsTerrainPathable(x, y, PATHING_TYPE_FLOATABILITY) and IsTerrainPathable(x, y, PATHING_TYPE_WALKABILITY)
        endfunction
        function IsTerrainShallowWater takes real x, real y returns boolean
            return not IsTerrainPathable(x, y, PATHING_TYPE_FLOATABILITY) and not IsTerrainPathable(x, y, PATHING_TYPE_WALKABILITY) and IsTerrainPathable(x, y, PATHING_TYPE_BUILDABILITY)
        endfunction
        function IsTerrainLand takes real x, real y returns boolean
            return IsTerrainPathable(x, y, PATHING_TYPE_FLOATABILITY)
        endfunction
        function IsTerrainPlatform takes real x, real y returns boolean
            return not IsTerrainPathable(x, y, PATHING_TYPE_FLOATABILITY) and not IsTerrainPathable(x, y, PATHING_TYPE_WALKABILITY) and not IsTerrainPathable(x, y, PATHING_TYPE_BUILDABILITY)
        endfunction
    
        private function HideItem takes nothing returns nothing
            if IsItemVisible(GetEnumItem()) then
                set Hid[HidMax] = GetEnumItem()
                call SetItemVisible(Hid[HidMax], false)
                set HidMax = HidMax + 1
            endif
        endfunction
        function IsTerrainWalkable takes real x, real y returns boolean
        //Hide any items in the area to avoid conflicts with our item
            call MoveRectTo(Find, x, y)
            call EnumItemsInRect(Find , null, function HideItem)
        //Try to move the test item and get its coords
            call SetItemPosition(Item, x, y) //Unhides the item
            set X = GetItemX(Item)
            set Y = GetItemY(Item)
            static if LIBRARY_IsTerrainWalkable then
            //This is for compatibility with the IsTerrainWalkable library
                set IsTerrainWalkable_X = X
                set IsTerrainWalkable_Y = Y
            endif
            call SetItemVisible(Item, false)//Hide it again
        //Unhide any items hidden at the start
            loop
                exitwhen HidMax <= 0
                set HidMax = HidMax - 1
                call SetItemVisible(Hid[HidMax], true)
                set Hid[HidMax] = null
            endloop
        //Return walkability
            return (X - x) * (X - x) + (Y - y) * (Y - y) <= MAX_RANGE * MAX_RANGE and not IsTerrainPathable(x, y, PATHING_TYPE_WALKABILITY)
        endfunction
    
        private function Init takes nothing returns nothing
            set Find = Rect(0., 0., 128., 128.)
            set Item = CreateItem(DUMMY_ITEM_ID, 0, 0)
            call SetItemVisible(Item, false)
        endfunction
    endlibrary
    
     
  7. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Thanks cậu,nhưng mình thử cái này rồi mà ko đc cậu à

    P/s: mò đc rồi nha :D
     
    Chỉnh sửa cuối: 2/12/12
  8. 0978788673

    0978788673 Youtube Master Race

    Tham gia ngày:
    10/1/12
    Bài viết:
    47
    cho mềnh hỏi tại sao cái Action Wait lại k có tác dụng gì nhỉ? map này có 1 đoạn jass khá dài, như kiểu đã dc deprotect bằng xdep ý??

    Cho mình hỏi cách tạo 1 trigger mà khi 1 player chat, nó sẽ hiện thông báo chỉ cho player đấy thôi?
     
  9. 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
    Wait thì có tác dụng Wait chứ trừ khi code bạn có problem thôi! map mà 1 đoạn jass khá dài thì chắc chắn là deproect rồi :-??
     
  10. HKGH_TruyMenh

    HKGH_TruyMenh Youtube Master Race

    Tham gia ngày:
    15/11/12
    Bài viết:
    48
  11. DylandKyo

    DylandKyo Donkey Kong

    Tham gia ngày:
    28/10/10
    Bài viết:
    358
    cho e hỏi: là làm để nào để move dummy every second, trong cùng 1 trigger Jass
     
  12. 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 để làm unit đi xuyên mọi thứ, trừ destructibles,... (như windwalk) = trigger ko? :-?
     
  13. nhathoang1130

    nhathoang1130 Youtube Master Race

    Tham gia ngày:
    3/12/12
    Bài viết:
    8
    Hix e đang làm một map đánh nhau nhưng ko bik nhiều lắm nên đang cần thêm skill ai chỉ e làm 1 số skill như sau dc ko
    -1 skill target nếu giết được mục tiêu sẽ tăng số máu tối đa của hero + thêm 90 mỗi lần ( tối Đa 6 lần) mà 1 lần như thế sẽ làm hero to thêm
    - Skill omilash giống như con gì bên dota ấy
    - Skill phóng 1 cây kiếm đến điểm đã chọn và đợi 2s tạo nên 1 loc xoáy trong 5s
    - 1 skill khi sử dụng hero chạy đến phía trước như trâu hút rùi làm văng mấy mục tiêu trong phạm vi skill
    Hix ai giúp mình nhé nếu có thêm demo mình thanks vạn lần
     
  14. Evil_Hunter

    Evil_Hunter Mario & Luigi

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

    nhathoang1130 Youtube Master Race

    Tham gia ngày:
    3/12/12
    Bài viết:
    8
    thanks a EH nhieu lam nha ~~ skill ma hat doi phuong la lam dong tac giong bo huc nha a ~~
     
  16. HKGH_TruyMenh

    HKGH_TruyMenh Youtube Master Race

    Tham gia ngày:
    15/11/12
    Bài viết:
    48
    Post lại mấy cái này,ai jup với:8cool_cry:
     
  17. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Tạo 1 cái rect nhỏ,check trên rect đó có destructibles thì ko cho phép đi qua,còn ko thì dùng windwalk để transition time lên max thì ko tàng hình nhưng vẫn đi xuyên qua các unit khác đc,nhưng có cảm giác hơi delay unit một chút.
     
  18. nhathoang1130

    nhathoang1130 Youtube Master Race

    Tham gia ngày:
    3/12/12
    Bài viết:
    8
    ai chỉ mình làm skill biến hình lúc biến hình gây damge ra xung quanh 800 phạm vi gây 4x agi
     
  19. Drakkar Knight

    Drakkar Knight Mr & Ms Pac-Man Lão Làng GVN

    Tham gia ngày:
    13/11/11
    Bài viết:
    270
    Nơi ở:
    Hà Nội
    Tạo 2 biến:
    - Point: Point
    - Group: Unit Group
    Làm trigger như sau:
    Mã:
    Spells
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to [COLOR="#FF0000"]Metamorphosis[/COLOR]
        Actions
            Set Point = (Position of (Casting unit))
            Set Group = (Units within 800.00 of Point matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True))))
            Unit Group - Pick every unit in Group and do (Actions)
                Loop - Actions
                    Unit - Cause (Casting unit) to damage (Picked unit), dealing (4.00 x (Real((Level of [COLOR="#FF0000"]Metamorphosis[/COLOR] for (Casting unit))))) damage of attack type Spells and damage type Normal
            Custom script:   call RemoveLocation(udg_Point)
            Custom script:   call DestroyGroup(udg_Group)
    Thay skill Metamorphosis thành skill của bạn.
     
  20. nhathoang1130

    nhathoang1130 Youtube Master Race

    Tham gia ngày:
    3/12/12
    Bài viết:
    8
    Bạn ơi ý mình muốn nói là trong lúc biền hình gây damge xung quanh 5xagi và lúc đó tạo ra 1 dummy tại chỗ biến hình như là dummy co model vòng tròn... Mong bạn chỉ giúp
     

Chia sẻ trang này