搜索
12
返回列表 发新帖
楼主: 刘华强

一点思路和大家交流

[复制链接]
 楼主| 发表于 2020-11-9 17:35:41 | 显示全部楼层
深澜 发表于 2020-11-9 17:26
用ID.txt保存?是账号.txt么?那么问题来了。
第一,有很多玩家在不同的区建同样的id,如果是用id值来保存 ...

嗯,ID是一个递增的数字而以,只是保证同台服务器中所有 区的玩家是唯一值就行
 楼主| 发表于 2020-11-9 18:03:06 | 显示全部楼层
深澜 发表于 2020-11-9 17:35
看似挺方便,实则要制造大量文件夹出来及文件出来,且极有可能报错的,因为涉及到一个修改id.txt这个文件里 ...

你还是没怎么理解这个思路啊
首先,如果有大量文件夹、文本保存数据的话,如果用T变量的话会更慢,用自定义变量不但合区麻烦,而且并不一定优于我说的方式。
T变量是启动M2就会要读取数据并加载到M2,自定义变量是人物登陆就需要加载。我说的方法是玩家使用时才会加载,与自定义变量的区别是,一个是用命令让M2帮你到文本增删改查,一个用命令直接到文本增删改查。
当然会出现独占的情况,但是你要结合下使用的场景,只在新玩家进游戏时会共用ID.TXT,你的游戏得多火爆才会出现独占?命令增删改查几个字节的文本,毫秒级别吧?1秒有1000毫秒。同1秒进100人以上才会出现这个独占问题吧!而且也有办法解决,第一次没取到值,可以第2 、3 、4...直到正常取值。
如果是从零开始写的版本,并且变量非常多的,用这个方法比较适合。如果是现有版本来修改会很麻烦。
发表于 2020-11-9 18:09:36 | 显示全部楼层
刘华强 发表于 2020-11-9 18:03
你还是没怎么理解这个思路啊
首先,如果有大量文件夹、文本保存数据的话,如果用T变量的话会更慢,用自定 ...

你的算法不对,1秒是有1000毫秒,但是m2处理过程也需要时间,不会是1毫秒就处理好了。
所以,独占问题,如果你是提前开区的那种,玩家分散着进,可能问题不大,但是,如果是准点开区玩家进游戏是集中进的,那么在上一个玩家还未处理完的时候又被调用了情况,不敢说会很大概率,但概率也不会很小,只要有一个出错,那么就会产生连锁反应,导致有的玩家就不能被斌值。

补充内容 (2020-11-9 18:12):
我说的创建大量的文件和文件夹就是指你所谓的以每个玩家唯一id值创建的txt,以唯一id值创建的文件夹。
一个区进几十个角色,就是几十个文件

补充内容 (2020-11-9 18:13):
像有些人一天开好几个区,就等于说每天要创建一两百个文件,开上几个月就几万个文件了。
发表于 2020-11-9 18:19:18 | 显示全部楼层
深澜 发表于 2020-11-9 18:09
你的算法不对,1秒是有1000毫秒,但是m2处理过程也需要时间,不会是1毫秒就处理好了。
所以,独占问题, ...

我确实是知识量少吧,不同服务器的同步更是不知道如何操作。。
 楼主| 发表于 2020-11-9 18:23:20 | 显示全部楼层
深澜 发表于 2020-11-9 18:09
你的算法不对,1秒是有1000毫秒,但是m2处理过程也需要时间,不会是1毫秒就处理好了。
所以,独占问题, ...

独占问题可以继续多次赋值,不多说。
你并不是所有玩家数据都必须用这个来存文本。整形不需要清空的用U就行了,需要排序的整形用自定义就行。。。玩家数据存文本,并不是说1个数据存1个文本,你玩家的数据不多,完全可以1个人就一个文本就行。这种存储方式和自定义变量存储方式没什么区别,都是操作文本。
几个月搞出几万个文件,那是脑袋不会转弯才做得出来。
数据你可以灵活运用,并不是所有版本都适合用这个,这个方法是解决变量超多的版本和怕合区麻烦的GM。
发表于 2020-11-9 18:49:43 | 显示全部楼层
刘华强 发表于 2020-11-9 18:23
独占问题可以继续多次赋值,不多说。
你并不是所有玩家数据都必须用这个来存文本。整形不需要清空的用U就 ...

你不也说每个玩家的id是维一的么,所以我的意思也是一个玩家存一个文本啊,而且也如你如言,不是一个功能存一个文本,也如你所言,每个玩家的所有功能的变量都存到这个玩家的id.txt,但我说的是:一个区少则20-30个进个角色,多的进50个以上,这不就是几十个文件了吗,每天2-4个新区,那么就是100-200个id文件啦。
一天200个 一个月就是6000个文件,几个月不是几万个?
可能你开的服不长久吧,我的服从15年到现在都5年了,不说每个人同一个版本都能开好几年,但开上几个月总是有不少的吧,所以我说的几个月有几万个文件怎么就会是转不过弯来呢?

补充内容 (2020-11-9 19:02):
不过没有我说的这些问题的gm,比如开快餐服的gm用这个方法也确实不错。

补充内容 (2020-11-9 19:02):
不过没有我说的这些问题的gm,比如开快餐服的gm用这个方法也确实不错。
 楼主| 发表于 2020-11-9 19:11:56 | 显示全部楼层
深澜 发表于 2020-11-9 18:49
你不也说每个玩家的id是维一的么,所以我的意思也是一个玩家存一个文本啊,而且也如你如言,不是一个功能 ...

这只是一个方法,不管你用变量还是文本,毕竟数据量摆在那里,几千上万个文本真不是什么问题。又不是每个文本要读一次,你用哪个文本就操作哪个文本,没压力
发表于 2020-11-26 01:22:01 | 显示全部楼层
思路非常牛逼,有时间请教一二
发表于 2020-12-1 03:13:45 | 显示全部楼层
一直在用的这种方法,很方便,只是你们没理解透他的原理。
发表于 2020-12-9 13:10:17 | 显示全部楼层
一旦出错。关服重开
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2024-12-4 16:30 , Processed in 0.467535 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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