KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 425|回复: 27

Demo脚本解读

[复制链接]

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
发表于 2019-1-8 22:16:03 | 显示全部楼层 |阅读模式
def reqCreateAvatar(self, roleType, name): 创建 Avatar实体脚本中  1."direction"       : (0, 0, d_avatar_inittab.datas[roleType]["spawnYaw"]);这个朝向属性direction在def 文件没有看到呢?2.这个元组数据分别代表什么,最后一个代表绕Y轴旋转角度么? 主要和(x,y,z)的旋转排序不一样
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-8 22:21:36 | 显示全部楼层
本帖最后由 jp3411952 于 2019-1-8 22:23 编辑

关于数据库加载实体的属性,如角色列表,只是在账号实体(这里指老帐号,新账号没有角色列表)创建成功的时候加载一次,所以新建一个角色实体需要更新列表数据?
        if success:
                        info = TAvatarInfos()
                        info.extend([avatar.databaseID, avatar.cellData["name"], avatar.roleType, 1, TAvatarData().createFromDict({"param1" : 1, "param2" :b'1'})])
                        self.characters[avatar.databaseID] = info # 保存数据库的avatar                        这里的info只是一个存数据的对象,还不是kbe的实体哦
回复

使用道具 举报

5

主题

5407

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-8 22:25:32 | 显示全部楼层
这是api。kapi文档
QQ:3603661
3603661@qq.com
回复

使用道具 举报

5

主题

5407

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-8 22:28:35 | 显示全部楼层
jp3411952 发表于 2019-1-8 22:21
关于数据库加载实体的属性,如角色列表,只是在账号实体(这里指老帐号,新账号没有角色列表)创建成功的时候加 ...

你可以print打印一下,会调试了就少很多疑问。 肯定不是实体,上面就是创建代码并没有创建实体
QQ:3603661
3603661@qq.com
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-8 22:35:34 | 显示全部楼层
柯标 发表于 2019-1-8 22:25
这是api。kapi文档

k大,每个实体创建出来自带这个属性哦?
回复

使用道具 举报

5

主题

5407

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-9 13:05:05 | 显示全部楼层
当然
QQ:3603661
3603661@qq.com
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-10 17:09:46 | 显示全部楼层
  INFO root [2019-01-10 15:56:25,877] - The following logs sent to logger failed:
  WARN root [2019-01-10 15:56:25,878] - ==> [2019-01-10 15:56:25 779] TCPPacketReceiver::processPendingEvents(xxx.xx.xxx.xx:50687): Throwing REASON_GENERAL_NETWORK - WSAECONNRESET
ERROR root [2019-01-10 15:56:25,878] - ==> [2019-01-10 15:56:25 804] Components::removeComponentByChannel: logger : 2000, Abnormal exit! TCPPacketReceiver::processRecv(): error=10054

  WARN root [2019-01-10 15:56:26,456] - TCPPacketReceiver::processPendingEvents(xxx.xx.xxx.xx:50694): Throwing REASON_GENERAL_NETWORK - WSAECONNRESET
ERROR root [2019-01-10 15:56:26,464] - Components::removeComponentByChannel: dbmgr : 4000, Abnormal exit! TCPPacketReceiver::processRecv(): error=10054

  INFO root [2019-01-10 15:56:26,512] - Shutdowner::onShutdownBegin: shutting down(period=0, tickPeriod=1)
  INFO root [2019-01-10 15:56:26,525] - Shutdowner::onShutdown: shutting down
  INFO root [2019-01-10 15:56:26,526] - Shutdowner::onShutdownEnd: shutting down
DEBUG root [2019-01-10 15:56:26,526] - ThreadPool::destroy(): starting size 2.
  WARN root [2019-01-10 15:56:26,826] - ThreadPool::destroy(): waiting for thread(2)[0x4feb80,0x4feb40,], try=1
  INFO root [2019-01-10 15:56:37,717] -
  INFO root [2019-01-10 15:56:37,719] - -----------------------------------------------------------------------------------------
baseappmgr 宕机日志 跑demo时出现了,和磁盘空间有关系么?
回复

使用道具 举报

5

主题

5407

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-10 17:13:35 | 显示全部楼层
没关系。 跟socket缓冲区满了有关系。
你强制kill服务器可能造成一瞬间的这样的问题
QQ:3603661
3603661@qq.com
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-10 17:26:45 | 显示全部楼层
重连的时候生成dump文件
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-10 17:26:57 | 显示全部楼层
在群里面发的
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-10 23:37:09 | 显示全部楼层

