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

Status
Không mở trả lời sau này.
cho mình hỏi vấn để sau cái :
Cho mình hỏi trigger này cần thêm hay sửa chỗ nào mà đánh vào creep thì bình thường không sao, nhưng khi đánh vào hero thì đơ lun @@
Mã:
function Trig_FOKS_Action_Conditions takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A03B', GetAttacker()) > 0 ) ) then
        return false
    endif
    return true
endfunction

function FOKS_Damage takes nothing returns nothing
local unit u = GetTriggerUnit()
local unit hero = GetEventDamageSource()
local location point = GetUnitLoc(u)
     call CreateNUnitsAtLoc( 1, 'h001', GetOwningPlayer(hero), point, bj_UNIT_FACING )
     call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
     call UnitAddAbilityBJ( 'A03C', GetLastCreatedUnit() )
     call SetUnitAbilityLevelSwapped( 'A03C', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A03B', hero) )
     call IssueImmediateOrderBJ( GetLastCreatedUnit(), "fanofknives" ) 
call RemoveLocation(point)
set point = null
endfunction

function Trig_FOKS_Action_Actions takes nothing returns nothing
local trigger t = CreateTrigger()
local unit attacker = GetAttacker()
local triggeraction taction = TriggerAddAction(t, function FOKS_Damage)
local integer chance = GetRandomInt(1, 100)
local timer tx = CreateTimer()
    if ( chance <= ( 15 + ( GetUnitAbilityLevelSwapped('A03B', attacker) * 5 ) ) ) then
        call TimerStart(tx,4,false,null)
        call TriggerRegisterUnitEvent(t,GetAttackedUnitBJ(), EVENT_UNIT_DAMAGED)
        loop
            exitwhen (TimerGetRemaining(tx)<=0) or (GetTriggerEvalCount(t) == 1)
            call TriggerSleepAction(1.0)
        endloop
    endif
call DestroyTrigger(t)
call DestroyTimer(tx)
set taction = null
set attacker = null
set t=null
set tx = null
endfunction

//===========================================================================
function InitTrig_FOKS_Action takes nothing returns nothing
    set gg_trg_FOKS_Action = CreateTrigger(  )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_FOKS_Action, Player(PLAYER_NEUTRAL_AGGRESSIVE), EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_FOKS_Action, Player(PLAYER_NEUTRAL_AGGRESSIVE), EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_FOKS_Action, Condition( function Trig_FOKS_Action_Conditions ) )
    call TriggerAddAction( gg_trg_FOKS_Action, function Trig_FOKS_Action_Actions )
endfunction

convert ra Jass làm gì bạn? để yên GUI cũng được mà. và từ đơ của bạn ở đây nghĩa là gì.
@wolf: cho mình hỏi cái effect của con doom(dota) skill LVL? Death là effect gì mà mình tìm mãi ko thấy ở default effect vậy
 
Chỉnh sửa cuối:
ý mình nói là khi dùng và creep thì bình thường mà khi tấn công hero thì bị lag và đứng lun ( dùng đơ cho nhanh ^^)
 
@wolf: mình cẫn bạn giúp 1 chút. bạn có thể làm cho cái skill ravage (multi impale) mỗi unit chỉ bị damage 1 lần được không? sau đó lại trở về bình thường và lần sau cast thì lại bị bay lên NHƯNG CHỈ BỊ DAMAGE 1 LẦN DUY NHẤT TRONG MỖI LẦN CAST. thanks bạn nhiều
 

Attachments

Ai chỉ cách làm sao để con pet luôn theo mình nhanh gấp
 
