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

Status
Không mở trả lời sau này.
Vào Reinventing the Craft của JassnNewGen và disable nó.
Sửa lỗi crash khi test map với NewGen

Vậy thử save map,bật War III vào map thử xem,nếu không host được map thì là do map lỗi rồi.

đã sửa được theo cách của bác lonewolf020291, tắt cái đó đi là được, post cho những ai bị những lỗi này thì làm theo bác lonewolf020291, nhưng cũng cảm ơn tất cả mọi người
Thân !
 
Mình xem một số demo spell jass,mình thắc mắc vài điều sau.

1.Biến Local cùng một tên (ví dụ local unit u = GetTriggerUnit(),trigger khác cũng dùng u)dùng nhiều trigger khác nhau,vậy nếu các trigger đó cùng hoạt động thì có xảy ra lỗi (vì không phải map mình nên mình khó mà test :( ) ? Trước trong GUI,mình dùng chung biến global cho nhiều trigger thường bị fatal error,không biêt với biến local thì sao ?

2.Mình thấy trong jass không cần dùng thêm một trigger với event every x.xx time (ví dụ để slide unit) mà dùng wait trong loop luôn với biến local mà vẫn hoạt động tốt ?

3.Có phải vì jass là dạng text nên "nhẹ" hơn,dùng mượt hơn ?

4.Jass có phải là vJass không ? Nếu không thì khác nhau thế nào ?

Cám ơn.
 
1. các biến local ở các trigger khác nhau thì khác nhau, cho dù nó cùng tên. Kể cả một trigger chạy nhiều lần thì cái biến local được khai báo trong đó cũng khác nhau. (lý do về vụ này phải chờ người khác giải thích, tôi chưa nghĩ ra nên nói sao cho dễ hiểu)

việc bị fatal là do bạn làm sai chỗ nào chứ đâu liên quan tới global hay local?

2. dùng wait được, đâu vấn đề gì? tuy nhiên dùng cho slide thì đâu có "mượt"?

3. nói về vấn đề nhẹ hơn lúc Edit thì đúng là nhẹ hơn, còn về chạy thì... gần tương đương, GUI nhiều text hơn JASS thôi

4. vJASS là JASS được thêm một số tính năng (tham khảo JassHelper manual) tuy nhiên bạn Edit bằng vJASS nhưng khi save map, vJASS sẽ được dịch ra JASS
 
Mình xem một số demo spell jass,mình thắc mắc vài điều sau.

1.Biến Local cùng một tên (ví dụ local unit u = GetTriggerUnit(),trigger khác cũng dùng u)dùng nhiều trigger khác nhau,vậy nếu các trigger đó cùng hoạt động thì có xảy ra lỗi (vì không phải map mình nên mình khó mà test :( ) ? Trước trong GUI,mình dùng chung biến global cho nhiều trigger thường bị fatal error,không biêt với biến local thì sao ?

2.Mình thấy trong jass không cần dùng thêm một trigger với event every x.xx time (ví dụ để slide unit) mà dùng wait trong loop luôn với biến local mà vẫn hoạt động tốt ?

3.Có phải vì jass là dạng text nên "nhẹ" hơn,dùng mượt hơn ?

4.Jass có phải là vJass không ? Nếu không thì khác nhau thế nào ?

Cám ơn.

1. Local trong Jass ở mỗi function ko ảnh hưởng gì nhau, ngoại trừ sử dụng chung biến globals định sẵn ở các library hoặc scope. Tuy nhiên, trong cùng một function sử dụng một biến local type u mà có hàm Wait đôi khi sẽ bị bug!
2. Ko, nếu vậy thì vẫn ko MUI và bug như GUI thôi= (nếu là cùng một function action) (nếu xài đc ng ta đâu có cần mò đến TimerUtils hay T32 library làm gì ==!)

đôi điều gửi đến anh! :5onion69:


p.s vâng em hiểu rồi anh ạh! thank anh nhìu! :5onion69: xưa h nghe anh Nestharus bên hive kêu bỏ bỏ nên cứ làm theo chứ có hỉu gì đâu... h mới bik :2cool_go:

p.s anh game_war48: hồi xưa em toàn dùng loop để move thấy nó giật giật, lâu lâu nghỉ move lun, cứ tưởng tại wait nó bug ... học đk nhìu thứ mới quá :x thank anh ha
 
Chỉnh sửa cuối:
1. các biến local ở các trigger khác nhau thì khác nhau, cho dù nó cùng tên. Kể cả một trigger chạy nhiều lần thì cái biến local được khai báo trong đó cũng khác nhau. (lý do về vụ này phải chờ người khác giải thích, tôi chưa nghĩ ra nên nói sao cho dễ hiểu)

Cứ hiểu theo kiểu 2 bạn cùng tên A trong 2 lớp khác nhau là khác nhau.
Có 2 function a và b, cùng một biến u, ta có thể hiểu biến u ở function a là u.a, còn function b là u.b.
 
Giờ em vẫn vẫn mãi hk hiểu, tại sao chuyển qua jass phải đổi các type call có BJ thành ko có BJ vậy? :4cool_confuse:

đây là hàm Unit - Add Ability của GUI:

Mã:
function UnitAddAbilityBJ takes integer abilityId, unit whichUnit returns boolean
    return UnitAddAbility(whichUnit, abilityId)
endfunction

BJ này không làm gì ngoài việc gọi native UnitAddAbility
vậy tại sao không gọi luôn UnitAddAbility?

việc gọi hàm, hàm này gọi native <-- bạn nghĩ nó "không mất bao nhiêu thời gian" nhưng với việc chạy nhiều lần hàm như thế này hay chạy trong timer với tần số cao (0.0x giây) thì sẽ khác rất nhiều.
 
2. Ko, nếu vậy thì vẫn ko MUI và bug như GUI thôi= (nếu là cùng một function action) (nếu xài đc ng ta đâu có cần mò đến TimerUtils hay T32 library làm gì ==!)

Vẫn MUI như bt. Dùng biến local thì chắc chắn sẽ chả ảnh hưởng gì đến nhau cả, chỉ có dùng biến global mới bị thôi.
Xài thì vẫn xài được nhưng nếu mà để làm slide thì sao mượt bằng được :)). Nếu không phải là dùng để slide hay move cái gì đó thì tôi cũng chả bao giờ dùng đến timer. Deal DPS tôi toàn dùng loop cho nó nhanh, đỡ khỏi tạo struct.

