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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 787|回复: 2

[求助] 求教全局执行函数的建议

[复制链接]
发表于 2017-12-15 23:11:01 | 显示全部楼层 |阅读模式
本帖最后由 wj59789 于 2017-12-15 23:41 编辑

假如有几十个变量要传递到远程的函数执行我知道有几种方法,就是不知道哪种好

例1:
xxx_fnc={
params ["_EH", "_arr"];
_arr params ["", ""...];
...
};
"var_xx" addPublicVariableEventHandler xxx_fnc; 触发:var_xx=[x,x,x];publicVariable "var_xx";显然有多处代码段需要pv "var_xx"时var_xx很可能被覆盖虽然几率很少但是传递的值不是正确的出错一次也就出BUG了。

例2:
xxx_fnc={
params ["_EH", "_arr"];
    switch _EH do {
        case "var_xx1": {
        };
                ...
    };
...
};
"var_xx1" addPublicVariableEventHandler xxx_fnc;
"var_xx2" addPublicVariableEventHandler xxx_fnc;
...
触发:var_xx1=[x,x,x];publicVariable "var_xx1";虽然不会覆盖但是要添加几十个addPublicVariableEventHandler事件处理

上面两种用publicVariable公布变量触发addPublicVariableEventHandler事件,pv变量的电脑是不触发的,也很容易解决var_xx1=[x,x,x];_xx1 call "var_xx1";就行

例3:
xxx_fnc_1={
params ["_var1", "_var2"...];
...
};
xxx_fnc_2={
params ["_var1", "_var2"...];
...
};
["_var1","_var2"...] remoteExec ['xxx_fnc_1', 0, false];//所有电脑都执行,用这个有点麻烦不想本地也执行还要用代码过滤掉自己

纠结中3种方案不知道用哪一种好






发表于 2017-12-19 11:57:22 | 显示全部楼层

RE: 求教全局执行函数的建议

不太懂多人的东西,不过第二个方案里  把所有变量扔到数组里,用foreach,应该少写很多字。
 楼主| 发表于 2017-12-20 16:50:46 | 显示全部楼层

RE: 求教全局执行函数的建议

已经决定用第一二种方法,不会频繁同时触发的都扔到一个事件里,其他的在分别添加
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

中国虚拟军事网  

GMT+8, 2018-6-20 11:32

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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