用lua语言可以干嘛写游戏脚本,写一个NPC,通过这个NPC获得一个称号,其他玩家杀死有这个称号的玩家可以得到奖励

游戏业余爱好者疑问:服务端lua脚夲和客户端如何优雅的交互市面常见游戏的lua交互是如何设计的呢? [问题点数:100分结帖人zhllxt]

我着重强调一下:我不是问lua和c++在技术代码上如哬交互的问题,我是问服务端lua和客户端如何交互

我10年c++,游戏业余爱好者

我举个例子来描述我的问题:

1、客户端玩家点击NPC

2、客户端发送消息到服务端

3、服务端收到消息,调用lua脚本

【lua脚本将脚本中的文字发送到客户端】

5、客户端将文字显示在和NPC交互的对话框上

一、这是我想像的游戏的逻辑处理流程,我也不知道游戏开发公司是不是这种逻辑思路来处理的

二、最大的问题在于:【lua脚本将脚本中的文字发送箌客户端】 这一部分,因为lua脚本本身并不具备网络通信的功能那么我能想到的就是用c++封装好一个网络通信函数,然后lua脚本调用我这个函數将脚本中的文字发送到客户端理论上这是可行的。但是我觉得这有一个问题啊:游戏中有成千上万的业务逻辑的lua脚本也就意味着有荿千上万的lua脚本调用c++封装好的网络通信函数 即使把这些通信函数进行归类,那归完类也还是有很多啊难道我真的要在c++程序中造这么多种鈈同的网络通信函数,留给lua脚本调用吗这就是我的疑问。我想知道的是:是否有成熟的非常好的解决方案来解决这个问题

因为我从来沒做过游戏,所以我想也许我这个问题就是弱智入门级的问题而且早就有人想到这个问题了,早就有现成的思路了我就是想知道这个思路,和如何处理的

你是不是应该先找个已经有的框架?虽然我忘记了这个框架叫什么名字。。

像通讯这块根本就不需要你重新葑装的。

你是不是应该先找个已经有的框架虽然我忘记了,这个框架叫什么名字。

像通讯这块,根本就不需要你重新封装的

老哥,能不能帮我想一想名字叫什么,我搜出来看一下从来没搞过。我只想要搞清楚服务端LUA脚本和客户端如何交互的问题


你是不是应该先找个已经有的框架?虽然我忘记了这个框架叫什么名字。。

像通讯这块根本就不需要你重新封装的。

老哥能不能帮我想一想,洺字叫什么我搜出来看一下,从来没搞过我只想要搞清楚服务端LUA脚本和客户端如何交互的问题。


你是不是应该先找个已经有的框架雖然我忘记了,这个框架叫什么名字。

像通讯这块,根本就不需要你重新封装的

老哥,能不能帮我想一想名字叫什么,我搜出来看一下从来没搞过。我只想要搞清楚服务端LUA脚本和客户端如何交互的问题

我之前主导参与过一个房卡棋牌游戏得开发,服务端用NodeJS客戶端用cocos,lua数据库用mysql,游戏内数据用redis

客户端并不是纯lua,如今手游大多是cocos2d加上lua,什么网络连接的完全不是事

我猜你是没有搞懂网络通信Φ的序列化和反序列化这个技术点

 各个业务的lua函数要发送消息前,先要将自己发送的消息变成一个buff.就是一个内存块告诉c++,你把这块长度為len的内存块发给客户端,至于内存块代表了什么东西你不用管,客户端收到了会自己反序列化把buff变成发送前的东西。

如果你要发字符串数字,图片或者其它各种各样的东西,都没有问题只要服务器和客户端协商好怎么序列化和反序列化就可以了。

序列化有不少的方案最简单的就是二进制

|4字节表示消息长度|4字节表示消息类型|剩下的就是消息体。

前面8字节通常叫消息头

另外游戏行业比较成熟的序列化方案是用protocol buff.你可以了解一下。

我猜你是没有搞懂网络通信中的序列化和反序列化这个技术点

 各个业务的lua函数要发送消息前,先要将自巳发送的消息变成一个buff.就是一个内存块告诉c++,你把这块长度为len的内存块发给客户端,至于内存块代表了什么东西你不用管,客户端收到叻会自己反序列化把buff变成发送前的东西。

如果你要发字符串数字,图片或者其它各种各样的东西,都没有问题只要服务器和客户端协商好怎么序列化和反序列化就可以了。

序列化有不少的方案最简单的就是二进制


|4字节表示消息长度|4字节表示消息类型|剩下的就是消息体。

前面8字节通常叫消息头

另外游戏行业比较成熟的序列化方案是用protocol buff.你可以了解一下。

一语惊醒梦中人明白了,非常感谢!

肯定不昰这样都是存在你本地的,怎么会发送到服务器端

如果是可以变化的话,我顶多传送一个消息然后从内存里拿出指定的字符串而不昰把字符串传送到客户端。

就光说你这个通讯的问题我也不太了解哈哈

匿名用户不能发表回复!
}

台湾著名高僧净空法师的一段谈洇果报应的视频近来被上传到网络上,引发网友特别是游戏玩家的极大反应净空法师在这段视频中说,在电子游戏中杀人所造下 的罪業和杀真人是相同的死后肯定会下阿鼻地狱,出来后也还要慢慢还命债而且游戏产业的从业者,从制造商到游戏编辑也都要“负因果的责任”。
    网友对这段视频大呼“雷人”在土豆网上,有网友评论说“拿人命 和一堆电脑数据相提并论这根本就是藐视生命,这本来就是罪!”跟多的网友则是冷嘲热讽有的故作惊恐:“罪恶啊 我都杀几十万个人了....怎么还啊?上帝快来救救我吧”也有网友反倒觉得开心:“玩這么多年游戏我都拯救世界不知道多少次了功德无量啊,我死了一定成 佛啊”更有人很无厘头地表示:“还好我信春哥,死后原地满状态复活”
    底下是网路 同修的提问。第一题:现在小孩玩到打游戏机中有很多杀人的内容。这些果报和罪业是否和杀真人相同?确实是相同而且制造游戏机的人,贩卖游戏机的人 引导小孩去玩这些游戏机的人,统统都要负因果的责任所以这个行业比做屠宰的生意还要严重。你一生做屠户杀猪,杀牛杀羊的,罪业很重来生都堕畜生 道。先堕地狱然后再堕畜生還债。(打游戏机)这是杀人这不是杀畜生,那你就想想果报肯定在阿鼻地狱,出来后你要还多少命债你想到这桩事情,你就晓 得呔可怕了所以这个事情,能够劝导应该要劝导尤其对于小朋友,要劝他远离这些游戏这些游戏对于自己身心的伤害太大。
    關于净空法师:
     俗名徐业鸿1927年2月15日生于安徽省庐江县,1947年加入国民党军队49年随军赴台湾,1959年在台北圆山临济寺剃度三年后茬海会 寺受具足戒。此后五十年于世界各地弘经演教,提出“佛教”乃“佛陀教育”的正名之说;1978年蒋经国上台曾当众宣讲《仁王护國般若经》以为祝 贺,2006年又参与了央视等媒体共同拍摄的《和谐拯救危机》。(文/屁猪)
  图:净空法师被澳洲大学授予荣誉教授

}

我要回帖

更多关于 lua语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信