本帖最后由 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
|