欢迎光临散文网 会员登陆 & 注册

jass基础-任务5

2023-07-10 22:06 作者:庞各庄大棚  | 我要投稿

// 送水任务代码

library demo initializer test

    globals

        // 接送水任务id

        integer i1 = 'I001'

        // 提交送水任务id

        integer i2 = 'I000'

        // 商店id

        integer i3 = 'h000'

        // bzbf

    endglobals

    function GetItemIndex takes unit u, integer itemId returns integer

        local integer i = 0

        loop

            exitwhen i == 6

            if GetItemTypeId(UnitItemInSlot(u, i)) == itemId then

                return i

            else

                return - 1

            endif

            set i = i + 1

        endloop

    endfunction

    function soldItemAction takes nothing returns nothing

        local unit u = GetBuyingUnit()

        local integer index

        if GetItemTypeId(GetSoldItem()) == i1 then

            if GetItemIndex(u, 'bzbe') >= 0 then

                return

            endif

            call BJDebugMsg("接了送水任务")

            call UnitAddItemById(u, 'bzbe')

        endif

        if GetItemTypeId(GetSoldItem()) == i2 then

            if GetItemIndex(u, 'bzbf') < 0 then

                return

            endif

            call BJDebugMsg("提交送水任务")

            set index = GetItemIndex(u, 'bzbf')

            call RemoveItem(UnitRemoveItemFromSlot(u, index))

        endif

    endfunction

    function enterRegionAction takes nothing returns nothing

        local unit u = GetTriggerUnit()

        local integer index = GetItemIndex(u, 'bzbe')

        call RemoveItem(UnitRemoveItemFromSlot(u, index))

        call UnitAddItemById(u, 'bzbf')

        call BJDebugMsg("进了区域")

    endfunction

    function test takes nothing returns nothing

        local trigger t1 = CreateTrigger()

        local rect re = Rect(- 146, 497, 150, 666)

        local trigger t2 = CreateTrigger()

        local region reg = CreateRegion()

        local unit shop = CreateUnit(Player(0), i3, 100, 100, 0)

        call RegionAddRect(reg, re)

        call TriggerRegisterUnitEvent(t1, shop, EVENT_UNIT_SELL_ITEM)

        call TriggerAddAction(t1, function soldItemAction)

        call TriggerRegisterEnterRegion(t2, reg, null)

        call TriggerAddAction(t2, function enterRegionAction)

        call FogEnable(false)

        call FogMaskEnable(false)

        call CreateUnit(Player(0), 'Hpal', 0, 0, 0)

    endfunction

endlibrary

jass基础-任务5的评论 (共 条)

分享到微博请遵守国家法律