作者:GC·Code
GC·Code
covers
内容简介:关注!!!
2023/08/21 15:33

如何制作存档码(完结)

概念

相信大家都有过制作存档的想法吧

但是大家想的,大部分都是类似手游中的保存当服务器,但是现在大部分社区都不支持云~

所以我们要想方法让某个东西记住存档码,既然服务器不行,那干脆让玩的人记住吧,自己的存档码自己记嘛~

所以,我们要在玩家不玩的时候吧存档码显示给玩家

实现(理论)

怎么把数据变成一串字符串呢?这就要求我们把数据连接到一块了,举个栗子:

现在:拥有金币20,钻石10

如果直接连接到一块就是:2010

但是程序读取的时候怎么知道是从哪里分开呢?是2金币和010的钻石?还是201个金币和0个钻石?所以我们需要再中间加一个分隔符,分隔符我们就用下划线代替吧"_"

这样连接到一起就是20_10这样我们只要读取"_"左边和右边的就可以了

实现(代码)

理论存在,实践开始!

创建变量钻石和金币,并且设置一个初始值

录入完成啦,但是万一有存档怎么办呢?先创建一个列表:背包

现在有了一个列表,这时候我们就要把列表一起加入其中,了解SC的人知道:

点击一个列表,会出现列表中的数据,并且用空格分隔如果列表中的数据没有任何一项的字符数大于1的话 例如:都是数字 1 2 3 4 5 那么不会有空格的,所以需要我们添加一个拥有两个及以上字符的一项,例如12

这里的背包中:金币,钻石,铁剑都是2个字符的,所以会自带空格,然后我们要把这个列表直接加入存档码,但是列表和变量不一样,所以,变量和列表连接的时候不仅用一个下划线还要用一个不同的分隔符:"~"

这样我们的录入就写完了,之后我们来讲解加密

加密(理论和代码)

大家可以看到,这样存档码暴露无遗,别人修改一下数值就可以获得无尽的财富,但是这么多财富肯定只能是充值获取游玩的时候获取

这里我们要把列表中的汉字换成数字,每个数字代表不同的物品,毕竟汉字加密不太简单

加密,其实就是把数字换成乱七八糟的数字

其中分为两类:

随机加密:相同的游戏数字会出现不同的加密结果,几乎不可破译,但是难度极大

恒定加密:每次内容相同,做的复杂一点同样很难破译

但是恰巧我知道一种可以比较轻松实现随机加密的方法

首先我们弄来几个字母和特殊符号:A,B,C,D,#,&,¬,▂,╔,ω 这些符号分别代表了1~10

然后我们把存档码的数字换成上面的就可以了,但是只要别人琢磨一会就可以找到规律,所以我们加一个定理把一个数字,我们用多个符号代表一个数字,比如我说 A,B,C,D,#代表1后面的&,¬,▂,╔,ω代表2,这样破解的难度将直线上升,并且,我们再其中随机生成一些"垃圾"符号,程序读取时直接跳过即可,但是敌人却不知道这个是否是"垃圾"符号

理论存在代码开始,这次就不一个一个讲了,直接上完整代码!

这是未加入"垃圾"字符的,现在花个几小时可以破解,但是加上"垃圾"字符之后,只能用复杂的程序破解!

这是加入"垃圾"字符之后,后面我们就来写破解程序(特殊字符的51~60位是用来作为"垃圾"字符的特殊字符)

读取

读取的第一项就是删除"垃圾"字符,我们已经设置好了那些是垃圾字符,我们只要让程序自己排查并删除即可:

以上就是恢复了加密之前的代码,然后把数据在录入即可:

好了,以上就是全部内容,如果添加变量只要加那个如果语句,加列表只要把后面的

这个教程制作花了我5个小时,点个关注把

这是源代码:https://bcdou.cn/works/content/1/64e33595b1e5530a8071361a

评论区

登录之后才能评论Scratch作品哦
亿只小花4 个月前

用CCW怎么不开GANDI(恼

老六8 个月前

👏🏻👏🏻👏🏻👍🏻

1111112233448 个月前

🦏

Twilight8 个月前

厉害qwq

8 个月前
@Twilight

awa

Twilight8 个月前
@

awa