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

Status
Không mở trả lời sau này.
Bác nào làm hộ mình cái demo spell Dash không ?
Spell này có thể base từ skill No Target (như war storm , thunderclap , ..... ). Khi mình cash thì mình sẽ trượt lên phía 500 range rồi deal damage ở point đấy (cái vụ deal damage thì mình có thể edit sau)
 
post bài bên kia chưa ai trả lời. nên pót bên đây lun. tiện thể ai cho mình xin cái model mấy con robot trong film tranfomer được không. nói chung là model robot được, chủ yếu là model con optimus với con bumblele nha. cảm ơn trước.
 
^ Post nhầm topic rồi. Model về transformer thì hình như không có đâu.

Trong war, có action nào bắt buộc trigger khác phải stop ngay lập tức không? Dùng turn off, destroy nó vẫn cứ chạy.
 
topic model chắc còn lâu mới có người trả lời, hj,. thế ở đây ai rảnh tìm giùm mình với. làm map không có máy ra quan net làm khổ nỗi. thế thì mình mới nhờ. hix. đam mê thì bất chấp. thế ai có 1 nguồn thông tin nào thì cho mình với.
 
Effect skil bash cua con 3ra ten la gi vay nhi. Luc mai khong ra.:(
flak cannon

cho em hỏi cách để làm 1 system đơn giản, như kiểu dùng custom script (ở trigger khác) để chạy system đó

VD cụ thể như ở trigger A, em có 1 action:
custom script: setlife (udg_tempunit, 50)
thì cái system sẽ hoạt động và biến máu của tempunit thành 50%

(đây chỉ là ví dụ đơn giản cho dễ hiểu, chứ em biết là dùng action bình thường là được, mong mọi người giúp :D)
quote lại lần nữa :| em đang rất rất rất cần, mong mọi người giúp
 
Chỉnh sửa cuối:
Cho mình hỏi sự khác biệt giữa 4 Neutral Hostile, Neutral Passive, Neutral Victim và Neutral Extra
 
quote lại lần nữa :| em đang rất rất rất cần, mong mọi người giúp

Lên hiveworkshop hay bất cứ website nào về WE tìm mấy cái system đem về mà nghiên cứu. Thực ra có thể tìm những thứ tương tự trong Function list về cách thức để dùng system.
Ví dụ hàm AddSpecialEffect( string, real, real). Thì trong Function list nó hiển thị như thế này:

Mã:
[B]native[/B][COLOR="#4B0082"] AddSpecialEffect[/COLOR] [B]takes[/B] [B][COLOR="#003399"]string[/COLOR][/B] modelName, [B][COLOR="#003399"]real[/COLOR] [/B]x, [B][COLOR="#003399"]real[/COLOR][/B] y [B]returns[/B] [COLOR="#003399"][B]effect[/B][/COLOR]
Như vậy khi gọi hàm AddSpecialEffect thì bạn phải điền các giá trị như path của effect, tọa độ x, y, đây là các thứ cần để tạo ra một special effect.
Tương tự thì nếu bạn làm system slide thì sẽ như thế này:

Mã:
[B]function[/B] Slide [B]takes [COLOR="#003399"]unit[/COLOR][/B] u,[B][COLOR="#003399"] real[/COLOR][/B] sx,[B][COLOR="#003399"] real[/COLOR][/B] sy, [B][COLOR="#003399"]real[/COLOR][/B] speed, [B][COLOR="#003399"]real[/COLOR][/B] acceleration, [B][COLOR="#003399"]real[/COLOR][/B] ex, [B][COLOR="#003399"]real [/COLOR][/B]ey [B]returns [COLOR="#003399"]nothing[/COLOR][/B]

Phần dưới thì làm như một trigger slide bình thường, dòng function chỉ là dùng để "gọi" trigger bằng hàm:
Mã:
[B]call[/B] Slide(u, sx, sy, speed, acceleration, ex, ey)

trong đó u là unit bị slide, sx, sy là tọa độ ban đầu, ex, ey là tọa độ cuối tức là điểm unit sẽ slide tới.
Nói thế cũng hơi khó hiểu, khuyên bạn nên tìm các system của người khác để xem thì dễ hiểu hơn nhiều.
 
Chỉnh sửa cuối:

Trong war, có action nào bắt buộc trigger khác phải stop ngay lập tức không? Dùng turn off, destroy nó vẫn cứ chạy.
Cái này thì dùng lệnh return trong GUI là General - Skip Remaining Actions
Còn nếu dùng jass thì tùy function return gì.

Cho mình hỏi sự khác biệt giữa 4 Neutral Hostile, Neutral Passive, Neutral Victim và Neutral Extra
Mình ko rõ Neutral Victim và Neutral Extra
Chỉ biết
- Neutral Hostile thì đối nghịch tất cả các player khác
- Neutral Passive thì ko là enermy của bất cứ player nào

[/COLOR]có cách nào làm cho 1 shop thành của chung chỉ 1 team thôi ko?
Là dùng shop sharing. Xem thêm ở đây nếu cần về shop nhé



trigger cũng theo thứ tự hả anh, giờ mới biết đấy:-??

Trước khi vào chủ đề MUI thì bình tí bài viết của raivor đã ;))
Nghe thì có vẻ cái post trên giống tut nhưng cách trình bày thì giống nói chuyện phiếm (nhiều chữ lại ko có bố cục => Có chăm đọc ~ lười đọc)
Chốt hạ lại là nên đọc cái post này của tớ trước thì mới nuốt nổi post trên của raivor!

