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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 1842|回复: 5

[原创] 翻完论坛所有帖子自己研究的心得

[复制链接]
发表于 2014-9-22 00:29:39 | 显示全部楼层 |阅读模式
本帖最后由 xxcq096 于 2014-9-22 00:33 编辑

关于在武装突袭3中用鼠标中轮选项来开关插件
因为E文不好,并且也不会编程,详细的中文教程也找不到,所以弄的很辛苦
参考插件如下
super_a3、dieeasy.pbo以及论坛上的帖子《怎样做一个插件挂载后让所有单位有一个初始值?》里面FAN的回复,在此感谢那些插件制作者以及FAN

总结出以下经验,因为本人在此毫无基础所以以下内容如果出现什么基础性、常识性的错误请谅解

1、        自己根据帖子做一个config.cpp

-----------------------------------------------------以下为引用--------------------------------------------------

①先将下面的内容写到config.cpp文件,......打包成一个插件,加载这个插件进游戏就可以看到一个Actions.

//以下为脚本全文
class CfgPatches
{
        class youpatchesname //此处为你所做插件的名字,可自行修改
        {
                units[] = {};
                weapons[] = {};
                requiredVersion = 0.1;
                requiredAddons[] = {};
        };
};

class CfgVehicles
{
        class Land;
        class Man : Land
        {
                class UserActions
                {
                        class youactionsname //此处为你所做插件的名字,可自行修改
                        {
                                displayName="<t color='#ff0000'>myScripts</t>";
/*其中的#ff0000是RGB颜色的十六进制代码,具体什么颜色是什么代码可以在网上查;
myScripts是你所写插件的脚本名字,也可根据你脚本的名字修改*/
                                position="camera";
                                onlyforplayer=1;
                                  priority = 0;
                                  showWindow = 0;
                                  shortcut = "";
                                radius=5;
                                condition="this ==vehicle player";
                                statement="[] execVM ""\debug\myScripts.sqf""";
/*此处为你所需要调用脚本的路径其中的\debug\myScripts.sqf可根据你脚本所在的目录修改,但目录必须在游戏根目录;另如果修改完毕需要打包成pbo则 debug改成该pbo的名字myScripts则改成脚本名字。*/
                       };
                };
        };
};

②在你的游戏根目录建一个自己的文件夹,我的叫debug.
③在debug文件夹里建一个myScripts.sqf文件,里面写你需要的初始化的你自己需要测试或运行的内容.
④进游戏测试脚本,不用切出游戏可以直接在你的debug里调用或者修改你的文件等等...

-----------------------------------------------------以上为引用--------------------------------------------------

用以上方法可以实现进入游戏用鼠标滚轮可调出你的脚本并使用,缺点是如果进入载具则菜单没有了。





2、        根据dieeasy.pbo原样改编
①Dieeasy的config.cpp代码如下

-----------------------------------------------------以下为引用--------------------------------------------------

class CfgPatches
{
        class XXOO //此处的XXOO为你所做插件的名字,可自行修改
        {
                units[]={};
                weapons[]={};
                requiredVersion=0.1;
                requiredAddons[]={};
        };
};

class Extended_PreInit_EventHandlers        {
        class allow_damage {//此处的allow_damage为你所做插件的名字,可自行修改
                init = "[] execVM '\aaa_dieeasy\init.sqf';";
/*此处为你所需要调用脚本的路径其中的'\aaa_dieeasy\init.sqf可根据你脚本所在的目录修改,另这是已经打包pbo的 ,aaa_dieeasy 是bpo文件名;bpo里面有两个文件,在打包以前新建一个文件夹,文件夹的名字就是bpo的名字,文件夹里面有两个文件,config.cpp则为以上代码,init.sqf 则为需调用的脚本所以在此aaa_dieeasy 是为文件夹的名字*/        
        };
};

-----------------------------------------------------以上为引用-------------------------------------------------
-
这个config.cpp的代码只起一个功能,就是进入游戏直接调用一个目录为\aaa_dieeasy\init.sqf
的名字为init.sqf的脚本(没有滚轮选项,选项在init.sqf脚本里)





②Dieeasy的init.sqf 代码如下

-----------------------------------------------------以下为引用--------------------------------------------------

whos_your_dady = {  /*此项对应红色字体处,可根据实际情况修改成你自己脚本的名字;大概意思就是赋予}所有此项大括号内的脚本一个名字,方便调用*/
        (_this select 0) removeaction (_this select 2);
        {_x allowdamage false}foreach units group (_this select 0);
        (_this select 0) addaction ["allowdamage true",your_fucking_dady_is_dead];
};  //以上大括号内的内容被赋值为whos_your_dady
your_fucking_dady_is_dead = { //同上为赋值
        (_this select 0) removeaction (_this select 2);
        {_x allowdamage true}foreach units group (_this select 0);
        (_this select 0) addaction ["allowdamage false",whos_your_dady];
};

player addaction ["allowdamage false",whos_your_dady];  /*该代码就是关于鼠标中轮的选项定义了,其中蓝色字体处为鼠标滚轮所显示的选项可按实际情况修改,红色字体为该选项所调用的脚本内容;也可用以下方式给蓝色字体处在游戏里面的选项赋予不同颜色,默认颜色为白色
player addAction ["<t color='#FF0000'> allowdamage false </t>", whos_your_dady];修改颜色可根据前面的描述自己选择*/

这个脚本有个好处就是即便进入载具鼠标滚轮菜单也在,并且可以使用,适合做修理载具的插件

另附上我拆分研究的插件,有无敌、无限弹药、无疲劳、修理这4个,其中有些跟以上所说的小改动
http://pan.baidu.com/s/1kT3e5dt
 楼主| 发表于 2014-9-22 00:40:20 | 显示全部楼层
哦,忘记一个事情,无敌插件跟无疲劳插件如果我想做在屏幕右上角有提示应该怎么做?
就像无限弹药的提示那样,我试过了,照搬是不行的,倒是要显示,直接出来一个4
发表于 2014-9-22 08:31:27 | 显示全部楼层
给点鼓励 加油
发表于 2014-9-22 12:38:17 | 显示全部楼层
xxcq096 发表于 2014-9-22 00:40
哦,忘记一个事情,无敌插件跟无疲劳插件如果我想做在屏幕右上角有提示应该怎么做?
就像无限弹药的提示那 ...

_x={代码}; call _x;执行_x大括号里面代码  hint str _x;转换变量为字符串显示
到了A3时代给单位添加滚轮菜单已经不用担心进入载具不显示菜单了
发表于 2014-9-22 19:51:36 | 显示全部楼层
LZ谢谢你的分享。
 楼主| 发表于 2014-9-27 16:17:02 | 显示全部楼层
啤酒冲米二 发表于 2014-9-22 12:38
_x={代码}; call _x;执行_x大括号里面代码  hint str _x;转换变量为字符串显示
到了A3时代给单位添加滚 ...

谢谢,呵呵,A3时代还是有这种事的,我拆分的SUPER插件里面的修载具就是,刚加上的时候进载具菜单就没了
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-4-28 01:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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