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

Status
Không mở trả lời sau này.
@lonewolf: Cách đánh lan kiểu đó kô có đc đâu, bug ghê lắm đấy :-s. Chỉ cần đánh dử dử, cứ A rồi S là đánh 1 phát nó dồn cả đống damage, sở dĩ vì mỗi lần mình dử dử là nó lại tạo thêm 1 Event, mà khi đánh 1 đống Event đấy sẽ xảy ra cùng lúc > bùm. Cái thứ hai nữa là cast spell cũng lan đc. Ngoài cách tớ nói ra kô có cách nào nữa đâu.
 
@lonewolf: Cách đánh lan kiểu đó kô có đc đâu, bug ghê lắm đấy :-s. Chỉ cần đánh dử dử, cứ A rồi S là đánh 1 phát nó dồn cả đống damage, sở dĩ vì mỗi lần mình dử dử là nó lại tạo thêm 1 Event, mà khi đánh 1 đống Event đấy sẽ xảy ra cùng lúc > bùm. Cái thứ hai nữa là cast spell cũng lan đc. Ngoài cách tớ nói ra kô có cách nào nữa đâu.

Spam attack hm? Mình quên mất cái này. Có lẽ nên làm thế thật
 
Chỉnh sửa cuối:
[Yami];18096427 nói:
Thường lỗi này hay xuất hiện với các Script mà có sử dụng Get Local Player. (nếu không phải do mạng hoặc 2 player không cùng phiên bản war thì thường do cái này)
Còn thì bạn không nói rõ nó ra sao thì cũng chịu =))

em hk hĩu nữa 8-} ... Get Local Player gì hk có Script nào cả ... mạng cũng bt mà 2 player cùng 1.24e luôn mà ... sao kì wá !
Ai chỉ em AI cho Comp điều khiển tướng như 1 player đi ... bjk mua sách up lv ... đánh quái ... ép đồ ....
 
CHo mình hỏi cái Sys tăng Attribute cho Hero bị lỗi chỗ nào mà sao mình nhân ESC mà nó hok hiện ra bản tăng như CAT's (Sys lấy từ CAT's)
Trigger 1:
Mã:
Setup
    Events
        Map initialization
    Conditions
    Actions
        Set AttributeNumber[1] = 6
        Set AttributeNumber[2] = 6
        Set AttributeNumber[3] = 6
        Set AttributeNumber[4] = 6
        Custom script:   call DestroyTrigger( GetTriggeringTrigger() )
Trigger 2:
Mã:
function Attribute_Action takes player u returns nothing
local integer numberp = GetConvertedPlayerId(u)
local integer a
local integer b
local integer c
    if ( udg_AttributeHero[numberp] == null ) or ( IsUnitAliveBJ(udg_AttributeHero[numberp]) == false ) then
        return
    endif
    call SelectUnitForPlayerSingle( udg_AttributeHero[numberp], ConvertedPlayer(numberp) )
    if ( GetItemTypeId(UnitItemInSlotBJ(udg_AttributeHero[numberp], 1)) != 'I027' ) then
        call DisplayTextToForce( bj_FORCE_PLAYER[numberp], ( "                                                            Hit ESC again to back to your Hero's Inventory" + " !" ) )
        // ////////////////////////////////
        set a = ( 6 * numberp )
        set b = a + 5
        set c = 1
        loop
            exitwhen a > b
            set udg_AttributeItem[a] = null
            set udg_AttributeItem[a] = UnitItemInSlotBJ(udg_AttributeHero[numberp], c)
            call UnitRemoveItemFromSlotSwapped( c, udg_AttributeHero[numberp] )
            call SetItemVisibleBJ( false, GetLastRemovedItem() )
            set a = a + 1
            set c = c + 1
        endloop

        call UnitAddItemByIdSwapped( 'I027', udg_AttributeHero[numberp] )
        call SetItemCharges( GetLastCreatedItem(), udg_AttributeNumber[numberp] )
        call UnitAddItemByIdSwapped( 'I027', udg_AttributeHero[numberp] )

        call UnitAddItemByIdSwapped( 'I025', udg_AttributeHero[numberp] )
        call SetItemCharges( GetLastCreatedItem(), udg_AttributeNumber[numberp] )
        call UnitAddItemByIdSwapped( 'I025', udg_AttributeHero[numberp] )

        call UnitAddItemByIdSwapped( 'I026', udg_AttributeHero[numberp] )
        call SetItemCharges( GetLastCreatedItem(), udg_AttributeNumber[numberp] )

        // ////////////////////////////////
        call UnitRemoveItemFromSlotSwapped( 2, udg_AttributeHero[numberp] )
        call RemoveItem( GetLastRemovedItem() )
        call UnitRemoveItemFromSlotSwapped( 4, udg_AttributeHero[numberp] )
        call RemoveItem( GetLastRemovedItem() )
        // ////////////////////////////////
    else
        set a = 1
        loop
            exitwhen a > 6
            call UnitRemoveItemFromSlotSwapped( a, udg_AttributeHero[numberp] )
            call RemoveItem( GetLastRemovedItem() )
            set a = a + 1
        endloop
        set a = ( 6 * numberp )
        set b = a + 5
        loop
            exitwhen a > b
            if ( udg_AttributeItem[a] == null ) then
                call UnitAddItemByIdSwapped( 'azhr', udg_AttributeHero[numberp] )
            else
                call SetItemVisibleBJ( true, udg_AttributeItem[a] )
                call UnitAddItemSwapped( udg_AttributeItem[a], udg_AttributeHero[numberp] )
            endif
            set a = a + 1
        endloop
        set a = 1
        loop
            exitwhen a > 6
            if ( GetItemTypeId(UnitItemInSlotBJ(udg_AttributeHero[numberp], a)) == 'azhr' ) then
                call UnitRemoveItemFromSlotSwapped( a, udg_AttributeHero[numberp] )
                call RemoveItem( GetLastRemovedItem() )
            endif
            set a = a + 1
        endloop
    endif
