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

Status
Không mở trả lời sau này.
trong số các standard ability của war 3 thì có spell nào có projectile mà chỉ gây dmg mà ko có Lightning Effect hay bất kì loại buff nào tác động lên target ko (Như kiểu chain lightning mà ko có lightning effect ấy)?

Dùng chain lightning, xóa lightning đi '@^@|||
 
Dùng chain lightning, xóa lightning đi '@^@|||

Có thử rồi nhưng nó lại ko có projectile 8-|

---------- Post added at 22:51 ---------- Previous post was at 22:47 ----------

@Ryanpzo9:

Lightning Attack được đấy :| bỏ dòng gây effect là ok

Vấn đề là cái này nó phải attack. Ý tôi ở đây là 1 skill target mà có projectile giống fire bolt ấy nhưng mà ko có effect stun slow v..v.. gì hết. Chỉ đơn giản là gây dmg thôi :|
 
@Ryanpzo9:

sự thật là có mà target point and unit thôi Crushing Wave, v.v. còn có target bay cái projectile chỉ có Storm Bolt :-? sao cậu hok cho thời gian stun của storm bolt là 0.01 :-/ còn ko thì nhờ trigger can thiệp :-"
 
Ai hướng dẫn tui cách create dummy thành hình trái tim, như skill uli của Arthas trong Dota hộ cái
Dota chả có sẵn cái nào như thế, ngoại trừ việc mua 1 đống gà ra xếp hình rồi cho Omniknight chơi ulti =))

Vấn đề là cái này nó phải attack. Ý tôi ở đây là 1 skill target mà có projectile giống fire bolt ấy nhưng mà ko có effect stun slow v..v.. gì hết. Chỉ đơn giản là gây dmg thôi :|

1) Cái cậu nói tôi nghĩ ngay đến Death Coil =))
2) Vậy câu sao ko nghĩ ngược lại, với cả đống ability ném missle và effect thế, Blizzard tạo ra 1 ability ném missle bình thường ko effect chỉ gây damage để làm gì ? Chẳng phải là phế và vô ích =)). Ít ra Finger of Death còn có chút khác thường (damage lớn) chứ cái cậu yêu cầu thì.. :-(||>
 
Ai gợi ý cho mình làm cái trigger unit take damage với,ở đây mình muốn unit take damage là attacked unit (khi thằng attacked nhận damage thì trigger mới hoạt động)

Làm kiểu bên dưới thì ổn,xài tốt nhưng thằng Damage source gây ra damage kiểu gì,to hay nhỏ thì trigger cũng hoạt động (ví dụ cast ability vào thằng kia mất máu,có item gây damage aoe mỗi giây.v.v. cũng hoạt động)

Ở đây mình chỉ muốn kiểu như thằng "attacked" nhận damage thì trigger mới hoạt động thôi,mình thử làm kiểu Unit attacked,Add to trigger xxx event attacked unit take damage mà nó lỗi quá,không xài được.

Ai giúp với


Mã:
SS Int
    Events
        Time - Elapsed game time is 0.00 seconds
    Conditions
    Actions
        Set TempGroup2 = (Units in (Playable map area))
        Unit Group - Pick every unit in TempGroup2 and do (Actions)
            Loop - Actions
                Unit Group - Add (Picked unit) to TakeDamGroup2
                Trigger - Add to SS Take <gen> the event (Unit - (Picked unit) Takes damage)
        Custom script:   call DestroyGroup( udg_TempGroup2 )

Mã:
SS TakeDamage
    Events
        Unit - A unit enters (Playable map area)
    Conditions
        ((Triggering unit) is in TakeDamGroup2) Equal to False
    Actions
        Unit Group - Add (Triggering unit) to TakeDamGroup2
        Trigger - Add to SS All <gen> the event (Unit - (Triggering unit) Takes damage)
 
Chỉnh sửa cuối:
projectile
Cho mình hỏi cái ở trên là gì thế?
 
Pro nào chỉnh giùm e skill Lightning Arrow (Autocast) trong map của e giùm với [Đính kèm ở dưới]. Em tìm hoài mà k thấy lý do nó k hoạt động mặc dù save k báo lỗi gì '+_+. Trong F4 [Trigger Editor] thì nó là FireStacking. Pro nào giúp e nha [Tks nhìu] View attachment Legend Of Champion.rar
 
@Ngoc LeO:

cái đó có thể xài jass Damage Event thay vì xài Taken Damage, nếu xài taken damage thì cho nó check buff như skill có Stacking :-?

@fantom2409:

projectile, là chỉ 1 vật gì đó phóng ra. bọn mình đang nói cái cục gì đó phóng ra mà không gây damage :|
 
Mong pro nào có thể làm thì làm giúp mình, còn không thì nói k ai làm chứ đừng làm lơ post của mình như vậy :(

Cậu thật quá vip, bọn tớ gà ko làm được và còn phải báo cáo cho cậu là bọn tớ ko làm được nữa sao :-))