Cái thời tôi mới học Jass đã làm gì xài TimerUtils gì đâu :-j. Toàn dùng library LocalHandleVars xong rồi mãi về sau mới chuyển sang dùng TimerUtils các thứ.
 
Chỉnh sửa cuối:
Mình up lại 1 câu hỏi: các ability nhiều level, đổi casting time nhưng ko tác dụng. Có thể nào làm 1 spell có casting time giảm theo lv ko ?
 
Mình up lại 1 câu hỏi: các ability nhiều level, đổi casting time nhưng ko tác dụng. Có thể nào làm 1 spell có casting time giảm theo lv ko ?

tất cả các spell chèn casting time vào đều đc mà
 
cho ngoc hỏi nhé, ngoc tao dummy , chỉnh trong move-height : 300, để nó trong map thì thấy nó cao thật, nhưng mà dùng trigger creat unit thì nó thấp lè tè, mọi người giúp với
 
Mình up lại 1 câu hỏi: các ability nhiều level, đổi casting time nhưng ko tác dụng. Có thể nào làm 1 spell có casting time giảm theo lv ko ?

theo tôi biết thì không thể đổi được cast time theo level.
một cách thay thế là tạo nhiều ability đó, mỗi ability tương ứng với một level (có casting time thay đổi)
và có 2 cách sau:

C1: ability learn là một dummy ability, learn thì add ability 1, khi learn level 2 thì remove ability 1 và add ability 2 (cách này làm hỏng cooldown)

