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

Status
Không mở trả lời sau này.
@anh Tom: em muốn hỏi về cách để tạo ra cái cục màu vàng chứ ko phải là cách attach vào vị trí ạ :-s
 
@anh Tom: em muốn hỏi về cách để tạo ra cái cục màu vàng chứ ko phải là cách attach vào vị trí ạ :-s
Tạo model :-"

Còn lỗi mà map vẫn chạy và ko có báo lỗi vẫn có thể xảy ra huống chi có báo lỗi :)), nhưng trigger có chạy bình thường ko thì còn tùy =>Tốt nhất là đừng để nó báo lỗi như thế
[spoil]
Mã:
function Deal_Damage takes unit u, string s, real h returns nothing
    Blah.. blah...
endfunction

function InitTrig_Effect takes nothing returns nothing
    set gg_trg_Effect = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Effect, function Deal_Damage )
endfunction
Mã:
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to (==) Spell 
    Actions
        Custom script:   call Deal_Damage( GetTriggerUnit(), "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl", 40 )
[/spoil]
Gọi kiểu như trên và nó báo lỗi trigger 1 :|, nhưng vẫn có effect

FlameDrake nói là ví dụ cụ thể còn hiểu về mặt ý nghĩa là:
Trigger cũng cần tạo và có thể hủy giống như nhiều thứ khác trong WE nó cũng là 1 thể loại handle và có ID riêng biệt
Vậy xóa 1 trigger có thể giữ bộ nhớ tốt hơn ? Nhưng mình tìm hiểu thì có người bảo không nên vì sẽ dễ crash, vậy với trigger xài 1 lần hay đến lúc ko cần nữa thì destroy được không ?
 
Chỉnh sửa cuối:
Chả cần biết vì sao đặt wait. Chỉ biết là đặt wait trong trường hợp này chắc chắn sẽ bug. Hơn nữa, wait 0.02s thực chất là wait tầm 0.27~0.3s, nếu muốn chính xác phải dùng timer.
Và một khi nghĩ ra cách làm thì phải đảm bảo 100% là nó hoạt động bình thường. Đơn cử spell Healing Wave, chả gây damage cho đứa nào mà trigger như thế kia thì chắc chắn sẽ có vấn đề, chưa kể những passive gây damage spell thì định tính sao :-@ ?
Nói chung cách nào thì cách nhưng chắc chắn cách này không dùng được. Và trong số các cách tôi thấy cách dùng Orb Effect kiểu Poison ở trên là hợp nhất rồi.

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

Soul Burn có bị làm sao đâu nhở :-? ? Tôi vẫn dùng bình thường mà ?

Ơ em chỉ HD, tùy người dùng tri thức tới mức độ nào !@@

