麦德三世
发表于 2011-5-2 00:10:42
特别注意一下,目前同步字符串函数有问题。
所以尽量不要使用同步字符串。
sseldn12
发表于 2011-5-2 16:53:46
保存实数读取不出值~~~难道跟字串符一样~~是编码问题~~~还有不能读取负数~~
夜之天狼
发表于 2011-5-14 17:44:06
5555555555555
WE新手飘过
表示很想学
但是看着像天书
这个可以做出orpg么
如果可以
那么还需要别的东西来辅助么?
最后问下9种兵器也使用这种方法做出来的么?
麦德三世
发表于 2011-6-6 21:50:27
刚看到希瓦回了个帖子~~本来还想说一下的~~现在却没了~~怎么?~~已经自己解决了么?~~
希瓦
发表于 2011-6-6 21:52:48
嗯,差不多吧。
只是说异步修改玩家最大科技等级是会导致掉线的~
异步后再同步太麻烦了。
用另外的方法解决了。
麦德三世
发表于 2011-6-6 21:56:43
哦?想出了别的法子么?~~不妨说说好了~~
反正目前we综合区缺乏讨论气氛~~应该多一些讨论的~~
希瓦
发表于 2011-6-6 22:22:47
以前看过一个关于制作互通作弊图的帖子。
为了保证100%不掉线,作者需要将:
储存(原数据)
储存(修改的数据)
同步(储存的数据)
的顺序修改为
储存(修改的数据)
同步(储存的数据)
储存(原数据)
这样,就算同步失败,也不会导致掉线。
因此,为了保证楼主的触发不会导致多玩家因不同步而掉线
(直接使用肯定是不行的,就算像18楼一样使用,也会导致玩家最大科技不同步而掉线)
所以,我们需要在preloader后,将所有数据都储存到缓存里面,然后把受到preloader影响的科技项全部还原(此法可能会带来一段读秒时间)……最后同步,同步的时候为了防止因延迟而掉线,应该使用上面说的那种结构。
这应该就是使用preload制作SL系统的注意事项了
相信很是有一些人受到了楼主的影响,想用异步setplayermaxtechallowed的方法来实现ORPGSL系统的…………
最后他们都掉线了……
可见,最好是不要使用maxteach,直接用playername是最好,也是最简单的了。
至少不同步玩家名称不会导致掉线就是了。
我也就是这样做的…………倒也没什么新奇之处
不过玩家名可以储存至少2000个字符了……使用也简单,确实是很好的方法。
我已经完成了简单的ORPGSL系统,优化后即可放出 ^ - ^
嗯,说了很多废话。
望头目指正。
actboy168
发表于 2011-6-6 22:41:53
嘛。楼上可以看看17~18楼。
然后方法肯定是没问题的,YDWE1.20里有完整的实现,有兴趣可以去看下
麦德三世
发表于 2011-6-6 22:43:54
hmmm~~very good哦~~
话说,用setplayermaxtechallowed倒也不是必须掉线~~用同步保存GameCache来做~~处理得当就好~~但是确实没有玩家名来的安全呢~~而且这样确实方便~~
其实我之前也试过玩家名存取法呢~~不过我由于主要在搞SC2~~所以没有把完整系统做出来~~只是验证了下可行性而已~~
麦德三世
发表于 2011-6-6 22:46:25
说起来楼主好久没冒出了~~最近跑哪去了?~~
希瓦
发表于 2011-6-6 22:48:56
引用第27楼actboy168于2011-06-06 22:41发表的 :
嘛。楼上可以看看17~18楼。
然后方法肯定是没问题的,YDWE1.20里有完整的实现,有兴趣可以去看下 images/back.gif
我知道是可以实现的~~不过必须在读取后同步而已
话说楼主前辈把YDWE的SL系统做出来之后就消失了,没有提出下文,所以我稍微补充一下而已。
actboy168
发表于 2011-6-6 22:52:30
没什么值得回的贴就潜水而已,其实希瓦第一次发的我也看到了
麦德三世
发表于 2011-6-6 22:53:03
此前我倒是用利用玩家名系统搞过物品\\单位的动态提示信息。
就是把物品扔在地上后,在同一位置放一个单位(如果是直接给单位+提示信息就不用放了)和一个Trackable,利用单位的玩家名来做物品提示信息。利用Trackable来捕捉鼠标高亮事件,然后修改玩家名为对应的提示信息什么的。提示信息里要换行只需要+|n即可。由于玩家名是可以异步的,所以可以实现多人。
不过这个仅限于物品在地上的情况,直接修改在物品栏里的提示信息还是没法用这个法子啦。
所以用在物品提示信息上不是很完美,不过要给单位+提示信息就很方便了。比如鼠标移动上去显示单位的各种信息什么的。
actboy168
发表于 2011-6-6 22:55:13
引用第30楼希瓦于2011-06-06 22:48发表的:
我知道是可以实现的~~不过必须在读取后同步而已
话说楼主前辈把YDWE的SL系统做出来之后就消失了,没有提出下文,所以我稍微补充一下而已。 images/back.gif
那是你sync的代码没写对吧,上次看了萃梦写的也是同样的问题
希瓦
发表于 2011-6-6 23:06:02
引用第31楼actboy168于2011-06-06 22:52发表的 :
没什么值得回的贴就潜水而已,其实希瓦第一次发的我也看到了 images/back.gif
第一次发的是什么我也忘了,只是记得多少有点气愤吧……
后面因为觉得说话太冲动了就编辑掉了……嘿嘿
气愤的是不同步的使用SetPlayerMaxTeachAllowed导致我重复测试了几十次……
本来还以为是sync代码写错的问题……
后来才发现是最大科技等级不能异步的原因……
麦德三世
发表于 2011-6-6 23:08:05
原本那法子确实可行。不过用玩家名确实更安全一些。
主要更方便一些不是非常了解游戏断线机制的同学使用。毕竟有一部分同学不大搞得清楚GetLocalPlayer()的后面半个大括号该放在哪里。
麦德三世
发表于 2011-6-6 23:12:57
e,用惯了galaxy习惯性地说大括号了。应该说一部分同学不大搞得清楚GetLocalPlayer包裹的语句应该到哪里为止。
麦德三世
发表于 2011-6-6 23:15:03
说起来这个S/L系统。目前基本上就剩下一个问题了。
这个系统有没有好点加密方式?毕竟这个系统和SC2的Bank一样基本上就是一个明文保存的系统。得考虑一些稍微靠谱的加密方式。
当然,要完全无法破解那不可能。毕竟地图本身都没法完全加密。稍微靠谱点就好了。
chilled
发表于 2011-6-6 23:15:40
思想短暂穿越了
閃洸メ血舞
发表于 2011-6-10 18:56:45
头目的刷屏有点多了...