Cách làm Map đây - Topic hỏi đáp cho anh em

Status
Không mở trả lời sau này.
hic ai chỉ giúp em cái này đi mà, vẫn chưa biết làm sao mà tính % được :(

Spell sẽ làm tương tự như spell này
Imediate kill
Events
Unit - A unit Is attacked
Conditions
((Unit-type of (Attacking unit)) Equal to Ogre Lord) and ((Life of (Attacked unit)) Less than or equal to (Real(((Level of Two Heads Power for (Attacking unit)) x 200))))
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 100) Less than or equal to 10
Then - Actions
Animation - Play (Attacking unit)'s Attack slam animation
Floating Text - Create floating text that reads Critical Hit! above (Triggering unit) with Z offset 3.00, using font size 10.00, color (100.00%, 40.00%, 40.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
Unit - Kill (Attacked unit)
Wait 1.00 seconds
Floating Text - Destroy (Last created floating text)
Else - Actions
Do nothing

Sử dụng lệnh:
(Random integer number between 1 and 100) Less than or equal to 30
=> Action của 30% này
(Random integer number between 31 and 100) Less than or equal to 60
=> Action của 30% tiếp
(Random integer number between 61 and 100) Less than or equal to 90
=> Action của 30% còn lại

Chả rõ đúng hay không mà đại loại là như thế :))
 
có trigger nào làm hiển thị số dam mà unit bị đánh nhận được cho mình xem ko vậy? giống như trong defiance hay là skill ulti của Des trong dota vậy đó!!! Cảm ơn các bạn nhiều!
 
Qua Topic "Jass - ngôn ngữ cơ bản của WE " có 1 Map hướng dẫn về hiển thị Dmg ,nhưng chỉ là hiển thị Dmg khi Unit bị tấn công ,còn Spell thì thêm Condition Spell Used nữa ( hình như ghi sai bét tên rồi thì phải :| )
 
thank Minhtan nhiều nhé, quên mất con Ogre :P
 
Cho em hỏi 1 cái: Khi mình làm phép bằng trigger thì unit cast phép đó sẽ ko mất mana, vậy làm sao cho phép đó cast mất mana được? Và phép đó có 4 lvl thì ko lẽ qua mỗi lvl mình làm 1 phép khác nhau?

Đừng chỉ pằng Jass, em mới tập làm map thôi T_T

p.s: Lục lại 148 trang chắc em chít ><
 
CO' AI BIT' XAI` chuong trinh` WEU chi em voi' em co' ma` ko bit' dung`....
 
CO' AI BIT' XAI` chuong trinh` WEU chi em voi' em co' ma` ko bit' dung`....

Trình này cũng giống hệt WE có gì mà ko dùng được. Nó có nhiều lệnh hỗ trợ hơn thôi mà
___________________________
Cho em hỏi 1 cái: Khi mình làm phép bằng trigger thì unit cast phép đó sẽ ko mất mana, vậy làm sao cho phép đó cast mất mana được? Và phép đó có 4 lvl thì ko lẽ qua mỗi lvl mình làm 1 phép khác nhau?

Đừng chỉ pằng Jass, em mới tập làm map thôi T_T

p.s: Lục lại 148 trang chắc em chít ><

Sao lại không mất ? VD làm 1 chiêu khi quăng búa stun vào đầu nó thì sét giật nó 3 lần. Vậy thì khi cast chiêu storm bolt ( vd ) thì tất nhiên sẽ mất mana
 
Cho em hỏi 1 cái: Khi mình làm phép bằng trigger thì unit cast phép đó sẽ ko mất mana, vậy làm sao cho phép đó cast mất mana được? Và phép đó có 4 lvl thì ko lẽ qua mỗi lvl mình làm 1 phép khác nhau?

-Muốn làm phép bằng trigger thì tất nhiên phải có một cái phép gốc nào đó mình lấy ra chỉnh sửa lại thông số, giả sử dặt tên "my spell". Sau đó mới dùng
trigger để tạo hiệu ứng nào đó, chắc chắn phải có event "a unit begin casting an abi/ begin effect of an abi....."
condition: abi equal to "my spell"..

Ví dụ như thế, vậy nếu my spell tốn mana thì khi cast nó vẫn mất mân như thường.
Còn làm từng level thì dùng action" if/then/else"
Hoặc "if/then/multiple action"
 
