Topic hỏi đáp cho anh em (Về cách làm map)

Status
Không mở trả lời sau này.
@ask : Animation - Change (Unit can sua)'s vertex coloring to (100.00%, 100.00%, 100.00%) with x% transparency
x càng to càng mờ

show damage :
varible :
Dam : real
UnitTakeDam : Unit
UnitBiTakeDam : Unit
Group : Unit Group
Boolean : Boolean Array // cái nài nhằm biết xem cái play nào muốn show dam

Đầu tiên bạn cho

Mã:
Initialization
    Events
        Map initialization
    Conditions
    Actions
        Melee Game - Use melee time of day (for all players)
        Set Group = (Units in (Playable map area))
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Set Boolean[(Integer A)] = True
        Unit Group - Pick every unit in Group and do (Actions)
            Loop - Actions
                Trigger - Add to Cai thu 2 <gen> the event (Unit - (Picked unit) Takes damage)
ở phần mở đầu của map

cần tạo 2 trigger :
Mã:
Cai thu 1
    Events
        Unit - A unit enters (Playable map area)
    Conditions
        ((Triggering unit) is in Group) Equal to False
    Actions
        Unit Group - Add (Triggering unit) to Group
        Trigger - Add to Cai thu 2 <gen> the event (Unit - (Triggering unit) Takes damage)

nhiệm vụ của cái nài là để add toàn bộ unit mà sau nai xuất hiện vào trong 1 group để tránh trùng lập. Đồng thời add unit thêm cái Event Take Damage


Mã:
Cai thu 2
    Events
    Conditions
    Actions
        Trigger - Turn off (This trigger)
        Set UnitTakeDam = (Damage source)
        Set UnitBiTakeDamage = (Triggering unit)
        Set Dam = (Damage taken)
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        Boolean[(Integer A)] Equal to True
                    Then - Actions
                        Floating Text - Create floating text that reads (String(Dam)) above UnitTakeDam with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                        Floating Text - Show (Last created floating text) for (Player group((Player((Integer A)))))
                        Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
                        Floating Text - Change (Last created floating text): Enable permanence
                        Floating Text - Change the fading age of (Last created floating text) to 1.50 seconds
                    Else - Actions
        Set UnitBiTakeDamage = No unit
        Set UnitTakeDam = No unit
        Set Dam = 0.00
        Trigger - Turn on (This trigger)


đây là phần show damage. nếu bạn muốn show cho play nào thì Set Boolean[Number của play] = true

có gì hok hỉu thì hỏi ná
mình có gửi file ở dưới
nói thực mình cũng chưa test có lỗi thì sr ná :)


thêm cái :
@ hok nhớ tên :) : cái vụ buff tăng max life thì trigger mình hok biết cách làm multi ( tức là stack ấy ) mà bạn phải làm cooldown > duration thôi :whew:

Mã:
Set Max Hp
    Events
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Max_Hp Greater than 0
            Then - Actions
                Set Loop_Integer = ((Max_Hp - (Max_Hp mod 100)) / 100)
                For each (Integer A) from 1 to Loop_Integer, do (Actions)
                    Loop - Actions
                        Unit - Add Max Life Modifier  to Some_Unit
                        Unit - Set level of Max Life Modifier  for Some_Unit to 4
                        Unit - Remove Max Life Modifier  from Some_Unit
                Set Max_Hp = (Max_Hp mod 100)
                Set Loop_Integer = ((Max_Hp - (Max_Hp mod 10)) / 10)
                For each (Integer A) from 1 to Loop_Integer, do (Actions)
                    Loop - Actions
                        Unit - Add Max Life Modifier  to Some_Unit
                        Unit - Set level of Max Life Modifier  for Some_Unit to 3
                        Unit - Remove Max Life Modifier  from Some_Unit
                Set Max_Hp = (Max_Hp mod 10)
                For each (Integer A) from 1 to Max_Hp, do (Actions)
                    Loop - Actions
                        Unit - Add Max Life Modifier  to Some_Unit
                        Unit - Set level of Max Life Modifier  for Some_Unit to 2
                        Unit - Remove Max Life Modifier  from Some_Unit
            Else - Actions
                Set Max_Hp = (0 - Max_Hp)
                Set Loop_Integer = ((Max_Hp - (Max_Hp mod 100)) / 100)
                For each (Integer A) from 1 to Loop_Integer, do (Actions)
                    Loop - Actions
                        Unit - Add Max Life Modifier  to Some_Unit
                        Unit - Set level of Max Life Modifier  for Some_Unit to 7
                        Unit - Remove Max Life Modifier  from Some_Unit
                Set Max_Hp = (Max_Hp mod 100)
                Set Loop_Integer = ((Max_Hp - (Max_Hp mod 10)) / 10)
                For each (Integer A) from 1 to Loop_Integer, do (Actions)
                    Loop - Actions
                        Unit - Add Max Life Modifier  to Some_Unit
                        Unit - Set level of Max Life Modifier  for Some_Unit to 6
                        Unit - Remove Max Life Modifier  from Some_Unit
                Set Max_Hp = (Max_Hp mod 10)
                For each (Integer A) from 1 to Max_Hp, do (Actions)
                    Loop - Actions
                        Unit - Add Max Life Modifier  to Some_Unit
                        Unit - Set level of Max Life Modifier  for Some_Unit to 5
                        Unit - Remove Max Life Modifier  from Some_Unit

