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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 4457|回复: 17

[重要] 一个脚本在固定ip的主机下建立游戏能运行,为什么在服务器里就不能运行

[复制链接]
发表于 2010-11-20 12:49:39 | 显示全部楼层 |阅读模式
如题,求高手接招。
详细情况是:还是那个追踪脚本,在单机下运行正常,多人联机的情况下只有固定IP的主机下建立游戏,才可以执行,同样的任务放在服务器里,大家联机的时候就不能执行脚本,,,为什么?
 楼主| 发表于 2010-11-20 12:51:42 | 显示全部楼层
关于这点,有我,FAN,SU30,DY等人可以作证。情况属实,求解。
发表于 2010-11-20 13:29:57 | 显示全部楼层
尽管我没法联机测试,但我对follow2修改了下,看看是否可行?
////follow2.sqs
////使用[跟踪者,被跟踪者] exec "follow2.sqs"
_x=[-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10]
_y=[-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10]
_xs=round (random 20)
_ys=round (random 20)
_follower=_this select 0
_BeingFollowed=_this select 1
_BFGroup=group _BeingFollowed
_num=count units _BFGroup
if (_num>1) then {goto "Check"} else {goto "Exit"}
#Check
?(isMultiplayer):goto "Start"
#Start
_fxs=_x select _xs
_fys=_y select _ys
_follower move [(getpos leader _BFGroup select 0)+_fxs,(getpos Leader _BFGroup select 1)+_fys,getpos leader _BFGroup select 2]
~1
goto "Start"
#Exit
exit
 楼主| 发表于 2010-11-20 15:27:57 | 显示全部楼层
请问修改可哪些?望详解{:4_107:}
 楼主| 发表于 2010-11-20 15:44:25 | 显示全部楼层
本帖最后由 bym101 于 2010-11-22 11:38 编辑
FFUR2007SLX2_5 发表于 2010-11-20 13:29
尽管我没法联机测试,但我对follow2修改了下,看看是否可行?
////follow2.sqs
////使用[跟踪者,被跟踪者 ...


经我单机测试:该脚本运行状况如下:

1,跟踪者队长战死,其余组员在继任队长的带领下继续跟踪。。。
2,被跟踪者队长战死,跟踪者继续跟踪其继任队长,直到杀光。
完全正常~~~满足要求!
我要晚上和大家服务器上联机测试一下,感谢~~~
发表于 2010-11-20 16:16:29 | 显示全部楼层
不客气。
 楼主| 发表于 2010-11-20 16:30:33 | 显示全部楼层
回复 FFUR2007SLX2_5 的帖子

一起来吧~~
 楼主| 发表于 2010-11-20 21:57:53 | 显示全部楼层
不行。。。还是不行。。晕
 楼主| 发表于 2010-11-20 21:58:09 | 显示全部楼层
进入服务器就不行。。。
发表于 2010-11-20 22:28:58 | 显示全部楼层
本帖最后由 FFUR2007SLX2_5 于 2010-11-20 22:36 编辑

改换sqf,也许这是我所知道的最后方法了......
////follow2.sqf
////使用[跟踪者,被跟踪者] execVM "follow2.sqf"
Private ["_x","_y","_xs","_ys","_follower","_BeingFollowed","_BFGroup","_num","_fxs","_fys"];
_x=[-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10];
_y=[-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10];
_xs=round (random 20);
_ys=round (random 20);
_follower=_this select 0;
_BeingFollowed=_this select 1;
_BFGroup=group _BeingFollowed;
_num=count units _BFGroup;
if (_num>1) then {goto "Check"} else {goto "Exit"};
#Check;
if (isMultiplayer) then {goto "Start"};
#Start;
_fxs=_x select _xs;
_fys=_y select _ys;
_follower move [(getpos leader _BFGroup select 0)+_fxs,(getpos Leader _BFGroup select 1)+_fys,getpos leader _BFGroup select 2];
sleep 1;
goto "Start";
#Exit;
exit;
 楼主| 发表于 2010-11-20 23:01:10 | 显示全部楼层
本帖最后由 bym101 于 2010-11-21 20:31 编辑

确认:

[跟踪者,被跟踪者] execVM "follow2.sqf"

???那个VM是什么意思?
另外SQS和SQF有什么区别?(这个我已经知道区别了,不用回答了)
sqs和SQF的产生都是通过记事本改后缀么?
 楼主| 发表于 2010-11-21 00:09:46 | 显示全部楼层
是否跟服务器的设置有关?
 楼主| 发表于 2010-11-21 20:28:26 | 显示全部楼层
我猜测:脚本出现的BeingFollowed被游戏默认为主机执行。而在服务器运行中,AI认定服务器是主机,而我们没有人在操作服务器。所以AI无法执行跟踪。
 楼主| 发表于 2010-11-21 20:41:55 | 显示全部楼层
FFUR2007SLX2_5 发表于 2010-11-20 22:28
改换sqf,也许这是我所知道的最后方法了......
////follow2.sqf
////使用[跟踪者,被跟踪者] execVM "foll ...

这个脚本试过了,无论是SQS还是SQF都不能跟踪(单机测试)
 楼主| 发表于 2010-11-22 11:42:58 | 显示全部楼层
顶自己。。。。
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-3-29 21:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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