任务系统之服务端部分

本文档主要介绍如何处理服务端任务数据,包括接收完成或未完成任务的状态、提交信息、从数据库查询任务以及任务处理流程。通过示例代码'QuestSystem.h'和'QuestSystem.cpp',详细阐述了实现过程,并提供了详细的注释,旨在帮助初学者理解并避免常见问题。
摘要由CSDN通过智能技术生成
这里是服务端任务数据的读取 这里我只是写了一个简短的,读取方式这个的看你们自己项目策划的要求是什么类型的任务,这里读取的也只是一个静态数据xml表,

#ifndef __BRUCE_GAME_QUESTXMLVO__HEADER__
#define __BRUCE_GAME_QUESTXMLVO__HEADER__

#include <typedef.hpp>

GAME_NS_BEGIN


//常量任务读取字段;
class QuestXmlVo 
{
   
public:
    //  任务ID;
    BRUCE_SYNTHESIZE_PASS_BY_REF(int, m_nQuestID, QuestID);

    //任务线;
    BRUCE_SYNTHESIZE_PASS_BY_REF(int, m_nQuestGroup, QuestGroup);

    //  任务类型;
    BRUCE_SYNTHESIZE_PASS_BY_REF(int, m_nQuestType, QuestType);

    //  任务次数;
    BRUCE_SYNTHESIZE_PASS_BY_REF(int, m_nQuestCoin, QuestCoin);

};

APP_NS_END

“QuestSystem.h”
这个文件 还有这个文件的cpp 是获取服务端那边过来的任务的数据,比如完成的,或者没完成的提交的信息或到数据库中去查询,任务的处理这些;这些都是我将自己做的然后自己写的一个简单的实例出来。掌握这样做运行的起来,不吭坑你们这些初学者的 坑你们我又得不到什么.注释也写的比较详细.我还是那句话师傅领进门 修行靠自己。

ifndef __BRUCE_GAME_QUEST_SYSTEM_HEADER__
#define __BRUCE_GAME_QUEST_SYSTEM_HEADER__

#include "typedef.hpp"
#include <Network.hpp>
#include <GameServer/Quest.hpp>
#include "QuestCommon.hpp"
#include "Character.hpp"
#include <vector>
#include "QuesXmlVo.hpp"


GAME_NS_BEGIN

//任务类型;
enum 
{
    QUEST_MISSION_ORDINARY,                         //关卡的类型任务类型;
    QUEST_MISSION_ELITE,                            //精英关卡任务类型;
    QUEST_TIME_ORDINARY,                            //时光之穴的任务类型;
    QUEST_TIME_ELITE


};

class QuestSystem
{
public:
    QuestSystem();
    ~QuestSystem();

    int         initialize();

    void            finalize();

    //接收客户端到服服务端的任务请求信息;
    void handleClientToSeverQuestInfoReq(Message::Ptr& message);

    //去寻找当前提交的任务信息是否与与关卡中的相匹配;
    void QueryMissionInfo(C2GS_QuestSubmitReq xQuestSubmitReq, int n_QusetType);

    //关卡获取的任务是否达到次数条件的信息与当前提交的任务的信息进行比较,如果条件达到就删除该数据,如果没有达到就返回Reuct=1;
    void QuestJudgeInfoAck(Message::Ptr &message);

    //删除任务信息的返回;
    void QuestDeleteInfoAck(Message::Ptr &message);

    //保存已完成的任务;
    void QuestSeaveCurrentlyInfo(Message::Ptr &message);

public:
    QuestXmlVo* getQuestXmlVo(int n_QuestId);

// 容器共有;
public:
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值