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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 3343|回复: 27

[多人战役] 如何让一条语句全局执行?

[复制链接]
发表于 2016-5-4 11:28:13 | 显示全部楼层 |阅读模式
如题,我用了addAction ["救援",{first_Aid = true;}];但是测试时候发现服务器端first_Aid = true;其他电脑还是false;反过来别的电脑用了救援在本地是true;其他的包括服务器都是false;这个怎么解决呢,让它全局执行,就像控制台里面的全局执行一样。{:soso__3669389859068460655_4:}
 楼主| 发表于 2016-5-4 12:07:09 | 显示全部楼层
控制台里面点本地执行效果就是这样,如果点全局执行,所有端口都是true;
发表于 2016-5-4 12:09:12 | 显示全部楼层
发表于 2016-5-4 12:48:08 | 显示全部楼层
first_Aid = true; publicVariable "first_Aid";
 楼主| 发表于 2016-5-4 13:10:42 | 显示全部楼层
gpgpgpgp 发表于 2016-5-4 12:48
first_Aid = true; publicVariable "first_Aid";

那我在addAction ["救援",{0=【】execvm "sad.sqf";}];这样做的话,仍然是刚刚那个情况,用publicVariable的话怎么用才能使其全局执行呢
 楼主| 发表于 2016-5-4 13:11:19 | 显示全部楼层
hiddenzone 发表于 2016-5-4 12:09
http://www.chinavme.com/thread-26385-1-1.html

这里面没讲全局执行啊,只有FSM和一些其他的,看过了
发表于 2016-5-4 16:26:00 | 显示全部楼层
ta406601917 发表于 2016-5-4 13:11
这里面没讲全局执行啊,只有FSM和一些其他的,看过了

你得从这一层看起:
http://www.chinavme.com/forum.ph ... 6385&pid=250806
发表于 2016-5-5 05:35:11 来自手机 | 显示全部楼层
为何搞那么复杂捏用用设置变量函数简单解决:missionNamespace setVariable ["first_Aid", false, true];//最后那个布尔是true会把你的变量值全局同步到所有机器上

点评

这个好,以前没用过。学习一下。  发表于 2016-5-5 13:53
 楼主| 发表于 2016-5-6 19:27:59 | 显示全部楼层
wj59789 发表于 2016-5-5 05:35
为何搞那么复杂捏用用设置变量函数简单解决:missionNamespace setVariable ["first_Aid", false, true];// ...

我能不能让一段代码等于一个变量,然后让代码命名一个名字,再用你说的那个,这样代码就全局了

点评

missionNamespace getVariable ......  发表于 2016-5-6 23:04
发表于 2016-5-6 20:31:46 | 显示全部楼层
可以的,但是干嘛不用标准写法呢a={};然后publicVariable "a";呢?
发表于 2016-5-6 22:59:20 | 显示全部楼层
publicVariable "a";
sleep 0.3;
[[],"a", true, false] call BIS_fnc_MP;

[[[可以传递参数],{_this select 0...code}],"BIS_fnc_spawn",true所有机器或服务器执行,false新玩家加入后执行与否] call BIS_fnc_MP;
 楼主| 发表于 2016-5-6 23:02:19 | 显示全部楼层
wj59789 发表于 2016-5-6 22:59
publicVariable "a";
sleep 0.3;
[[],"a", true, false] call BIS_fnc_MP;

好哒,谢谢
 楼主| 发表于 2016-5-6 23:22:04 | 显示全部楼层
wj59789 发表于 2016-5-6 22:59
publicVariable "a";
sleep 0.3;
[[],"a", true, false] call BIS_fnc_MP;


                    [[],{0=[_player1] execvm "scripts\xx.sqf";}, true, false] call BIS_fnc_MP;这样行吗
发表于 2016-5-6 23:29:29 | 显示全部楼层
本帖最后由 wj59789 于 2016-5-6 23:35 编辑
ta406601917 发表于 2016-5-6 23:22
[[],{0=[_player1] execvm "scripts\xx.sqf";}, true, false] call BIS_fnc_MP;这 ...


[[[ _player1],{null=[_this select 0] execvm "scripts\xx.sqf";}],"BIS_fnc_spawn", true, false] call BIS_fnc_MP;这样才对,另外其他

电脑也必须有 xx.sqf文件
 楼主| 发表于 2016-5-6 23:48:22 | 显示全部楼层
wj59789 发表于 2016-5-6 23:29
[[[ _player1],{null=[_this select 0] execvm "scripts\xx.sqf";}],"BIS_fnc_spawn", true, false] ca ...


                  [[[_x],{null=[_this select 0] execvm "scripts\Common\damage.sqf";}],"BIS_fnc_spawn",true, false] call BIS_fnc_MP;

                   _x addEventHandler
              [
                   "HandleDamage",
                {

                  (damage (_this select 0)) + (_this select 2) * 0.01;

                }

              ];

                   };

}foreach allplayers;
我这样写的,但是一点效果也木有诶,这是怎么回事呢
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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