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

Cho mình hỏi 2 vấn đề:
1/ Có cách nào chỉnh shop quay mặt theo ý mình ko?
2/ Mình tạo 1 item bình máu, mình muốn hero level 10 mới xài đc thì làm sao? Trong object editor có chỉnh đc ko hay phải dùng trigger?
 
Cho mình hỏi 2 vấn đề:
1/ Có cách nào chỉnh shop quay mặt theo ý mình ko?
2/ Mình tạo 1 item bình máu, mình muốn hero level 10 mới xài đc thì làm sao? Trong object editor có chỉnh đc ko hay phải dùng trigger?

1. được nếu nó là unit
2.dùng trigger. khi hero mang bình máu, nếu lvl của nó thấp hơn 10 thì drop ngay


=============================================
cho em hỏi có ai có dạng system summon unit ra, k điều khiển đc nó như nó sẽ đi theo caster k?
tựa như follower từ diablo 3 á :D
 
1. được nếu nó là unit
2.dùng trigger. khi hero mang bình máu, nếu lvl của nó thấp hơn 10 thì drop ngay


=============================================
cho em hỏi có ai có dạng system summon unit ra, k điều khiển đc nó như nó sẽ đi theo caster k?
tựa như follower từ diablo 3 á :D

system cậu cần đây

trong item editor có phần level (unclassified) để lam gì vậy
 
mấy pro giúp mình cái này cái, đây là map của mình: http://www.mediafire.com/download/pcg41rm7mhp4f7p/The'_Gioi'_Phep'_Thuat._v1.0.w3x
trong map mình có đặt sẵn 1 con nvm và 1 vài con tướng của team kia. nvm của mình cũng như nvm của dota, có skill 1 là raze (3 cái)
ko biết dạo này mình làm gì trong map mà nó bị lỗi skill đó. raze ngoài đất: hiện model raze. raze vào creep: hiện model raze. raze vô tướng: hiện model raze. vậy mà.... raze vô tướng mà LÀM TƯỚNG CHẾT thì lại ko hiện model raze, thậm chí ko gây damage AoE. nói thì có vẻ khó hiểu, mấy pro down về xong vô xem thử dùm
cám ơn mấy pro trước!
p.s: bỏ qua chuyện lúc trước mà giúp dùm chuyện tương lai :)!!!
 
system cậu cần đây

thanks bác đã share. Mà cái này e tìm r, nó k như ý muốn.
Mình vẫn điều khiển đc con lính, quan trọng nhất là nó chi chuyển quanh caster mỗi 1 mốc thời gian xác định.

thôi chắc e tự viết 1 cái lun -.-"
 
@^: Cậu có thể thêm 1 trigger nhỏ như
Event: Player Unit Selected
Cond: Unit Type of Trigger Unit == '__'
Act: Deselect TriggerUnit

Còn move mỗi mốc thời gian xác định thì diablo 3 cũng vậy
 
@^: Cậu có thể thêm 1 trigger nhỏ như
Event: Player Unit Selected
Cond: Unit Type of Trigger Unit == '__'
Act: Deselect TriggerUnit

Còn move mỗi mốc thời gian xác định thì diablo 3 cũng vậy

mình viết Jass luôn cho tiện :|
vả lại, nếu bác chơi Diablo 3 r thì biết, khi mà order char chính di chuyển, bọn kia di chuyển theo và đứng ở 1 vị trí nhất định so với char chính. nghĩa là k phải order mỗi mốc thời gian, mà order mỗi khi mình ra lệnh di chuyển (hoặc bị knockback)
 
1/ Có cách nào chỉnh shop quay mặt theo ý mình ko?

Nếu là trong game chỉnh hướng mặt thì ko thể trừ khi là unit
Nhưng nếu chỉnh sẵn ở WE để nó nằm sẵn ở trong map và lun lun quay 1 hướng thì cậu có thể thực hiện = cách:
+ Chỉnh shop thành Unit
+ Quay hướng mặt
+ Chỉnh lại thành Building

Cách đổi hướng mặt cho building? Làm thế nào để nhà quay mặt về hướng mình muốn?
http://gamevn.com/showpost.php?p=19246417
 
Chỉnh sửa cuối:
Cần giúp đỡ về spell wath of chill tôi tham khảo ở map hướng dẫn.
Tôi coppy từ map hướng dẫn về và chỉnh lại trong map của mình rồi mà khi vào Hero lich dùng skill thì unit ko bị đóng băng như map mẫu.
Ai có thể tìm giúp lỗi ở đâu chỉ giúp với.
Thank nhiều.
Đây là spell mẫu: http://www.mediafire.com/?cz4ckiglr3l6bpg
Còn đây là map tôi đang tạo http://www.mediafire.com/?mer5pjcx06mcy1n

Bác nào chỉ giúp tôi nó thiếu sót ở đâu và chỉnh sửa ntn với.
Tôi mới tập làm nên mọi người thông cảm nhé!
 
ai hướng dẫn mình thuật toán để tạo mỗi unit có 1 custom valve với
VD đã có 1,2,3,4,5,6,7; nhưng nếu unit 4, 6 bị chết, làm sao để unit tiếp theo sẽ có custom valve lần lượt là 4 và 6 :D
 