Đầu tiên phải nói về trigger...
Nếu 1 trigger ko có wait thì bao h nó cũng chạy 1 mạch từng action cho đến khi xử lý hết action trong trigger đó mới thôi.

Nếu ko wait thì trigger sẽ chạy lần lượt, KHÔNG có trigger nào chạy trước lại kết thúc sau cả.
Trigger ở đây là nói về cái xảy ra khi có cùng event chứ ko nói về trigger event khác nhau độc lập, riêng biệt với nhau.
Thậm chí trigger mà chạy chưa xong thì trigger sau còn ko chạy (Lag... đến cứng hình :-s)
Nên bt mà làm spell thì thậm chí chỉ cần 1->4 biến dùng chung cho trigger cả map cũng ko sao:-??
Điển hình chính là GetTriggerUnit (Triggering Unit - GUI) dùng chung cho tất cả các thể loại event có liên quan đến 1 unit làm cái gì đó

Tại sao chỉ 1 biến dùng chung cho cả map lại ko bị nhầm khi xử lý ???
Cả khi nhiều trigger cùng 1 event xử lý vấn đề khác nhau cũng ko lo bị nhầm biến nọ và biến kia?
Như ở trên đã nói lý do rồi đây vẫn cứ liệt kê lại 2 ý đó để nhấn mạnh vấn đề này :)
- 1 trigger ko có wait được kích hoạt thì nó chắc chắn sẽ chạy 1 mạch cho đến khi xử lý hết action trong trigger đó mới thôi (trừ khi lỗi)
- ko wait thì trigger sẽ chạy lần lượt
Nghe thì có vẻ vô lý nhưng đúng là vậy, cùng 1 event Unit died chả hạn vẫn có thứ tự trước và sau. Ko tin? Hãy dùng Display Message để thử
1 Cái đặt đầu trigger Ghi "Start Event ABC"
1 Cái đặt cuối trigger Ghi "End Event ABC"
Làm tương tự với 1 cái trigger khác cùng event và thay tên event "XYZ" vào sẽ thấy ko bao h có 2 cái "Start(End) Event ..." cạnh nhau cả
Đây là demo cho ai lười cả test nữa :-??

Nói cách khác cho dễ hiểu là war như 1 trình xử lý đơn và chạy từng dòng code (action) xong mới sang action khác.
Có lẽ vì thế nên CPU với cạc các cậu có mạnh mấy cũng vẫn lag và đơ game như bt :-??
 
Chỉnh sửa cuối:
Cái này thì dùng lệnh return trong GUI là General - Skip Remaining Actions
Còn nếu dùng jass thì tùy function return gì.

Chắc cậu không đọc kĩ, cái mình cần là dùng action để dừng trigger khác
Trong war, có action nào bắt buộc trigger khác phải stop ngay lập tức không? Dùng turn off, destroy nó vẫn cứ chạy.
 
quote lại lần nữa :| em đang rất rất rất cần, mong mọi người giúp

like as your example:
Mã:
library simplelib
    function setlife takes unit u, real r returns nothing
         call SetUnitLifePercentBJ(u,r)
    endfunction
endlibrary
right?
 
