Bottom
Mr & Ms Pac-Man
ai cho mình xin model mấy cái mũi tên và đường thẳng như trong hình đc ko
![]()
map the Fame có mũi tên ấy đấy
ai cho mình xin model mấy cái mũi tên và đường thẳng như trong hình đc ko
![]()
Hình như bên đội Human có con Piest có chiu buff armor vs attack thì phải trừ 2 chiu heal với dispell magic ra
Nếu chỉ là lướt một đường lốc thôi thì base từ shockwave hoặc carrior of spawn gì đó của con dơi bên Undead chỉnh lại art - missle là model tornado hoặc Cylone

ko ai giup mình ah`Máy bạn ơi chỉ mình cách explore map sằn như dota khong làm on giúp mình








Bạn hòi gì trớt que vậy thì mình chỉ cần explore thôi, mấy bài trứoc bạn post hỏi ngừoi khác có ai hỏi bạn để làm gì ko, thấy có ngừơi post tưởng dc hướng dẫn hay dc chỉ ai dè bạn hỏi cái câu này thì bó tay với bạn.thì đơn giản mình chỉ cân làm thế nào để explore map sẵn như dota thôi để các kỹ năng tương tự teleport cua Furion hay các kỹ năng fast teleport mà nó không cần đòi hỏi exploreOh pạn suy nghỉ lạc quan nhỉ vậy mở đc dota để làm gì
ko ai giup mình ah`![]()
Bạn hòi gì trớt que vậy thì mình chỉ cần explore thôi, mấy bài trứoc bạn post hỏi ngừoi khác có ai hỏi bạn để làm gì ko, thấy có ngừơi post tưởng dc hướng dẫn hay dc chỉ ai dè bạn hỏi cái câu này thì bó tay với bạn.thì đơn giản mình chỉ cân làm thế nào để explore map sẵn như dota thôi để các kỹ năng tương tự teleport cua Furion hay các kỹ năng fast teleport mà nó không cần đòi hỏi explore
. GUI thì làm được. mà hơi lag. vì lý do tối ưu. hồi xưa mình cũng đã từng áp dụng qua rồi. tại Hoth.Cái map dota được bảo vệ dữ lắm bạn muốn hỏi spell nào thì hỏi thôi![]()