Hơ...ai chỉ cho tui 1 cái Turtorial Multip Spell bằng PDF file được không ? Hay là hướng dẫn ngay trên Forum cũng được
Mô tả thứ cần hướng dẫn : làm thế nào khi Cast 1 Spell thì khi Spell đó hết tác dụng lại nhảy ra 1 Spell khác ,hoặc là Cast 1 lúc nhiều lần Spell
VD : Cast xong Inferno ,tạo 1 Shockwave nơi Targer Inferno ,hoặc là Cast 1 lúc 3 Shockwave với góc độ là 60*/90*/120*
Và hướng dẫn giùm cái Trigger Order Cast Spell (lâu quá quên :( )
VD : Unit "A" Attack Unit "B" ,nhưng Trigger ra lệnh Unit "A" Cast 1 Spell nào đó ,và Spell này là Custom Spell
Mong là có người hướng dẫn đầy đủ 2 phần câu hỏi :|
 
-Muốn làm phép bằng trigger thì tất nhiên phải có một cái phép gốc nào đó mình lấy ra chỉnh sửa lại thông số, giả sử dặt tên "my spell". Sau đó mới dùng
trigger để tạo hiệu ứng nào đó, chắc chắn phải có event "a unit begin casting an abi/ begin effect of an abi....."
condition: abi equal to "my spell"..

Ví dụ như thế, vậy nếu my spell tốn mana thì khi cast nó vẫn mất mân như thường.
Còn làm từng level thì dùng action" if/then/else"
Hoặc "if/then/multiple action"

bạn có thể chỉ rõ hơn về vấn đề lvl skill được ko?
 
nếu mỗi level bạn có nhiều action khác nhau thì dùng if/then/multiple action.
Còn nếu mỗi level bạn chỉ cho 1 action thôi thì dùng if/then/else.
-Đại khái như sau:

-event: a unit begin casting a spell
-cond: ability being cast equall to "my spell"
-act:
+If level of ability being cast equall to 1, then "action" else do nothing
+If level of ability being cast equall to 2, then "action" else do nothing
+If....
 
Nhung ma` WE khi em edit 1 map va` them vao` advance trigger nhung vao` map thi` ko thay' trigger moi' nao` ma` y cu~ ko hiu~ tai. sao....ma` doi khi em vao` cai' no' ra path unsuccessful gi` do' ..giup em voi...
 
Mở WE Enchance lên ,bấm Edit map ,sau đó Check Advance Trigger ,sau đó bấm Optimize ,nếu không bấm thì coi như...lỗi búa lua xua
 
VD : Cast xong Inferno ,tạo 1 Shockwave nơi Targer Inferno ,hoặc là Cast 1 lúc 3 Shockwave với góc độ là 60*/90*/120*
--------------------------------------------------------------
phiền bạn down CAT's team 3.9 về mở ra tham khảo 2 spell Moon Stone Fall hay Multi Shockwave, có gì ko hiểu thì hỏi thêm...

Còn vẫn chưa làm được thì bạn xem bài Trigger - new bie tham khảo của mình
http://gamevn.com/showthread.php?t=289759

bài này hướng dẫn chi tiết cho bạn cách làm những gì bạn cần

Và hướng dẫn giùm cái Trigger Order Cast Spell (lâu quá quên :( )
VD : Unit "A" Attack Unit "B" ,nhưng Trigger ra lệnh Unit "A" Cast 1 Spell nào đó ,và Spell này là Custom Spell
----------------------------------------------------------------
spell là custom spell nhưng cũng phải base trên 1 spell nào đó đúng ko ?(tức là ban đầu bạn copy spell đó sau đó sửa đi chỉ số của spell đó + đổi tên spell... nhưng base spell của nó thì ko đổi, có thể nhìn vào String Order - Active/deactive của spell đó)

ví dụ bạn
base trên Holy light thì Order = Human - Paladin - HolyLight
base trên chain lightning thì Order = Orc - Far Seer - Chain Lightning
base trên Storm Bolt thì Order = human - Mountain King - Storm Bolt
 
Hơ...cái bài TRIGGER to đùng vậy mà không thấy >.< ,cám ơn anh hyaTHa
 
Các bác biết làm sao để khi hero attack 1 unit thì nó hiện lượng máu của unit bị mất lên không giống chiêu critical ý
với lại làm sao để hiện máu mà sau con số đó không có ###.000 em thử roài nhưng nó vẫn hiện lên ###.0 hix
mong các bác chỉ giúp
 
em xin hoi~ 1 cai' trigger......co' ai bit' lam` skill cua egina trong Dota ko, chieu cuoi', chieu ma` no' tao. ra 1 wa~ cau` roi` hut' tat' ca unit enemy gan` do' vao` roi` lat' sau..bomm....em muon' hoi~ la` cai' trigger de hut' unit tu` tu` vao` wa~ cau` do'...may' anh giup em.....hic...
___________________________
chan' wa' may' anh oi....em co' cai' map ma` sao trong WE thi` trông no' đep va` gon. gàng lám...hic..ai ngo` upload len epicwar...nhin` cai' map no' xấu kinh khũng...hen` chi ko ai them` choi...em ko bit' lam` map đẹp huhuhuhuhuhu...phi' cong suc' wa'''''''''...nen em thay đổi = 1 cai' dau' ??...hic..vay la` ko ai thay' dc cai' hinh` dang. xau' xi' cua cai' map nua~...huhuhuuhuhuh......
 
ma` thui,em cung~ lam` dc rui`..kekeke...moi' thui....
 
em đang thử mò cái Jass 1 tí, đọc hiểu được 1 ít rồi. Mở 1 vài map viết = jass ra thấy nó có gọi mấy cái hàm(nó tạo) rồi đưa tham số vào nữa. Giống như cái này (vd thôi)
function RemoveUnitTimed takes unit u, real wait returns nothing
call TriggerSleepAction(wait)
call RemoveUnit(u)
endfunction

function ...
local unit d = CreateUnit(Player(15),'hfoo',0,0,0)
call RemoveUnitTimed.execute(d,5)

set d = null
endfunction
cái chỗ RemoveUnitTimed.execute(d,5) đưa vào WE là thành lỗi, vậy dùng gì để chỉnh sửa map viết = jass bây giờ? Mấy cái hàm đó dùng như thế nào?
ai rành về jass giúp em nha, em đang cần gấp lắm:(
 
Bạn nên tạo 1 timer chứ ko nên chờ (TriggerSleepAction) như vậy vì chờ kiểu này sẽ lâu hơn real wait đó, vả lại trigger mà call function này cũng sẽ phải chờ nên sẽ có sự sai lệch về thời gian. VD: nếu sau "call RemoveUnitTimed(d,5)" bạn muốn làm gì đó luôn thì lại phải chờ.



function H2I takes handle h returns integer
return h
return 0
endfunction

function LocalVars takes nothing returns gamecache
if udg_Cache == null then
call FlushGameCache(InitGameCache("somename"))
set udg_Cache = InitGameCache("somename")
endif
return udg_Cache
endfunction

function SetHandleHandle takes handle subject, string name, handle value returns nothing
if value==null then
call FlushStoredInteger(LocalVars(),I2S(H2I(subject)),name)
else
call StoreInteger(LocalVars(), I2S(H2I(subject)), name, H2I(value))
endif
endfunction

function GetHandleUnit takes handle subject, string name returns unit
return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
return null
endfunction
//==============================================
function RemoveUnitTimedE takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit d = GetHandleUnit(t,"StoreUnit")
call RemoveUnit(d)
call SetHandleHandle(t,"StoreUnit",null)
call DestroyTimer(t)
set d = null
set t = null
endfunction

function RemoveUnitTimed takes unit u, real wait returns nothing
local timer t = CreateTimer()
call TimerStart(t,wait,false,function RemoveUnitTimedE)
call SetHandleHandle(t,"StoreUnit",u)
set u = null
set t = null
endfunction


Ở trên có function H2I, LocalVars, SetHandleHandle, GetHandleHandle là các function trong Local Handle Vars của Kattana dùng để store(nhớ) các local var khi muốn dùng 1 var ở 2 function khác nhau.
SetHandleHandle dùng để nhớ unit u với timer t, sang function RemoveUnitTimedE thì timer t là GetExpiredTimer(). Để lấy unit u đã nhớ với timer t ở function RemoveUnitTimed thì tui dùng GetHandleUnit.
Trong function SetHandleHandle takes handle subject, string name, handle value thì
subject là timer t
name là "StoreUnit"
value là unit u

Còn function GetHandleUnit takes handle subject, string name thì
subject là timer t
name là "StoreUnit"

sau đó function này sẽ trả cho ta unit u, nếu ko store unit nào cho name này thì function sẽ trả null (=no unit)

Lúc chưa biết function này thì việc lấy local var của function này dùng vào function khác hơi khó, có lẽ phải dùng 1 global var nhg như thế sẽ rất dễ trùng nhau.

À mà khi call 1 function thì chỉ cần call <tên function>(cái function takes) chứ không cần ".execute" đâu. Và khi viết 1 function bạn nên lùi vào một chút.(thường thì là 4 lần cách)
function ...
<lùi>call ...
endfunction
nếu bạn lùi vào thì bạn có thể gọi function này ở các trigger khác(nhg phải ở dưới function này)
----------------------------------
bạn copy toàn bộ script này rồi paste vào đây:
bạn ấn vào 1 rồi paste xuống dưới "Custorm Script Code:" ấy, nhớ tạo 1 global var: Cache, type GameCache
untitle.jpg

xong save vào, rồi bây giờ thoải mái mà dùng.
----------------------------------
Tui diễn đạt như vậy chắc hơi khó hiểu mong bạn thông cảm cho. :D
Tui có gửi kèm cái script này đấy.
 

Attachments

Status
Không mở trả lời sau này.
Back
Top