|
本帖最后由 FFUR2007SLX2_5 于 2012-8-4 15:09 编辑
ACR洪水的编写与使用
洪水的使用方法由BI forum MuzzleFlash提供的一段代码:
使用方法将代码复制到任意名的后缀为sqf文档中,比如为test.sqf. 并将其放入user任务中,进入游戏加载任务并在空白处新建一个Logic,在其初始化栏中输入fnc = [this,500] execVM "test.sqf";其中500为任意数字,意为洪水的范围。
附上图,大家随意,注,需要将你的游戏升级至1.62版本:
- private ["_aslHeight","_pond","_yPos","_xPos","_pondSize","_ponds","_centerPosASL","_size","_pondClass","_waterHeightASL","_lenTiles"];
- _pondSize = 52;
- _centerPosASL = _this select 0;
- if (typeName _centerPosASL == "OBJECT") then { _centerPosASL = getPosASL _centerPosASL; };
- _size = _this select 1;
- _aslHeight = if (count _this > 2) then {_this select 2} else {0.4};
- _ponds = [];
- _waterHeightASL = (_centerPosASL select 2) + _aslHeight;
- _lenTiles = ceil ((_size) / _pondSize);
- _ponds resize (_lenTiles * _lenTiles);
- _pondClass = "pond_ACR";
- _xPos = (_centerPosASL select 0) - (_lenTiles * _pondSize) / 2;
- for "_i" from 0 to (_lenTiles-1) do {
- _yPos = (_centerPosASL select 1) - (_lenTiles * _pondSize) / 2;
- for "_j" from 0 to (_lenTiles-1) do {
- _pond = createVehicle [_pondClass, [0,0,0], [], 0, "NO_COLLIDE"];
- _pond setDir 0;
- _pond setPosASL [_xPos, _yPos, _waterHeightASL];
- _yPos = _yPos + _pondSize;
- //hint str (_i * _lenTiles + _j);
- _ponds set [_i * _lenTiles + _j, _pond];
- };
- _xPos = _xPos + _pondSize;
- };
- _ponds
复制代码 此方法的洪水高度是根据logic的高度而定的,目的是为了使用简单,当然你也可以再加一个_this select 2用来自定义高度,但不要太高,否则你要重新设定你的高度,不然你就能在水下任意行走,交火。
如果各位感兴趣的话可以设置潮汐,水平面上下沉浮。
如果大家懒得编辑就下载吧:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入VME
x
|