收藏本站 联机必备 开启辅助访问
发新帖 回复
发新帖

背包系统

 
时间:2012-2-16 21:43 5 3471 | 复制链接 |
8个玩家的3背包
需要变量 :
单位 数组 BagNum
布尔值 数组 Bag
需要身上有6个格的单位物品栏的无模型的背包马甲单位
自定义脚本:
//模拟2维数组
function A takes integer X , integer Y , integer Xmax returns integer
return (Y-1)*Xmax+X
endfunction
//切换背包
function bags takes unit u , integer playerid returns nothing
local integer n = 0
local integer i = 2
call IssueImmediateOrder( u, "stop" )
if udg_Bag[playerid] then
set i = 1
endif
loop
exitwhen n > 5
call UnitAddItem( udg_BagNum[A(playerid,3,8)], UnitItemInSlot(u, n) )
set n = n + 1
endloop
set n = 0
loop
exitwhen n > 5
call UnitAddItem( u, UnitItemInSlot(udg_BagNum[A(playerid,i,8)], n) )
set n = n + 1
endloop
set n = 0
loop
exitwhen n > 5
call UnitAddItem( udg_BagNum[A(playerid,i,8)], UnitItemInSlot(udg_BagNum[A(playerid,3,8)], n) )
set n = n + 1
endloop
set udg_Bag[playerid] = (udg_Bag[playerid] == false)
endfunction
触发器:
背包初始化
事件
—地图初始化
条件
动作
—For循环整数A从1到24, 做动作
Loop - 动作
设置 BagNum[(循环整数A)] = (新建 中立被动 的 背包马甲单位 在(0.00,0.00),面向角度:0.00 度)
设置 (最后创建的单位) 无敌的
切换背包
事件
—单位 - 任意单位 发动技能效果
条件
—(施放技能) 等于 切换背包
动作
—自定义代码: call bags(GetTriggerUnit(),GetPlayerId(GetOwningPlayer(GetTriggerUnit()))+1)


5回复

zhigm 发表于 2012-11-21 22:02:21 | 显示全部楼层 | 举报
确实值得好好看看,顶先
ruvhp 发表于 2013-3-21 11:23:05 | 显示全部楼层 | 举报
我也来顶一下..
晴晴ら公主 发表于 2013-5-9 01:52:58 | 显示全部楼层 | 举报
大家顶啊,这么好的帖子,楼主辛苦了
豪顿啊硕 发表于 2013-7-16 04:35:17 | 显示全部楼层 | 举报
大家看怎么样 我认为很好.
fjc8ne 发表于 2017-5-22 16:36:33 | 显示全部楼层 | 举报
初来乍到,请多多关照。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

快速回复 5 返回列表 返回顶部