|
本帖最后由 lia77593 于 2012-12-3 00:13 编辑
问题是这样的,地图里面有两个触发
一个是得到物品(这里面有删除物品,创建物品等操作)
一个是丢掉物品(这里面有删除物品,创建物品等操作)
测试下发现了问题,莫名其妙:丢掉物品会触发两次该触发
只好将其关闭,过完代码,再打开
可奇葩的并不在这里,而是<得到物品>这个触发要是触发了会有提示
而我要是不关闭<得到物品>这个触发,我获取丢掉物品的x,y是0,0
关掉就正确了~~怨念啊~
鉴于得到物品的代码太长,贴上丢掉物品的代码
[jass]
item whichItem = GetManipulatedItem()
unit whichunit = GetManipulatingUnit()
item fItem = null
player itemOwner = GetItemPlayer(whichItem)
integer itemIndex = GetItemIndex(whichItem)
integer stack = GetItemCharges(whichItem)
DisableTrigger(gg_trg_ItemDrop)
DisableTrigger(gg_trg_ItemCompose)//断点!
call BJDebugMsg(R2S(GetItemX(whichItem)))
call BJDebugMsg(R2S(GetItemY(whichItem)))
fItem = CreateItem(Item[itemIndex].fId, GetUnitX(whichunit),GetUnitY(whichunit))
SetItemCharges(fItem, stack)
SetItemPlayer(fItem, itemOwner, false)
call BJDebugMsg(R2S(GetItemX(fItem)))
call BJDebugMsg(R2S(GetItemY(fItem)))
RemoveItem(whichItem)
EnableTrigger(gg_trg_ItemDrop)
whichItem = null
whichunit = null
itemOwner = null
[/jass]
~~描述错误,无论怎么样都是0~~ |
|