Soul Burn :(( của em bị lỗi em mới hỏi? Map ng ta dùng bt mà map em là lag hà hk hiểu tại sao lun! :((
 
@D o r a e m o n:

xem lại skill Soul Burn có 1 từ Damage Period set là 1.00 đi :|
 
Ơ em chỉ HD, tùy người dùng tri thức tới mức độ nào !@@

Tôi đố có người nào có đủ "tri thức" để làm theo cách của cậu :)).

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

Vậy xóa 1 trigger có thể giữ bộ nhớ tốt hơn ? Nhưng mình tìm hiểu thì có người bảo không nên vì sẽ dễ crash, vậy với trigger xài 1 lần hay đến lúc ko cần nữa thì destroy được không ?

Tất nhiên là có, trigger cũng là 1 "Handle" giống như Unit, Location...
Đối với những trigger tạo lúc "Map Initialization" thì không được destroy, còn những trigger "xài 1 lần" thì xài xong phải tiêu hủy, còn vụ crash thì tớ xài chưa bao giờ bị cả.
 
^ nếu em làm đk thì cũng đâu có chuyện gì? ng ta cũng hk nhờ em!
^x2: em chỉnh thành 99 có sao hk anh? à còn nữa, tự dưng thỉnh thoảng map em dùng lightning effect = trigger thì lâu lâu nó bị văng ra ngoài và báo lỗi! Anh giúp em với
 
Cho mình hỏi cái Animation - Cast Back càng cao thì tốc độ xuất chiêu của Hero phải ko mấy bạn.
 
^x2: em chỉnh thành 99 có sao hk anh? à còn nữa, tự dưng thỉnh thoảng map em dùng lightning effect = trigger thì lâu lâu nó bị văng ra ngoài và báo lỗi! Anh giúp em với

99 có nghĩa là 99 giây mới gây dmg một lần, tôi dùng cái này để gây silence là chính nên để 300 (max)
nếu dùng lightning effect = trigger thì phải post trigger đó lên đây, nói vậy không ai giúp được đâu

Cho mình hỏi cái Animation - Cast Back càng cao thì tốc độ xuất chiêu của Hero phải ko mấy bạn.

càng cao thì tốc độ xuất chiêu của hero <cái gì> mà "phải ko" với chả sai ko? viết câu kiểu gì thế?

Animation - Cast Back là thời gian tiếp tục thực hiện animation sau khi cast. Ví dụ: animation hero của bạn là 1.3, Animation - Cast Point0.3, vậy cast spell sẽ mất 0.3s, nếu bạn muốn unit thực hiện nốt 1.0s animation còn lại, để Cast Back = 1.0, nếu để thấp hơn thì animation bị ngừng giữa chừng, khá là "xấu".
 
Chỉnh sửa cuối:
[spoil]
Mã:
function Deal_Damage takes unit u, string s, real h returns nothing
    Blah.. blah...
endfunction

function InitTrig_Effect takes nothing returns nothing
    set gg_trg_Effect = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Effect, function Deal_Damage )
endfunction
Mã:
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to (==) Spell 
    Actions
        Custom script:   call Deal_Damage( GetTriggerUnit(), "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl", 40 )
[/spoil]
Gọi kiểu như trên và nó báo lỗi trigger 1 :|, nhưng vẫn có effect


Vậy xóa 1 trigger có thể giữ bộ nhớ tốt hơn ? Nhưng mình tìm hiểu thì có người bảo không nên vì sẽ dễ crash, vậy với trigger xài 1 lần hay đến lúc ko cần nữa thì destroy được không ?

Crash là do người ta sử lý lỗi mới crash còn hết dùng thì destroy, còn dùng thì cứ để đó (thường là trường hợp này) ... Tùy

OK là nó báo lỗi là ở dòng
call TriggerAddAction( gg_trg_Effect, function Deal_Damage )
Cái TriggerAddAction nó nhận function là dạng ko có tham số....

Thực ra vẫn lỗi là nếu như có Event gắn cho trigger 1 thì sẽ ko chạy action của event đó.
Cái này lonewolf nhầm lẫn khi dùng code với trigger. Khi WE tạo 1 trigger thì đúng nghĩa là tạo ra trigger + function (action) nhưng ở trường hợp của LoneWolf thì chỉ cần cái function để call thôi còn trigger Effect là thừa chả làm gì tốn bộ nhớ
 
Cho hỏi làm sao để thay đổi model khi creep chết thì được tiền và thay đổi màu tiền nhận được lúc creep chết và thay đổi icon tiền vàng trên góc phải màn hình ? Thanks nhìu.
 
Cho hỏi làm sao để thay đổi model khi creep chết thì được tiền và thay đổi màu tiền nhận được lúc creep chết và thay đổi icon tiền vàng trên góc phải màn hình ? Thanks nhìu.

Edit lại bài có dấu "," cái, tớ đọc k hiểu nên k giúp nổi :-??.
 
Cho hỏi làm sao để thay đổi model khi creep chết thì được tiền và thay đổi màu tiền nhận được lúc creep chết và thay đổi icon tiền vàng trên góc phải màn hình ? Thanks nhìu.

^
Cậu trên thua tôi rồi :))
Thay đổi icon vàng thì vào game interface tìm dòng icon - gold
Creep chết được tiền: Player - Turn god bounty for player cần giết được tiền. VD: Muốn giết unit của player 2 thì turn for player 2
Thay model vào F6 tìm dòng model file.
Và cái cuối ko rõ
Ghi gì ko hiểu gì hết, chả có chấm, phẩy gì hết :-@
 
