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

Theo mình biết là Add Locust ('Aloc') cho unit đó[/QUOTE]

ko đc rồi bạn ơi! add Locust thì unit đó ko thể click vào hoặc thậm chí là "right click" vô nó để attack nó luôn. phải làm sao cho nó như là 1 unit thật của mình luôn (có thể "left click" để xem chỉ số, skill,...) nhưng ko thể đ.khiển đc nó (tạo 1 unit làm sao giống zombie của Undying trong DotA ý)... mong bạn giúp lại lần nữa. thanks!!! :D
 
Dùng biến local,trong trigger chọn : Custom script: sau đó tạo biến local
Bình thường ta dùng biến globals tạo sẵn (Ctrl+B),biến globals chỉ lưu giá trị đc lưu sau cùng,mà sau wait thì nó lại lộn xộn ==> không MUI
Để tạo biến local thì viết loại biến + tên,ví dụ tạo một biến để lưu các giá trị Unit tên là u
Mã:
Custom script: local unit u
Thế là có một biến tên là U,muốn biến U này array thì thêm chữ array đằng trước tên biến
Mã:
Custom script: local unit array u
Để lưu một giá trị unit,ví dụ Triggering Unit thì bạn phải dùng lệnh Custom script trong MUI và lưu,ví dụ
Mã:
Custom script:   set u=GetTriggerUnit()
Custom script chính là công cụ để ta viết 1 dòng jass,ở trong jass GetTriggerUnit() chính là Triggering Unit trong MUI
Với biến local sau khi wait thì nó vẫn trả về giá trị cuối cùng mà ta lưu,như globals thì lẫn lộn,lộn xộn
Mã:
Actions
    Custom script:   local unit u
    Custom script:   set u=GetTriggerUnit()
    Unit - Add Animate Dead to (u)
    Wait 2.00 seconds
    Unit - Remove Animate Dead from (u)
    set u=null
và sau khi dùng xong biến local bạn phải set biến local thành null,nếu không sẽ leak

Ồ, thật là đơn giản, mình cũng nhớ lại chút rồi, cảm ơn bạn.
Có lẽ mình sẽ dùng PolledWait2 kèm biến local là ok, vậy mà mình cứ tưởng cái khoản Wait này khó khăn lắm :D

Thanks!

Mình có đoạn code này, bạn có thể chuyển từ BJs sang native dùm mình được không ? Dù có JassNewGen nhưng đọc hiểu + sắp xếp cũng không đơn giản ạ :(
Chào mọi người :)

Mình có đoạn code này cần Anti-BJs, đoạn này mình không biết làm sao để loại bỏ BJs nên hy vọng ai đó giúp mình, mình cảm ơn nhiều:

Đoạn màu đỏ chính là BJs

Mã:
function conditionMatchingSpawn takes nothing returns boolean
    return (GetWidgetLife([B][COLOR="#FF0000"]GetFilterUnit()[/COLOR][/B]) > 0.405 and (not (IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE))) and (not (IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO))) and (not (IsUnitType(GetFilterUnit(), UNIT_TYPE_PEON))) and (not (IsUnitType(GetFilterUnit(), UNIT_TYPE_SUMMONED))) and (not (IsUnitType(GetFilterUnit(), UNIT_TYPE_MECHANICAL))) and (not (IsUnitType(GetFilterUnit(), UNIT_TYPE_ANCIENT))))
endfunction

function spawnHelper takes integer unitId returns nothing
    local unit p = GetEnumUnit()
    local real x = GetUnitX(p)
    local real y = GetUnitY(p)
    local unit s
    if ([B][COLOR="#FF0000"]CountUnitsInGroup[/COLOR][/B]([B][COLOR="#FF0000"]GetUnitsOfPlayerMatching[/COLOR][/B](GetOwningPlayer(p), Condition(function conditionMatchingSpawn))) <10) then
    set s = CreateUnit( GetOwningPlayer(p), unitId, x, y, bj_UNIT_FACING)
    endif
    set s = null
    set p = null
endfunction

Và mình muốn hỏi thêm là đoạn return mà có "GetFilterUnit()" ở bên function conditionMatchingSpawn có nhất thiết phải đặt biến local unit f = GetFilterUnit() rồi null không ? Mình thấy nhiều spell họ không đặt biến cho điều kiện của Group.