1/ google tra dynamic indexing, cái này có thể lên hive tìm kiếm 1 số spell có thể thấy, cái này dùng làm spell khá nhìu (allocate/deallocate trong struct)
Mã:
        private static integer ins = 0 
        private static integer array insAR 
        static method alloc takes nothing returns thistype 
            local thistype this = insAR[0] 
            if this==0 then 
                set ins = ins + 1 
                set this = ins 
            else 
                set insAR[0] = insAR[this] 
            endif 
            return this 
        endmethod 
        method dealloc takes nothing returns thistype
            call this.remove() 
            set insAR[this] = insAR[0] 
            set insAR[0] = this 
            return this.next
        endmethod

2/ hoặc làm 1 recycler = stack array đơn giản khi unit nào chết add value vào stack và khi create thì lấy trong stack ra, nếu như stack rổng thì tự động +1 cho value lớn nhất và add vào unit đó
Mã:
        private static thistype array recycled
        private static integer recycledMax = 0
        private static integer lastAlloc = 0
        static method alloc takes nothing returns thistype
            if .recycledMax==0 then
                set .lastAlloc = .lastAlloc + 1
                return .lastAlloc
            endif
            set .recycledMax = .recycledMax - 1
            return .recycled[.recycledMax]
        endmethod
        method dealloc takes nothing returns thistype
            call this.remove()
            set .recycled[.recycledMax] = this
            set .recycledMax = .recycledMax + 1
            return this.next
        endmethod

p/s :6cool_beat_brick: tặng cục gạch vì ta ko ưa mi :2cool_misdoubt:

- - - Updated - - -

à lưu ý 1 cái là code lấy bên R32 nên mí cái dòng "call this.remove()" và "return this.next" bỏ đi nhá (ta lười bật WE nên sang R32 lấy tạm)
 
^tut trên cho phần nào thế ạ :| nếu là trả lời câu hỏi của em thì em lỡ làm gì phật ý mà k ưa :|
======================
thêm 1 cái nữa là trình em còn gà, method chưa bao h đụng tới, toàn dùng function cả thôi ~.~
 
^trả lời ngay dưới chú thì còn hỏi là trả lời cho ai nữa sao O.o

method với chẳng me thót, mặc nó
không hiểu thì ta diễn giải cách khác vậy (chỉ stack array thui):

viết 1 trigger làm bin (thùng rác):
events: khi 1 unit die
conditions:
actions:
set a=Custom Value of Unit (a là thùng rác, khi unit die thì quăng value vào thùng rác)
set i=i+1

viết 1 hàm đơn giàn:
function setcustomvalue takes unit u returns nothing
if i==0 then
set max=max+1 (+1 thì value của các unit cách nhau 1 đơn vị, mún điều chỉnh sao tùy ng` dùng)
call SetUnitUserData(u,max)
else
call SetUnitUserData(u,a[i-1])
set i=i-1
endif
set u=null
endfunction

cách xài là gọi hàm setcustomvalue ngay sau khi create unit

chú thích: i,max,a là var globals
i để nhận biết xem trong thùng rác còn value không (default = 0)
max là custom value tối đa (default = tùy người xài mún bắt đầu từ số mấy)
a là thùng rác chứa value

p/s bên trên là mã giả
theo cách trên thì 1 2 3 4 5 6 7 rùi 4 6 chết thì nó sẽ lấy 6 ra trước rùi mới lấy 4 (bị ngược, nhưng vẫn sử dụng lại giá trị cũ)
nếu muốn không ngược thì xài queue (google đại ca)

_____
lúc trước có láo nháo với ta nên ta không ưa, còn mi nhớ hay không không quan trọng, vì nếu ta là kẻ tính toán thì bây giờ chẳng ngồi đây chỉ mi
tặng thêm cục gạch :6cool_beat_brick:
 
^rất cảm ơn bác :> đơn giản thế mà k nghĩ ra, chắc phải dk 1 lớp học giải thuật quá :>
btw, em chưa từng gây lộn với ai cả :< trả bác lại 2 cục:6cool_beat_brick::6cool_beat_brick:
 
cho mình hỏi cách làm cho toàn bản đồ biến thành màu đen ko hiện gì cả kể cả minimap
 
cho mình hoỉ mình muốn làm một skill như thế này , khi hạ một muc tiêu (muc tiêu phải là hero) thì skill sẽ dc sử dụng lại thêm một lần nữa (sẽ reset hoàn toàn delay) và skill này sẽ ko dc reset nếu khi xuất chiêu ko thễ hạ đc mục tiêu hoăc cho dù muc tiêu chỉ còn 1 HP, mình lấy skill thunder bolt cua MK làm skill ví dụ. bác nào pro xim làm dùm mình, co map demo share thì cang tốt cám on nhìu
 
^
Mã:
Trigger 1
    Events
        Unit - A unit Learns a skill
    Conditions
        (Learned Hero Skill) Equal to XXX 
    Actions
        Set unit[2] = (Learning Hero)

Mã:
Trigger 2
    Events
        Unit - A unit Dies
    Conditions
        (Owner of (Killing unit)) Equal to (Owner of unit[2])
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                killed Equal to 1
            Then - Actions
            Else - Actions
                Unit - Reset ability cooldowns for unit[2]
 
xin giúp 1 spell cơ bản, nhưng lại không thành công.
1-Spell cast là vùng cast , khi cast, ~ creep trong vùng cast ( vùng cast hình tròn không fải là region-hình vuông ) sẽ bị dính Entangling Roots. Mình đã làm thử nhưng nó chỉ dính có 1 con. ( tương tự với cả stom bolt )
2- mình tạo 1 dummy, cast thunder clap, nhưng cái effect không xuất hiện, chỉ có vùng đất bị lún xuống rồi trồi lên lại, mấy cái nứt nẻ, và dậm ầm ầm không có
 
Back
Top