Anh Tom_cho hoi cach them lenh vao map. Vd: chi can go lenh 123 la no chuyen tu che do normal sang death match.

---------- Post added at 22:03 ---------- Previous post was at 22:01 ----------

Anh Tom_cho hoi cach them lenh vao map. Vd: chi can go lenh 123 la no chuyen tu che do normal sang death match.
Thanks you very much(k0 answer dc la "few")
 
^
^
Thanks cái thay đổi icon. Ý là khi hero diết chết 1 unit thì có hiện model tiền rơi ra (muốn thay đổi model) và +gold (muốn thay đổi màu tiền) thanks nhìu :D
 
bạn nào giúp mình tạo 1 skill mà khi cast tại 1 điểm thì sẽ tạo ra 1 unit bay theo hướng mình cast, unit đó chạm vào kẻ thù thì sẽ đẩy kẻ thù 1 đoạn theo hướng mình cast ko?

---------- Post added at 21:47 ---------- Previous post was at 21:34 ----------

bạn nào sửa giùm mình lỗi này nhé: mình copy 1 skill trên mạng về tên là Phoenix wave, add vô 1 hero, sau mình làm 1 skill nữa từ skill shock wave chỉ thay đổi missile là con phoenix thôi.Skill Phoenix wave sẽ tạo ra 1 unit có model là phoenix còn skill mình mới tạo chỉ có cái missile là phoenix thôi nhưng khi 1 unit có cả 2 skill này cast 1 trong 2 thì skill còn lại sẽ cũng bị cast mà skill cast trc lại ko có cool down. Khó hiểu quá, một cái là model unit 1 cái là missile sao lại bị lỗi
 
"tự nhiên" cái targeting image spell (khi sử dụng skill target AOE rộng thường có ấy,ví dụ như blizzard chẳng hạn) của mình nó to bự tổ chảng =_= mà ko rõ nguyên nhân do đâu nữa.
 
@Quang.kingvnsilk:

bạn tìm hiểu Event Player - Player 1 (Red) types a chat message containing <stirng> as An exact match
nhé!.

*darkman*:

màu tiền kia gọi là Floating Text không thể thay đổi được tại vì đó là mã mặc định của blizzard, có thể thay đổi màu text đó bằng custom trigger thôi :-<
muốn thay đổi model gold kia có thể import 1 model khác vào đặt cái tên UI\Feedback\GoldCredit\GoldCredit.mdx

@toanlove371:

bạn xem lại trong unit đó có 2 ability thư thế không!, nếu có. đó chính là nguyên nhân gây lỗi cooldown

@Ngoc LeO:

cái vòng đó bự hay nhỏ là tại Area of Effect gây lên chỉ cần chỉnh nhỏ thông số Area of Effect là ok.
à vòng tròn đó có thể gọi là Diện tích hiệu ứng
 