Vì nó là đoạn code dành cho spawn unit(lặp đi lặp lại suốt quá trình chơi và dùng nhiều nhất nên mình muốn tối ưu nó nhanh nhất, và không thể để leak, vì nhiều trigger như vậy chạy song song vì lặp lại khoảng từ 8-10s, nếu leak thì map sẽ siêu lag..
 
Chỉnh sửa cuối:
Ồ, thật là đơn giản, mình cũng nhớ lại chút rồi, cảm ơn bạn.
Có lẽ mình sẽ dùng PolledWait2 kèm biến local là ok, vậy mà mình cứ tưởng cái khoản Wait này khó khăn lắm :D

Thanks!

Mình có đoạn code này, bạn có thể chuyển từ BJs sang native dùm mình được không ? Dù có JassNewGen nhưng đọc hiểu + sắp xếp cũng không đơn giản ạ :(


Và mình muốn hỏi thêm là đoạn return mà có "GetFilterUnit()" ở bên function conditionMatchingSpawn có nhất thiết phải đặt biến local unit f = GetFilterUnit() rồi null không ? Mình thấy nhiều spell họ không đặt biến cho điều kiện của Group.

Vì nó là đoạn code dành cho spawn unit(lặp đi lặp lại suốt quá trình chơi và dùng nhiều nhất nên mình muốn tối ưu nó nhanh nhất, và không thể để leak, vì nhiều trigger như vậy chạy song song vì lặp lại khoảng từ 8-10s, nếu leak thì map sẽ siêu lag..

Để ngắn gọn bạn có thể dùng biến local hay globals để thay thế GetFilterUnit() nếu muốn đỡ phải viết code dài lằng ngoằng.
Với biến local thì bạn buộc phải set null nếu không sẽ leak,còn biến globals nó chỉ có 1 và lưu giá trị đc lưu sau cùng. Trong hàm Filter kia bạn hãy hiểu là nó cũng tương tự như bạn pick từng unit trong group ra rồi chọn lọc mà thôi. Nếu trong group có 30 unit để chọn lọc mà ko set null biến local thì nó cũng leak tương đương 30 lần vậy.

Còn đoạn Anti BJ if (CountUnitsInGroup(GetUnitsOfPlayerMatching(GetOwningPlayer(p), Condition(function conditionMatchingSpawn))) <10) then thì như ở trang trước mình đã hướng dẫn bạn rồi đó,bạn hãy hiểu là dù cách nào thì cũng phải pick từng unit trong phạm vi rồi chọn lọc ra thôi nên là dù là cách của mình hay là dùng hàm có sẵn trong war cũng vậy thôi.
 
Cho mình xin demo spell dạng multi shot : bắn ra nhiều mũi tên theo hình nón, mỗi mũi tên đi qua unit nào thì gây damage cho unit đó (mũi tên không bị mất đi sau khi chạm vào unit)
 
Ai giúp với: Hero khi lên lv 5 thì không thể lên lv nữa, EXP cứ chỉ dừng lại ở 1400/2000. Dù Maxium Level Hero đã cho lên 50.
 
Ai giúp với: Hero khi lên lv 5 thì không thể lên lv nữa, EXP cứ chỉ dừng lại ở 1400/2000. Dù Maxium Level Hero đã cho lên 50.
ở Gameplay Constant, đổi dòng Hero XP Gained - Creep Reduction Table thành 100/100/100/100/100
 
Từ bài viết của Ngoc LeO
Thế mà ko hiểu nữa :T

Code:
Actions
Set Item[1] = Claws of Attack +15
Set Item[2] = Kelen's Dagger of Escape
Set Item[3] = Horn of Cenarius
Set Item[4] = Healing Wards
Set Item[5] = Full Vial
Set Item[6] = Potion of Greater Mana
Set Item[7] = Replenishment Potion
Set Item[8] = Crown of Kings +5
Hero - Create Item[(Random integer number between 1 and 8)] and give it to (Triggering unit)

còn condition và event thì sao?khi unit sử dụng i tem,remove item đó đi,create random i tem và give cho u nit đó

reup.ai chỉ dùm cái:3cool_nosebleed:

- - - Updated - - -

có ai bik chiêu nào khi cát thì nó sẽ gây dâmge ra xung quanh ko?rồi phải tạo trigger như thế nào thì khi mìh cát chiêu đó thì mình không thể đánh dược mà chỉ chạy được thôi?
 
khi mìh cát chiêu đó thì mình không thể đánh dược mà chỉ chạy được thôi?

nghĩa là thế nào vậy bạn, mình không hiểu :-?
 
ko đc rồi bạn ơi! add Locust thì unit đó ko thể click vào hoặc thậm chí là "right click" vô nó để attack nó luôn. phải làm sao cho nó như là 1 unit thật của mình luôn (có thể "left click" để xem chỉ số, skill,...) nhưng ko thể đ.khiển đc nó (tạo 1 unit làm sao giống zombie của Undying trong DotA ý)... mong bạn giúp lại lần nữa. thanks!!! :D

vào object editor tìm unit đó vào tìm phần có tên là Unit Classification tíck vào ward
 
nghĩa là khi cast chiêu đó thì mình không làm gì khac được ngoại trừ di chuyển
 
Ai biết làm skill metamorphosis(Base Order) nhưng ko có cái thời gian chạy.Giúp em với cho em cái trigger cụ thể nhé,em cảm ơn trước
 
làm sao để set level của 1 skill trong spell book mọi ng nhỉ?
vd mình dùng trigger để add 1 skill spell book vào 1 hero, xong rồi mình muốn set level của tất cả các skill có trong spell book đó theo lv của spell book
thì làm như thế nào hả các bạn?
chỉ mình với

- - - Updated - - -

Ai biết làm skill metamorphosis(Base Order) nhưng ko có cái thời gian chạy.Giúp em với cho em cái trigger cụ thể nhé,em cảm ơn trước

chỉnh cái Duration - Normal trong skill thành 0
 
ý bạn là giống skill Cripple ấy hả? cast vào 1 đứa là ngoài chạy thì ko làm đc gì hết phải ko?

ko,ý mình al2 khi mình cast thì nó sẽ gây dâmge xung quanh,mình sẽ không làm gì được ngoại trừ di chuyển
 
làm sao để set level của 1 skill trong spell book mọi ng nhỉ?
vd mình dùng trigger để add 1 skill spell book vào 1 hero, xong rồi mình muốn set level của tất cả các skill có trong spell book đó theo lv của spell book
thì làm như thế nào hả các bạn?
chỉ mình với

- - - Updated - - -



chỉnh cái Duration - Normal trong skill thành 0

Không đc bạn ơi vẫn có.Mà tôi muốn làm từ based order cơ
 
ko phải bạn ơi.Mình muốn biến thành ko có thời gian chạy nhưng VD sau 50s trở lại thành thằng cũ
 
Back
Top