感觉好笨啊~~我把本来的 spawn 改掉~~~原来不删除单位就无法结束脚本。。。。于是改成那个样子。。。。刷个游戏逻辑出来~结束时删除掉游戏逻辑
这个烟雾弹脚本 原来的 sleep 60*60*24; 有什么特殊意义??? spawn 就是一直在执行??知道sleep以后才删除掉? 我理解上有点困惑{:soso_e135:}
/*
FileName: WCR_fnc_GreenSmokeShell
Description: This script will create an everlasting green smokeshell on the given obj.
Installation: fnc = [Obj] execVM "fnc_SmokeShell\WCR_fnc_GreenSmokeShell.sqf";
*/
_GreenSmokeShell = _this select 0;
[_GreenSmokeShell, [0.4,0.8,0.4]] spawn {
_sh=_this select 0;
_col=_this select 1;
_c1=_col select 0;
_c2=_col select 1;
_c3=_col select 2;
sleep (3+random 1);
_source = "#particlesource" createVehicleLocal getpos _sh;
_source setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48], "", "Billboard", 1, 20, [0, 0, 0], [0.2, 0.1, 0.1], 0, 1.277, 1, 0.025, [0.1, 2, 6], [[_c1, _c2, _c3, 0.2], [_c1, _c2, _c3, 0.05], [_c1, _c2, _c3, 0]], [1.5,0.5], 1, 0.04, "", "", _sh];
_source setParticleRandom [2, [0, 0, 0], [0.25, 0.25, 0.25], 0, 0.5, [0, 0, 0, 0.1], 0, 0, 10];
_source setDropInterval 0.03;
_source2 = "#particlesource" createVehicleLocal getpos _sh;
_source2 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8, 0], "", "Billboard", 1, 20, [0, 0, 0], [0.2, 0.1, 0.1], 0, 1.277, 1, 0.025, [0.1, 2, 6], [[_c1, _c2, _c3, 1], [_c1, _c2, _c3, 0.5], [_c1, _c2, _c3, 0]], [0.2], 1, 0.04, "", "", _sh];
_source2 setParticleRandom [2, [0, 0, 0], [0.25, 0.25, 0.25], 0, 0.5, [0, 0, 0, 0.2], 0, 0, 360];
_source2 setDropInterval 0.03;
sleep 60*60*24;
deletevehicle _source;
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
_GreenSmokeShell = _this select 0;
_time = 0;
_smoke = [_GreenSmokeShell, [251/255,100/255,0/255]];
_pos="logic" createVehicleLocal getpos _GreenSmokeShell;
_pos attachTo [_GreenSmokeShell,[0,0,0]];
scopeName "loop1";
while{(_time < 10)}do{
_sh=_pos;
_col=_smoke select 1;
_c1=_col select 0;
_c2=_col select 1;
_c3=_col select 2;
_time = _time + 1;
sleep 1;
if(_time > 1)then{hintSilent "smoke";breakTo "loop1"};
_source = "#particlesource" createVehicleLocal getpos _sh;
_source setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 7, 48], "", "Billboard", 1, 20, [0, 0, 0], [0.2, 0.1, 0.1], 0, 1.277, 1, 0.025, [0.1, 2, 6], [[_c1, _c2, _c3, 0.2], [_c1, _c2, _c3, 0.05], [_c1, _c2, _c3, 0]], [1.5,0.5], 1, 0.04, "", "", _sh];
_source setParticleRandom [2, [0, 0, 0], [0.25, 0.25, 0.25], 0, 0.5, [0, 0, 0, 0.1], 0, 0, 10];
_source setDropInterval 0.03;
_source2 = "#particlesource" createVehicleLocal getpos _sh;
_source2 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8, 0], "", "Billboard", 1, 20, [0, 0, 0], [0.2, 0.1, 0.1], 0, 1.277, 1, 0.025, [0.1, 2, 6], [[_c1, _c2, _c3, 1], [_c1, _c2, _c3, 0.5], [_c1, _c2, _c3, 0]], [0.2], 1, 0.04, "", "", _sh];
_source2 setParticleRandom [2, [0, 0, 0], [0.25, 0.25, 0.25], 0, 0.5, [0, 0, 0, 0.2], 0, 0, 360];
_source2 setDropInterval 0.03;
};
deletevehicle _pos;
deletevehicle _source;
deletevehicle _source2;
if(true)exitwith{hintSilent "end"};
|