sytem tăng max life

Mã:
Set Max Mana
    Events
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Max_Mana Greater than 0
            Then - Actions
                Set Loop_Integer = ((Max_Mana - (Max_Mana mod 100)) / 100)
                For each (Integer A) from 1 to Loop_Integer, do (Actions)
                    Loop - Actions
                        Unit - Add Max Mana Modifier  to Some_Unit
                        Unit - Set level of Max Mana Modifier  for Some_Unit to 4
                        Unit - Remove Max Mana Modifier  from Some_Unit
                Set Max_Mana = (Max_Mana mod 100)
                Set Loop_Integer = ((Max_Mana - (Max_Mana mod 10)) / 10)
                For each (Integer A) from 1 to Loop_Integer, do (Actions)
                    Loop - Actions
                        Unit - Add Max Mana Modifier  to Some_Unit
                        Unit - Set level of Max Mana Modifier  for Some_Unit to 3
                        Unit - Remove Max Mana Modifier  from Some_Unit
                Set Max_Mana = (Max_Mana mod 10)
                For each (Integer A) from 1 to Max_Hp, do (Actions)
                    Loop - Actions
                        Unit - Add Max Mana Modifier  to Some_Unit
                        Unit - Set level of Max Mana Modifier  for Some_Unit to 2
                        Unit - Remove Max Mana Modifier  from Some_Unit
            Else - Actions
                Set Max_Mana = (0 - Max_Mana)
                Set Loop_Integer = ((Max_Mana - (Max_Mana mod 100)) / 100)
                For each (Integer A) from 1 to Loop_Integer, do (Actions)
                    Loop - Actions
                        Unit - Add Max Mana Modifier  to Some_Unit
                        Unit - Set level of Max Mana Modifier  for Some_Unit to 7
                        Unit - Remove Max Mana Modifier  from Some_Unit
                Set Max_Mana = (Max_Mana mod 100)
                Set Loop_Integer = ((Max_Mana - (Max_Mana mod 10)) / 10)
                For each (Integer A) from 1 to Loop_Integer, do (Actions)
                    Loop - Actions
                        Unit - Add Max Mana Modifier  to Some_Unit
                        Unit - Set level of Max Mana Modifier  for Some_Unit to 6
                        Unit - Remove Max Mana Modifier  from Some_Unit
                Set Max_Mana = (Max_Mana mod 10)
                For each (Integer A) from 1 to Max_Hp, do (Actions)
                    Loop - Actions
                        Unit - Add Max Mana Modifier  to Some_Unit
                        Unit - Set level of Max Mana Modifier  for Some_Unit to 5
                        Unit - Remove Max Mana Modifier  from Some_Unit

sytem tăng max mana

và cách sử dụng vd :

