Firefly《暗黑世界》碎片合成部分代码
这里讲的是Firefly《暗黑世界》碎片合成的流程部分的代码,这个主要是消息解析的部分,好吧上代码,代码路径app/game/gatenodeapp/compound.py。
#coding:utf8
'''
Created on 2013-3-21
物品合成
@author: lan (www.9miao.com)
'''
from app.game.gatenodeservice import remoteserviceHandle
import json
#导入功能逻辑处理模块
from app.game.appinterface import compound
@remoteserviceHandle#将处理方法,添加到service中,供gateserver进程调用。
def GetCompoundPackage_2109(dynamicId,request_proto):
'''获取合成包裹的信息
'''
#解析json字符串
argument = json.loads(request_proto)
#获取角色的ID
characterId = argument.get('characterId')
#获取合成包裹的信息
response = compound.GetCompoundPackage_2109(dynamicId, characterId)
#将信息序列化,生成json字符串,返回给客户端
return json.dumps(response)
@remoteserviceHandle#将处理方法,添加到service中,供gateserver进程调用。
def GetOneItemInfo_211(dynamicId,request_proto):
'''获取单个物品的信息
'''
#解析json字符串
argument = json.loads(request_proto)
#获取角色的ID
- characterId = argument.get('characterId')
- #获取物品的实例id
- itemid = argument.get('itemid')
- #获取物品的信息
- response = compound.GetOneItemInfo(dynamicId, characterId,itemid)
- #将信息序列化,生成json字符串,返回给客户端
- return json.dumps(response)
- @remoteserviceHandle#将处理方法,添加到service中,供gateserver进程调用。
- def GetCompoundItem_205(dynamicId,request_proto):
- """获取当前碎片能合成的物品的信息
- """
- #解析json字符串
- argument = json.loads(request_proto)
- #获取角色的ID
- characterId = argument.get('characterId')
- #获取将要合成的物品的模型id
- tempid = argument.get('tempid')
- #获取当前碎片能合成的物品的信息
- response = compound.GetCompoundItem(dynamicId, characterId, tempid)
- #将信息序列化,生成json字符串,返回给客户端
- return json.dumps(response)
- @remoteserviceHandle#将处理方法,添加到service中,供gateserver进程调用。
- def CompoundItem_2116(dynamicId,request_proto):
- '''合成物品
- '''
- #解析json字符串
- argument = json.loads(request_proto)
- #获取角色的ID
- characterId = argument.get('characterId')
- #获取将要合成的物品的模型id
- tempid = argument.get('tempid')
- #进行物品合成并返回合成后的结果
- response = compound.CompoundItem(dynamicId, charac这terId, tempid)
- #将信息序列化,生成json字符串,返回给客户端
- return json.dumps(response)
复制代码
里并没有做实际的逻辑处理,只是做了解析客户端发过来的参数,当要替换通信消息格式时,不会影响逻辑处理部分的代码。消息会通过netserver传递到gateserver,由gateserver分发给指定的gameserver,gameserver通过对于的指令号进入到对应的处理方法中处理。
转载于:https://www.cnblogs.com/9miaoshetuan/p/3851270.html
Firefly《暗黑世界》碎片合成部分代码相关推荐
- 在MAC下调试运行暗黑世界客户端及部分代码注解(基于Firefly)
目前有两个客户端,一个基于cocos2d-x.一个基于unity3d,这两个客户端的调试运行官网也有相关教程,我这是基于我自己的mac环境调试运行的. 一.先是基于coco2d-x的客户端 1.最快的 ...
- 在MAC下调试运行暗黑世界客户端及部分代码注解
一.先是基于coco2d-x的客户端 1.最快的方式是,先在mac安装xcode,我这用xcode4.6,然后下载cocos2d-x安装包,我这用2.1.5,直接解压到documents得到cocos ...
- 开源手游暗黑世界客户端部分代码注解续
开源手游,暗黑世界客户端基于Cocos2d-x 2.1.4,详情:http://www.9miao.com/thread-42811-1-1.html 接上篇博客:http://blog.csdn.n ...
- 暗黑世界1.4客户端+1.6服务器在Mac系统下的搭建步骤
环境: 系统:Mac 10.9 开发工具:Xcode 5.0.1 客户端游戏引擎:cocos2d-x 2.1.4 服务端框架:firefly 1.2.2 python版本:2.7 客户端搭建步骤: 1 ...
- [官方教程] 暗黑世界 客户端 配置文档
原地址:http://blog.csdn.net/uxqclm/article/details/11970565 欢迎来到9秒:www.9miao.com 暗黑世界----客户端文档 iOS: 1.配 ...
- windows 下 暗黑世界 服务器端 的 搭建
为了测试<暗黑世界>客户端,所以搭建<暗黑世界>服务器端,特此记录共享! 这个框架基于python编写,第三方库依赖:twisted, python-memcached,DBU ...
- 暗黑世界 网络游戏从0开始搭建
下面介绍从0开始如何搭建暗黑世界游戏的全过程,希望帮到有需要的人. 搭建的过程会有遇到很多问题,我也在文档中把遇到的问题给出了解决方式 ,希望我的分享能让你进步,有不足的地方,希望指正我,我也是一个初 ...
- 我的世界药水合成表图Java_我的世界药水合成表图高清配方-我的世界药水合成表图一览...
我的世界药水合成表图高清配方有哪些?今天的这篇攻略和大家聊一聊关于我的世界药水合成表图一览,希望能够帮助到有需要的朋友. 我的世界药水合成表图高清配方-我的世界药水合成表图一览 1.粗制的药水(作用最 ...
- 我的世界服务器自定义代码,《我的世界》服务器指令代码秘籍大全
<我的世界>服务器指令代码秘籍大全 2017-05-11 来源:Ali213 作者:佚名 tele 传送 time [set|get|day|night [minute|hour|day ...
- 我的世界服务器如何修改天气,我的世界怎么改变天气 我的世界改变天气指令代码大全...
我的世界怎么改变天气?很多玩家都知道我的世界可以认为的修改天气,但是大家都记不清我的世界修改天气的代码是什么,下面小编就为各位玩家带来:我的世界改变天气指令代码大全,一起来看看吧~ 我的世界怎么改变天 ...
最新文章
- python装饰设备_python装饰器
- Java黑皮书课后题第5章:*5.20(打印2到1000之间的素数)修改程序清单5-15,打印2到1000之间(包括2和1000)的所有素数。每1行显示8个素数,数字之间用一个空格字符隔开
- 2017CCPC 杭州 J. Master of GCD【差分标记/线段树/GCD】
- JavaScript三种弹出框(alert,confirm和prompt)用法举例
- VBScript基础教程之一什么是 VBScript
- mysql中的sql
- 清科2017医美行业研究报告:消费者搅动产业变局
- Tomcat安装与卸载
- Activemq 下载地址
- java横向导出excel_java 生成导出Excel文件
- js加mysql写邮箱找回密码_邮箱找回密码 · woyong/docs Wiki · GitHub
- 《Cinema 4D + After Effects动态图形设计案例解析》——1.3 动态图形的应用领域
- LeetCode:14. Longest Commen Prefix(Easy)
- Centos8安装显卡驱动以及Cuda
- 【蓝桥杯基础题】2021年省赛填空题—卡片
- Hi3559AV100芯片内部温度检测
- 复旦MBA项目(非全日制)
- Linux介绍和命令
- 基于Linux系统的TCP协议的即时通信系统
- 大学公开课网站视频课程转码加密方案
热门文章
- 静息态fMRI方法在脑动力学表征上的比较
- 创建UE4源码依赖项时多线程加快下载内容
- 某司岗位工资标准和综合收入之一
- 纳税服务系统【用户模块之用户唯一性校验】
- Nginx启动报错:nginx: [emerg] bind() to 0.0.0.0:8090 failed (13: Permission denied)
- javascript判断各种浏览器并识别IE版本
- 使用yolov8训练数据集及使用中遇到的问题
- [ERROR] [1656317519.169006218, 0.161000000]: No p gain specified for pid.Namespace: /arm/gazebo_ros_
- 前端学习—— JS基础
- cartographer(5)雷达数据订阅