Thứ 1: Chiêu Shadow Meld, của con Layana trong dota.
Thứ 2: Là cái chiêu 2 của con VS trong dota(cái chiêu mà nó đẩy ra cái làn sóng, trừ giáp và trừ damage mấy con creep trên đường đi của nó đó)
Thứ 3: Mình định làm một chiêu mà khi cast ra nó sẽ target của nó về phía trước khoảng 250 range
Mong bạn chỉ dùm.

Mấy cậu học cơ bản trước khi hỏi về những cái nâng cao được hem :(

Thứ 1: Chiêu Shadow Meld, của con Layana trong dota.
Mình biết chiêu này base từ windwalk và khi dùng chiêu thì lập tức hold position Rồi sau đó bật 2 trigger
- Every # second để kiểm tra nếu unit dời vị trí (ở 1 vị trí khác lúc starts ability effect) thì xóa buff Meld đi
- Trigger khác là kiểm tra nếu có 1 unit bị dam bởi unit có buff Meld thì dùng dummy cast skill trừ giáp base từ Item Attack Corruption Bonus chả hạn
Cái trigger thứ 2 có thể đổi thành Unit is attacked hoặc phải dùng system detect dam :-??
Thứ 2: Là cái chiêu 2 của con VS trong dota
- Lần lượt tạo các dummy ko có model hoặc model ko có gì để tạo sight + hú skill trừ giáp + tạo effect,
- rồi Unit - Add a # second Generic expiration timer to (Dummy) để giữ sight
Thứ 3: Mình định làm một chiêu mà khi cast ra nó sẽ .... target của nó về phía trước khoảng 250 range
Mình thật ko hiểu bạn định làm gì ?? đẩy à? Thế thì học làm knock back đi là OK

@dhg:projectile, là chỉ 1 vật gì đó phóng ra. bọn mình đang nói cái cục gì đó phóng ra mà không gây damage
Cho mình đính chính lại nhé là bạn Ryanpzo9 muốn có spell base chỉ đơn thuần gây dam và phóng ra cái rì đó
như rocket, missle, cục lửa đá, dép, gạch v.v... đều được gọi là projectile \m/
còn phóng ra cái gì đó mà ko gây bất cứ thiệt hại nào thì quá vãi .....
 
@fantom2409:
projectile: vật phóng ra, đạn bắn ra ( http://vdict.com/projectile,1,0,0.html )
Tại sao không tra từ điển thay vì hỏi nhỉ :-?

@Ngoc LeO: Muốn vậy thì phải phân biệt giữa damage attack (đánh thường) và damage spell. Mà muốn phân biệt giữa damage attack và damage spell thì phải "trigger" TOÀN BỘ spell có trong map và phải đụng chạm đến vJass. Nói chung là cách này không đơn giản/ Còn một cách thứ 2 là add cho hero một spell Orb Effect kiểu Slow Poison, chỉnh duration thành 0,01. Tạo 1 trigger, khi 1 unit nhận damage mà có cái buff của skill Slow Poison kia thì biết chắc đó là do attack -> cho trigger hoạt động.
 
Thử laguna blade or finger of death xem có buff ko? Hình như trong dota là ko buff thì phải :D

À ừ nhỉ,2 spell đấy oánh ra lightning.

Dùng xecast thôi :P
 
Chỉnh sửa cuối:
mình muốn làm 1 cái spell , khi sử dụng vào mục tiêu thì hất mục bay lên phía trước ( giống item trong map Pudge ấy ), ai bik thì giúp mình với nha:)
 
•NgocLeo: cần phải cho một trigger nho nhỏ check thử xem đang xài spell hay là đánh thường. chúng ta hãy kiểm tra nó qua một boolean. em tạo nó tên là bCheck array (array nếu muốn MUI) và một biến Integer, hãy đặt custom value đối với những unit đặt vào map, nếu muốn dùng tốt hơn hãy dùng các hỗ trợ Index bên jass.
Bắt đầu làm ta có:
Sự kiện: Một đơn vị bắt đầu dùng phép
Điều kiện: Đơn vị đó là ai? -> là kẻ mỗi lần đánh thì gây đam cho kẻ bị đánh
Hành động:
set integer=GetUnitId(Đơn vị dùng chiêu-> GetTriggerUnit()) // hoặc // Player number of (Triggering unit)
set bCheck[integer]=true
xong thì nên cho biến kiểm tra khi gây đam, nếu bCheck[integer] mà bằng true, ta set nó bằng false, nên nhớ trước khi set phải Wait 0.02 giây. Và nên không cho array cố định khi set kẻo nó hỏng(vd thay vì set integer để set bCheck[integer] sau 0.02s mà làm bằng cách set bCheck[GetUnitId(GetDamageEventSource())])=true), còn nó bằng false, thong thả gây dam!
 
