|
楼主 |
发表于 2012-10-21 12:21:00
|
显示全部楼层
本帖最后由 lia77593 于 2012-10-21 12:27 编辑
jpg 发表于 2012-10-21 07:57
原来还会jass啊。
@chjy747 沉默求助vjass问题(还使用了cjass的语法)
[jass]
struct ItemStruct{
int Id
int fId
int Stack
int StackMax
string RF
}
[/jass]
ItemStruct array Item [500]
我声明了这样一个结构数组,在地图初始化的时候为每个都附上了值
[jass]
void StoreItemData(int index, string name, int itemId, int fakeItemId,int stack,int
stackmax){
int i
ItemCount++
i = ItemCount
call Item.create()
Item.Id = itemId
Item.fId = fakeItemId
Item.RF = ""
Item.Stack = stack
Item.StackMax = stackmax
}
[/jass]
但是等到一段时间后(10秒后),所有的数据都是最后一个存储的数据
[jass]
int ItemIndex(item whichItem){
integer itemTypeId = GetItemTypeId(whichItem)
integer i = 1
loop
exitwhen i > ItemCount
BJDebugMsg(I2S(Item.fId))
BJDebugMsg(I2S(Item.Id))
if ( Item.Id == itemTypeId ) or ( Item.fId == itemTypeId ) then
return i
endif
i++
endloop
return 0
}
[/jass]
这个函数运行输出的数据都是一样的!除了最后一件物品,都是返回0.
这是什么原因?
|
|