skynet的lua怎么换成python,第1张

服务器: simpledblua: skynetregister "SIMPLEDB" 向skynet里注册一个服务 agentlua: skynetcall("SIMPLEDB", "text", text) 调用相应的服务 mainlua: skynetnewservice("simpledb") 启动一个服务 以上函数都在\lualib\skynetlua 文件内

额!

我以前弄插件的时候也遇到过这种情况 插件设置不能保存 不知道你具体用的什么插件 是大脚一类的 还是自己整合的 这种问题可能是 插件冲突引起的 没有弹错 没有设置选项的缺失 就是插件设置不能保存

建议你删除一下 WTF 里Gridlua 和Gridtoc 然后上游戏从新设置一下

但是我不敢保证肯定好用

还可能是 在右下角 你还监视了其他的BUFF 或者是 插件默认监视了你施放的其他buff 所以你单独施放的时候 只会看到大地盾

第二个问题

GRID (没有GridIndicatorSideIcons的情况下) 四个角及中间都可以

GridIndicatorSideIcons 是上下左右四个边 还可以监视的插件

你说的三个BUff 可以同时出现在一个玩家的框体上

我接触的许多程序员中,绝大多数都是知其然不知其所以然,做了AS好几年的,甚至连AVM是什么都不知道的太多了。许多程序员把快速开发出成品作为是工作的唯一目标,认为研究底层知识和周边技术是浪费时间。很多东西他们不是不能知道,而是不想知道。

更有甚者,学会了 gotoAndPlay 就敢说熟悉 Flash,会敲 ls 就敢说精通Linux。前几天有朋友发给我他膜拜了一日的逆天简历,上面洋洋洒洒写着汇编、C/C++、Linux网络编程、JAVA EE、Perl、Bash、Python、Windows驱动开发、单片机开发、HTML、CSS3、JavaScript、PHP、cocos2d-x、iOS开发、安卓开发……而且所有的项目的级别都是 精通!

我看完简历和朋友说:这位前后端桌面嵌入式系统驱动网页手机开发通吃的全栈神人10年里跳槽8次,从没在一个公司干满过2年,你敢用么?

======上面废话,不看也罢。

刚巧我也是从AS3转到了cocos2d-x,说说我的经验吧。

一、cocos2d-x 部分

11 技术选型

从第三个手游开始,我实在被Adobe的ANE和国内的小平台折腾得没了脾气,决定转到cocos2d-x。在选择哪种语言绑定的时候纠结了很久,最后力排众议选了 lua:Cocos2dx+lua合适还是Cocos2dx+js合适 cocos2d-x 2x 的lua绑定做得并不好,于是我选择了 quick-cocos2d-x (后来,quick被触控收购)。

12 学习 C++

C++ Primer 中文版(第 5 版) (豆瓣) 是不错的入门书籍,建议看第五版,我写过一篇 C++Primer 第4版和第5版比较 。学习期间建议画一些思维导图帮助理解和整理思路。例如这个(不完整):

13 学习DEMO和熟悉开发平台

编译 cocos2d-x 自带的 TestCPP 项目,全部跑一遍。熟悉 cocos2d-x API 的用法。记得用doxygen 生成文档,建议每个API的功能都浏览一遍。

有的同学可能更喜欢直接看源码,那当然更好。不过文档有一个好处就是能更直观地显示继承关系。

在学习DEMO的过程中,你必须熟悉自己开发平台的IDE,例如Windows上必须熟悉 Visual Studio,而OS X上必须熟悉xcode,Linux平台上就熟悉Eclipse+CDT吧。

注意,quick-cocos2d-x 是不支持Linux开发平台的。

2014-05-17更新:quick已经使用QT重写了player部分,但依然不支持Liunx平台。

14 了解引擎的文件夹结构

基于 cocos2d-x 源码生成的文档并不怎么详细,许多功能必须看源码。但这个阶段,我不建议纠结源码太深,倒是可以纠结一下 cocos2d-x 的文件夹结构,看看各个类放在什么地方,找一找常见的哪些宏和常量以及枚举定义在什么地方,这花不了多少时间,但能让你对cocos2d-x有更深刻的了解,同时给你很强的成就感。这种成就感冲淡了你面对大量源码时候的无力感,让你能够继续前行。

