中国虚拟军事网(VME)- 专注于武装突袭系列虚拟军事游戏

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 2752|回复: 13

[求助] 求助随机产生单位的脚本

[复制链接]
发表于 2014-9-3 12:23:05 来自手机 | 显示全部楼层 |阅读模式
近来下了个随机战争的脚本,感觉很不错。但是它需要放置单位来运行,如果单位挂了就不好使了。而且有些我不喜欢的内容(比如所谓炮火支援全是GBU12,威力太大没法玩)。
所以,我想自己做一个。但是,“上网下载”这位哥们写的脚本小弟我实在看不懂~所以求助一下各位大大们,随机产生游戏里某一阵营的单位的脚本咋写?产生一个组的脚本又咋写?
发表于 2014-9-3 12:33:32 | 显示全部楼层
createUnit
参数忘了 - -    去BI的WiKi查查吧
 楼主| 发表于 2014-9-3 13:55:34 来自手机 | 显示全部楼层
Crossbow 发表于 2014-9-3 12:33
createUnit
参数忘了 - -    去BI的WiKi查查吧

就是想问后面咋写啊!教程上后面就是个具体单位的代码,而我想把它变成一个随机的单位~
发表于 2014-9-3 17:03:20 | 显示全部楼层
本帖最后由 啤酒冲米二 于 2014-9-3 17:14 编辑

_grp = createGroup _side;//必须创建一个阵营的组
_unit = _grp createUnit [_unitType, _pos, [], 0, "FORM"];//在这个组里创建单位

不读config的话需要_units = ["单位类别1" ,  "单位类别2"  , "单位类别3"  ........~n ];
_unitType = _units call BIS_fnc_selectRandom;//由bi的随机选择函数随机选择数组其中一个元素,这样就可以随机产生单位了
 楼主| 发表于 2014-9-3 22:52:39 来自手机 | 显示全部楼层