Có cách nào cho unit sử dụng sound của mình import vào map giống như mình chỉnh Sound - Unit sound set ko? Có nghĩa là thay Sound - Unit sound set của unit bằng sound mình import vào ấy? (Khó diễn tả quá, hix ...(>_<!)
 
^Chỉnh sound của nó là NONE rồi làm mấy cái trigger: khi unit type đó bị order thì play sound thôi

---------- Post added at 21:28 ---------- Previous post was at 21:20 ----------

Cái file mình đính kèm ở dưới có tất cả danh sách các upbersplat đó, bạn có thể xem qua nếu cần.
File nào vậy?
123456789abcxyz......
 
cho mình hỏi vấn để sau cái :
Cho mình hỏi trigger này cần thêm hay sửa chỗ nào mà đánh vào creep thì bình thường không sao, nhưng khi đánh vào hero thì đơ lun @@
Mã:
function Trig_FOKS_Action_Conditions takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A03B', GetAttacker()) > 0 ) ) then
        return false
    endif
    return true
endfunction

function FOKS_Damage takes nothing returns nothing
local unit u = GetTriggerUnit()
local unit hero = GetEventDamageSource()
local location point = GetUnitLoc(u)
     call CreateNUnitsAtLoc( 1, 'h001', GetOwningPlayer(hero), point, bj_UNIT_FACING )
     call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
     call UnitAddAbilityBJ( 'A03C', GetLastCreatedUnit() )
     call SetUnitAbilityLevelSwapped( 'A03C', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A03B', hero) )
     call IssueImmediateOrderBJ( GetLastCreatedUnit(), "fanofknives" ) 
call RemoveLocation(point)
set point = null
endfunction

function Trig_FOKS_Action_Actions takes nothing returns nothing
local trigger t = CreateTrigger()
local unit attacker = GetAttacker()
local triggeraction taction = TriggerAddAction(t, function FOKS_Damage)
local integer chance = GetRandomInt(1, 100)
local timer tx = CreateTimer()
    if ( chance <= ( 15 + ( GetUnitAbilityLevelSwapped('A03B', attacker) * 5 ) ) ) then
        call TimerStart(tx,4,false,null)
        call TriggerRegisterUnitEvent(t,GetAttackedUnitBJ(), EVENT_UNIT_DAMAGED)
        loop
            exitwhen (TimerGetRemaining(tx)<=0) or (GetTriggerEvalCount(t) == 1)
            call TriggerSleepAction(1.0)
        endloop
    endif
call DestroyTrigger(t)
call DestroyTimer(tx)
set taction = null
set attacker = null
set t=null
set tx = null
endfunction

//===========================================================================
function InitTrig_FOKS_Action takes nothing returns nothing
    set gg_trg_FOKS_Action = CreateTrigger(  )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_FOKS_Action, Player(PLAYER_NEUTRAL_AGGRESSIVE), EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_FOKS_Action, Player(PLAYER_NEUTRAL_AGGRESSIVE), EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_FOKS_Action, Condition( function Trig_FOKS_Action_Conditions ) )
    call TriggerAddAction( gg_trg_FOKS_Action, function Trig_FOKS_Action_Actions )
endfunction
Bạn nên xài dmg detect có trong tổng hợp các link hữu dụng vì cái trigger của bạn ko bug hơi phí
 
kiếm một file nhạc đuôi là .mp3, import vào map, sửa đường dẫn thành Sounds\tên file

vậy của tôi là nhạc Beethoven Virus - Beethoven.mp3 vậy phải là
Sounds/Beethoven Virus - Beethoven.mp3
 
YAN[asian];17890038 nói:
Là "Sounds\Beethoven Virus - Beethoven.mp3" >_<!

ko thành công? có Close map ko??? và import trên tạo map USME (JASS) hay WE
 
Bạn đang hỏi tôi là bạn ko thành công hay tôi ko thành công vậy? Ko hiểu. Tôi đang sửa cho bạn đấy, và cái câu của tôi chẳng có gì giống câu hỏi cả.

Cho hỏi làm Trigger unit taked damage có condition nào xác định type của damage ko?
 
YAN[asian];17891300 nói:
Bạn đang hỏi tôi là bạn ko thành công hay tôi ko thành công vậy? Ko hiểu. Tôi đang sửa cho bạn đấy, và cái câu của tôi chẳng có gì giống câu hỏi cả.

Cho hỏi làm Trigger unit taked damage có condition nào xác định type của damage ko?

Câu trả lời là có/không
 
Ai cho hỏi là movement speed trong war được tính như thế nào? vd: movement của 1 unit là 500 thì tức là nó đi được 500 range trong 1s đúng không?
 
Bạn nên xài dmg detect có trong tổng hợp các link hữu dụng vì cái trigger của bạn ko bug hơi phí

bug chỗ nào bạn chỉ và giúp mình sửa với. Khi đánh vào Creep thì không sao, bình thường nhưng đánh vào hero thì lag không tả đc @@
 
bug chỗ nào bạn chỉ và giúp mình sửa với. Khi đánh vào Creep thì không sao, bình thường nhưng đánh vào hero thì lag không tả đc @@
Nếu đã có ý định dùng jass thì nên xài thêm system damage detect + xecast ;)

P/s: Bác Tom cho em hỏi là có cách nào detect xem unit có đang active auto-cast skill không ạ ?
 
Chỉnh sửa cuối:
[QUOTE='YAN[asian]
Cho hỏi làm Trigger unit taked damage có condition nào xác định type của damage ko?[/QUOTE]

Ai trả lời hộ cái ...
 
Stork[gm];17893843 nói:
Ai cho hỏi là movement speed trong war được tính như thế nào? vd: movement của 1 unit là 500 thì tức là nó đi được 500 range trong 1s đúng không?

đúng!

YAN[asian];17896549 nói:
Ai trả lời hộ cái ...

không có condition nào cả
 
Hỏi hơi ngoài lề tí là em quét virus vào folder jassnewgen thì sysmantec diệt loạn xạ lên, cho hỏi virus trong đó có hại gì không?
 
^ Không, và chả biết JNG của bạn còn chạy được không nữa. Đó là trojan không có hại cho máy. Tác dụng nó là thay đổi WE của Blizzard với thêm các tính năng mới. Nhưng do Blizzard không mở source code của WE mà chỉ mở source code của jass nên muốn thay đổi WE thì cần mấy con Trojan .......... :-??

[Yami];17895509 nói:
P/s: Bác Tom cho em hỏi là có cách nào detect xem unit có đang active auto-cast skill không ạ ?
Xài event unit - order
Cái event unit - order chỉ phát hiện auto skill bật (tắt) khi người chơi bắt đầu bật(tắt) auto (mà order string cũng phải đặt đúng nữa mới detect được)
Còn khi nó cast skill = auto hoặc = tay (người chơi) thì chả event nào phân biệt được.
Còn khi đã bật thì chịu ...
Nên cần lưu vào đâu đó rằng cái skill đang được active rồi khi người chơi bắt đầu bật và chưa khi tắt.
 
Chỉnh sửa cuối:
Status
Không mở trả lời sau này.
Back
Top