1) Có cách nào import tất cả object editor từ map kia qua map này mà ko bị mất object editor của map này ko?
2) lâu lâu thực sự mình ko biết nhấn nhầm cái gì mà nó copy hết custom unit, buff/effect, ability, v...v của map kia sang map này mà map này ko bị mất các dữ liệu object cũ... Đã lắm (nhưng đôi khi cũng hơi loạn)
 
cái trigger này bị cái abcxyz gi mà làm cả trăm lần nó vẫn slide về Center of Playable area thế mọi người????
Mã:
Ice Flash
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Ice Flash 
    Actions
        Set Tick = 20
        Set Caster = (Casting unit)
        Set Temp_loc[0] = (Position of Caster)
        Set Temp_loc[1] = (Target point of ability being cast)
        Set Angle = (Angle from Temp_loc[0] to Temp_loc[1])
        Set Distance = ((Distance between Temp_loc[0] and Temp_loc[1]) / 20.00)
        Unit - Create 1 Dummy for (Owner of Caster) at Temp_loc[0] facing Default building facing degrees
        Unit - Set level of Dummy IF  for (Last created unit) to (Level of Ice Flash  for Caster)
        Unit - Order (Last created unit) to Undead Necromancer - Unholy Frenzy Caster
        Wait 0.50 seconds
        Unit - Remove (Last created unit) from the game
        EGUI Leak - Remove Temp_loc[0]
        EGUI Leak - Remove Temp_loc[1]
        Trigger - Turn on Ice Flash loop <gen>

Mã:
Ice Flash loop
    Events
        Time - Every 0.08 seconds of game time
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Tick Equal to 0
            Then - Actions
                Animation - Reset Caster's animation
                Unit - Turn collision for Caster On
                Trigger - Turn off (This trigger)
                Skip remaining actions
            Else - Actions
                Set Tick = (Tick - 1)
                Set Temp_loc[0] = (Position of Caster)
                Set Temp_loc[1] = (Target point of ability being cast)
                Set Temp_loc[2] = (Temp_loc[0] offset by Distance towards Angle degrees)
                Unit - Turn collision for Caster Off
                Animation - Play Caster's Animation - Spell Channel animation
                Unit - Move Caster instantly to Temp_loc[2]
                Set Temp_group1 = (Units within 220.00 of Temp_loc[2] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of Caster)) Equal to True)))
                Unit Group - Pick every unit in Temp_group1 and do (Actions)
                    Loop - Actions
                        Unit - Create 1 Dummy for (Owner of Caster) at Temp_loc[2] facing Default building facing degrees
                        Unit - Set level of Dummy IF 2  for (Last created unit) to (Level of Ice Flash  for Caster)
                        Unit - Order (Last created unit) to Undead Lich - Frost Nova (Picked unit)
                        Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                Destructible - Pick every destructible within 220.00 of Temp_loc[2] and do (Actions)
                    Loop - Actions
                        Destructible - Kill (Picked destructible)
        EGUI Leak - Remove Temp_loc[0]
        EGUI Leak - Remove Temp_loc[1]
        EGUI Leak - Remove Temp_loc[2]
        EGUI Leak - Destroy Temp_group1
 
Mọi người cho hỏi làm sao để chỉnh Repuired Animation Names trong game mà không phải chỉnh trong object editor ? Mình dùng các lệnh animation trong GUI mà ko đc.
Thường thì ainmation alternate chỉ đổi khi dùng ability Metamorphosis thì unit sẽ tự động chuyển sang dạng alternate




sao lại có target point of ability being cast trong trigger này ?

cái trigger này bị cái abcxyz gi mà làm cả trăm lần nó vẫn slide về Center of Playable area thế mọi người????
Mã:
Ice Flash
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Ice Flash 
    Actions
        Set Tick = 20
        Set Caster = (Casting unit)
        Set Temp_loc[0] = (Position of Caster)
        Set Temp_loc[1] = (Target point of ability being cast)
        Set Angle = (Angle from Temp_loc[0] to Temp_loc[1])
        Set Distance = ((Distance between Temp_loc[0] and Temp_loc[1]) / 20.00)
        Unit - Create 1 Dummy for (Owner of Caster) at Temp_loc[0] facing Default building facing degrees
        Unit - Set level of Dummy IF  for (Last created unit) to (Level of Ice Flash  for Caster)
        Unit - Order (Last created unit) to Undead Necromancer - Unholy Frenzy Caster
        Wait 0.50 seconds
        Unit - Remove (Last created unit) from the game
        EGUI Leak - Remove Temp_loc[0]
        EGUI Leak - Remove Temp_loc[1]
        Trigger - Turn on Ice Flash loop <gen>