Mã:
Test Set Max Hp and Mana
    Events
        Player - Player 1 (Red) types a chat message containing test as A substring
    Conditions
    Actions
        Set Group = (Units currently selected by Player 1 (Red))
        Unit Group - Pick every unit in Group and do (Actions)
            Loop - Actions
                Set Max_Hp = 300
                Set Max_Mana = 300
                Set Some_Unit = (Picked unit)
                Trigger - Run Set Max Hp <gen> (ignoring conditions)
                Trigger - Run Set Max Mana <gen> (ignoring conditions)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Level of Max Life Modifier  for (Picked unit)) Equal to 0
                    Then - Actions
                        Game - Display to (All players) for 30.00 seconds the text: (Set Max HP for  + (Name of (Picked unit)))
                    Else - Actions
        Wait 30.00 seconds
        Unit Group - Pick every unit in Group and do (Actions)
            Loop - Actions
                Set Max_Hp = -300
                Set Max_Mana = -300
                Set Some_Unit = (Picked unit)
                Trigger - Run Set Max Hp <gen> (ignoring conditions)
                Trigger - Run Set Max Mana <gen> (ignoring conditions)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Level of Max Life Modifier  for (Picked unit)) Equal to 0
                    Then - Actions
                        Game - Display to (All players) for 30.00 seconds the text: (Set Max HP for  + (Name of (Picked unit)))
                    Else - Actions


khi bạn chat test thì sẽ có Max_Life = số life bạn muốn thêm

coi như nó là buff dur = 30s nhé :D Some Unit là unit mún add thêm
enjoy

quên mất là có 3 var nhé :
Max_Life = integer
Max_Mana = integer
Some_Unit = unit

map ở dưới
 

Attachments

Làm như bạn tăng max life được theo % đấy,nhưng mà mỗi lần chạy trigger đấy nó lại khựng lại 1 cái nên mình nghĩ dùng nhiều sẽ lag,nên mới có í định ko tăng máu theo % nữa mà tăng theo chỉ số cố định luôn....??
 