endfunction

function Trig_Attribute_Player_Get_Event_Actions takes nothing returns nothing
    call Attribute_Action( GetTriggerPlayer() )
endfunction

//===========================================================================
function InitTrig_Attribute_Player_Get_Event takes nothing returns nothing
    set gg_trg_Attribute_Player_Get_Event = CreateTrigger(  )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(0) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(1) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(2) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(3) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(4) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(5) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(6) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(7) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(8) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(9) )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Attribute_Player_Get_Event, Player(10) )
    call TriggerAddAction( gg_trg_Attribute_Player_Get_Event, function Trig_Attribute_Player_Get_Event_Actions )
endfunction
Trigger 3:
Mã:
function Trig_Attribute_Hero_Level_Up_Actions takes nothing returns nothing
local unit u = GetLevelingUnit()
local integer numberp = GetConvertedPlayerId(GetOwningPlayer(u))
    set udg_AttributeNumber[numberp] = ( udg_AttributeNumber[numberp] + 4 )
    if ( GetItemTypeId(UnitItemInSlotBJ(u, 1)) == 'I027' ) then
        call SetItemCharges( UnitItemInSlotBJ(udg_AttributeHero[numberp], 1), udg_AttributeNumber[numberp] )
        call SetItemCharges( UnitItemInSlotBJ(udg_AttributeHero[numberp], 3), udg_AttributeNumber[numberp] )
        call SetItemCharges( UnitItemInSlotBJ(udg_AttributeHero[numberp], 5), udg_AttributeNumber[numberp] )
    endif
set u = null
endfunction

//===========================================================================
function InitTrig_Attribute_Hero_Level_Up takes nothing returns nothing
    set gg_trg_Attribute_Hero_Level_Up = CreateTrigger(  )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(0), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(1), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(2), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(3), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(4), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(5), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(6), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(7), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(8), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(9), EVENT_PLAYER_HERO_LEVEL )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Hero_Level_Up, Player(10), EVENT_PLAYER_HERO_LEVEL )    
    call TriggerAddAction( gg_trg_Attribute_Hero_Level_Up, function Trig_Attribute_Hero_Level_Up_Actions )