Pro nào chỉnh giùm e skill Lightning Arrow (Autocast) trong map của e giùm với [Đính kèm ở dưới]. Em tìm hoài mà k thấy lý do nó k hoạt động mặc dù save k báo lỗi gì '+_+. Trong F4 [Trigger Editor] thì nó là FireStacking. Pro nào giúp e nha [Tks nhìu] View attachment 149935

Quote lần 1, mong pro giúp đở....................................
 
•NgocLeo: cần phải cho một trigger nho nhỏ check thử xem đang xài spell hay là đánh thường. chúng ta hãy kiểm tra nó qua một boolean. em tạo nó tên là bCheck array (array nếu muốn MUI) và một biến Integer, hãy đặt custom value đối với những unit đặt vào map, nếu muốn dùng tốt hơn hãy dùng các hỗ trợ Index bên jass.
Bắt đầu làm ta có:

xong thì nên cho biến kiểm tra khi gây đam, nếu bCheck[integer] mà bằng true, ta set nó bằng false, nên nhớ trước khi set phải Wait 0.02 giây. Và nên không cho array cố định khi set kẻo nó hỏng(vd thay vì set integer để set bCheck[integer] sau 0.02s mà làm bằng cách set bCheck[GetUnitId(GetDamageEventSource())])=true), còn nó bằng false, thong thả gây dam!

"Cách" này chắc chắn sẽ bug tùm lum.
Đơn cử, con hero đó có 1 spell buff hoặc 1 item dạng buff, chả gây damage cho ai cả. Như vậy khi nó cast spell xong rồi đánh thì chả phải đòn đánh đó k có tác dụng gì mà đáng nhẽ ra nó phải có ? Chưa kể còn có wait.

Cách dùng Orb Effect là ổn nhất rồi. Cụ thể xem post này: http://forum.gamevn.com/showpost.php?p=12195058

P/s: Cái vụ spell chỉ gây damage mà k có hiệu ứng gì thì dùng Death Coil như trên. Còn không muốn dùng Death Coil nữa thì tự tay trigger, thế là xong :-@.
TOM: dùng Acid Bomb ấy, cho buff thời gian 0.01 và không slow/trừ armor là được.
 
Last edited by a moderator:
Tại sao đặt Wait anh biết không?
Thứ nhất, khi dùng spell, sẽ tính đến hai trường hợp, Đơn lẻ và AOE dam. Nếu không kể hàm wait thì AOE sẽ bị bug.
Lí do của 0.02 s: Khi xài một ability, một unit không thể nào xuất ra một đòn đánh khác nhanh hơn 0.02s được!

Còn nếu muốn không bug? Add một buff cho unit đó, mỗi giây gây dam!

---------- Post added at 10:04 ---------- Previous post was at 10:02 ----------

còn bug của nó tùy vào người dùng thôi! nếu muốn an toàn thì thêm một cái boolean nữa, ta sẽ cho boolean đó kiểm tra xem gây một lần dam hay nhiều lần dam!

---------- Post added at 10:06 ---------- Previous post was at 10:04 ----------

cho em hỏi tại sao map của em dùng Soul Burn thì bị lag kinh hồn, tới mức out cả game mới hết hoặc khi unit dính mất buff mới hết, em không có xài trigger nào để làm chiêu đó cả, chỉ cho cast thôi!
 
Mình có vài câu hỏi nhỏ, xin ai đó biết trả lời hộ mình với:
1) Mình thường bị báo lỗi "Function ... must not take any arguments when use as code" do gọi function ở 1 trigger khác nhưng map vẫn chạy và trigger bình thường, vậy lỗi đó có nghiêm trọng không ?
2) Tại sao có hàm BJ và hàm ko, vd UnitAddAbility và UnitAddAbilityBJ chỉ khác nhau thứ tự đặt input ?!
3) call Destroytrigger() có tác dụng gì ?
 