Mã:
Lightning Strike
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Lightning Strike 
    Actions
        Set Caster[2] = (Triggering unit)
        Set Target[2] = (Target unit of ability being cast)
        Set CastPoint[2] = (Position of Caster[2])
        Set CastPlayer[1] = (Owner of Caster[2])
        Set IntAbi[1] = (Level of Lightning Strike  for Caster[2])
        Set IntAbi[2] = (Strength of Caster[2] (Include bonuses))
        Set IntAbi[3] = (10 x (Level of Lightning Strike  for Caster[2]))
        Set RealAbi[1] = (X of Target[2])
        Set RealAbi[2] = (Y of Target[2])
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (IntAbi[1] Equal to 1) or (IntAbi[1] Equal to 2)
            Then - Actions
                Set IntAbi[4] = 4
            Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (IntAbi[1] Equal to 3) or (IntAbi[1] Equal to 4)
                    Then - Actions
                        Set IntAbi[4] = 5
                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (IntAbi[1] Equal to 5) or (IntAbi[1] Equal to 6)
                            Then - Actions
                                Set IntAbi[4] = 6
                            Else - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (IntAbi[1] Equal to 7) or (IntAbi[1] Equal to 8)
                                    Then - Actions
                                        Set IntAbi[4] = 7
                                    Else - Actions
                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            If - Conditions
                                                (IntAbi[1] Equal to 9) or (IntAbi[1] Equal to 10)
                                            Then - Actions
                                                Set IntAbi[4] = 8
                                            Else - Actions
                                                Do nothing
        Set dam[2] = (5.00 x ((Real(IntAbi[1])) x (Real(IntAbi[2]))))
        Special Effect - Destroy (Create a special effect using Great Lightning.mdx On Target[2] 's origin)
        Special Effect - Destroy (Create a special effect using Abilities\Weapons\Bolt\BoltImpact.mdl On Target[2] 's origin)
        Unit - Cause Caster[2] to damage Target[2], dealing dam[2] damage of attack type Magic and damage type Lightning
        Custom script:   call Text(udg_Target[2],"+ "+ I2S(R2I((udg_dam[2]))), 1.5, "|c00FFF0FF")
        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 IntAbi[3]
            Then - Actions
                Unit - Create 1 Dummy for CastPlayer[1] at CastPoint[2] facing Default building facing degrees
                Set Dummy[1] = (Last created unit)
                Unit - Add a 1.00 second Generic expiration timer to Dummy[1]
                Unit - Add Stun [Dummy]  to Dummy[1]
                Unit - Set level of Stun [Dummy]  for Dummy[1] to 1
                Unit - Order Dummy[1] to Human Mountain King - Storm Bolt Target[2]
                Custom script:   call RemoveLocation(udg_CastPoint[2])
            Else - Actions
        Set Group[2] = (Units within 800.00 of (CastPoint[2] offset by (RealAbi[1], RealAbi[2])) matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) Equal to No unit) or (IntAbi[4] Equal to 0)
            Then - Actions
                Do nothing
            Else - Actions
                Unit Group - Pick every unit in Group[2] and do (Actions)
                    Loop - Actions
                        Wait 0.20 seconds
                        Special Effect - Destroy (Create a special effect using Great Lightning.mdx On (Picked unit) 's origin)
                        Special Effect - Destroy (Create a special effect using Abilities\Weapons\Bolt\BoltImpact.mdl On (Picked unit) 's origin)
                        Unit - Cause Caster[2] to damage (Picked unit), dealing dam[2] damage of attack type Magic and damage type Lightning
                        Custom script:   call Text(GetEnumUnit(),"+ "+ I2S(R2I((udg_dam[2]))), 1.5, "|c00FFF0FF")
                        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 IntAbi[3]
                            Then - Actions
                                Unit - Create 1 Dummy for CastPlayer[1] at CastPoint[2] facing Default building facing degrees
                                Set Dummy[1] = (Last created unit)
                                Unit - Add a 1.00 second Generic expiration timer to Dummy[1]
                                Unit - Add Stun [Dummy]  to Dummy[1]
                                Unit - Set level of Stun [Dummy]  for Dummy[1] to 1
                                Unit - Order Dummy[1] to Human Mountain King - Storm Bolt Target[2]
                                Custom script:   call RemoveLocation(udg_CastPoint[2])
                            Else - Actions
                Custom script:   call DestroyGroup (udg_Group[2])
                Custom script:   set udg_CastPlayer[1] = null
                Set IntAbi[4] = (IntAbi[4] - 1)
Pro cho e hỏi trigger trên có sai chỗ nào k mà tại sao khi e sử dụng nó chỉ đánh 1 mục tiêu mà k lan ra các mục tiêu khác [Giống skill cuối của Kiếm Côn trong Thiên Kiếm].
E đã thử 2 cách píck group đều không được, và cho e hỏi trigger có leak chỗ nào k nha. Tks pro nhìu.
 
Chỉnh sửa cuối:
Cho mình hỏi có ai bít cách làm "Bottle" trong dota không vậy?
 
[spoil]
Mã:
        [COLOR="#0000FF"]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 IntAbi[3]
            Then - Actions
                .................
                Custom script:   call RemoveLocation(udg_CastPoint[2])
            Else - Actions[/COLOR]
        Set Group[2] = (Units within 800.00 of ([COLOR="#FF0000"]CastPoint[2][/COLOR] offset by [COLOR="#FF0000"](RealAbi[1], RealAbi[2]))[/COLOR] matching ...
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                [COLOR="#FF0000"]((Picked unit)[/COLOR] Equal to No unit) or [COLOR="#008000"](IntAbi[4] Equal to 0)[/COLOR]
            Then - Actions
                Do nothing
            Else - Actions
                Unit Group - Pick every unit in Group[2] and do (Actions)
                    Loop - Actions
                        [COLOR="#0000FF"]Wait 0.20 seconds[/COLOR]
                        Special Effect - Destroy (Create a special effect using Great Lightning.mdx On (Picked unit) 's origin)
                        Special Effect - Destroy (Create a special effect using Abilities\Weapons\Bolt\BoltImpact.mdl On (Picked unit) 's origin)
                        Unit - Cause Caster[2] to damage (Picked unit), dealing dam[2] damage of attack type Magic and damage type Lightning
                        Custom script:   call Text(GetEnumUnit(),"+ "+ I2S(R2I((udg_dam[2]))), 1.5, "|c00FFF0FF")
                        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 IntAbi[3]
                            Then - Actions
                                Unit - Create 1 Dummy for CastPlayer[1] at CastPoint[2] facing Default building facing degrees
                                Set Dummy[1] = (Last created unit)
                                Unit - Add a 1.00 second Generic expiration timer to Dummy[1]
                                Unit - Add Stun [Dummy]  to Dummy[1]
                                Unit - Set level of Stun [Dummy]  for Dummy[1] to 1
                                Unit - Order Dummy[1] to Human Mountain King - Storm Bolt Target[2]
                                [COLOR="#FF0000"]Custom script:   call RemoveLocation(udg_CastPoint[2])[/COLOR]
                            Else - Actions
                Custom script:   call DestroyGroup (udg_Group[2])
                Custom script:   set udg_CastPlayer[1] = null
                [COLOR="#006400"]Set IntAbi[4] = (IntAbi[4] - 1)[/COLOR]
[/spoil]
  1. Phần xanh dương nếu xảy ra sẽ remove location CastPoint[2], vậy action set group sẽ set cái gì ??
  2. offset by (RealAbi[1], RealAbi[2]) với 2 cái real đó là toạ độ của Location.. bạn biết nó là bao nhiêu ko nhỉ ?
  3. Wait 0.20 seconds, wait trong loop, tớ chưa thử nhưng ...
  4. Custom script: call RemoveLocation(udg_CastPoint[2]): đã remove rồi à, còn các unit còn lại trong group thì tạo dummy để stun sao ?
  5. 2 phần màu xanh lá liên quan gì nhau và liên quan gì trigger ??

Cho mình hỏi có ai bít cách làm "Bottle" trong dota không vậy?
Làm nhiều Item từ bottle 0/3, 1/3, 2/3, 3/3 (Cho shop bán item 0/3) và bottle có rune tương ứng, sau đó set vào các biến. Với event unit uses an item, check biến item unit có và thay item khác vào. Và trigger unit enter/ở trong khu vực bơm máu thì thay bình 3/3 nếu có bình 0-1-2/3.
Đây chỉ trên lý thuyết, lỗi phát sinh hay rắc rối thêm tớ ko biết :|
 
Chỉnh sửa cuối:
Status
Không mở trả lời sau này.
Back
Top