endfunction
Trigger 4:
Mã:
function Trig_Attribute_Acquire_More_Item_Conditions takes nothing returns boolean
    if ( not ( GetItemTypeId(UnitItemInSlotBJ(GetManipulatingUnit(), 1)) == 'I027' ) ) then
        return false
    endif
    if ( not ( GetItemTypeId(UnitItemInSlotBJ(GetManipulatingUnit(), 3)) == 'I025' ) ) then
        return false
    endif
    if ( not ( GetItemTypeId(UnitItemInSlotBJ(GetManipulatingUnit(), 5)) == 'I026' ) ) then
        return false
    endif
    if ( not ( GetItemTypeId(GetManipulatedItem()) != 'I027' ) ) then
        return false
    endif
    if ( not ( GetItemTypeId(GetManipulatedItem()) != 'I025' ) ) then
        return false
    endif
    if ( not ( GetItemTypeId(GetManipulatedItem()) != 'I026' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Attribute_Acquire_More_Item_Actions takes nothing returns nothing
local unit u = GetManipulatingUnit()
local item it = GetManipulatedItem()
local integer numberp = GetConvertedPlayerId(GetOwningPlayer(u))
local location point = GetItemLoc(it)
    call UnitRemoveItemSwapped( it, udg_AttributeHero[numberp] )
    call SetItemPositionLoc(it,point)
call RemoveLocation(point)
set point = null
set u = null
set it = null
endfunction

//===========================================================================
function InitTrig_Attribute_Acquire_More_Item takes nothing returns nothing
    set gg_trg_Attribute_Acquire_More_Item = CreateTrigger(  )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(0), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(1), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(2), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(3), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(4), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(5), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(6), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(7), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(8), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(9), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Acquire_More_Item, Player(10), EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerAddCondition( gg_trg_Attribute_Acquire_More_Item, Condition( function Trig_Attribute_Acquire_More_Item_Conditions ) )
    call TriggerAddAction( gg_trg_Attribute_Acquire_More_Item, function Trig_Attribute_Acquire_More_Item_Actions )
endfunction
Trigger 5:
Mã:
function Trig_Attribute_Str_Conditions takes nothing returns boolean
    if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I027' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Attribute_Str_Actions takes nothing returns nothing
local unit u = GetManipulatingUnit()
local integer a
local integer numberp = GetConvertedPlayerId(GetOwningPlayer(u))
    if ( udg_AttributeNumber[numberp] > 0 ) then
        set udg_AttributeNumber[numberp] = ( udg_AttributeNumber[numberp] - 1 )
        call ModifyHeroStat( bj_HEROSTAT_STR, udg_AttributeHero[numberp], bj_MODIFYMETHOD_ADD, 1 )
        set a = 1
        loop
            exitwhen a > 5
            call SetItemCharges( UnitItemInSlotBJ(udg_AttributeHero[numberp], a), udg_AttributeNumber[numberp] )
            set a = a + 1
        endloop
    endif
set u = null
endfunction

//===========================================================================
function InitTrig_Attribute_Str takes nothing returns nothing
    set gg_trg_Attribute_Str = CreateTrigger(  )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(0), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(1), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(2), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(3), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(4), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(5), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(6), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(7), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(8), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(9), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Str, Player(10), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerAddCondition( gg_trg_Attribute_Str, Condition( function Trig_Attribute_Str_Conditions ) )
    call TriggerAddAction( gg_trg_Attribute_Str, function Trig_Attribute_Str_Actions )
endfunction
Trigger 6:
Mã:
function Trig_Attribute_Agi_Conditions takes nothing returns boolean
    if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I025' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Attribute_Agi_Actions takes nothing returns nothing
local unit u = GetManipulatingUnit()
local integer a
local integer numberp = GetConvertedPlayerId(GetOwningPlayer(u))
    if ( udg_AttributeNumber[numberp] > 0 ) then
        set udg_AttributeNumber[numberp] = ( udg_AttributeNumber[numberp] - 1 )
        call ModifyHeroStat( bj_HEROSTAT_AGI, udg_AttributeHero[numberp], bj_MODIFYMETHOD_ADD, 1 )
        set a = 1
        loop
            exitwhen a > 5
            call SetItemCharges( UnitItemInSlotBJ(udg_AttributeHero[numberp], a), udg_AttributeNumber[numberp] )
            set a = a + 1
        endloop
    endif
set u = null
endfunction

//===========================================================================
function InitTrig_Attribute_Agi takes nothing returns nothing
    set gg_trg_Attribute_Agi = CreateTrigger(  )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(0), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(1), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(2), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(3), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(4), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(5), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(6), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(7), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(8), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(9), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Agi, Player(10), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerAddCondition( gg_trg_Attribute_Agi, Condition( function Trig_Attribute_Agi_Conditions ) )
    call TriggerAddAction( gg_trg_Attribute_Agi, function Trig_Attribute_Agi_Actions )
endfunction
Trigger 7:
Mã:
function Trig_Attribute_Int_Conditions takes nothing returns boolean
    if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I026' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Attribute_Int_Actions takes nothing returns nothing
local unit u = GetManipulatingUnit()
local integer a
local integer numberp = GetConvertedPlayerId(GetOwningPlayer(u))
    if ( udg_AttributeNumber[numberp] > 0 ) then
        set udg_AttributeNumber[numberp] = ( udg_AttributeNumber[numberp] - 1 )
        call ModifyHeroStat( bj_HEROSTAT_INT, udg_AttributeHero[numberp], bj_MODIFYMETHOD_ADD, 1 )
        set a = 1
        loop
            exitwhen a > 5
            call SetItemCharges( UnitItemInSlotBJ(udg_AttributeHero[numberp], a), udg_AttributeNumber[numberp] )
            set a = a + 1
        endloop
    endif
set u = null
endfunction

//===========================================================================
function InitTrig_Attribute_Int takes nothing returns nothing
    set gg_trg_Attribute_Int = CreateTrigger(  )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(0), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(1), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(2), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(3), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(4), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(5), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(6), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(7), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(8), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(9), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Attribute_Int, Player(10), EVENT_PLAYER_UNIT_USE_ITEM )
    call TriggerAddCondition( gg_trg_Attribute_Int, Condition( function Trig_Attribute_Int_Conditions ) )
    call TriggerAddAction( gg_trg_Attribute_Int, function Trig_Attribute_Int_Actions )
endfunction
 
có ai có các model nhân vật hay skill trong Thiên Long Bát Bộ cho mình xin tks nhìu

đề nghị bạn qua topic model post vì đây chỉ là cách làm map.

Cho mình hỏi 1 câu: ice blast (ulti của AA) khi bị dính thì không thể regen hp. vd mình có cái sao 15 change. hồi 1 phát nó lại trở về như lúc trước khi hồi, nhưng khi ăn damage thì lại vẫn bị ( 12/24/36 dps) và bị shatter (tức là chết) khi maximum hp dưới hoặc bằng 10%/11%/12%.
 
Mã:
    Events
        Unit - A unit Acquires an item
    Conditions
        ((Triggering unit) has (Item carried by (Triggering unit) of type Blood Key)) Equal to True
        ((Triggering unit) has (Item carried by (Triggering unit) of type Ghost Key)) Equal to True
    Actions
        Item - Remove (Item carried by (Triggering unit) of type Blood Key)
        Item - Remove (Item carried by (Triggering unit) of type Ghost Key)
        Hero - Create Magic Key Chain and give it to (Triggering unit)
đơn giản nhất mà tốn công nhất ;))