下面是我的分析:

15 重复上面的第3步:再次学习DEMO

这时候看DEMO可能会轻松不少,但是你会有更多的问题去纠结。例如多分辨率支持?例如坐标系统?例如绘图功能?例如层级管理系统?例如事件传递系统?等等等等……这时候可以去Google(注意不要用百毒和其他搜索引擎)找文档看了。我推荐一些我看过的不错的文档和博客:

http://wwwityrancom/archives/4809

Cocos2d-x官方中文文档 v2x

Cocos2D | iOS Development Tips & Tricks by BiOM

子龙山人 - 博客园

红孩儿的游戏编程之路

Ray Wenderlich

Cocos2d-x | Cross Platform Open Source 2D Game Engine

许多博客都是极好的。红孩儿(后来加入了触控)写了许多源码分析,每一句源码都加了注释。虽然我不太认同他这种吃力不讨好的方法,但对于新手来说确实是有很大的帮助。

另外在 Stack Overflow 你能找到绝大部分问题的答案。当然,许多问题是针对 cocos2d 而非 cocos2d-x 的,不过用法相同,照看不误。许多优秀的文章都是基于 cocos2d 的,所以,不要介意,可以先花半天时间熟悉 OC 的语法,能看懂即可。

暂时不要买中文书。我曾经花3天时间看完了 《Cocos2D-X游戏开发技术精解》 和 《cocos2d-x手机游戏开发–跨iOS、Android和沃Phone平台》,发现作者其实就是来赚稿费的。