C2: cho hero trực tiếp learn ability 1. tạo Engineering Upgrade ability, upgrade ability 1 -> ability 2 (lvl1), ability 2 -> 3 (lvl2),...
khi learn level 2 của ability 1 thì add Engineering Upgrade cho hero (lúc này abiltiy 1 -> ability 2)
khi learn level 3 của ability 1 (lúc này đang là ability 2) thì đặt level của Engineering Upgrade lên 2 (lúc này ability 2 -> ability 3)

cho ngoc hỏi nhé, ngoc tao dummy , chỉnh trong move-height : 300, để nó trong map thì thấy nó cao thật, nhưng mà dùng trigger creat unit thì nó thấp lè tè, mọi người giúp với

Movement Type phải là: Hover hoặc Fly thì, khi chơi, unit mới có height.

tất cả các spell chèn casting time vào đều đc mà

"chèn casting time"? đang hỏi "các ability nhiều level, đổi casting time" và "1 spell có casting time giảm theo lv " cơ mà?
 
Chỉnh sửa cuối:
ngoc cài đặt cái EGUI, nhưng khi save map thì nó tô đen cái dòng này
Mã:
library EGUI initializer EGUIINIT requires TimerUtils

không biết là lỗi gì, mọi người chỉ với
 
ngoc cài đặt cái EGUI, nhưng khi save map thì nó tô đen cái dòng này
Mã:
library EGUI initializer EGUIINIT requires TimerUtils

không biết là lỗi gì, mọi người chỉ với

Có thể bạn chưa copy trigger TimerUtils của map mẫu trong EGUI (hình như EGUI.w3x). Tốt nhất là mở cái map đó ra copy toàn bộ category vào map bạn rồi save. (Dùng xdesign ko hay hơn sao :S)
 
Có thể bạn chưa copy trigger TimerUtils của map mẫu trong EGUI (hình như EGUI.w3x). Tốt nhất là mở cái map đó ra copy toàn bộ category vào map bạn rồi save. (Dùng xdesign ko hay hơn sao :S)

ngoc copy rồi, updata cái jasshelper lun rồi, mà sao chả hỉu bị gì nữa, ủa mà xdesign là gì thế, chỉ ngoc đi
 
cho em hỏi
1.làm sao để "bắt" event khi demon hunter chuyển từ dạng demon sang dạng thường......?
2.làm sao để k0 cho 1 hero k0 thể sử dụng item.. ( tức là k0 thể mua, bán, drop, chuyển cho hero khác....)???
 
1. Start an effect of an ability
2. vào Object Editor và False hết tất cả của item đó là chắc ăn nhất
 
èo! em muốn làm 1 cái ability cơ mà. buff vào rùi disable item luôn....... cám ơn về cái 1.

---------- Post added at 20:32 ---------- Previous post was at 20:29 ----------

à mà cái 1 cũng đâu có dc. em muốn bắt event lúc chuyển từ dạng trainform sang dạng thườn cơ mà.....
 
à vậy thì:
1. tạo 1 skill passive và có 1 cái buff
2. dùn trigger Events: A unit Acquires an item, Condition: Acquires Unit has a buff xxx, Disable item xxx

---------- Post added at 20:37 ---------- Previous post was at 20:34 ----------

èo! em muốn làm 1 cái ability cơ mà. buff vào rùi disable item luôn....... cám ơn về cái 1.

---------- Post added at 20:32 ---------- Previous post was at 20:29 ----------

à mà cái 1 cũng đâu có dc. em muốn bắt event lúc chuyển từ dạng trainform sang dạng thườn cơ mà.....

Nghĩa là unit đấy sử dụng 1 skill transform, xong hết thời gian thì chuyển lại dạng bình thường đúng ko

---------- Post added at 20:42 ---------- Previous post was at 20:37 ----------

hình như là... ko có events đó
 
chính xác là cái đó đó... có bác nào giúp em với..
 
Status
Không mở trả lời sau này.
Back
Top