Chỉnh sửa cuối:
Mình có vài câu hỏi nhỏ, xin ai đó biết trả lời hộ mình với:
1) Mình thường bị báo lỗi "Function ... must not take any arguments when use as code" do gọi function ở 1 trigger khác nhưng map vẫn chạy và trigger bình thường, vậy lỗi đó có nghiêm trọng không ?
2) Tại sao có hàm BJ và hàm ko, vd UnitAddAbility và UnitAddAbilityBJ chỉ khác nhau thứ tự đặt input ?!
3) call Destroytrigger() có tác dụng gì ?
Tui chỉ biết cái thứ 3, ví dụ cho dễ, có trigger A bị call Destroy thì sau này có trigger B C D Turn on hay Run lại A cũng ko chạy đc nữa
 
1) Mình thường bị báo lỗi "Function ... must not take any arguments when use as code" do gọi function ở 1 trigger khác nhưng map vẫn chạy và trigger bình thường, vậy lỗi đó có nghiêm trọng không ?
Lỗi 1 mình ko rõ lắm nếu có code thì dễ hiểu hơn nhưng nôm na đại ý là function ko cần bất cứ tham số nào khi sử dụng cả.
Còn lỗi mà map vẫn chạy và ko có báo lỗi vẫn có thể xảy ra huống chi có báo lỗi :)), nhưng trigger có chạy bình thường ko thì còn tùy =>Tốt nhất là đừng để nó báo lỗi như thế
Đó là vì xung đột ở cách hiểu của trình biên dịch khiến cho có 1 số lỗi. Nhưng cũng 1 phần do cách đặt tên của người code ko có unique nên dễ gặp kiểu như vậy

2) Tại sao có hàm BJ và hàm ko, vd UnitAddAbility và UnitAddAbilityBJ chỉ khác nhau thứ tự đặt input ?!
Nhiều cái nó là giống nhau chỉ sắp xếp lại các tham số truyền vào (để dùng cho GUI còn về ý nghĩa thì ko có sự khác biệt nhưng về code thì mất thêm 1 lần gọi function) nhưng có 1 số cái BJ có thể dùng như tiện ích được và ko có cái tương đương cái BJ đó

3) call Destroytrigger() có tác dụng gì ?
FlameDrake nói là ví dụ cụ thể còn hiểu về mặt ý nghĩa là:
Trigger cũng cần tạo và có thể hủy giống như nhiều thứ khác trong WE nó cũng là 1 thể loại handle và có ID riêng biệt
 
Chỉnh sửa cuối:
Tại sao đặt Wait anh biết không?
Thứ nhất, khi dùng spell, sẽ tính đến hai trường hợp, Đơn lẻ và AOE dam. Nếu không kể hàm wait thì AOE sẽ bị bug.
Lí do của 0.02 s: Khi xài một ability, một unit không thể nào xuất ra một đòn đánh khác nhanh hơn 0.02s được!

Còn nếu muốn không bug? Add một buff cho unit đó, mỗi giây gây dam!

---------- Post added at 10:04 ---------- Previous post was at 10:02 ----------

còn bug của nó tùy vào người dùng thôi! nếu muốn an toàn thì thêm một cái boolean nữa, ta sẽ cho boolean đó kiểm tra xem gây một lần dam hay nhiều lần dam!

---------- Post added at 10:06 ---------- Previous post was at 10:04 ----------

cho em hỏi tại sao map của em dùng Soul Burn thì bị lag kinh hồn, tới mức out cả game mới hết hoặc khi unit dính mất buff mới hết, em không có xài trigger nào để làm chiêu đó cả, chỉ cho cast thôi!

Chả cần biết vì sao đặt wait. Chỉ biết là đặt wait trong trường hợp này chắc chắn sẽ bug. Hơn nữa, wait 0.02s thực chất là wait tầm 0.27~0.3s, nếu muốn chính xác phải dùng timer.
Và một khi nghĩ ra cách làm thì phải đảm bảo 100% là nó hoạt động bình thường. Đơn cử spell Healing Wave, chả gây damage cho đứa nào mà trigger như thế kia thì chắc chắn sẽ có vấn đề, chưa kể những passive gây damage spell thì định tính sao :-@ ?
Nói chung cách nào thì cách nhưng chắc chắn cách này không dùng được. Và trong số các cách tôi thấy cách dùng Orb Effect kiểu Poison ở trên là hợp nhất rồi.

-----------------------

Soul Burn có bị làm sao đâu nhở :-? ? Tôi vẫn dùng bình thường mà ?
 
Status
Không mở trả lời sau này.
Back
Top