2016-11-03 106 views
3

我有一个multiplayer project,它有一些永久循环,并在其中检查代码。 block of code][![block of code从头开始的ID:云变量

的问题是,多台计算机可以处理这并更改crabxcraby由于在变量dvotesuvoteslvotes,或rvotes滞后。不过,只有一台机器应该改变这一点。

这可以很容易地解决给每个玩家一个像很多人在SQL中做的ID。我只是检查ID是否为1,那就是“操作机器”。然后我会在这台机器上完成所有这些检查。它会做一些事情,如果你可以编程的话,Scratch服务器会这么做......

问题在于没有办法检测玩家什么时候离开游戏。没有被称为“退出时”或“停止按钮被按下”的程序段。我会如何去做这件事?我看到有人点击退出按钮,但有些人不会点击它/甚至没有看到它。

提前致谢!

回答

4

选项1

我从来没有特别成功的云数据,不过我以前听说过的理论在此:

从本质上讲,每个玩家得到一个“反”。他们的电脑不断增加这个计数器。如果计数器停止增加(这会被其他计算机检测到,这些计算机正在相互照看),项目将知道用户已经离开,其中一台计算机将负责删除其ID和其他数据。

很明显,说起来容易做起来难。 (就像我说的,我从来没有得到复杂的云数据来为自己很好地工作,但我已经看到了它做成功,并解释。)

选项2

或者,你可能会更好利用由MegaApuTurkUltra创建的this cloud api。我发现从代码中窃取信息往往是解决问题的最佳方法。 ;)