懂JASS的大大帮我解一下这个问题
发布网友
发布时间:2023-05-05 09:47
我来回答
共2个回答
热心网友
时间:2023-11-09 11:57
call CreateItemLoc('wneu',GetRectCenter(udg_CK[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]))
意思错了
udg_CK变量为区域
udg_CK变量中索引为触发单位的所有者的id 的区域中心创建一个'wneu'的物品
创建物品在英雄有这么几个函数
native UnitAddItem takes unit whichUnit, item whichItem returns boolean
native UnitAddItemById takes unit whichUnit, integer itemId returns item
function UnitAddItemByIdSwapped takes integer itemId, unit whichHero returns item
// Create the item at the hero's feet first, and then give it to him.
// This is to ensure that the item will be left at the hero's feet if
// his inventory is full.
set bj_lastCreatedItem = CreateItem(itemId, GetUnitX(whichHero), GetUnitY(whichHero))
call UnitAddItem(whichHero, bj_lastCreatedItem)
return bj_lastCreatedItem
endfunction
function UnitAddItemSwapped takes item whichItem, unit whichHero returns boolean
return UnitAddItem(whichHero, whichItem)
endfunction
native UnitAddItemToSlotById takes unit whichUnit, integer itemId, integer itemSlot returns boolean
假如物品是'wneu'
变量为
unit h=GetTriggerUnit() 意思h变量有单位 单位一定要是英雄或者带有物品栏的单位才行
item i=CreateItem('wneu', x, y) xy不对 随意写得 意思有这个物品
call UnitAddItem(h, i)
call UnitAddItemById(h, 'wneu')
call UnitAddItemToSlotById(h, 'wneu', 0) 第3个参数为0-5 6个物品栏
用玩家编号的话 假设编号为1 就是说玩家1
假设我们用变量hero[]数组来记录英雄
那么一样的
call UnitAddItem(hero[1], i)
上面的修改 假如你是玩家1 那么最简单的是
call CreateItemLoc('wneu',GetRectCenter(udg_CK[1]))
这样无论谁触发这个事件 创建的物品都会给你
其次就是找到你需要的英雄的id 然后创建给单位
不动可以继续问 问题解决别忘记采纳
热心网友
时间:2023-11-09 11:58
错了 这里是在某区域中点创建
看LS的
[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
只是得到array的index而已
热心网友
时间:2023-11-09 11:57
call CreateItemLoc('wneu',GetRectCenter(udg_CK[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]))
意思错了
udg_CK变量为区域
udg_CK变量中索引为触发单位的所有者的id 的区域中心创建一个'wneu'的物品
创建物品在英雄有这么几个函数
native UnitAddItem takes unit whichUnit, item whichItem returns boolean
native UnitAddItemById takes unit whichUnit, integer itemId returns item
function UnitAddItemByIdSwapped takes integer itemId, unit whichHero returns item
// Create the item at the hero's feet first, and then give it to him.
// This is to ensure that the item will be left at the hero's feet if
// his inventory is full.
set bj_lastCreatedItem = CreateItem(itemId, GetUnitX(whichHero), GetUnitY(whichHero))
call UnitAddItem(whichHero, bj_lastCreatedItem)
return bj_lastCreatedItem
endfunction
function UnitAddItemSwapped takes item whichItem, unit whichHero returns boolean
return UnitAddItem(whichHero, whichItem)
endfunction
native UnitAddItemToSlotById takes unit whichUnit, integer itemId, integer itemSlot returns boolean
假如物品是'wneu'
变量为
unit h=GetTriggerUnit() 意思h变量有单位 单位一定要是英雄或者带有物品栏的单位才行
item i=CreateItem('wneu', x, y) xy不对 随意写得 意思有这个物品
call UnitAddItem(h, i)
call UnitAddItemById(h, 'wneu')
call UnitAddItemToSlotById(h, 'wneu', 0) 第3个参数为0-5 6个物品栏
用玩家编号的话 假设编号为1 就是说玩家1
假设我们用变量hero[]数组来记录英雄
那么一样的
call UnitAddItem(hero[1], i)
上面的修改 假如你是玩家1 那么最简单的是
call CreateItemLoc('wneu',GetRectCenter(udg_CK[1]))
这样无论谁触发这个事件 创建的物品都会给你
其次就是找到你需要的英雄的id 然后创建给单位
不动可以继续问 问题解决别忘记采纳
热心网友
时间:2023-11-09 11:58
错了 这里是在某区域中点创建
看LS的
[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
只是得到array的index而已