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

vậy thì liên quan gì upgrade, và cả cái cách spell book của bạn cũng k làm thay đổi abi đc :@)
 
Chỉ giỏi đá xoáy chọc ngoáy nhau,sao ko trả lời giúp người ta đi ?

Trường hợp spell custom thì check điều kiện Skill 2 level>0 thì add thêm đơn vị vào dmg của Skill 1,phần còn lại thì mọi người nói rồi
 
Skills 1 gây dame do trigger làm hay Base từ skills có sẵn ?
 
Mã:
globals
    integer times
endglobals

function Bonus takes nothing returns nothing
    local integer i
    local integer e
    set times = times + 1
    set i = 0
    set e = 11
    loop
        exitwhen i > e
        call AdjustPlayerStateBJ(2,Player(i),PLAYER_STATE_RESOURCE_GOLD)
        if times == 180 then
            call AdjustPlayerStateBJ(1,Player(i),PLAYER_STATE_RESOURCE_LUMBER)
            set times = 0
        endif
        set i = i + 1
    endloop
endfunction

//===========================================================================
function InitTrig_Bonus_Gold takes nothing returns nothing
    local trigger t = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( t, 1.00 )
    call TriggerAddAction( t, function Bonus )
    set t = null
endfunction
code sai chỗ nào v. ạ ??? s lại k chạy :((
ý nghĩa code: mỗi giây tăng 2 gold, nếu 180 giây tăng 1 gỗ
 
^ text là text trên màn hình, đâu phải floating text đâu mà x,y của bản đồ với location ._.
cụ thể: native DisplayTextToPlayer takes player toPlayer, real x, real y, string message returns nothing

cụ thể là X Y của DisplayText hình như không hoạt động :-??

Update cái, ai bik chỉ mình cái :). Mình có tạo thử cái float text thử r, nhưng trông nó điêu điêu kiểu gì ấy, k đc tự nhiên như spell gốc :)
phần này nằm trong misc củ war nó là textag hiện critical strike

P/S: góp ý thông số!

// CriticalStrike text tag data
CriticalStrikeTextColor=255,255,0,0
CriticalStrikeTextVelocity=0,0.04,100
CriticalStrikeTextLifetime=5
CriticalStrikeTextFadeStart=2
 
Mã:
globals
    integer times
endglobals

function Bonus takes nothing returns nothing
    local integer i
    local integer e
    set times = times + 1
    set i = 0
    set e = 11
    loop
        exitwhen i > e
        call AdjustPlayerStateBJ(2,Player(i),PLAYER_STATE_RESOURCE_GOLD)
        if times == 180 then
            call AdjustPlayerStateBJ(1,Player(i),PLAYER_STATE_RESOURCE_LUMBER)
            set times = 0
        endif
        set i = i + 1
    endloop
endfunction

//===========================================================================
function InitTrig_Bonus_Gold takes nothing returns nothing
    local trigger t = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( t, 1.00 )
    call TriggerAddAction( t, function Bonus )
    set t = null
endfunction
code sai chỗ nào v. ạ ??? s lại k chạy :((
ý nghĩa code: mỗi giây tăng 2 gold, nếu 180 giây tăng 1 gỗ

Theo như kinh nghiệm của mình thì cậu nên xài cái trigger khi convert ra nó có sẵn mới hoạt động chứ đừng tạo mới local trigger làm gì,ví dụ ở dưới là gg_trg_Untitled_Trigger_001

và cậu nên thay event bj TriggerRegisterTimerEventPeriodic thành TriggerRegisterTimerEvent(gg_trg_Untitled_Trigger_001,1,true)

Thử xem.


Mã:
function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing
endfunction

//===========================================================================
function InitTrig_Untitled_Trigger_001 takes nothing returns nothing
    set gg_trg_Untitled_Trigger_001 = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Untitled_Trigger_001, function Trig_Untitled_Trigger_001_Actions )
endfunction
 
Làm WE trước giờ mà vẫn chưa biết skill silent target được base từ ability nào. Ai biết chỉ giúp mình :D
 
Theo như kinh nghiệm của mình thì cậu nên xài cái trigger khi convert ra nó có sẵn mới hoạt động chứ đừng tạo mới local trigger làm gì,ví dụ ở dưới là gg_trg_Untitled_Trigger_001

và cậu nên thay event bj TriggerRegisterTimerEventPeriodic thành TriggerRegisterTimerEvent(gg_trg_Untitled_Trigger_001,1,true)

Thử xem.


Mã:
function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing
endfunction

//===========================================================================
function InitTrig_Untitled_Trigger_001 takes nothing returns nothing
    set gg_trg_Untitled_Trigger_001 = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Untitled_Trigger_001, function Trig_Untitled_Trigger_001_Actions )
endfunction
Chưa được a ơi :D...... mà bt e vẫn xài local trigger có s đâu :-/

Làm WE trước giờ mà vẫn chưa biết skill silent target được base từ ability nào. Ai biết chỉ giúp mình :D
xài Drunken Haze thử xem bạn, attack prevent chọn tùy cái mún silence
 
Làm thế nào để Boss xài đc skill mình gán cho nó nhỉ
 
