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

Status
Không mở trả lời sau này.
Mình ghi nhận ý kiến của bạn, tạm thời mình chưa biết nguyên nhân là ở đâu, chỉ biết thế diễn đạt. Ở đây có 2 mẫu map.
- Mẫu này có khá nhìu Doodad đè lên nhau ( cái thác nước) mọi ng` chọn con Ryu sài thử spell Tiếng gọi quê hương - spell set khá nhìu Dummy và UnitGroup của Dummy. Nếu ai cast trên 10 lần mà ko lag thì quote lại cho mình.
http://www.epicwar.com/maps/174014/
- Mẫu này cũg là map trên nhưng ko có Doodad và đè lên nhau, cast vô tư.
http://www.epicwar.com/maps/174015/

P.s: Mọi ng` so sánh thử hộ mình, còn về spell trên đã leak hết 100%, mọi ng` có thể vào map coi thử

[spoil]
Mã:
Lava Way
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to (==) |cffFF00CCTiÕng Gäi Quª H­¬ng|r 
    Actions
        Set LavaUnit = (Triggering unit)
        Set TempLavaUnit = (Position of LavaUnit)
        Set TempLavaTarger = (Target point of ability being cast)
        Set AngleWave = (Angle from TempLavaUnit to TempLavaTarger)
         Do Multiple ActionsFor each (Integer A) from 1 to ((Level of |cffFF00CCTiÕng Gäi Quª H­¬ng|r  for LavaUnit) x 4), do (Actions)
            Loop - Actions
                [COLOR="Red"]Unit - Create 1 Lava Dummy for (Owner of LavaUnit) at (TempLavaUnit offset by ((Real((Integer A))) x 175.00) towards AngleWave degrees) facing (Facing of LavaUnit) degrees[/COLOR]
                Set LavaDummy[(Integer A)] = (Last created unit)
                Set TempLavaDummy[(Integer A)] = (Position of LavaDummy[(Integer A)])
                Unit - Add a 2.00 second Generic expiration timer to LavaDummy[(Integer A)]
                Set LavaGroup = (Units within 180.00 of TempLavaDummy[(Integer A)] matching ((((Matching unit) belongs to an enemy of (Owner of LavaUnit)) Equal to (==) True) and (((Matching unit) is alive) Equal to (==) True)))
                Unit Group - Pick every unit in LavaGroup and do (Actions)
                    Loop - Actions
                        Unit - Cause LavaUnit to damage (Picked unit), dealing (((Real((Level of |cffFF00CCTiÕng Gäi Quª H­¬ng|r  for LavaUnit))) x 5.00) x (Real((Strength of LavaUnit (Exclude bonuses))))) damage of attack type Hero and damage type Defensive
                        Floating Text - Create floating text that reads ((String(((Real((Strength of LavaUnit (Include bonuses)))) x ((Real((Level of |cffFF00CCTiÕng Gäi Quª H­¬ng|r  for LavaUnit))) x 5.00)))) +  damage) at (Position of (Picked unit)) with Z offset 0.00, using font size 10.50, color (100.00%, 32.00%, 32.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 lifespan of (Last created floating text) to 2.00 seconds
                        [COLOR="Red"]Custom script:   call RemoveLocation(udg_TempLavaDummy[GetForLoopIndexA()])[/COLOR]
        Custom script:   call RemoveLocation(udg_TempLavaUnit)
        Custom script:   call RemoveLocation(udg_TempLavaTarger)
        [COLOR="Red"]Custom script:   call DestroyGroup(udg_LavaGroup)[/COLOR]
[/spoil]
Spell đã remove leak thế đó sao ;)), map trống dĩ nhiên nhẹ, nên leak vẫn không ảnh hưởng mấy so với map đầy đủ các object và mấy thứ khác rồi bạn.
 
Chỉnh sửa cuối:
Anh Tom có thể hướng dẫn em cách install file LUA một cách cụ thể ko, em đã bỏ file LUA cùng với map nhưng lại ra lỗi, thử vài lần với vài map khác thì ra vài lỗi khác nhau :(
 
Em là lính mới đg tập tành làm map xin mấy bác zúp em câu hỏi đầu này: làm sao để phân chia 2 đội đấu vs nhau & cách pick hero như dota ? THanks nhìu
 
Mình xin phép đóng góp ý kiến về vụ lag với Doodads và Spell.

Doodads
@AzuhaSky: Doodads nhiều chỉ làm tăng dung lượng map và thời gian load map chả liên quan gì đến leak hay trigger
Mình đồng ý điều này.

@dh-g: doodad gây lag thì là trong lúc loading map doodad sẽ chiếm 1 dung lượng RAM lớn để xây dựng vị trí thực
Mình phủ định luôn. Có dẫn chứng :))

@FlameDrake: Nhiều Doodads lag hay không lag.
Cái này còn tùy xem bạn nhiều doodad nào

@Tom: doodad: là doodad hay effect hay gì gì thì ít nhất cũng phải xử lý hình ảnh, do vậy, nhiều là lag là đúng rồi

Em đồng ý phần "gì gì thì ít nhất cũng phải xử lý hình ảnh" nhưng "nhiều, lag là đúng rồi" thì chỉ đúng có 1 nửa​

Giải thích:
Doodads thực ra là model + pathing map + animation
Model thì chỉ là 1 bộ khung xương với vỏ bọc bên ngoài
Pathing map chỉ là 1 img nhỏ với độ rộng tính = vài pixel
Animation là các hành động (action) của model

+ Vậy thì loại bỏ model và pathing map là nguyên nhân gây lag. Chỉ có Animation là có thể gây lag vì nó đòi hỏi game phải xử lý liên tục với mỗi doodads.
+ Trở lại câu hỏi: Nhiều Doodads lag hay không lag và câu trả lời: Cái này còn tùy xem bạn nhiều doodad nào.
+ Mình trả lời thế là vì nếu sử dụng toàn doodad tính (ko có bất cứ animation nào) thì đã loại bỏ được nguyên nhân gây lag và mình có thể đảm bảo số lượng lớn đến đâu mà toàn model ko có animation thì chắc chắn ko lag. Và ngược lại.​

Spell
@FlameDrake: 2 map 1 map lag 1 map cast vô tư
+ Theo mình đây là câu trả lời chưa hoàn chỉnh "@AzuhaSky:Nguyên nhân có thể do leak, quá nhiều hiệu ứng cùng lúc, hoặc xử lý quá nhiều thao tác cùng lúc"
+ Skill bạn thực ra có độ lag là lớn (nguyên nhân là do các ý kiến bạn AzuhaSky đã nêu). Nhưng map demo bạn không lag ?! Là vì cả map bạn chỉ có chạy mỗi 1 skill. Chỉ vì 1 skill mà map bạn đã lag thì 2 skill 3 hay 4 nữa thì map bạn ko chỉ lag mà có thể đã văng luôn rồi. Thế nhưng War3 ko tệ đến mức ấy (dù rất tệ :)))
+ Nhưng map demo kia vẫn skill đấy lại lag. Bởi vì map bạn lúc này ngoài việc xử lý thao tác của spell còn phải xử lý cả phần hình ảnh (animation của doodads) 2 cái của bạn cộng lại làm war3 trở nên quá tải và gây lag.​

Tóm lại, vài điều như sau:
1. Dùng doodads để trang trí thì đừng lạm dụng quá nhiều cái có animation (thực ra đâu có nhiều doodads có animation ngoài 2 category là Water, Cinematic)
2. Spell bạn làm ở test map có thể chả lag tí nào. Nhưng bạn có chắc khi đưa vào map chính nó ko phải là nguyên nhân gây lag. Có thể nó là 1 trong số đó ;))

Dưới đây là minh chứng những điều mình nói trên
Chạy map test của mình attach bên dưới. Nhấn continue để tiếp tục chơi. Chat : /fps để coi FPS của map lúc đó, hóa mã iseedeadpeople để nhìn toàn map. Lúc này vẫn chưa lag. Nhưng khi di chuyển đến rìa map bên tay trái bạn sẽ hiểu vì sao lag​
 
[spoil]
Mã:
Lava Way
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to (==) |cffFF00CCTiÕng Gäi Quª H­¬ng|r 
    Actions
        Set LavaUnit = (Triggering unit)
        Set TempLavaUnit = (Position of LavaUnit)
        Set TempLavaTarger = (Target point of ability being cast)
        Set AngleWave = (Angle from TempLavaUnit to TempLavaTarger)
         Do Multiple ActionsFor each (Integer A) from 1 to ((Level of |cffFF00CCTiÕng Gäi Quª H­¬ng|r  for LavaUnit) x 4), do (Actions)
            Loop - Actions
                [COLOR="Red"]Unit - Create 1 Lava Dummy for (Owner of LavaUnit) at (TempLavaUnit offset by ((Real((Integer A))) x 175.00) towards AngleWave degrees) facing (Facing of LavaUnit) degrees[/COLOR]
                Set LavaDummy[(Integer A)] = (Last created unit)
                Set TempLavaDummy[(Integer A)] = (Position of LavaDummy[(Integer A)])
                Unit - Add a 2.00 second Generic expiration timer to LavaDummy[(Integer A)]
                Set LavaGroup = (Units within 180.00 of TempLavaDummy[(Integer A)] matching ((((Matching unit) belongs to an enemy of (Owner of LavaUnit)) Equal to (==) True) and (((Matching unit) is alive) Equal to (==) True)))
                Unit Group - Pick every unit in LavaGroup and do (Actions)
                    Loop - Actions
                        Unit - Cause LavaUnit to damage (Picked unit), dealing (((Real((Level of |cffFF00CCTiÕng Gäi Quª H­¬ng|r  for LavaUnit))) x 5.00) x (Real((Strength of LavaUnit (Exclude bonuses))))) damage of attack type Hero and damage type Defensive
                        Floating Text - Create floating text that reads ((String(((Real((Strength of LavaUnit (Include bonuses)))) x ((Real((Level of |cffFF00CCTiÕng Gäi Quª H­¬ng|r  for LavaUnit))) x 5.00)))) +  damage) at (Position of (Picked unit)) with Z offset 0.00, using font size 10.50, color (100.00%, 32.00%, 32.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 lifespan of (Last created floating text) to 2.00 seconds
                        [COLOR="Red"]Custom script:   call RemoveLocation(udg_TempLavaDummy[GetForLoopIndexA()])[/COLOR]
        Custom script:   call RemoveLocation(udg_TempLavaUnit)
        Custom script:   call RemoveLocation(udg_TempLavaTarger)
        [COLOR="Red"]Custom script:   call DestroyGroup(udg_LavaGroup)[/COLOR]
[/spoil]
Spell đã remove leak thế đó sao ;)), map trống dĩ nhiên nhẹ, nên leak vẫn không ảnh hưởng mấy so với map đầy đủ các object và mấy thứ khác rồi bạn.
Lần trước hỏi ông kêu remove leak như thế là đúng rồi :|
Thế phải làm ntn cho cái map này, khi cast spell WA nó ko lag nữa
http://www.mediafire.com/?e4cf0i0ath3eq4w

P.s: Xem kỹ dùm tui cái leak đã ok chưa
 
^
mấy cha này cãi nhau việc ko đâu , muốn map sinh động hay ko thì tất nhiên phải có doodad , lag hay ko thì nó vẫn ở đó , miễn sao hợp lí và đẹp là được :D
Tiện thể mọi người cho mình hỏi có thể làm cho spell Bladestorm khi đang hoạt động ko Immune Spell nữa ko . Mình đã thử chỉnh phần Data - Spell Immunity từ số 0.00 thành con số 1.00 rồi 0.50 đều ko hiệu quả ( nó vẫn Immune Spell ).:|
 
^
mấy cha này cãi nhau việc ko đâu , muốn map sinh động hay ko thì tất nhiên phải có doodad , lag hay ko thì nó vẫn ở đó , miễn sao hợp lí và đẹp là được :D
Tiện thể mọi người cho mình hỏi có thể làm cho spell Bladestorm khi đang hoạt động ko Immune Spell nữa ko . Mình đã thử chỉnh phần Data - Spell Immunity từ số 0.00 thành con số 1.00 rồi 0.50 đều ko hiệu quả ( nó vẫn Immune Spell ).:|

ko dc thì làm 1 con blade 1 skill tmp bấm vào làm động tác của bladestorm rùi + dmg theo aoe every(dps) xong =))
giả lập bladestorm ấy mà :">
 
cho mình hỏi, khi tạo 1 spell auto cast thì làm sao để thêm hiệu ứng vào cho spell đó như : bỏng, stun ....
 
Lần trước hỏi ông kêu remove leak như thế là đúng rồi :|
Thế phải làm ntn cho cái map này, khi cast spell WA nó ko lag nữa
P.s: Xem kỹ dùm tui cái leak đã ok chưa

Vãi thần hồn thật, spell này tôi vẫn nhớ cậu hỏi câu đầu là cách sửa gây damagex5x level spell, tôi đã sửa và báo là spell leak. Đến lần thứ 2 cậu hỏi tại sao lag thì nhìn lại cái spell vẫn chả sửa gì nên tôi ko dám ý kiến thêm.
Map cậu nhờ đây, đã remove leak spell TD, spell kia có vẻ như an toàn.

Tiện thể mọi người cho mình hỏi có thể làm cho spell Bladestorm khi đang hoạt động ko Immune Spell nữa ko . Mình đã thử chỉnh phần Data - Spell Immunity từ số 0.00 thành con số 1.00 rồi 0.50 đều ko hiệu quả ( nó vẫn Immune Spell )
Mục Ability Blade Storm có Data - Spell Immunity à :|
 
Anh Tom có thể hướng dẫn em cách install file LUA một cách cụ thể ko, em đã bỏ file LUA cùng với map nhưng lại ra lỗi, thử vài lần với vài map khác thì ra vài lỗi khác nhau :(

có dùng bao giờ đâu mà biết, phát cuối: để cùng với jasshelper

Em đồng ý phần "gì gì thì ít nhất cũng phải xử lý hình ảnh" nhưng "nhiều, lag là đúng rồi" thì chỉ đúng có 1 nửa

quên ko nói là "nhiều doodad trên màn hình hiện tại" trên màn hình ko có doodad thì xử lý cái gì =))
 
cho mình hỏi, khi tạo 1 spell auto cast thì làm sao để thêm hiệu ứng vào cho spell đó như : bỏng, stun ....

Interger i làm một percent khi i> bất kỳ số nào từ 1 đến 100 thì cho dummy cast chiêu buff bỏng/ choáng vào mục tiêu đang tấn công. vài lời hướng dẫn cho câu hỏi của bạn, chào
 
Rất tiếc mình không nhớ rõ tên của model đó!Nhưng nếu bạn nhớ tên nó, bạn hãy tìm tên của nó (hoặc chữ cái đầu hay tên tương tự cũng được) trong Import Editor rồi Del nó đi! Thế là nó Nâu lại!Chúc bạn thành công!

thứ nhất, mình ko tìm thấy Import Editor trong WorldEdit, cùng lắm mình chỉ thấy Import Manager
thứ hai, trong Import Manager không hề có 1 file skin nào, cứ như cái model của chú gấu bị Blizzard edit lại vậy.......
đây là đường dẫn của model:
unit/creeps/GrizzyBear/GrizzyBear.....
bạn nào có thể làm nó trở thành gấu nâu lại đc thì chỉ mình với....thanks trc.
 
Tiện thể mọi người cho mình hỏi có thể làm cho spell Bladestorm khi đang hoạt động ko Immune Spell nữa ko . Mình đã thử chỉnh phần Data - Spell Immunity từ số 0.00 thành con số 1.00 rồi 0.50 đều ko hiệu quả ( nó vẫn Immune Spell ).:|

Quote , tại mình ko nhớ tên nên ghi đại loại vậy :D thật ra là Data-Magic Damage Reduction , có cách nào hết immune spell k :D
 
Cho hỏi cách làm DoT(damage over time) = timer, cho demo luôn để dễ học hỏi. Thanks
 
Cho em hỏi sao em mở cái world editor lên thì nó bảo thiếu file :

replaceable textures\commandbuttons\BTNAltarOfDepts.blp rồi không mở lên cho em vậy em phải làm sao để mở lên ạ ? Có phải down lại war hok ? Tại e thấy war 3 nặng quá ...
 
Cho em hỏi sao em mở cái world editor lên thì nó bảo thiếu file :

replaceable textures\commandbuttons\BTNAltarOfDepts.blp rồi không mở lên cho em vậy em phải làm sao để mở lên ạ ? Có phải down lại war hok ? Tại e thấy war 3 nặng quá ...

Restart lại máy là rồi khởi động lại WE xem sao.
 
ai chỉ ngoc trigger này với , khi tới một thời gian nhất định thì mọi vật đều đứng yên , chỉ có những unit trong region đó ( thí dụ region 1 ) hoạt động thôi , ai chỉ với !!
 
ai chỉ ngoc trigger này với , khi tới một thời gian nhất định thì mọi vật đều đứng yên , chỉ có những unit trong region đó ( thí dụ region 1 ) hoạt động thôi , ai chỉ với !!

Thì để trigger vậy
Mã:
Every - time 50...
Action
Pause all unit
Unit Group- Unit in region 1 - unpause picked
 
ai chỉ ngoc trigger này với , khi tới một thời gian nhất định thì mọi vật đều đứng yên , chỉ có những unit trong region đó ( thí dụ region 1 ) hoạt động thôi , ai chỉ với !!
Trigger như sau:
[spoil]
Mã:
Stop
    Events
        Time - Elapsed game time is 10.00 seconds
    Conditions
    Actions
        Unit - Pause all units 
        Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions) 
            Loop - Actions
                Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed 
        Unit Group - Pick every unit in (Units in Region ko bị đứng yên <gen>) and do (Actions) 
            Loop - Actions
                Animation - Change (Picked unit)'s animation speed to 100.00% of its original speed 
                Unit - Unpause (Picked unit) 
        Wait 10.00 seconds
        Unit - Unpause all units
        Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
            Loop - Actions
                Animation - Change (Picked unit)'s animation speed to 100.00% of its original speed
                Animation - Play (Picked unit)'s stand animation
[/spoil]
 
Chỉnh sửa cuối:
Status
Không mở trả lời sau này.
Back
Top