首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GameSparks手工匹配

GameSparks手工匹配
EN

Stack Overflow用户
提问于 2018-05-11 16:07:44
回答 1查看 493关注 0票数 0

我和我的团队正在建立一个统一游戏,并正在使用GameSparks实现网络进入我们的游戏。我们正在努力实现手动匹配制作,以便当匹配时,GameSparks不会自动匹配我们的球员。我们要自己控制这一切。

所以根据他们的文档,首先我们必须调用一个MatchMakingRequest

代码语言:javascript
复制
new GameSparks.Api.Requests.MatchmakingRequest()
        .SetMatchShortCode("match_name")
        .SetSkill(0) // 
        .Send((response) => {
            if (response.HasErrors)
            { // check for errors
                    Debug.LogError("GSM| MatchMaking Error \n" + response.Errors.JSON);
            }
            else
            {
                    Debug.Log("MatchMakingRequest response: " + response.JSONString);
            }
        });

这将创建具有匹配ID的匹配(例如,新创建的匹配的匹配ID为1)。在我们需要打电话给FindPendingMatchesRequest之后。

代码语言:javascript
复制
new GameSparks.Api.Requests.FindPendingMatchesRequest()
      .SetMatchShortCode("MP_match")
      .Send((response) =>
    {
        if (response.HasErrors)
        {
                Debug.Log("Matchmaking error: " + response.Errors.JSON);
        }
        else
        {
                Debug.Log(response.JSONString);
        }
    });

这样做,根据他们的文档,应该找到一个挂起的匹配,在本例中,这将是ID为1的匹配,但是它将创建一个ID为2的新挂起的匹配。

因此,例如,如果两名球员试图玩:

-Player 1自动调用MatchMakingRequest并创建ID 1的匹配,但他也调用FindPendingMatchesRequest,后者用ID 2创建一个新的匹配。

-Player 2现在调用FindPendingMatchesRequest,而不是找到ID 1或ID 2的匹配,而是创建一个ID 3的新匹配。

这将继续发生,每一个新的球员寻找一个悬而未决的比赛,因此他们从来没有加入彼此的会话。

因此,我的问题是如何让FindPendingMatches请求实际找到一个挂起的匹配,而不是创建一个全新的匹配?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-09 21:00:41

我认为很少有事情你弄错了。首先,自定义匹配逻辑发生在服务器端,您可以在GameSpark -> Configurator ->多人->匹配上对其进行配置。

在那里,您可以设置min/max播放器、阈值(最小、最大等待时间)、自定义脚本等等。在自定义脚本是您设置手动匹配逻辑的地方。

发生在您身上的原因可能是因为您的匹配设置有问题,您可以在这里查看本教程:

https://docs.gamesparks.com/tutorials/multiplayer/matching-players.html#customizing-matching

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50296255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档