Mã:
Ice Flash loop
    Events
        Time - Every 0.08 seconds of game time
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Tick Equal to 0
            Then - Actions
                Animation - Reset Caster's animation
                Unit - Turn collision for Caster On
                Trigger - Turn off (This trigger)
                Skip remaining actions
            Else - Actions
                Set Tick = (Tick - 1)
                Set Temp_loc[0] = (Position of Caster)
                [B]Set Temp_loc[1] = (Target point of ability being cast)[/B]
                Set Temp_loc[2] = (Temp_loc[0] offset by Distance towards Angle degrees)
                Unit - Turn collision for Caster Off
                Animation - Play Caster's Animation - Spell Channel animation
                Unit - Move Caster instantly to Temp_loc[2]
                Set Temp_group1 = (Units within 220.00 of Temp_loc[2] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of Caster)) Equal to True)))
                Unit Group - Pick every unit in Temp_group1 and do (Actions)
                    Loop - Actions
                        Unit - Create 1 Dummy for (Owner of Caster) at Temp_loc[2] facing Default building facing degrees
                        Unit - Set level of Dummy IF 2  for (Last created unit) to (Level of Ice Flash  for Caster)
                        Unit - Order (Last created unit) to Undead Lich - Frost Nova (Picked unit)
                        Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                Destructible - Pick every destructible within 220.00 of Temp_loc[2] and do (Actions)
                    Loop - Actions
                        Destructible - Kill (Picked destructible)
        EGUI Leak - Remove Temp_loc[0]
        EGUI Leak - Remove Temp_loc[1]
        EGUI Leak - Remove Temp_loc[2]
        EGUI Leak - Destroy Temp_group1
 
Chỉnh sửa cuối:
^ Xử lí được rồi, giờ lại gặp vụ này
Mã:
Trigger function does not exist in databse: SaveGameCacheBJ
Fix thế nào đây :-/
 
^ Xử lí được rồi, giờ lại gặp vụ này
Mã:
Trigger function does not exist in databse: SaveGameCacheBJ
Fix thế nào đây :-/

Ông Leo thử up lên Jassnewgen mới đi, tui cũng bị lỗi đó ở WE bên laptop (chép y xì từ PC, nhưng ko mở được một số map dùng JassNewGen), up lên JassNewGen mới thì ko còn bị nữa :D
 
Cho mình hỏi là doodads hơn limit khoảng bao nhiêu thì máy sẽ lag (máy bạn mình ram tầm 2gb).
Có cách nào điều khiển ánh sáng của map ko, mình muốn khi vào dungeon thì ánh sáng sẽ tối lại như ban đêm nhưng ko thay đổi giờ trong game.
Thanks
 
^ Doodads có gây lag hay ko tùy doodads có lắm poly hay ko chứ ko chỉ là số lượng. Tức có 1 số ko lớn doodads high quality vẫn lag.
Và cũng do tầm nhìn của camera có rộng ko nữa. Tức là có 1 số lượng trung bình doodads mà tập trung hết vào 1 khu thì di chuyển màn hình vào đó là lag

Theo kiến thức của mình thì ko có cách nào thay đổi ánh sáng môi trường ngoài cách thay đổi giờ trong game cả

Mọi người cho hỏi làm sao để chỉnh Repuired Animation Names trong game mà không phải chỉnh trong object editor ? Mình dùng các lệnh animation trong GUI mà ko đc.
Thường thì ainmation alternate chỉ đổi khi dùng ability Metamorphosis thì unit sẽ tự động chuyển sang dạng alternate

Dùng
Mã:
Animation - [U]Add[/U] the [U]alternate[/U] animation tag to [COLOR="#FF0000"]<unit>[/COLOR]


Mã:
Trigger function does not exist in databse: SaveGameCacheBJ
Fix thế nào đây :-/

Thử xem đã disable UMSWE đi chưa, ko thì copy lại 1 cái Jassnewgen5d mới rồi update jasshelper và đảm bảo ver của war3 là 1.24b+
 
Chỉnh sửa cuối:
Cho em xin lệnh defend của Footman, Captain (và con j màu đỏ ở phần Campaigns của Human ấy em quên tên rùi).
 
Status
Không mở trả lời sau này.
Back
Top