Bản có thể đưa mình 1 cái map có cái trigger này được không :|(Gà Về trigger Mò mãi không ra :D)
 
Mình muốn làm 1 trigger AI như thế này :
Khi mà Player Control by Computer đi vào ReSpawn Region thì nó sẽ đi đến Spawn 1 Region , ở đây sẽ check là, nếu mà đánh hết quái thì sẽ đi tiếp đến Spawn 2 Region.
Bạn nào giúp mình cái này cái, mình làm Com nó move đến region được nhưng ko biết check "quái" như thế nào ?
Cảm ơn trước nhá ^^
 
Cho tui hỏi cách tạo 1 playlist nhạc nền (themes) thì làm thế nào
và cách để ép phát lít đó từ bài đầu ---> cuối.
thanks.
 
xin lỗi lonewolf nhưng trigger ko deal dam :|
và làm ơn bạn hướng dẫn 1 cách lịch sự hơn :|
 
Chỉnh sửa cuối:
@faustviii: Tớ làm chả có làm sao cả. Mà bạn bảo người khác hướng dẫn lịch sự hơn thì tại sao bạn kô chăm chú lắng nghe một chút ? Không làm đc theo trigger thì có cái demo ở post này, như thế chưa đủ sao ? Nói lại lần nữa, tớ chả thấy lonewolf có thái độ bất lịch sự hay kô bất lịch sự gì cả, chỉ thấy bạn hỏi, người ta trả lời rồi bạn quay ra "thái độ" ?
 