khựng ? mình dùng có sao đâu nhỉ ::(
có thể nó chỉ bị khựng lần đầu tiên :-/ bạn thử dùng preload xem sao

anh tom xóa hộ em bài nài nó bị đơ đơ nên thanh multipost
 
DG nói dúng, lần đầu thì bị khựng lại 1 chút, còn từ lần thứ 2 trở đi thì chả sao cả. Lucifekit, em post cái trigger tăng max life của em lên xem nào, nếu post đc map thì càng tốt.
 
Tình hình là sau 6,7 năm ko đụng tới. Giờ bỗng dưng có hứng làm cái map cho anh em trong nhà chơi thì gần như quên hết :|

Anh em ai chỉ giúp mấy thứ này, thật tình là ko nhớ, thông cảm ạ:
- Khóa di chuyển màn hình, tức là cái map ko cho nó move ra khỏi khu vực mình cho phép. Chỉ khi gọi System này nọ nó mới move wa.
- Một số unit ko có cái vòng sáng phía dưới (vốn chỉ có Hero mới có) làm sao thêm vào. Ngày xưa map Reaper Arena tớ thêm đủ cả mà giờ mò mãi ko ra. :(

Ai biết chỉ giúp, thanks nhìu :)
 
anh thấy bình thường, chỉ khi dùng vào unit nào nhiều máu quá (caster - hình con sói đen ấy) thì bị khựng lại một tí. Để tránh cái vụ này thì nếu thấy có thể tăng/giảm hơn 10K máu thì ability MaxLifeModifier nên thêm 2 level nữa, +-10000 và tất nhiên trong trigger phải thêm vòng lặp với 10000.
 
anh Tom cho em 1 vài ý tưởng làm nv đi , em làm map có NV nhưng cạn ý tưởng wá T_T
 
Ai biết chỉ dùm với :( Tom biết ko chỉ giúp. Ko biết Zeka với devilxxn còn chơi box này ko nữa.

- Khóa di chuyển màn hình, tức là cái map ko cho nó move ra khỏi khu vực mình cho phép. Chỉ khi gọi System này nọ nó mới move wa.
- Một số unit ko có cái vòng sáng phía dưới (vốn chỉ có Hero mới có) làm sao thêm vào. Ngày xưa map Reaper Arena tớ thêm đủ cả mà giờ mò mãi ko ra. :(

Thanks ::)
 
cho mình tham khảo về cách chọn tướng trong DOTA!!!Click vào icon là có tướng ấy !!!
cho mình tham khảo
 
cái vòng sáng có share ở đằng trước kìa, chịu khó mò xem
THế ông Tom chỉ hộ làm mấy cái skill stack coi nào? giống brístleback ý mà
 
@Es: nhờ vả với cái giọng đó nghe đã chẳng mún làm rùi
nếu mún làm spell stack thì lập thêm 1 varible integer rồi mỗi lần cast thì set nó + 1 ,wait 1 thời gian ( ~10s) rồi set - 1
 
Anh Tom hoặc bạn Dark Gamer có thể cho mình coi map demo về skill tăng max life và aura tăng max life được ko,MUI được thì tốt quá:(
 
mình tưởng mình send ở bài trước rồi còn gì bạn, cái set max hp đó có 2 cái trigger 1 cái set max life và 1 cái set max mana mà bạn, bạn xem lại thử xem
 
Cái map đó mình xem ở thehelper.net rồi,đây mình muốn nó thành skill buff cho người khác/buff cho mình được và hơn hết là thành aura tăng max life cơ.MUI thì tuyệt.
 
Thử cách này đi:
dùng 1 trigger:
Event - Every 0.10 second ò game - time
Condition
Actions:
Pick every unit(unit in Playable area matching(matching unit has buff(buf))) equal to true and do
Loop
Unit - Add(Hp Plus) to (Picked Unit)
//Nếu chỉ có 1 hero có chiêu đs thì thêm cái này:
Set level ò HP Plus for (Picked unit) to level of Aura + hp for(random unit in(unit in Playable area matching(Level ò Aura for matching unit Greater than 0)))

Pick every unit(unit in Playable area matching(matching unit has buff(buf))) equal to false and do
Loop
Unit - Remove(Hp Plus) from (Picked Unit)

Thử xem nào, có thể sẽ hơi giật.
 
Nhưng mà HP Plus đó của bạn hình như là ability chứ ko phải trigger hả? Với lại làm vậy lỡ có 2 đứa buff thì sợ máu nó cứ bị dupe lên dần dần@@.

Mà làm map nên chọn cách mỗi người 1 type hero thì code có lẽ dễ hơn,nhưng mà giờ ít character nên mới chọn nhiều người có thể cùng type hơn....Dota cũng có mode du <duplicated mode> chắc spell nào của họ cũng MUI hết nhỉ?
 
Ai biết chỉ dùm với :( Tom biết ko chỉ giúp. Ko biết Zeka với devilxxn còn chơi box này ko nữa.

- Khóa di chuyển màn hình, tức là cái map ko cho nó move ra khỏi khu vực mình cho phép. Chỉ khi gọi System này nọ nó mới move wa.
- Một số unit ko có cái vòng sáng phía dưới (vốn chỉ có Hero mới có) làm sao thêm vào. Ngày xưa map Reaper Arena tớ thêm đủ cả mà giờ mò mãi ko ra. :(

Thanks ::)


Update Reaper Arena đi DKM, hồi xưa Mjn thĩ chơi map này lắm, chỉ toàn là đánh Area map này với bạn thôi, mà update phiên bản War 1.2x thì tự nhiên stun tới sáng :) ...
 
Nhưng mà HP Plus đó của bạn hình như là ability chứ ko phải trigger hả? Với lại làm vậy lỡ có 2 đứa buff thì sợ máu nó cứ bị dupe lên dần dần@@.

Mà làm map nên chọn cách mỗi người 1 type hero thì code có lẽ dễ hơn,nhưng mà giờ ít character nên mới chọn nhiều người có thể cùng type hơn....Dota cũng có mode du <duplicated mode> chắc spell nào của họ cũng MUI hết nhỉ?

Họ làm JASS cả đấy, nếu ko thì 2 con Void cast Unti.............

Làm 1 type thì dễ rồi, nhưng ít thì ko hẳn phải chọn chung, có cả đống spell stardard + hiveworkshop, và có thể cả spell của bạn tự nghĩ nữa, thừa cho mỗi hero 4 spell nhòe, map tui cũng ít hero lắm, nhưng tôi cũng ko có hero nào skill giống nhau cả + mỗi hero chỉ chọn 1 lần, đỡ nhàm.
 
Status
Không mở trả lời sau này.
Back
Top