Topic hỏi đáp cho anh em (Về cách làm map)

Status
Không mở trả lời sau này.
Ông Tom có thể hướng dẫn tui cách xài Recipe system đươc không, nhân tiện cho tui xin V mới nhất của cái đó cho an toàn
THX nhìu, đang mún giảm bớt lượng code cua map đi :D
 
Mình đang gặp lỗi với cái recipeSYS ver 0.6d,khi có quá nhiều recipe thì 1 số cái ko hoạt động.
 
pm cho thằng Artifical coi luci?...............................
 
À, mấy anh chị cho em hỏi cái này chút. Trong trường hợp mình ko coppy spell từ maps khác mà tải thẳng từ Hive Work về thì cài đặt vô maps làm sao, thế nào, điều chỉnh sức mạnh skill ra sao đc hem ạ ^_^
 
ai nghĩ cách làm hộ spell = GUI như sau:
dùng Xích kéo đối phưong lại mình ( xích tram ngừoi đối phưong mất máu ) và trong khoảng thời gian kéo , ngừoi đối phưong rỉ máu ra và mất máu từ từ .
 
spell đó là Chain Hook phải ko
ông chưa xem trigger của spell đó chưa sợ
tui post cho ông xem copy đc thì copy nha :wink: có MUI luon :D
Mã:
ChainHook 
Events 
Unit - A unit Starts the effect of an ability 
Conditions 
(Ability being cast) Equal to Chain Hook 
Actions 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
MUI Less than or equal to 10 
Then - Actions 
Set MUI = (MUI + 1) 
Else - Actions 
Set MUI = 1 
Set MUICaster[MUI] = (Casting unit) 
Set MUIPoint[MUI] = (Target point of ability being cast) 
Set TempPoint = (Position of MUICaster[MUI]) 
Unit - Create 1 ChainHook for (Owner of MUICaster[MUI]) at TempPoint facing (Angle from TempPoint to (Target point of ability being cast)) degrees 
Unit Group - Add (Last created unit) to ChainHookDummyGroup 
Set ChainHookDummys[((MUI x 100) - 99)] = (Last created unit) 
Set ChainHookDummyCount[MUI] = 1 
Unit - Set the custom value of (Last created unit) to MUI 
Custom script: call RemoveLocation (udg_TempPoint

Mã:
ChainHookSlide 
Events 
Time - Every 0.03 seconds of game time 
Conditions 
(ChainHookDummyGroup is empty) Equal to False 
Actions 
Unit Group - Pick every unit in ChainHookDummyGroup and do (Actions) 
Loop - Actions 
Set TempInteger = (Custom value of (Picked unit)) 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
MUITarget[TempInteger] Equal to No unit 
Then - Actions 
Set TempInteger2 = (((TempInteger x 100) - 100) + ChainHookDummyCount[TempInteger]) 
Set MUISlide[(Custom value of (Picked unit))] = (MUISlide[(Custom value of (Picked unit))] + 20.00) 
Set TempPointArray[1] = (Position of MUICaster[TempInteger]) 
Set TempPointArray[2] = (Position of MUICaster[TempInteger]) 
Set TempPoint = (TempPointArray[1] offset by MUISlide[TempInteger] towards (Angle from TempPointArray[2] to MUIPoint[(Custom value of (Picked unit))]) degrees) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Custom script: call RemoveLocation (udg_TempPointArray[2]) 
Set TempPointArray[1] = (Position of MUICaster[TempInteger]) 
Unit - Move (Picked unit) instantly to TempPoint, facing (Angle from TempPointArray[1] to MUIPoint[TempInteger]) degrees 
Custom script: call RemoveLocation (udg_TempPoint) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Set TempPoint = (Position of MUICaster[TempInteger]) 
Set TempPointArray[1] = (Position of ChainHookDummys[TempInteger2]) 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
(Distance between TempPoint and TempPointArray[1]) Greater than or equal to 45.00 
Then - Actions 
Custom script: call RemoveLocation (udg_TempPoint) 
Set TempPoint = (Position of MUICaster[TempInteger]) 
Set ChainHookDummyCount[TempInteger] = (ChainHookDummyCount[TempInteger] + 1) 
Set TempInteger2 = (((TempInteger x 100) - 100) + ChainHookDummyCount[TempInteger]) 
Unit - Create 1 ChainHook for (Owner of MUICaster[TempInteger]) at TempPoint facing (Facing of ChainHookDummys[(TempInteger2 - 1)]) degrees 
Set ChainHookDummys[TempInteger2] = (Last created unit) 
Custom script: call RemoveLocation (udg_TempPoint) 
Else - Actions 
Custom script: call RemoveLocation (udg_TempPoint) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
For each (Integer A) from 2 to ChainHookDummyCount[TempInteger], do (Actions) 
Loop - Actions 
Set TempInteger2 = (((TempInteger x 100) - 100) + (Integer A)) 
Set TempPoint = ((Position of ChainHookDummys[(TempInteger2 - 1)]) offset by 40.00 towards (Angle from (Position of ChainHookDummys[(TempInteger2 - 1)]) to (Position of ChainHookDummys[TempInteger2])) degrees) 
Set TempPointArray[1] = (Position of ChainHookDummys[TempInteger2]) 
Set TempPointArray[2] = (Position of ChainHookDummys[(TempInteger2 - 1)]) 
Unit - Move ChainHookDummys[TempInteger2] instantly to TempPoint, facing (Angle from TempPointArray[1] to TempPointArray[2]) degrees 
Custom script: call RemoveLocation (udg_TempPoint) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Custom script: call RemoveLocation (udg_TempPointArray[2]) 
Set TempGroup = (Units within 90.00 of (Position of (Picked unit))) 
Unit Group - Pick every unit in TempGroup and do (Actions) 
Loop - Actions 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
((Picked unit) is A structure) Equal to False 
((Picked unit) is alive) Equal to True 
(Picked unit) Not equal to MUICaster[TempInteger] 
Then - Actions 
Set MUITarget[TempInteger] = (Picked unit) 
Unit - Turn collision for MUITarget[TempInteger] Off 
Else - Actions 
Custom script: call DestroyGroup (udg_TempGroup) 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
MUISlide[(Custom value of (Picked unit))] Greater than or equal to 900.00 
Then - Actions 
Set MUITarget[TempInteger] = MUICaster[TempInteger] 
Else - Actions 
Else - Actions 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
MUITarget[TempInteger] Equal to MUICaster[TempInteger] 
Then - Actions 
Set TempInteger2 = (((TempInteger x 100) - 100) + ChainHookDummyCount[TempInteger]) 
Set TempPoint = ((Position of ChainHookDummys[TempInteger2]) offset by 20.00 towards (Angle from (Position of ChainHookDummys[TempInteger2]) to (Position of MUICaster[TempInteger])) degrees) 
Unit - Move ChainHookDummys[TempInteger2] instantly to TempPoint, facing (Angle from (Position of ChainHookDummys[(TempInteger2 + 1)]) to (Position of ChainHookDummys[TempInteger2])) degrees 
Custom script: call RemoveLocation (udg_TempPoint) 
For each (Integer A) from 1 to (ChainHookDummyCount[TempInteger] - 1), do (Actions) 
Loop - Actions 
Set TempInteger2 = (((TempInteger x 100) - 100) + (Integer A)) 
Set TempPoint = ((Position of ChainHookDummys[TempInteger2]) offset by 20.00 towards (Angle from (Position of ChainHookDummys[TempInteger2]) to (Position of ChainHookDummys[(TempInteger2 + 1)])) degrees) 
Set TempPointArray[1] = (Position of ChainHookDummys[(TempInteger2 + 1)]) 
Set TempPointArray[2] = (Position of ChainHookDummys[TempInteger2]) 
Unit - Move ChainHookDummys[TempInteger2] instantly to TempPoint, facing (Angle from TempPointArray[1] to TempPointArray[2]) degrees 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Custom script: call RemoveLocation (udg_TempPointArray[2]) 
Custom script: call RemoveLocation (udg_TempPoint) 
Set TempInteger2 = (((TempInteger x 100) - 100) + ChainHookDummyCount[TempInteger]) 
Set TempPoint = (Position of ChainHookDummys[TempInteger2]) 
Set TempPointArray[1] = (Position of MUICaster[TempInteger]) 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
(Distance between TempPoint and TempPointArray[1]) Less than or equal to 10.00 
Then - Actions 
Set ChainHookDummyCount[TempInteger] = (ChainHookDummyCount[TempInteger] - 1) 
Unit - Remove ChainHookDummys[TempInteger2] from the game 
Else - Actions 
Custom script: call RemoveLocation (udg_TempPoint) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
ChainHookDummyCount[TempInteger] Equal to 0 
Then - Actions 
Set MUISlide[TempInteger] = 0.00 
Unit - Turn collision for MUITarget[TempInteger] On 
Set MUITarget[TempInteger] = No unit 
Set ChainHookDistance[TempInteger] = 0.00 
Custom script: call RemoveLocation (udg_MUIPoint[udg_TempInteger]) 
Else - Actions 
Else - Actions 
Set TempInteger2 = (((TempInteger x 100) - 100) + ChainHookDummyCount[TempInteger]) 
Set TempPointArray[1] = (Position of MUICaster[TempInteger]) 
Set TempPointArray[2] = (Position of MUICaster[TempInteger]) 
Set TempPointArray[3] = (Position of ChainHookDummys[TempInteger2]) 
Set TempPoint = (TempPointArray[1] offset by 40.00 towards (Angle from TempPointArray[2] to TempPointArray[3]) degrees) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Custom script: call RemoveLocation (udg_TempPointArray[2]) 
Custom script: call RemoveLocation (udg_TempPointArray[3]) 
Set TempPointArray[1] = (Position of MUICaster[TempInteger]) 
Set TempPointArray[2] = (Position of ChainHookDummys[TempInteger2]) 
Unit - Move ChainHookDummys[TempInteger2] instantly to TempPoint, facing (Angle from TempPointArray[1] to TempPointArray[2]) degrees 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Custom script: call RemoveLocation (udg_TempPointArray[2]) 
Custom script: call RemoveLocation (udg_TempPoint) 
Set ChainHookDistance[TempInteger] = (ChainHookDistance[TempInteger] + 1.00) 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
(MUICaster[TempInteger] belongs to an enemy of (Owner of MUITarget[TempInteger])) Equal to True 
Then - Actions 
Set TempPoint = (Position of ChainHookDummys[((TempInteger x 100) - 99)]) 
Set TempPointArray[1] = (Position of MUITarget[TempInteger]) 
Unit - Cause MUICaster[TempInteger] to damage MUITarget[TempInteger], dealing ((Distance between TempPoint and TempPointArray[1]) / 2.00) damage of attack type Spells and damage type Normal 
Custom script: call RemoveLocation (udg_TempPoint) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Else - Actions 
Set TempPoint = (Position of ChainHookDummys[((TempInteger x 100) - 99)]) 
Set TempPointArray[1] = (Position of MUITarget[TempInteger]) 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
(Distance between TempPoint and TempPointArray[1]) Greater than or equal to 10.00 
Then - Actions 
Custom script: call RemoveLocation (udg_TempPoint) 
Set TempInteger2 = ((TempInteger x 100) - 99) 
Set TempPoint = (Position of ChainHookDummys[TempInteger2]) 
Unit - Move MUITarget[TempInteger] instantly to TempPoint 
Custom script: call RemoveLocation (udg_TempPoint) 
Set TempPoint = (Position of ChainHookDummys[TempInteger2]) 
Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl 
Custom script: call RemoveLocation (udg_TempPoint) 
Special Effect - Destroy (Last created special effect) 
Else - Actions 
Custom script: call RemoveLocation (udg_TempPoint) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
For each (Integer A) from 1 to (ChainHookDummyCount[TempInteger] - 1), do (Actions) 
Loop - Actions 
Set TempInteger2 = (((TempInteger x 100) - 100) + (Integer A)) 
Set TempPointArray[1] = (Position of ChainHookDummys[(TempInteger2 + 1)]) 
Set TempPointArray[2] = (Position of ChainHookDummys[(TempInteger2 + 1)]) 
Set TempPointArray[3] = (Position of ChainHookDummys[TempInteger2]) 
Set TempPoint = (TempPointArray[1] offset by 40.00 towards (Angle from TempPointArray[2] to TempPointArray[3]) degrees) 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Custom script: call RemoveLocation (udg_TempPointArray[2]) 
Custom script: call RemoveLocation (udg_TempPointArray[3]) 
Set TempPointArray[1] = (Position of ChainHookDummys[(TempInteger2 + 1)]) 
Set TempPointArray[2] = (Position of ChainHookDummys[TempInteger2]) 
Unit - Move ChainHookDummys[TempInteger2] instantly to TempPoint, facing (Angle from TempPointArray[1] to TempPointArray[2]) degrees 
Custom script: call RemoveLocation (udg_TempPointArray[1]) 
Custom script: call RemoveLocation (udg_TempPointArray[2]) 
Custom script: call RemoveLocation (udg_TempPoint) 
If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
If - Conditions 
Or - Any (Conditions) are true 
Conditions 
(MUICaster[TempInteger] is dead) Equal to True 
(MUITarget[TempInteger] is dead) Equal to True 
ChainHookDistance[TempInteger] Greater than or equal to (500.00 + (15.00 x (Real((Level of Chain Hook for MUICaster[TempInteger]))))) 
Then - Actions 
Set MUITarget[TempInteger] = MUICaster[TempInteger] 
Else - Actions


Map demo nè
 

Attachments

à, cho em hỏi mình có thể làm trigger trùng nhau đc hem?
Nghĩa là tạo 2 trigger A và trigger B.
trigger A nằm trong trigger B.
và nếu ta thực hiện trigger B thì trigger A cũng đc thực hiện theo trong phần Actions
Nếu làm đc thì làm như thế nào, hy vọng đc chỉ giáo em gà ^_^
 
bạn nói gì mà chả hiểu gì cả :-s
ý bạn là khi Trigger A có unit cast spell thì Trigger B cũng hoạt động 1 số
action phải ko?
vậy thì là ở trigger A bạn Turn On trigger B là đc
 
bạn nói gì mà chả hiểu gì cả :-s
ý bạn là khi Trigger A có unit cast spell thì Trigger B cũng hoạt động 1 số
action phải ko?
vậy thì là ở trigger A bạn Turn On trigger B là đc

Uhm, cũng chưa hản đã đủ. Ở đây là Trigger A hoạt động riêng, nhưng nếu xài Trigger B thì các Actions của Trigger B hoạt động cùng với nguyên cái trigger A luôn!
 
Ơ danny có giúp mình nốt ko vậy,ko để mình tự bốc phét nốt cho xong :D:D
 
:D Thx thx , quá đĩnh . Không sao về từ từ học rồi copy 1 phát xong .

Nhưng có hiệu ứng máu rĩ ra ko bạn :-/
 
Có đại ca nào bày em cách Cho Unit ra theo thời gian..Mà ra các Unit khác nhau không..
- Ví dụ mỗi 3' cho xuất hiện Boss 1 lần.. Tạo 1 khung chạy thời gian..
- Sau khi giết hết số lượng Boss đó.. thì cái khung TG mới chạy lại..3' sau thì ra loại Boss khác mạnh hơn..
- Cho em 1 Map Demo là đc rồi không cần giải thích gì đâu.. Cám ơn Đại Ca :D
 
Ơ danny có giúp mình nốt ko vậy,ko để mình tự bốc phét nốt cho xong :D:D

Ặc, em định đợi anh làm thông số skill hết tất cả rùi gửi cho em, em làm 1 lượt luôn :hug:
 
hiệu ứng máu rỉ nè
Objects\Spawnmodels\Orc\Orcblood\BattrollBlood.mdl
còn nữa
vào Spawnmodels mà tham khảo thêm
 
Sặc , post ở topic kia sao lại nhảy sang đây dzậy trời ?

Mà chiêu chain hook MUI GUI nhìn hoa cả mắt ......
Tooltip lấy trong VLTK copy sang là xong , nhanh vèo vèo ấy mà ....
Thôi , viết cái guide hướng dẫn import models cái đã , ai ngờ mai phải về quê .....
 
:D Cho ai làm Skill trựot nứoc của con Morphing với Kill nhảy của con Cọp ko ???

Cho xin cái nha :hug:

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

Pác Rồng đỏ ơi , sao kéo ko có máu rỉ ::( mất vui ồi , cho máu rỉ sao ???
 
Hic, làm sao để đánh tên cho map dài hơn được không, dùng mã màu xong là hết chỗ ::(( có cái map Vampire kia mà tên dài kinh khủng :D )
 
add spell vô hero bằng cách nào vậy các anh chị ::( :-/
Cái này hơi điên ^^!. Nhưng coppy spell rồi, tạo hero rồi mà lại... không bik cách add spell vào hero >.<
 
Status
Không mở trả lời sau này.
Back
Top