Mình muốn làm 1 trigger AI như thế này :
Khi mà Player Control by Computer đi vào ReSpawn Region thì nó sẽ đi đến Spawn 1 Region , ở đây sẽ check là, nếu mà đánh hết quái thì sẽ đi tiếp đến Spawn 2 Region.
Bạn nào giúp mình cái này cái, mình làm Com nó move đến region được nhưng ko biết check "quái" như thế nào ?
Cảm ơn trước nhá ^^
Dùng Integer comparison
Set TempGroup=Unit in ReSpawn Region matching (Matching unit belongs to enemies of (Owner of (Entering Unit)) and ((Matching Unit) is alive == true)
If (Number of unit in TempGroup) = 0 then Order (Entering Unit) to attack-move Spawn 1 Region
...
Mà lệnh attack move thì unit sẽ tấn công tất cả unit trên đường đi rồi, tại sao phải xét nhỉ :|

có ai có các model nhân vật hay skill trong Thiên Long Bát Bộ cho mình xin tks nhìu
TLBB và War3 là 2 game khác nhau. Nếu muốn tạo 1 map giống TLBB thì bạn nên tìm hiểu khá nhiều và tự tạo skill gần giống.

làm sao khi tạo map xong cùng người khác choi được vậy, e làm map xong chi choi được khi vào Single Player>Custom Game thui
Bạn vào Scenario > Player Properties và thêm player hay team vào.

xin lỗi lonewolf nhưng trigger ko deal dam :|
và làm ơn bạn hướng dẫn 1 cách lịch sự hơn :|
Mình chỉ đơn giản trả lời theo đúng như cách mà người hỏi đặt ra, vậy mà thôi. Nếu bạn thấy khó chịu thì chí ít bạn nên xem lại cách mình hỏi thế nào mà nhận được câu trả lời như vậy, vậy nhé. Còn đây là trigger của Counter Helix theo trong dota.
[spoil]
Mã:
Counter Helix
    Events
        Unit - A unit Is attacked
    Conditions
        ((Triggering unit) has buff Counter Helix ) Equal to True
        (Random integer number between 1 and 100) Less than or equal to 17
    Actions
        Trigger - Turn off (This trigger)
        Set CH_Loc = (Position of (Triggering unit))
        Set CH_Group = (Units within 275.00 of CH_Loc matching ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is alive) Equal to True))))
        Custom script:   call RemoveLocation(udg_CH_Loc)
        Animation - Play (Triggering unit)'s spin animation
        Unit Group - Pick every unit in CH_Group and do (Actions)
            Loop - Actions
                Unit - Cause (Triggering unit) to damage (Picked unit), dealing (((Real((Level of Scorth Earth  for (Triggering unit)))) x 25.00) + 75.00) damage of attack type Hero and damage type Normal
                Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
                Special Effect - Destroy (Last created special effect)
        Custom script:   call DestroyGroup(udg_CH_Group)
        Wait (0.75 - (0.50 x (Real((Level of Counter Helix  for (Triggering unit)))))) game-time seconds
        Trigger - Turn on (This trigger)
[/spoil]
Nếu mà làm như trên (đã test rất rất nhiều lần), mà ko được thì xem map demo mình đã add chung ở đây, kéo xuống cuối bài sẽ thấy.
 
cho mình ? xí mình có một model cái ghế nhưng nó chỉ quay về phía bên trái, nếu muốn làm cho nó quay về phía bên phải hay các hướng khác thì phải làm sao ??
 
cho mình ? xí mình có một model cái ghế nhưng nó chỉ quay về phía bên trái, nếu muốn làm cho nó quay về phía bên phải hay các hướng khác thì phải làm sao ??

Giữ CTRL + Xoay chuột 360 độ là ok hehe.

@Cảm ơn lonewolf
Ah cho mình hỏi luôn là mình muốn làm trigger thế này thì phải làm sao :
Khi mà Com của Force 1 đuổi giết Com của Force 2, thì khi mà Com 1 đuổi gần đến Base của Com 2(vì Com 2 gấn die nên chạy về Base để trốn) thì ko đuổi nữa và quay trở lại Region Arena.
Mình đã test khi cho Com nó tự đuổi thì nó chạy thẳng vào Base của enemy, và dĩ nhiên là Die vì bị Guardian chém ....
Cám ơn trước nhá :D
 
Chỉnh sửa cuối:
Cho unit enter Region ấy!Khi com 1 enter Region của com 2 thì lập tức quay lại,hoặc giả khi đến gần 500 range chẳng hạn thì quay đầu!Tạm thời mình quên mất nên chỉ gợi ý trigger thôi!Chủ yếu là unit enter region hoặc Unit come in range!
 
em có trigger làm cho 1 hero khi mà học 1 passive skill thì sẽ có khả năng dịch chuyển - tấn công đến đối tượng cần đánh ( Giống skill của Tifa trong MTH ) nhưng khi em làm base trên skill Brilliance Aura thì hk dc gì cả :
Mã:
TeleAttack
Events 
 A unit Begins cáting an ability
Conditions 
 Ability being cast equal to brilliance aura
Actions
 Set Jump_Loc[2] = Poítion of Target unit of ability being cast
 Unit - move triggering unit instantly to Jump_Loc[2]
 Unit - Make Triggering unit face Jump_Loc[2] over 0 seconds
 
Status
Không mở trả lời sau này.
Back
Top