Fast Teleport là chiu gì nhỉ mình chơi dota k để ý tên skill lắm
Nếu mở đc dota thì mình sẽ ko mở dota thường đâu mình sẽ mở dota lod, dota AI để học hỏi hướng làm AI và hệ thống pick skill. Ai làm như lod dc thì chỉ mình nhé
à mà thích cái khóa map của dota mình mở ra thì thấy mọi tài nguyên blp hay mdx đều có tên đầy đủ còn máy map khác mở ra toàn file00010,file00002....
. search đòi con mắt ra....sb hi'p me plz
- - - Updated - - -
ủa mà dung lượng lớn nhất của map là bao nhiu thì war3 ko load dc nhi? mình làm tầm 9mb là ko load dc roj. Ai chỉ nén map vs... (chi tiết nha)
cái tut hướng dẫn cái khóa map của vexroian mất tiêu rùi 
tối đa 8MB
xài tạm đi nghêncái tut hướng dẫn cái khóa map của vexroian mất tiêu rùi
http://forum.gamevn.com/showthread.php?871924-Wc3-Ultimate-Optimizer-phan-mem-ma-hoa-ban-do-SLK
Chose hero
Events
Unit - A unit enters Ashe <gen>
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Triggering unit) is owned by Player 1 (Red)) Equal to True
Then - Actions
Unit - Create 1 Ashe for (Owner of (Triggering unit)) at (Center of Hoi sinh Foce1 <gen>) facing Default building facing degrees
Set CES_Unit = (Last created unit)
Trigger - Run CES Add Unit <gen> (checking conditions)
Hero - Make (Owner of CES_Unit) Heroes gain 0.00% experience from future kills
Camera - Pan camera for (Owner of (Triggering unit)) to (Center of Hoi sinh Foce1 <gen>) over 1.00 seconds
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Triggering unit) is owned by Player 2 (Blue)) Equal to True
Then - Actions
Unit - Create 1 Ashe for (Owner of (Triggering unit)) at (Center of Hoi sinh Foce1 <gen>) facing Default building facing degrees
Set CES_Unit = (Last created unit)
Trigger - Run CES Add Unit <gen> (checking conditions)
Hero - Make (Owner of CES_Unit) Heroes gain 0.00% experience from future kills
Camera - Pan camera for (Owner of (Triggering unit)) to (Center of Hoi sinh Foce1 <gen>) over 1.00 seconds
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Triggering unit) is owned by Player 3 (Teal)) Equal to True
Then - Actions
Unit - Create 1 Ashe for (Owner of (Triggering unit)) at (Center of Hoi sinh Foce1 <gen>) facing Default building facing degrees
Set CES_Unit = (Last created unit)
Trigger - Run CES Add Unit <gen> (checking conditions)
Hero - Make (Owner of CES_Unit) Heroes gain 0.00% experience from future kills
Camera - Pan camera for (Owner of (Triggering unit)) to (Center of Hoi sinh Foce1 <gen>) over 1.00 seconds
Else - Actions
Unit - Create 1 Ashe for (Owner of (Triggering unit)) at (Center of Hoi sinh Foce2 <gen>) facing Default building facing degrees
Set CES_Unit = (Last created unit)
Hero - Make (Owner of CES_Unit) Heroes gain 0.00% experience from future kills
Trigger - Run CES Add Unit <gen> (checking conditions)
Camera - Pan camera for (Owner of (Triggering unit)) to (Center of Hoi sinh Foce2 <gen>) over 1.00 seconds
Hero - Create Potion of Greater Healing and give it to (Last created unit)
Unit - Kill (Triggering unit)
Trigger - Turn off (This trigger)
Unit Indexer
Events
Map initialization
Conditions
Actions
Custom script: call ExecuteFunc("InitializeUnitIndexer")
Custom script: endfunction
-------- --------
-------- This is the most important function - it provides an index for units as they enter the map --------
-------- --------
Custom script: function IndexUnit takes nothing returns boolean
Custom script: local integer pdex = udg_UDex
-------- --------
-------- You can use the boolean UnitIndexerEnabled to protect some of your undesirable units from being indexed --------
-------- - Example: --------
-------- -- Set UnitIndexerEnabled = False --------
-------- -- Unit - Create 1 Dummy for (Triggering player) at TempLoc facing 0.00 degrees --------
-------- -- Set UnitIndexerEnabled = True --------
-------- --------
-------- You can also customize the following block - if conditions are false the (Matching unit) won't be indexed. --------
-------- --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
UnitIndexerEnabled Equal to True
Then - Actions
-------- --------
-------- Generate a unique integer index for this unit --------
-------- --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
UDexRecycle Equal to 0
Then - Actions
Set UDex = (UDexGen + 1)
Set UDexGen = UDex
Else - Actions
Set UDex = UDexRecycle
Set UDexRecycle = UDexNext[UDex]
-------- --------
-------- Link index to unit, unit to index --------
-------- --------
Set UDexUnits[UDex] = (Matching unit)
Unit - Set the custom value of UDexUnits[UDex] to UDex
-------- --------
-------- Use a doubly-linked list to store all active indexes --------
-------- --------
Set UDexPrev[UDexNext[0]] = UDex
Set UDexNext[UDex] = UDexNext[0]
Set UDexNext[0] = UDex
-------- --------
-------- Fire index event for UDex --------
-------- --------
Set UnitIndexEvent = 0.00
Set UnitIndexEvent = 1.00
Set UnitIndexEvent = 0.00
Custom script: set udg_UDex = pdex
Else - Actions
Custom script: return false
Custom script: endfunction
-------- --------
-------- The next function is called each time a unit enters the map --------
-------- --------
Custom script: function IndexNewUnit takes nothing returns boolean
Custom script: local integer pdex = udg_UDex
Custom script: local integer ndex
-------- --------
-------- Recycle indices of units no longer in-play every (15) units created --------
-------- --------
Set UDexWasted = (UDexWasted + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
UDexWasted Equal to 15
Then - Actions
Set UDexWasted = 0
Set UDex = UDexNext[0]
Custom script: loop
Custom script: exitwhen udg_UDex == 0
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Custom value of UDexUnits[UDex]) Equal to 0
Then - Actions
-------- --------
-------- Remove index from linked list --------
-------- --------
Custom script: set ndex = udg_UDexNext[udg_UDex]
Custom script: set udg_UDexNext[udg_UDexPrev[udg_UDex]] = ndex
Custom script: set udg_UDexPrev[ndex] = udg_UDexPrev[udg_UDex]
Set UDexPrev[UDex] = 0
-------- --------
-------- Fire deindex event for UDex --------
-------- --------
Set UnitIndexEvent = 2.00
Set UnitIndexEvent = 0.00
-------- --------
-------- Recycle the index for later use --------
-------- --------
Set UDexUnits[UDex] = No unit
Set UDexNext[UDex] = UDexRecycle
Set UDexRecycle = UDex
Custom script: set udg_UDex = ndex
Else - Actions
Set UDex = UDexNext[UDex]
Custom script: endloop
Custom script: set udg_UDex = pdex
Else - Actions
-------- --------
-------- Handle the entering unit (Matching unit) --------
-------- --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Custom value of (Matching unit)) Equal to 0
Then - Actions
Custom script: call IndexUnit()
Else - Actions
Custom script: return false
Custom script: endfunction
-------- --------
-------- The next function initializes the core of the system --------
-------- --------
Custom script: function InitializeUnitIndexer takes nothing returns nothing
Custom script: local integer i = 0
Custom script: local region re = CreateRegion()
Custom script: local rect r = GetWorldBounds()
Set UnitIndexerEnabled = True
Custom script: call RegionAddRect(re, r)
Custom script: call TriggerRegisterEnterRegion(CreateTrigger(), re, Filter(function IndexNewUnit))
Custom script: call RemoveRect(r)
Custom script: set re = null
Custom script: set r = null
Custom script: loop
Custom script: call GroupEnumUnitsOfPlayer(bj_lastCreatedGroup, Player(i), Filter(function IndexUnit))
Custom script: set i = i + 1
Custom script: exitwhen i == 16
Custom script: endloop
-------- --------
-------- This is the "Unit Indexer Initialized" event, use it instead of "Map Initialization" for best results --------
-------- --------
Set UnitIndexEvent = 3.00
Set UnitIndexEvent = 0.00
CES Initialization
Events
Map initialization
Conditions
Actions
Hashtable - Create a hashtable
Set CES_Hashtable = (Last created hashtable)
-------- EXP String show color --------
Set CES_StringArray[1] = |cff00ff00
-------- EXP String ( EXP_StringArray[2] + EXP + EXP_StringArray[3]) --------
Set CES_StringArray[2] = +
Set CES_StringArray[3] = EXP!
-------- EXP Bar Color --------
Set CES_StringArray[4] = |cffffcc00
-------- EXP Bar Level Color --------
Set CES_StringArray[5] = |cffccffcc
-------- EXP String Size --------
Set CES_Real[1] = 10.00
-------- EXP Show Time --------
Set CES_Real[2] = 2.00
-------- EXP Velocity Disatance --------
Set CES_Real[3] = 50.00
-------- EXP Bar Size (I think it need <= 8) --------
Set CES_Real[4] = 8.00
-------- EXP Sharing Range --------
Set CES_EXPRange = 1000.00
-------- ------- --------
-------- CES_ShareEXP = True => Share EXP, CES_ShareEXP = False => Not share EXP --------
Set CES_ShareEXPBoolean = True
-------- Special Effect when unit up level. --------
Set CES_SFX = Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
-------- ------- --------
-------- Level Table --------
-------- Lvl 1 => Lvl 2 Requires 200 EXP --------
Set CES_LevelTable[1] = 700
-------- --------- --------
-------- Lvl 2 => Lvl 3 Requires 500 EXP --------
Set CES_LevelTable[2] = 1000
-------- --------- --------
-------- Lvl 3 => Lvl 4 Requires 1000 EXP --------
Set CES_LevelTable[3] = 2500
-------- --------- --------
-------- Lvl 4 => Lvl 5 Requires 2000 EXP --------
Set CES_LevelTable[4] = 3800
-------- --------- --------
-------- Lvl 5 => Lvl 6 Requires 4600 EXP --------
Set CES_LevelTable[5] = 4600
Set CES_LevelTable[6] = 5300
Set CES_LevelTable[7] = 5800
Set CES_LevelTable[8] = 6200
Set CES_LevelTable[9] = 6700
Set CES_LevelTable[10] = 7100
Set CES_LevelTable[11] = 7500
Set CES_LevelTable[12] = 7950
Set CES_LevelTable[13] = 8200
Set CES_LevelTable[14] = 8700
Set CES_LevelTable[15] = 8900
Set CES_LevelTable[16] = 9100
Set CES_LevelTable[17] = 10000
-------- --------- --------
-------- Unit EXP --------
Set CES_UnitType = ...1
Set CES_EXP = 60
Trigger - Run CES Save EXP <gen> (checking conditions)
Set CES_UnitType = ...12
Set CES_EXP = 50
Trigger - Run CES Save EXP <gen> (checking conditions)
Set CES_UnitType = ...2
Set CES_EXP = 50
Trigger - Run CES Save EXP <gen> (checking conditions)
Set CES_UnitType = ...22
Set CES_EXP = 60
Trigger - Run CES Save EXP <gen> (checking conditions)
CES Save EXP
Events
Conditions
Actions
Custom script: set udg_CES_UnitID = udg_CES_UnitType
Hashtable - Save CES_EXP as CES_UnitID of 0 in CES_Hashtable
CES Add Unit
Events
Conditions
Actions
Set CES_UnitID = (Custom value of CES_Unit)
Unit Group - Add CES_Unit to CES_Group
Hashtable - Save 0 as CES_UnitID of 1 in CES_Hashtable
Hashtable - Save 1 as CES_UnitID of 2 in CES_Hashtable
Hashtable - Save 100 as CES_UnitID of 3 in CES_Hashtable
Set CES_Player = (Owner of CES_Unit)
Custom script: if udg_CES_Player == GetLocalPlayer() then
Floating Text - Create floating text that reads above CES_Unit with Z offset 0.00, using font size CES_Real[4], color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Hashtable - Save Handle Of(Last created floating text) as CES_UnitID of 4 in CES_Hashtable
Custom script: endif
CES Remove Unit
Events
Conditions
Actions
Set CES_UnitID = (Custom value of CES_Unit)
Floating Text - Destroy (Load CES_UnitID of 4 in CES_HashtableIf the label is not found, this function returns NULL.)
Hashtable - Clear all child hashtables of child CES_UnitID in CES_Hashtable
Unit Group - Remove CES_Unit from CES_Group
CES Die Check
Events
Unit - A unit Dies
Conditions
Actions
Set CES_Unit2 = (Triggering unit)
Set CES_Unit = (Killing unit)
Set CES_UnitID = (Custom value of CES_Unit)
Custom script: set udg_CES_UnitID2 = GetUnitTypeId(udg_CES_Unit2)
Set CES_EXP = (Load CES_UnitID2 of 0 from CES_Hashtable)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
CES_ShareEXPBoolean Equal to False
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(CES_Unit is alive) Equal to True
Then - Actions
Set CES_Event = 0.00
Set CES_UnitEXP = (Load CES_UnitID of 1 from CES_Hashtable)
Set CES_Level = (Load CES_UnitID of 2 from CES_Hashtable)
Set CES_EXPRate = (Load CES_UnitID of 3 from CES_Hashtable)
Set CES_RealEXP = ((CES_EXP x CES_EXPRate) / 100)
Set CES_UnitEXP = (CES_UnitEXP + CES_RealEXP)
Set CES_Player = (Owner of CES_Unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
CES_UnitEXP Greater than or equal to CES_LevelTable[CES_Level]
Then - Actions
Special Effect - Create a special effect attached to the origin of CES_Unit using CES_SFX
Special Effect - Destroy (Last created special effect)
Set CES_UnitEXP = (CES_UnitEXP - CES_LevelTable[CES_Level])
Set CES_Level = (CES_Level + 1)
Set CES_Event = 2.00
Hashtable - Save CES_Level as CES_UnitID of 2 in CES_Hashtable
Else - Actions
Hashtable - Save CES_UnitEXP as CES_UnitID of 1 in CES_Hashtable
Set CES_Event = 1.00
Custom script: if udg_CES_Player == GetLocalPlayer() then
Floating Text - Create floating text that reads (CES_StringArray[1] + (CES_StringArray[2] + ((String(CES_RealEXP)) + CES_StringArray[3]))) above CES_Unit with Z offset 0.00, using font size CES_Real[1], color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to CES_Real[3] towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to CES_Real[2] seconds
Floating Text - Change the fading age of (Last created floating text) to CES_Real[2] seconds
Custom script: endif
Else - Actions
Else - Actions
Set CES_Point = (Position of CES_Unit2)
Set CES_TempGroup = (Units within CES_EXPRange of CES_Point matching ((((Matching unit) is in CES_Group) Equal to True) and ((((Matching unit) belongs to an ally of (Owner of CES_Unit)) Equal to True) and (((Matching unit) is alive) Equal to True))))
Set CES_EXP = (CES_EXP / (Number of units in CES_TempGroup))
Unit Group - Pick every unit in CES_TempGroup and do (Actions)
Loop - Actions
Set CES_Event = 0.00
Set CES_Unit = (Picked unit)
Set CES_Player = (Owner of CES_Unit)
Set CES_UnitID = (Custom value of CES_Unit)
Set CES_UnitEXP = (Load CES_UnitID of 1 from CES_Hashtable)
Set CES_Level = (Load CES_UnitID of 2 from CES_Hashtable)
Set CES_EXPRate = (Load CES_UnitID of 3 from CES_Hashtable)
Set CES_RealEXP = ((CES_EXP x CES_EXPRate) / 100)
Set CES_UnitEXP = (CES_UnitEXP + CES_RealEXP)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
CES_UnitEXP Greater than or equal to CES_LevelTable[CES_Level]
Then - Actions
Special Effect - Create a special effect attached to the origin of CES_Unit using CES_SFX
Special Effect - Destroy (Last created special effect)
Set CES_UnitEXP = (CES_UnitEXP - CES_LevelTable[CES_Level])
Set CES_Level = (CES_Level + 1)
Set CES_Event = 2.00
Hashtable - Save CES_Level as CES_UnitID of 2 in CES_Hashtable
Else - Actions
Hashtable - Save CES_UnitEXP as CES_UnitID of 1 in CES_Hashtable
Set CES_Event = 1.00
Custom script: if udg_CES_Player == GetLocalPlayer() then
Floating Text - Create floating text that reads (CES_StringArray[1] + (CES_StringArray[2] + ((String(CES_RealEXP)) + CES_StringArray[3]))) above CES_Unit with Z offset 0.00, using font size CES_Real[1], color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to CES_Real[3] towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to CES_Real[2] seconds
Floating Text - Change the fading age of (Last created floating text) to CES_Real[2] seconds
Custom script: endif
Custom script: call RemoveLocation(udg_CES_Point)
Custom script: call DestroyGroup(udg_CES_TempGroup)
CES Show EXP Bar
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in CES_Group and do (Actions)
Loop - Actions
Set CES_Unit = (Picked unit)
Set CES_UnitID = (Custom value of CES_Unit)
Set CES_Player = (Owner of CES_Unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(CES_Unit is alive) Equal to True
Then - Actions
Set CES_UnitEXP = (Load CES_UnitID of 1 from CES_Hashtable)
Set CES_Level = (Load CES_UnitID of 2 from CES_Hashtable)
Set CES_UnitID2 = ((CES_UnitEXP x 100) / CES_LevelTable[CES_Level])
Set CES_String = (CES_StringArray[5] + ((String(CES_Level)) + ()|r > + CES_StringArray[4])))
For each (Integer CES_Int) from 1 to CES_UnitID2, do (Actions)
Loop - Actions
Set CES_String = (CES_String + |)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(CES_UnitID2 mod 2) Equal to 1
Then - Actions
Set CES_String = (CES_String + ||r)
Else - Actions
Set CES_String = (CES_String + |r)
For each (Integer CES_Int) from 1 to (100 - CES_UnitID2), do (Actions)
Loop - Actions
Set CES_String = (CES_String + |)
Set CES_String = (CES_String + <)
Custom script: if udg_CES_Player == GetLocalPlayer() then
Floating Text - Change the position of (Load CES_UnitID of 4 in CES_HashtableIf the label is not found, this function returns NULL.) to CES_Unit with Z offset 0.00
Floating Text - Change text of (Load CES_UnitID of 4 in CES_HashtableIf the label is not found, this function returns NULL.) to CES_String using font size CES_Real[4]
Custom script: endif
Set CES_String = <Empty String>
Else - Actions
Custom script: if udg_CES_Player == GetLocalPlayer() then
Set CES_String = <Empty String>
Floating Text - Change text of (Load CES_UnitID of 4 in CES_HashtableIf the label is not found, this function returns NULL.) to CES_String using font size CES_Real[4]
Floating Text - Change the position of (Load CES_UnitID of 4 in CES_HashtableIf the label is not found, this function returns NULL.) to CES_Unit with Z offset 0.00
Custom script: endif

các bạn cho mình hỏi. khi open map và thấy các unit có trên map, làm thế nào để thấy đc các nội dung của unit đó ( loại unit, damage max min, skill có thể học...)
cho mình hỏi cách làm trigger này : khi hero xuất skill thì sẽ tạo 1 hiệu ứng tăng sức tấn công của hero đó 1 khoảng thời gian rồi mất đi
vd : Skill thiên về Agi thì khi xuất skill sẽ tăng agi của hero đó trong thời gian là 2 phút rồi mất
Ai làm dc xin post code hay map demo thanks nhìu
Ủa làm sao để remove đi hả bạn ? Nói 1 đoạn code đi
À add ability à thế làm sao cộng stat gốc bằng trig mà trả về stat ban đầu hả bạn giống như chiu 1 Undying , chiu 2 Dertroyer