|
发表于 2008-7-16 08:56:25
|
显示全部楼层
以前写的
T是没有啦
可以换4次的
set udg_hke_sBagCount[H_i]=2改成=1就3次了
udg_hke_sBagCount是个整数数组
udg_hke_sBag是个物品数组
函数参数是换背包的单位
调用的时候call hke_Bag(XX单位)
是从脚本里面挖出来的有点乱
自己看着办吧
[jass]
function hke_Bag takes unit H_u returns nothing
local player H_p=GetOwningPlayer(H_u)
local integer H_i=GetPlayerId(H_p)
local integer H_I
local item H_it
local item array H_B
if((H_p==GetOwningPlayer(H_u))and(UnitInventorySizeBJ(H_u)>0))then
set H_I=1
loop
exitwhen H_I>6
set H_it=UnitItemInSlotBJ(H_u,H_I)
set H_B[(H_I-1)]=H_it
call UnitRemoveItemSwapped(H_it,H_u)
call SetItemVisible(H_it,false)
set H_I=H_I+1
endloop
set H_I=1
loop
exitwhen H_I>6
set H_it=udg_hke_sBag[(H_i*18)+(udg_hke_sBagCount[H_i]*6)+(H_I-1)]
call UnitAddItem(H_u,H_it)
set udg_hke_sBag[(H_i*18)+(udg_hke_sBagCount[H_i]*6)+(H_I-1)]=H_B[(H_I-1)]
set H_B[(H_I-1)]=null
set H_I=H_I+1
endloop
if(udg_hke_sBagCount[H_i]==0)then
set udg_hke_sBagCount[H_i]=2
else
set udg_hke_sBagCount[H_i]=(udg_hke_sBagCount[H_i]-1)
endif
set H_it=null
endif
set H_p=null
endfunction
[/jass] |
|