随机装备生成系统 v1.3
系统截图: 疯狂刷装备之后的物品栏
某钢杖..
经过8次二次合成,普通攻击秒小BOSS,特技秒大BOSS的前后缀超长的剑(注意是金色那把..紫色那把安魂曲是RP武器)
带“蓄力”状态的力量戒指..配合那把BT剑力量攻击力爆棚,999防御力的BOSS照样打几万
简介: 在SailCat的随机武器生成系统的基础上做出来的东东,仿《暗黑破坏神》。可以随机生成武器和防具,加入前缀和后缀。 由于是在数据库的武器和防具中设定前缀和后缀,所以它们各自所增加的属性可以灵活调整。 每种前缀和后缀可以设置其品质,不同品质有不同的出现概率。 由于是每种装备单独对象,所以装备升级等东西比较容易做到。
有什么意见请到论坛提出
详细使用说明见脚本。 注意看范例工程的数据库是怎么设定的。
范例工程中也包括两个整合了的脚本: 柳柳的“得失物品武器防具金钱提示” 亿万星辰的“装备属性显示”
冲突可能: 虽然比SailCat原来的随机武器生成系统小了一点,但是仍然具有很高冲突性。大多数可能出现冲突的地方都在“随机装备生成系统·接入”部分中。
已知冲突:商店类脚本,得失物品金钱提示,装备类,标题类脚本
脚本分成两个部分,两个部分都要插入到Main之上..之所以分开,是因为一个是冲突很低的核心部分,一个是冲突较高的接入部分。 因为字数太多,请下载范例工程..这里贴出一部分使用说明
========================================================================== 随机装备生成系统 v1.4 ==========================================================================
By 叶子 SailCat
这个系统是在SailCat的随机武器生成系统的基础上编写而成 类似《暗黑破坏神》的随机生成装备 4-10-2006 1.0 -先行体验版 4-11-2006 1.1 -事件调用失去武器防具时,从最后的一个开始失去 -修正了生成装备时不会出现同样品质的前缀和后缀的BUG -部分参数变动,增加了忽略定量参数 -避免了某些一时冲动插入本脚本,连数据库都不调一下的行为而导致的错误 4-30-2006 1.2 -修正Window_Base描绘物品的BUG -修正杀死敌人不能获得装备的BUG -改写了生成装备ID时的冗余代码 5-19-2006 1.3 -修正了一个致命BUG 11-29-2006 1.4 -简化了品质设置 -增加了装备初始权值的设定 -删除了检查数据库的代码 -修正了能否装备判定的BUG
-------------------------------------------------------------------------- 随机装备生成系统·核心 -------------------------------------------------------------------------- 本部分是随机装备生成系统的核心,基本不会造成与其它脚本冲突,但缺少“随机装备生 成系统·接入”的话,不能融合到游戏脚本中。 ----------- 使用前须知 ----------- -本系统分成两个部分,分别为“随机装备生成系统·核心”和 “随机装备生成系统·接入”,使用时两个部分都要插入。 -因为本系统对RPG底层数据结构的改动非常大,对RGSS完全不了解者不建议采用本系统。 -强烈推荐下载范例工程,可以有一个更直观的认识。 -虽然比SailCat原来的随机武器生成系统的冲突小了一点,但仍然具有很高的冲突性, 发生冲突的地方大部分都是在“随机装备生成系统·接入”中。 -请仔细耐心阅读完全部说明,最好能看看范例工程中的数据库是怎样设置的。 ----------- 简要使用步骤 -----------
1、插入“随机装备生成系统·核心”和“随机装备生成系统·接入”到Main之上 (根据喜好还可以使用附带的已整合脚本:“得失物品金钱提示”和“装备属性显示”)
2、在数据库中的武器和防具部分设置分散数据用装备、前缀和后缀, ID请按 Ctrl+F 搜索“■ 随机武器”和“■ 随机防具”,在那里的常量设定里。
----------- 深入说明(核心部分) ----------- 在“随机装备生成系统·接入”中还有一些关于获得和失去武器的说明 1、主要名词解释 1.1 母本: 数据库中原本设定的武器(防具),作为随机生成装备数据的基础 如果母本的属性里面勾了某个品质(见1.5),它就不会被附加上该种品质的前缀和后缀 1.2 前缀: 数据库中指定ID范围的武器(防具),对随机生成装备的数据进行加成,同时在生成的装 备名称前面加上前缀名称,在生成的装备的说明后面加上前缀说明。 设定位置:数据库中的武器(防具)中 1.3 后缀 数据库中指定ID范围的武器(防具),对随机生成装备的数据进行加成,同时在生成的装 备名称前面加上后缀名称,在生成的装备的说明后面加上后缀说明。 设定位置:数据库中的武器(防具)中 1.4 分散数据处理ID 对应数据库中的装备ID,用来作装备数据浮动用。为了避免极品和垃圾相差太远,不建议 把分散数据处理用装备的数据设置得太夸张。 1.5 品质 每一个前缀和后缀都要选择它的品质,品质决定其出现概率 设定位置:数据库中的系统-属性,同时每一个前缀和后缀都要勾上对应品质 1.6 权值 权值决定了装备的颜色 生成装备的总权值 = 母本权值 + 所有前缀权值 + 所有后缀权值 权值设置方法(无论母本、前缀、后缀都可设置) 在装备的说明中加上: \权值[n] 那么它的权值就为n 不设置的话,权值默认为0 范例游戏中有设置权值 1.7 生成一个装备的简要流程(忽略参数和定量): 取得母本(例如事件-获得武器) | 装备数据的所有数据代入母本数据 | -开始前缀处理: 按品质概率随机选取一个品质 在属于这个品质的所有前缀中随机取得一个前缀 ·条件分歧:如果前缀没有勾选“no text”属性 装备的名称前插入前缀的名称 装备的说明后加入前缀的说明 ·分歧结束 装备的动画ID = 前缀的动画ID(如果前缀的动画ID不为空)(只有武器才有动画ID) 装备的自动状态ID = 前缀的自动状态ID(如果前缀的自动状态ID不为空)(只用防具才有自动状态ID) 装备的价格 = 其本身 × 前缀的价格 × 0.01 ·条件分歧:如果前缀勾选了“套用基准值”属性 装备的其余各项数字类数据(自动状态ID除外) = 其本身 + 前缀对应数据数字 × 母本基准值 × 0.01 (例外:防具的回避修正忽略基准值,以100代替) ·除此以外的情况 装备的其余各项数字类数据(自动状态ID除外) = 其本身 × 前缀对应数据数字 × 0.01 ·分歧结束 装备的属性(武器)、防御属性(防具)、附加状态(武器)、解除状态(武器)、 防御状态(防具) 为其本身与前缀的相同项目的并集(也就是加上前缀的属性、状态等) |
-开始后缀处理(除了把名称插在后面之外,其余同前缀) | -开始分散数据处理(按照设定的分散数据处理次数重复处理): 按概率从分散数据处理ID中随机选出一个ID,取得数据库中ID对应的分散数据处理用装备 装备的价格 = 其本身 × 分散数据处理用装备的价格 × 0.01 ·条件分歧:如果分散数据处理用装备勾选了“套用基准值”属性 装备的其余各项数字类数据(自动状态ID除外) = 其本身 + 分散数据处理用装备对应数据数字 × 母本基准值 × 0.01 (例外:防具的回避修正忽略基准值,以100代替) ·除此以外的情况 装备的其余各项数字类数据(自动状态ID除外) = 其本身 × 分散数据处理用装备对应数据数字 × 0.01 ·分歧结束 装备的属性(武器)、防御属性(防具)、附加状态(武器)、解除状态(武器)、 防御状态(防具) 为其本身与分散数据处理用装备的相同项目的并集 (也就是加上分散数据处理用装备的属性、状态等) | -开始数据取整 | -装备生成完毕 简单来说,进行加成就是以新数据(前缀或后缀)乘以旧数据(母本)除以100,同时将 新数据的各项属性和状态套入旧属性。 一般的话,一个没有勾选“套用基准值”属性的前缀或后缀,其各项数字类数据都是100 或接近于100,作为加成的百分比。如果勾选了“套用基准值”,除了要加成的项目,各 项数字都是0。 1.8 基准值: 如果前缀(后缀)勾选了“套用基准值”属性的话,用基准值来代替装备的数据进行加成 例如铜剑防御力为0,但有一个前缀是给武器加防御的,如果不套用基准值的话: 生成后装备防御力 = 铜剑防御力(0) × 前缀防御力(例如30) = 0 套用了基准值的话: 生成后装备防御力 = 铜剑防御力(0)+ 铜剑基准值(例如100) × 前缀防御力(30) = 30 装备基准值设置方法(只有母本才需要设置基准值) 在母本装备的说明中加上: \基准值[n] 那么它的基准值就为n 不设置的话,基准值默认为0 范例游戏的母本设置了基准值 1.9 定量 例如有一个前缀和一个后缀,前缀加自动状态“蓄力”,后缀加自动状态“屏障” 如果两个都没有设置定量或定量相同的话,生成的装备的自动状态为后缀的“屏障” 如果前缀设置的定量大于后缀的定量,那么这个装备的自动状态就为“蓄力” 假设这个母本本身带有自动状态,而它的定量比前后缀的定量都大,那么它附加的自动状 态就不会改变。 前后缀定量设置方法(无论母本、前缀、后缀都可设置) 在装备的说明中加上: \定量[n] 那么它的定量就为n 不设置的话,定量默认为0 范例游戏中没有设置定量 1.10 防具的前后缀种类(重要!只有防具才有这个设置) 默认的情况下,防具的前缀和后缀只能附加给相同种类的防具。 例如某前缀的种类为盾,那么这个前缀就只会在盾中出现。 如果想让一个前缀(后缀)能适用于不同种类的防具,除了设置几个同名不同种类的前缀 (后缀)外,还可以为同一个前缀(后缀)增加种类。 前后缀种类设置方法(只有前缀和后缀才有这个设置) 在前后缀用装备的说明中加上: \种类[n] (n的值 0:盾 1:头部防具 2:身体防具 3:装饰品) 那么它也成为了第n类防具的前缀(后缀)。 这个控制码可以重复输入。 例如想让一个前缀能适用于所有防具,可以选择其种类为盾,在其说明中加上: \种类[1]\种类[2]\种类[3]
-------------------------------------------------------------------------- 随机装备生成系统·接入 -------------------------------------------------------------------------- 本部分是随机装备生成系统的接入部分,基本上所有可能冲突的地方都是在这里。 ----------- 使用说明(接入部分) -----------
-获得装备原理(以武器为例): 用事件来获得武器的话,都会生成一把新武器,并不会获得以前已经生成过的武器。如果 用事件来失去武器,就会搜索母本相同的最新的一把武器,找到后就失去。 如果用脚本: 获得武器: $game_party.gain_weapon(weapon_id, n, new) 参数: new:为true时生成新武器,false时获得旧武器(更换装备时调用这个) weapon_id:new为true时为母本ID,new为false时为装备ID(同actor.weapon_id) n:n把。每把都会重新计算生成。 失去武器: $game_party.lose_weapon(weapon_id, n, serch) 参数: serch:为true时搜索母本相同的武器失去,false时为失去指定ID武器 weapon_id:serch为true时为母本ID,serch为false时为装备ID(同actor.weapon_id) n:n把。 由于获得装备的函数跟原来不同,所以可能会跟商店、仓库类脚本冲突。 | |