Topic hỏi đáp (tập 4) về cách làm map

Status
Không mở trả lời sau này.
Nếu dùng timer thì truyền tham số lưu vị trí cast spell,thông số item + attributes của caster như nào anh ? E chưa hình dung ra dùng các mảng như nào??

Cái chain spell của anh,em định làm nó MUI,tức là biến em định lưu vào local integer để dùng wait được,nhưng khi viết tham số cho các biến mảng thì toàn phải dùng custom script(thế mới cho tham số là biến local vào mảng được).

Nhưng đến đoạn pick unit group thì quá phức tạp...(check điều kiện),cái này bắt buộc phải học JASS hả anh,có "mẹo" nào sử dụng biến local làm tham số trong mảng ko anh?

Hoặc là có cách nào làm chain spell MUI với wait mà chỉ dùng GUI,không sử dụng đến biến local hoặc sử dụng ít ko anh?

Có cách nào lưu 1 biến unit lại ko anh?
Vd em set GDD_DamageSource = unit X
set hero[a]= GDD_DamageSource
--> khi GDD_DamageSource = null thì hero[a]= null luôn.
Em muốn hero[a] luôn = unit X (sau khi mình đã set nó = unit x) thì làm thế nào?

dùng vJass thì có struct, một struct thì có thể lưu được nhiều dữ liệu, bản thân nó thì được coi như một integer

có system để gắn 1 struct cho timer
---
với GUI thì anh ko rõ phải làm sao... chắc chỉ có Hashtable mới làm được vụ này.

dùng Hashtable thì cần 2 key, key thứ nhất thì dùng Hashtable - Get Handle ID - lấy id của một unit làm key (mỗi unit có một ID riêng nên ko sợ bị trùng), còn key thứ 2 thì dùng Hashtable - Get String ID thì lấy id của một string.

tuy nhiên, dùng Hashtable ở GUI hơi lằng nhằng, phải có một biến kiểu handle - ví dụ: TempHandle rồi dùng Custom Script: set udg_TempHandle = <unit> sau đó lấy Id của TempHandle

em là người mới nên cho hỏi "xe" là gì ??? hướng dẫn sử dụng và link download. Thanks

xe (link: http://www.wc3c.net/showthread.php?t=101150 ) là một hệ thống bao gồm:
  • xecast dummy caster
  • xesfx tạo special effect có thể di chuyển
  • xepreload preload các ability
  • xedamage dùng để deal dmg: target, AoE,...
  • xecollider tạo missile có thể collide (chạm) vào unit -> chạy trigger khi chạm

hướng dẫn sử dụng thì... chịu khó đọc ở link nhé.
 
Bác nói rõ đi, em cũng add blink nhưng nó chả thấy gì cả [-X
.
___________Auto Merge________________

.
Em chọn cái blink (Item version) ấy
Sao ko ai chỉ hết dạ..................... [-X
 
Cái xe này thực ra rất hay, dummy abilities, sfx bay lượn đủ kiểu, custom damage...chỉ cần nó thôi là đủ làm custom spells rồi, mà lại không lo lag, leak...Cách dùng cũng đơn giản lắm, xem qua mấy cái example là hiểu ngay thôi.
Khuyến cáo ko nên dùng GUI....
 
vậy "xe" có thể dùng cho GUI ko hay là chỉ dùng cho Jass và hướng dẫn e vài câu lệnh thường dùng để xài "xe" trên GUI. Thanks
p/s: cái này thấy hay wa' nên phải hỏi nhìu vậy :D
 
nếu như anh nói thì dùng trong GUI chỉ xài đc Xecast la tao dummy cast thoi chứ ko thể làm Sfx bay lượn và gây damage à ??
P/s xe là 1 libary nên chỉ cần copy cái libary vào map mình là xong phải ko ??
 
Nếu chỉ dùng để cast dummy spells thì xecast là đủ, và như Tom nói kết hợp được với GUI. Còn mấy cái module khác thì tốt nhất VJass thẳng tiến.
Copy library, import dummy unit và thay rawcode, done !
 
làm sao để skill dark ritual của lich ko yêu cầu undead unit vậy các a
 
Trigger thôi bạn ạ,ko chỉnh được đâu.
 
Untitled Trigger 001
Events
Map initialization
Conditions
Actions
Hashtable - Create a hashtable
Hashtable - Save 0.00 as 0 of (Key (Target point of ability being cast)) in (Last created hashtable)

Dùng world editor 1.24 thì dùng được cái Get Handle ID là 1 function như trên,còn dùng new gen 1.21b thì cái đoạn sau phải lưu vào biến Handle.Có cách nào sửa newgen/update newgen để có thể dùng như 1.24 ko các anh?

Cho em hỏi cái function ở CS 16.0 này,làm sao cho nó damage enemy only và damage cả neutral.

set dg=DamagerGroup_Create(u,100.0, 0.2, 100.0, dopt )

Em đã thử nhét call DamageOnlyEnemies() hoặc set cs_dopt_EnemyAlly=0 nhét vào trên hay dưới dòng đó đều không được?

Nó chỉ damage đúng mình và đồng đội :(

//edit: đã tìm ra tại sao

Giờ lại nảy sinh vấn đề: Function trên không thể damage unit có HP > 65536 ....
 
Chỉnh sửa cuối:
Là ấn CTRL + D ở object editor rồi thay cái mã unit vào trigger basic.
Vd e000:ewsp thì e000 là raw-code của unit,ewsp là rawcode unit-type,thay cái e000 vào .
 
Kỳ quá::

set dopt=DamageTypes(ATTACK_TYPE_MAGIC, DAMAGE_TYPE_FIRE) + DamageOnlyEnemies()
-->Deal dame đc cho unit <120k máu

set dopt=DamageTypes(ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE) + DamageOnlyEnemies()
set dopt=DamageTypes(ATTACK_TYPE_CHAOS, DAMAGE_TYPE_FIRE) + DamageOnlyEnemies()
-->Damage unit dưới 65k máu,là tại sao nhỉ???
 
Cho hỏi cách làm Skill càng đánh thì attack Speed càng tăng. Thanks
 
YEAHHH,ko cần vexorian tự mình đã sửa được caster system :))

Giờ unit có 100 triệu máu cũng lên dame:))

...Cho em hỏi skill Roar:

-Bỏ check self,check not self ---> nó buff cả enemies.
-Để bình thường thì ko remove buff roar = trigger được.

Sao kỳ vậy?
 
Chỉnh sửa cuối:
cho em hỏi:
1. Chiêu Omnislash làm thế nào...
2. Làm sao để khi chọn hero Demon Hunter là đã biến thành con quỷ màu đen sẵn rồi.
 
Status
Không mở trả lời sau này.
Back
Top