> 官网教程 > 自动判断周围人数的特效

自动判断周围人数的特效

前一阵“大特效卡人事件”影响了很多人。
好不容易做了个超酷超炫的特效,本想出去炫一下,结果眼球没赚到反而引来无数口水,这体验确实够糟糕的。这里发一个脚本,自动判断周围人数,少于3人播放特效,多于3人则自动关闭,也算省了
又脱又穿的麻烦。
MyTable =
{
EntryInfo= {ONEQUIP,"state1"};--装备物品时,加载脚本。
StateList = {"state1"};
state1 =
{
Timer = 5000,--每5秒执行一次function MyTable.state1.OnTimer(args)函数
TimeOut = -1,
NextState = "nil",
EventList= {};
};

}

function MyTable.state1.OnEnter(args)
end

function MyTable.state1.OnTimer(args)
local ret = uScanRetPoint(1,16,30, uGetItemId());--以脚本所在物体为中心,扫描30内最多16个人物的id,并赋给ret。
s = uLen(ret)/15;--扫描到了s个角色
if s<=3 then --如果人数小于3,那么。。。(注意这个人数把自己也扫描在内的)
uStopPartical (1,uGetItemId());
pos = G3D.Vector3:new(0,0,0); --设置特效相对于物品的播放位置,3个数可调。
uPlayPartical (1,pos, "LPA005",uGetItemId(),0);--播放特效,紫色部分为特效地址,请换上自己想要的特效地址。
else --其他情况下。。。
uStopPartical (1,uGetItemId());--关闭特效
end
end

function MyTable.state1.OnExit(args)
end

文中紫色的字体分别为扫描范围、判断人数、特效位置、特效地址,请根据实际情况自己修改。