仙五前MOD资料备份
因为百度抽帖,以前的MOD工具、资料和作品都暂时无法访问。这里收集一些作为备份。所有MOD工具、资料和作品均仅适用于/来源于官网版本仙五前的1.03/1.04版(最新版)。
因为百度抽帖,以前的MOD工具、资料和作品都暂时无法访问。这里收集一些作为备份。所有MOD工具、资料和作品均仅适用于/来源于官网版本仙五前的1.03/1.04版(最新版)。
说是AI,其实就是把自己击败的流程用AI的方式来表达,既省去了思考和执行操作的时间,又降低了出错率。战术基于此贴【理论向】无连携击败三皇一体第一战(困难模式),但作了更加细致的调整。
循环播放一个歌单的时候,我觉得最难受的就是播完一首就猜到下一首是什么(循环多了是会不小心记住的)。所以我特别喜欢对歌单进行随机播放。我不知道不同的音乐播放器使用的随机播放算法具体是什么,但估计有这么几种:
言归正传,如果音乐播放器能提供接口让我自己来写播放的算法,我会记录每首歌最近播放的时间,越久远则越容易被播放。
主程序的行为主要有两种,一种是载入一个脚本(实际上是把脚本文件整个地运行一遍)。载入的脚本,lua函数外的非local变量(包括函数本身)由主程序全局维护。
global.Include(10000) 实际上就是载入编号10000的脚本。可以尝试在此脚本第一行(函数体外)写一句global.Print(“Pal5Q”),这样每调用一次Include,控制台就会输出一次Pal5Q。
另一种则是直接从全局变量中调用指定名称的函数。
global.CallScript(10000)实际上是看编号10000对应的脚本文件函数名(即function macro)是否存在,若不存在,则先将macro.lua执行一遍。最后调用macro函数。如果事先有调用global.PushParam(a),则调用macro函数时传入参数a。由于macro.lua里面没有声明名字为macro的函数,因此控制台提示函数未定义。
我们看到原生脚本除了macro宏之外都是函数名和文件名对应的,一方面是不宜让主程序维护太多lua变量而拖慢速度,另一方面也可能是写脚本的不清楚个中原理不敢乱来。建议查看AI脚本击败三皇一体,这个里面的脚本就已经不是文件和函数一一对应的了。只要清楚了原理,就可以封装许多公用lua函数,写起脚本方便许多。
顺便一提,之前认为不同目录下脚本重名会有干扰,其实是函数名的覆盖而非文件名的冲突。
谢沧行在锁妖塔与姜世离殊死较量的场景让人难忘,而对应困难模式的战斗则更是让人大呼过瘾。网上关于此战的策略,多半依赖以下道具或手段:
这些方法让战斗变得分外轻松,完全没有濒死对抗阶段的心惊肉跳,可以说,是对本战的一种不合适的解读。
笔者曾于一周目后试图摆脱这三种在多数战斗都过强的战术,提出了一种依靠DLC中恶鬼冥晶取得胜利的战略,在与他人讨论并经过大量测试后又成功将DLC的依赖摆脱,实现了借助寒泉术输出的方案。
这一次,笔者决定探究清楚所有细节,给出两种战术,实现对连携和道具的完全禁用,并模拟计算胜率。这里的禁道具,包括在战斗前食用各种属性药(但其中一种战术需要给谢沧行留一个赤兔筋,这是非常容易达成的目标,也能大幅提高胜率)。
几天前偶然在网上看到这样一道面试题:
Given a random number generator which can generate the number in range (1,5) uniformly. How can you use it to build a random number generator which can generate the number in range (1,7) uniformly?
当时第一反应是无法承诺在有限步之内做到,只能逼近。今天突然想到这个问题,深入探究后发现收获不少。为了叙述方便,我们构造集合A,对于任何正整数n,若可以得到(1,n)均匀随机数生成方法,则说n在集合A中。
将面试题推广一下,就是给定一个1∼m的均匀随机数生成器,是否能构造一个1∼n的均匀随机数生成器?也就是说,m∈A是否可以推出n∈A?