u3d demo Avatar死後 过段时间不操作 导致baseapp宕机

本帖最后由 jp3411952 于 2019-1-10 23:41 编辑

ERROR root [2019-01-10 23:10:42,760] - Components::removeComponentByChannel: baseapp : 7001, Abnormal exit! timedout
ERROR root [2019-01-10 23:28:52,185] - Components::removeComponentByChannel: logger : 2000, Abnormal exit! TCPPacketReceiver::processRecv(): error=10054

  INFO root [2019-01-10 23:28:52,188] - The following logs sent to logger failed:
  WARN root [2019-01-10 23:28:52,188] - ==> [2019-01-10 23:28:52 181] TCPPacketReceiver::processPendingEvents(192.168.0.102:51567): Throwing REASON_GENERAL_NETWORK - WSAECONNRESET
ERROR root [2019-01-10 23:28:52,188] - ==> [2019-01-10 23:28:52 186] Components::removeComponentByChannel: logger : 2000, Abnormal exit! TCPPacketReceiver::processRecv(): error=10054

  WARN root [2019-01-10 23:28:52,283] - TCPPacketReceiver::processPendingEvents(192.168.0.102:51568): Throwing REASON_GENERAL_NETWORK - WSAECONNRESET
ERROR root [2019-01-10 23:28:52,287] - Components::removeComponentByChannel: dbmgr : 4000, Abnormal exit! TCPPacketReceiver::processRecv(): error=10054

  INFO root [2019-01-10 23:28:52,288] - Shutdowner::onShutdownBegin: shutting down(period=0, tickPeriod=1)
  INFO root [2019-01-10 23:28:52,288] - Shutdowner::onShutdown: shutting down
  INFO root [2019-01-10 23:28:52,288] - Shutdowner::onShutdownEnd: shutting down
DEBUG root [2019-01-10 23:28:52,288] - ThreadPool::destroy(): starting size 2.
baseappmgr日志
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-14 16:52:56 | 显示全部楼层
def onEnterTrap(self, entityEntering, rangeXZ, rangeY, controllerID, userArg = 0):   //当实体进入范围触发器,这个entityEntering参数是base还是cell的实体
回复

使用道具 举报

5

主题

5407

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-14 18:06:43 | 显示全部楼层
cell上的api,当然是cell实体
QQ:3603661
3603661@qq.com
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-14 21:19:49 | 显示全部楼层
柯标 发表于 2019-1-14 18:06
cell上的api,当然是cell实体

Ok,谢谢柯大
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-14 21:21:23 | 显示全部楼层
Re: [kbengine/kbengine] 去掉def文件,直接在代码中声明方法属性的同步作用域等特性 (#612)
这个能出教程么? 还有实体的组件支持继承如何使用呢 ?
回复

使用道具 举报

5

主题

5407

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-14 21:27:24 | 显示全部楼层
#612 还没做完
QQ:3603661
3603661@qq.com
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-14 21:42:08 | 显示全部楼层

还有实体的组件支持继承如何使用呢 ?
回复

使用道具 举报

26

主题

99

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
 楼主| 发表于 2019-1-14 22:39:42 | 显示全部楼层
unity demo avatar 是服務器控制移動還是客戶端呢?  
KBEngine.Event.registerOut("set_position", this, "set_position");
KBEngine.Event.registerOut("set_direction", this, "set_direction");
KBEngine.Event.registerOut("updatePosition", this, "updatePosition");这里是实体激发出来的更新事件
服务器我没见到avatar移动的请求哦
只有客户端 Event.registerIn("updatePlayer", this, "updatePlayer")
直接改变了客户端实体的位置和方向, 这里就改变了服务器的avatar实体的位置和朝向么
回复

使用道具 举报

5

主题

5407

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-15 10:05:17 | 显示全部楼层
建议你系统性的先学一遍。

如果没有通过服务器api设置玩家controlledBy为服务器控制, 玩家当然是由客户端控制移动。
updatePlayer就是同步移动到服务器的。

set_position这类相当于在脚本中直接avatar.position=xxx强制设置位置到某个地方
updatePosition是服务器同步其他实体(非客户端控制的任何实体)的移动到你的客户端
QQ:3603661
3603661@qq.com
回复

使用道具 举报

5

主题

5407

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-15 10:05:32 | 显示全部楼层
jp3411952 发表于 2019-1-14 21:42
还有实体的组件支持继承如何使用呢 ?

跟实体继承实体一样, 有个parent标签
QQ:3603661
3603661@qq.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2019-7-18 03:22 , Processed in 0.038256 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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