忘了广告了,我的博客(cocos2d-x | zrong's Blog)也有一些cocos2d-x内容,欢迎来喷。

16 熟悉工具集

现在你应该对周边工具感兴趣了。例如帧动画使用什么制作?BMFont使用什么制作?骨骼动画呢?plist文件怎么编辑?碎图用什么工具拼合?有些项目上,你有许多选择,也可能没得选。去Google吧,如果遇到选择上的问题,欢迎找我讨论。

二、 quick-cocos2d-x 部分

21 现在就到lua时间了

请认真读完 《Lua程序设计(第2版) 》 第一、二、三部分。第四部分可暂时不读。

12 熟悉 quick-cocos2d-x 的文件夹结构

相信有了上面 cocos2d-x 的基础,这个应该不难理解。

13 跑完 quick-cocos2d-x 自带的所有sample

在这期间,熟悉 framework 中的所有封装。可以参考 quick网站 和 quick wiki 。

14 学习导出API给Lua使用

导出 C/C++ API 给 Lua 使用

三、学习 OpenGL ES

熟悉Lua部分之后,作为一个有志于成为程序员的码农,依然要回到C/C++来,这里才是 cocos2d-x 的本质。

cocos2d-x 使用 OpenGL ES 进行渲染的,如果要对 cocos2d-x 的渲染层进行任何形式的扩展,你完全避不开 OpenGL ES。

既然逃不开,那就对TA说,请张开双腿,我要上。

31 阅读 OpenGL ES 20 Programming Guide

下面是这本书的官网,目前已经出了 OpenGL ES 30 版本,cocos2d-x 使用的是20。

http://wwwopengles-bookcom/es2/indexhtml

这本书写得浅显易懂,非常适合新手。有位网友花3个月时间翻译了中文版,但还是建议你不要看了。

这里是 OpenGL ES 的 官方文档 和 API中文翻译 。

当然,你也可以买那本著名的 OpenGL 红宝书 《OpenGL编程指南(原书第7版)》 来看,不过 OpenGL ES 相对与 OpenGL 来说还是有一些不同的,你要知道如何区分这些不同。

32 尝试理解 cocos2d-x 的渲染部分架构

相关的类我就不列出了,我正在酝酿一个这方面的系列文章准备发到博客上。如果写完了,我会在这里更新。

33 自己写一些滤镜、绘图功能的扩展

例如这个: cocos2d-x-filters

四、回归项目

到了这里,你可以开始你的项目了。虽然源码还没有读完,但相信整个架构都能理解了。在做项目的过程中,再去一点点读源码是比较快捷和我能够接受的方法,否则就太枯燥了。

你可以还需要选择一下cocos2d-x相关的工具。你可能听说过 CCB(cocosBuilder)和CCS(cocoStudio),尝试了解她们,再决定是否使用她们。

你已经有了AS3的基础,这样许多前端的概念和经验已经很丰富了。这些经验在cocos2d-x中同样适用。但是要注意的是,cocos2d-x不是AS3,不要试图用AS3的方法去使用cocos2d-x。

有位码农在从C#转到AS3的时候向我抱怨:为什么Flash Builder没有Visual Studio的这个功能那个功能?

然后这位码农在从AS3转到Sublime Text(用于Lua编辑)的时候向我抱怨,为什么Sublime Text没有Flash Builder的这个功能那个功能?

上面是个笑话。

同时,为了解决一些cocos2d-x没有提供的功能,你必须去学习相关的知识。例如这个:在 cocos2d-x 中使用 libcurl 实现上传文件功能(附quick-cocos2d-x封装)。不过你现在已经有了基础,学习这些不是难事。

在有时间的时候,可认真读一下上面提到的《Lua程序设计(第2版) 》第四部分,了解Lua和C语言通信的方式,顺便看看cocos2d-x里面是怎么实现的。

另外,一些你需要的引擎中没有的功能,也可以顺手实现了开源出来(例如这个:一个LuaSocket封装),说不定你需要的东西正好是别人也需要的。

五、熟悉发布平台

既然是做手游,Android和iOS平台是逃不掉了。

你要熟悉Android和iOS平台的特点,熟悉JAVA在Android上的应用,熟悉Objective-C在iOS上的应用,熟悉Eclipse ADT和XCode(上面应该已经熟悉过了)。

你还要熟悉Google Play和AppStore的发布流程以及方针、政策,内购的接入、SDK的嵌入。

你要学习和各个接入平台的程序员、商务、前台小妹打交道(因为经常会找不到你要找的真正的负责该SDK的技术人员),你要能忍受国内小平台糟糕的文档、代码规范和逆天的编程方法。

终、没有终点

上面说的并不完整,应该遗漏了不少东西,但我只能说这么多了。因为我的经验也止于此。

祝你成功!

转载仅供参考,版权属于原作者。祝你愉快,哦

一、饥荒正版服务器开服步骤:

1、建服准备工作——获取令牌

如果要建立一个向公众开放的独立服务器,则必须要获得服务器令牌,这样做的目的是能够让开发者关停违反了服务条款的服务器。

根据以下步骤获得令牌:

注意:所有符号及标点全部使用半角模式输入。

运行Don't Starve Together。

点击Play !。

按~(数字键1左边的按键)开启控制台输入指令,再按一次关闭控制台,若还有控制台文字信息显示在屏幕上按CTRL+L关闭。

如下图在Documents\Klei\DoNotStarveTogether下已经生成了server_tokentxt文件。

2、建服准备工作——修改配置文件

(1)配置文件路径

如下图settingsini位于C:\Users\你的用户名\Documents\Klei\DoNotStarveTogether路径下。

(2)注意:因为DST不支持Unicode,以下内容请全部使用英文。

若以下内容settingsini内没有可自行加上,也可不加,服务器出现任何问题后果自负。

[network]网络配置

default_server_name = 这里填服务器名。

default_server_description = 描述一下你的服务器(可不填)。

server_port = 10999,服务器通信端口,最好不要改动,对端口映射及网络类型熟悉的人员可自行更改。

server_password = 这里填服务器密码,如果要对公众开放则不填。

max_players =[1-64]最大玩家数1到64,根据计算机性能和网络负载能力填写,默认6。

pvp = true [ true | false ]是否开启PVP(玩家可以互相攻击)。

game_mode = [ endless,survival,wilderness ]游戏模式三个里面选一个填。

override_dns = [填写DNS服务器]覆盖DNS设置,如果log in很慢的情况下,可以改成8888,8888。

enable_vote_kick = [ true | false ]是否允许投票踢人,默认true。

enable_snapshots = [ true | false ]是否允许服务器回退到一个之前的状态(等同于回档,可用来防止烧家的熊孩子),开发者称这项功能在一些服务器上会导致问题的发生,默认false。

enable_autosaver = [ true | false ]是否开启自动保存功能,默认开启,新的一天开始服务器会自动保存。

tick_rate = [ 10 | 15 | 30 | 60 ]类似于FPS,这个值越高客户端动作越流畅,这取决于服务器的网络带宽和CPU,默认30。

connection_timeout = [填写毫秒数,1秒=1000毫秒],中断与没有响应的客户端的等待时间,默认8000。

server_save_slot = [1-5]服务器加载哪一个存档,默认1。

pause_when_empty = [ true | false ]服务器空闲时是否自动暂停,当有玩家进入时继续,最好用于有密码的私人服务器,默认false。

[account]账号配置

dedicated_lan_server = false [ true | false ]是否只允许局域网游戏,默认关闭。

3、ADSL拨号上网

有路由器(市面上路由器种类太多,不单独作某一型号路由器说明,方法大同小异。):进入路由器设置页面,找到端口映射功能,添加需要映射的端口:协议选UDP,端口号填10999。

无路由器:打开控制面板->系统和安全->windows防火墙->高级设置->入站规则右键新建规则->勾选端口->勾选UDP,特定本地端口:填10999。

4、开启服务器——测试是否成功运行服务器

根据以下步骤来开启服务器:

打开DST Dedicated Server。

打开Don't Starve Together。

点击Play!,稍等片刻。

Server-Type服务器类型筛选选择Dedicated Server。

若自己的服务器出现在右边列表中并且显示Dedicated Server,说明服务器成功运行(并且邀请其他玩家测试是否能够进入自己的服务器)。

(1)开启服务器——局域网服务器

局域网服务器只能使用指定范围端口10998到11018。

在配置文件settingsini内[account]下添加dedicated_lan_server = true即可被局域网内其他终端发现。

(2)开启服务器——运行多个服务器

首先确保计算机硬件和网络带宽是否强大到能够同时运行多个服务器。

创建新的服务器路径:在服务器的启动选项内输入-conf_dir <文件夹名>。

5、服务器管理——控制台指令

根据以下步骤获取管理员权限:生成令牌的用户会自动获得管理员权限。

拥有管理员权限的用户能够从服务器内踢出其他用户或者封禁其他用户,也能执行LUA脚本。

如果想授予其他用户管理员权限,需要在Documents\Klei\DoNotStarveTogether\save\下新建一个名为adminlist的txt文件。

服务器关闭状态下在新建的adminlist文件里添加User ID(格式为KU_),每行只能填写一个User ID,保存后关闭文件,开启服务器后所添加的用户即拥有了管理员权限。

搭建服务器的配置需求:

(1)Steam账号内必须拥有Don't Starve Together,拥有DST即可建立多个独立服务器(Dedicated Server)。

(2)独立服务器没有使用DST游戏内建立服务器的路由穿透技术,服务器必须为游戏客户端开放一个合适的端口,服务器默认通信方式:UDP协议,端口号:10999。

(3)建立一个稳定的独立服务器必须确保系统满足以下要求:

网络上传速度:8KB/玩家/秒。如果按照独立服务器最大人数为6人来换算,网络上传速度必须达到50KB/秒或以上才能让6个玩家同时进行游戏,当然网络上传带宽越大越好,较差的网络通信会导致连接独立服务器的玩家动作卡顿以及卡屏。

内存:大约65MB/玩家。如果按照独立服务器最大人数为6人来换算,可用内存大小必须达到500MB或以上才能让6个玩家同时进行游戏。

CPU:官方网站没有明确说明。

游戏运行库:VCRedist_2008(x86),DST游戏根目录文件夹内有,对着DST右键->属性->本地文件->浏览本地文件

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » skynet的lua怎么换成python

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情