相信大家都有过制作存档的想法吧
但是大家想的,大部分都是类似手游中的保存当服务器,但是现在大部分社区都不支持云~
所以我们要想方法让某个东西记住存档码,既然服务器不行,那干脆让玩的人记住吧,自己的存档码自己记嘛~
所以,我们要在玩家不玩的时候吧存档码显示给玩家
怎么把数据变成一串字符串呢?这就要求我们把数据连接到一块了,举个栗子:
现在:拥有金币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
已有账号? 立即登录
awa