啤酒冲米二 发表于 2014-9-3 17:03
_grp = createGroup _side;//必须创建一个阵营的组
_unit = _grp createUnit [_unitType, _pos, [], 0, "F ...

谢谢!那怎么读config呢?
发表于 2014-9-4 10:31:57 | 显示全部楼层

  1. wTeams = [];
  2. rTeams = [];
  3. eTeams = [];

  4. _vehicles = configFile >> "CfgVehicles";
  5. for "_i" from 0 to ((count _vehicles) - 1) do
  6. {
  7.         _veh = _vehicles select _i;
  8.         if (isClass _veh) then
  9.         {
  10.                 if (getNumber (_veh >> "scope") >1) then        
  11.                 {
  12.                     _name = configName _veh;
  13.                     if (_name isKindOf "Man") then
  14.                     {
  15.                                 if ((getNumber (_veh >> "side")) == 1) then
  16.                             {
  17.                                     wTeams set [(count wTeams),_name];//西方
  18.                             };
  19.                                 if ((getNumber (_veh >> "side")) == 0) then
  20.                             {
  21.                                     eTeams set [(count eTeams),_name];//东方
  22.                             };
  23.                                 if ((getNumber (_veh >> "side")) == 2) then
  24.                             {
  25.                                     rTeams set [(count rTeams),_name];//叛军
  26.                             };
  27.                         };
  28.                 };
  29.         };
  30. };
复制代码


以上因为无法过滤非武装人员,蛙人,飞行员,利用阿玛3可以换装的特性也可以读武器config来随机改变所有单位的装备,换装备这方面我不是很懂你得问别人了。

用删除的方法去掉非武装人员:

  1. _Types = wTeams;
  2. _pax = 4;//每组人数

  3. for [{_i=0}, {_i<_pax}, {_i=_i+1}] do
  4. {
  5.         sleep 0.5;
  6.         _u = _grp createUnit [_Types call BIS_fnc_selectRandom, _pos, [], 0, "FORM"];
  7.        
  8. if(primaryWeapon _u == "") then
  9. {
  10.   if(handgunWeapon _u == "") then        
  11.   {
  12.          if(secondaryWeapon _u == "") then
  13.          {
  14.         deleteVehicle _u;
  15.          };
  16.   };
  17. };
  18. };

复制代码





发表于 2014-9-4 11:28:01 | 显示全部楼层
刷兵会顿卡,当鼠标不动的时候,就是AI告诉玩家:我来鸟~~

我非常不喜欢刷兵,我编辑任务,即使喜欢按照实际兵力配置,地点,火力,一个排就是一个排,一个连就是一个连。
刷兵总是感觉实在和机器作战,没有亲身战场感。
 楼主| 发表于 2014-9-4 12:36:15 来自手机 | 显示全部楼层
啤酒冲米二 发表于 2014-9-4 10:31
以上因为无法过滤非武装人员,蛙人,飞行员,利用阿玛3可以换装的特性也可以读武器config来随机改变所 ...

谢谢!
 楼主| 发表于 2014-9-4 12:39:54 来自手机 | 显示全部楼层
bym101 发表于 2014-9-4 11:28
刷兵会顿卡,当鼠标不动的时候,就是AI告诉玩家:我来鸟~~

我非常不喜欢刷兵,我编辑任务,即使喜欢按照 ...

有道理!不过有些大混战的预设背景下,还是需要随机刷兵的,模拟情况侦察不清或完全么有情报~而且一开始就摆一堆东西,我等低配党吃不消啊,还是打掉点再来点机子压力比较小~
发表于 2014-9-4 13:01:43 | 显示全部楼层
ch4 发表于 2014-9-4 12:39
有道理!不过有些大混战的预设背景下,还是需要随机刷兵的,模拟情况侦察不清或完全么有情报~而且一开始 ...

照顾机器是没办法的事,毕竟卡死冒烟是玩家心痛的事。

但是我还是坚持:按照真实作战的兵力来配置,可以少一点,分批投入也可以。
比如进攻部队基本不会是随机出动几个兵来进攻,实际中就算一个班出动,也是按照班的火力兵器来配置,一个机枪手,几个步枪手,班长等等。
巡逻敌兵的随机,也不会是这边3人巡逻队,那边出现7人巡逻队,警戒哨也是如此。。。等等。

我编辑任务,设置敌军的时候,我是先想好这个区域应该是多少部队,比如一个排,那就设置3个班,一个一个的布置到位置中去。。。然后去游戏实地看看,就当自己是排长,安排部队驻防,每个兵的位置我都知道。如果打起来,各自归建。
发表于 2015-6-24 13:18:24 | 显示全部楼层
啤酒冲米二 发表于 2014-9-4 10:31
以上因为无法过滤非武装人员,蛙人,飞行员,利用阿玛3可以换装的特性也可以读武器config来随机改变所 ...

这从随机组里刷兵的脚本不错
发表于 2015-6-24 13:20:03 | 显示全部楼层
啤酒冲米二 发表于 2014-9-3 17:03
_grp = createGroup _side;//必须创建一个阵营的组
_unit = _grp createUnit [_unitType, _pos, [], 0, "F ...

不过这调用脚本的方法是不是在玩家的初始栏里调用啊?
发表于 2015-6-24 16:17:52 | 显示全部楼层
曾经沧海 发表于 2015-6-24 13:20
不过这调用脚本的方法是不是在玩家的初始栏里调用啊?

是通过其他脚本来调用专门刷兵的脚本文件,把阵营与小组数量和小组人数写成由传递过来的变量决定这样做刷兵脚本通用性比较好。
发表于 2015-6-24 16:35:05 | 显示全部楼层
啤酒冲米二 发表于 2015-6-24 16:17
是通过其他脚本来调用专门刷兵的脚本文件,把阵营与小组数量和小组人数写成由传递过来的变量决定这样做刷 ...

那 这个又增加了一点难道哈
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-4-16 19:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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