Làm thế nào để Boss xài đc skill mình gán cho nó nhỉ

Dùng trigger cho boss Order,một số skill có sẵn trong war như chain lighting,hex,banish,summon.v.v.thì các unit thường tự động xài
 
Mã:
globals
    integer times
endglobals

function Bonus takes nothing returns nothing
    local integer i
    local integer e
    set times = times + 1
    set i = 0
    set e = 11
    loop
        exitwhen i > e
        call AdjustPlayerStateBJ(2,Player(i),PLAYER_STATE_RESOURCE_GOLD)
        if times == 180 then
            call AdjustPlayerStateBJ(1,Player(i),PLAYER_STATE_RESOURCE_LUMBER)
            set times = 0
        endif
        set i = i + 1
    endloop
endfunction

//===========================================================================
function InitTrig_Bonus_Gold takes nothing returns nothing
    local trigger t = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( t, 1.00 )
    call TriggerAddAction( t, function Bonus )
    set t = null
endfunction
code sai chỗ nào v. ạ ??? s lại k chạy :((
ý nghĩa code: mỗi giây tăng 2 gold, nếu 180 giây tăng 1 gỗ
quote lại :D

...... và cho em hỏi cách làm skill Incinerate = trigger MUI + K Lỗi, JASS hay GUI đều ok hết anw, k làm fần chết sẽ nổ damg nhé, chỉ dồn damg thôi..... có 1 cái trên Hive nhưng rối rắm wá :D.....
 
skill đó có trong war3, tại sao phải làm trigger?
 
quote lại :D

...... và cho em hỏi cách làm skill Incinerate = trigger MUI + K Lỗi, JASS hay GUI đều ok hết anw, k làm fần chết sẽ nổ damg nhé, chỉ dồn damg thôi..... có 1 cái trên Hive nhưng rối rắm wá :D.....

Bạn phải đặt giá trị đầu vào cho biến integer times=0 trước khi sử dụng,vả lại bạn đặt biến times trong loop thế kia,thì ở vòng lặp đầu nó đã được set=0 rồi thì những vòng lặp sau sao nó =180 được nữa,phải sửa thành

Mã:
globals
    integer times=0
endglobals

function Bonus takes nothing returns nothing
    local integer i
    local integer e
    set times = times + 1
    set i = 0
    set e = 11
    if times == 180 then
       loop
        exitwhen i > e
           call AdjustPlayerStateBJ(2,Player(i),PLAYER_STATE_RESOURCE_GOLD)        
               call AdjustPlayerStateBJ(1,Player(i),PLAYER_STATE_RESOURCE_LUMBER)
           set i = i + 1
        endloop
        set times = 0
    endif
endfunction

//===========================================================================
function InitTrig_Bonus_Gold takes nothing returns nothing
    local trigger t = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( t, 1.00 )
    call TriggerAddAction( t, function Bonus )
    set t = null
endfunction
 
Chỉnh sửa cuối:
Dùng trigger cho boss Order,một số skill có sẵn trong war như chain lighting,hex,banish,summon.v.v.thì các unit thường tự động xài

Skill tự tạo ấy.Cho mình 1 Demo ví dụ đi.
 
Bạn phải đặt giá trị đầu vào cho biến integer times=0 trước khi sử dụng,vả lại bạn đặt biến times trong loop thế kia,thì ở vòng lặp đầu nó đã được set=0 rồi thì những vòng lặp sau sao nó =180 được nữa,phải sửa thành

Mã:
globals
    integer times=0
endglobals

function Bonus takes nothing returns nothing
    local integer i
    local integer e
    set times = times + 1
    set i = 0
    set e = 11
    if times == 180 then
       loop
        exitwhen i > e
           call AdjustPlayerStateBJ(2,Player(i),PLAYER_STATE_RESOURCE_GOLD)        
               call AdjustPlayerStateBJ(1,Player(i),PLAYER_STATE_RESOURCE_LUMBER)
           set i = i + 1
        endloop
        set times = 0
    endif
endfunction

//===========================================================================
function InitTrig_Bonus_Gold takes nothing returns nothing
    local trigger t = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( t, 1.00 )
    call TriggerAddAction( t, function Bonus )
    set t = null
endfunction

nếu làm như bác thì đến times = 180 thì nó mới + 2 vàng và +1 gỗ s :-?? ( theo cách e hiểu trigger là v. )
e mún nó +2 vàng mỗi giây và +1 gỗ khi times = 180 :D

skill đó có trong war3, tại sao phải làm trigger?
vì trong War3 là nó chỉ dồn theo 1 base damg, h e muốn thay đổi cho nó dồn theo % current Hp
 
nếu làm như bác thì đến times = 180 thì nó mới + 2 vàng và +1 gỗ s :-?? ( theo cách e hiểu trigger là v. )
e mún nó +2 vàng mỗi giây và +1 gỗ khi times = 180 :D


vì trong War3 là nó chỉ dồn theo 1 base damg, h e muốn thay đổi cho nó dồn theo % current Hp

Vậy thì đặt cái +vàng ra ngoài điều kiện times==180
 
Back
Top