發新話題
打印

如何(有新問題)

[Close]
其實無所謂
只要你全部都set同一個就得

TOP

答番你先
玩家1 = 1
玩家2 = 2

btw
要注意  我用的方法是出售單位  不是出售物品

TOP

引用:
原帖由 Frayja 於 2014-5-19 17:22 發表
其實無所謂
只要你全部都set同一個就得
咁係咪改左d物品名就ok?
==============
其實a/b既裝都係書來
所以呢句
call UnitAddItemByIdSwapped( 'I000', GetBuyingUnit() ) // 建立物品A給予購買者
係咪可以del左佢
我其實只係要加個數就ok
=======================
個整數唔洗set變數?

[ 本帖最後由 古物.帝 於 2014-5-19 17:26 編輯 ]

TOP

咁我係咪要搞8次if

[ 本帖最後由 古物.帝 於 2014-5-19 17:29 編輯 ]

TOP

書???
即是加能力????

TOP

引用:
原帖由 Frayja 於 2014-5-19 17:37 發表
書???
即是加能力????
即係一拎左就會用
雖然我都知唔係書都得

TOP

我寧願要jass
jass 1個copy全部搞掂
=============
why我覺得上面果個似jass多d

TOP

唔小心刪左帖
其實你係地圖初始化個function入面set好d野就得
下面main function可以直接copy
要改個金錢數量
因為購買失敗會加番d錢比玩家

TOP

引用:
原帖由 Frayja 於 2014-5-19 18:16 發表
唔小心刪左帖
其實你係地圖初始化個function入面set好d野就得
下面main function可以直接copy
要改個金錢數量
因為購買失敗會加番d錢比玩家
copy左佢就ok?
唔洗要之前果個?
===============
幾時放番

TOP

//地圖初始化的資料(設立16個物品和16個模擬被購買的單位)

function intz takes nothing returns nothing
    set intz = CreateTrigger()
    call TriggerAddAction(intz, function Trig_intz2)
endfunction

function intz2 takes nothing returns nothing
   
    //出售單位後獲得的物品
    set P[1] = 'I000' //A
    set P[2] = 'I001' //B
    set P[3] = 'I002' //A1
    set P[4] = 'I003' //B1
    set P[5] = 'I004' //A2
    set P[6] = 'I005' //B2
    set P[7] = 'I006' //A3
    set P[8] = 'I007' //B3
    set P[9] = 'I008' //A4
    set P[10] = 'I009' //B4
    set P[11] = 'I010' //A5
    set P[12] = 'I011' //B5
    set P[13] = 'I012' //A6
    set P[14] = 'I013' //B6
    set P[15] = 'I014' //A7
    set P[16] = 'I015' //B7
   
    //模擬的出售單位
    set T[1] = 'e000' //A
    set T[2] = 'e001' //B
    set T[3] = 'e002' //A1
    set T[4] = 'e003' //B1
    set T[5] = 'e004' //A2
    set T[6] = 'e005' //B2
    set T[7] = 'e006' //A3
    set T[8] = 'e007' //B3
    set T[9] = 'e008' //A4
    set T[10] = 'e009' //B4
    set T[11] = 'e010' //A5
    set T[12] = 'e011' //B5
    set T[13] = 'e012' //A6
    set T[14] = 'e013' //B6
    set T[15] = 'e014' //A7
    set T[16] = 'e015' //B7
endfunction

// main function (要設置gold)

function buy_item takes nothing returns nothing
    set buy_item = CreateTrigger()
    call TriggerRegisterUnitEvent( buy_item, gg_unit_n000_0000, EVENT_UNIT_SELL )
    call TriggerAddAction(buy_item, function buy_item2)
endfunction

function buy_item2 takes nothing returns nothing
    if ((IsUnitType(GetBuyingUnit(), UNIT_TYPE_HERO) == true)) then
        set bj_forLoopAIndex = 1
        set bj_forLoopAIndexEnd = 16
        loop
            exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
            if ((GetUnitTypeId(GetSoldUnit()) == T[bj_forLoopAIndex])) then
                if ((bj_forLoopAIndex < 2)) then
                    if ((I[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == false)) then
                        call UnitAddItemByIdSwapped( P[bj_forLoopAIndex], GetBuyingUnit() )
                        set I[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
                    else
                        call SetPlayerStateBJ( GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
                    endif
                else
                    if ((bj_forLoopAIndex < 4)) then
                        if ((II[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == false)) then
                            call UnitAddItemByIdSwapped( P[bj_forLoopAIndex], GetBuyingUnit() )
                            set II[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
                        else
                            call SetPlayerStateBJ( GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
                        endif
                    else
                        if ((bj_forLoopAIndex < 6)) then
                            if ((III[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == false)) then
                                call UnitAddItemByIdSwapped( P[bj_forLoopAIndex], GetBuyingUnit() )
                                set III[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
                            else
                                call SetPlayerStateBJ( GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
                            endif
                        else
                            if ((bj_forLoopAIndex < 8)) then
                                if ((IIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == false)) then
                                    call UnitAddItemByIdSwapped( P[bj_forLoopAIndex], GetBuyingUnit() )
                                    set IIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
                                else
                                    call SetPlayerStateBJ( GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
                                endif
                            else
                                if ((bj_forLoopAIndex < 10)) then
                                    if ((IIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == false)) then
                                        call UnitAddItemByIdSwapped( P[bj_forLoopAIndex], GetBuyingUnit() )
                                        set IIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
                                    else
                                        call SetPlayerStateBJ( GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
                                    endif
                                else
                                    if ((bj_forLoopAIndex < 12)) then
                                        if ((IIIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == false)) then
                                            call UnitAddItemByIdSwapped( P[bj_forLoopAIndex], GetBuyingUnit() )
                                            set IIIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
                                        else
                                            call SetPlayerStateBJ( GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
                                        endif
                                    else
                                        if ((bj_forLoopAIndex < 14)) then
                                            if ((IIIIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == false)) then
                                                call UnitAddItemByIdSwapped( P[bj_forLoopAIndex], GetBuyingUnit() )
                                                set IIIIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
                                            else
                                                call SetPlayerStateBJ( GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
                                            endif
                                        else
                                            if ((IIIIIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == false)) then
                                                call UnitAddItemByIdSwapped( P[bj_forLoopAIndex], GetBuyingUnit() )
                                                set IIIIIIII[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = true
                                            else
                                                call SetPlayerStateBJ( GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetBuyingUnit()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
                                            endif
                                        endif
                                    endif
                                endif
                            endif
                        endif
                    endif
                endif
            else
            endif
            set bj_forLoopAIndex = bj_forLoopAIndex + 1
        endloop
    else
    endif
endfunction

TOP

加錢果句你應該會見到  我預設左係100蚊
如果你d野  買果陣唔洗錢就可以刪左呢句佢

TOP

引用:
原帖由 Frayja 於 2014-5-19 18:19 發表
加錢果句你應該會見到  我預設左係100蚊
如果你d野  買果陣唔洗錢就可以刪左呢句佢
我睇到的
直接copy就搞掂?

TOP

====變數====

陣列P是物品類型陣列
陣列T是單位類型陣列
另外I,II,III....,IIIIIIII是布林陣列

TOP

做咩會咁既
附件: 您所在的用戶組無法下載或查看附件

TOP

未定義t函數初始化

[ 本帖最後由 Frayja 於 2014-6-20 21:39 編輯 ]

TOP

發新話題