==========================================================================
随机装备生成系统 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把。
由于获得装备的函数跟原来不同,所以可能会跟商店、仓库类脚本冲突。
==========================================================================
随机装备生成系统 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把。
由于获得装备的函数跟原来不同,所以可能会跟商店、仓库类脚本冲突。
根据叶子历来的升级习惯……这个等一段时间再发布……也许就有1.1了……
以下引用天地于2006-4-10 15:46:44的发言:
经测试……如果不装备东西用二次会出错。。而且是永久性的错误……
以下引用scar于2006-4-12 12:58:25的发言:
和上面一样的bug
当强化武器没有装备时使用二次合成卷轴会出错。
以下引用blue2005于2006-4-14 15:16:04的发言:
我不会使用,66能不能像制作宠物系统那样做个录象啊~~~~~~~~~~~
以下引用OCTSJimmy于2006-6-8 8:16:45的发言:
好飘渺………………
没范例工程了吗………………
爆汗ing…… -_-|||
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
以下引用gpra8764于2007-3-24 21:27:09的发言:
这个!太强了!一定要支持!暗黑FAN否?
以下引用巫术于2007-3-25 2:02:13的发言:
这个是不是冲突太多了...连得失物品提示都会冲突...
连接已失效...
[本贴由作者于 2007-3-25 2:03:04 最后编辑]
以下引用叶子于2006-4-10 11:48:56的发言:
简介:
在SailCat的随机武器生成系统的基础上做出来的东东,仿《暗黑破坏神》。可以随机生成武器和防具,加入前缀和后缀。
由于是在数据库的武器和防具中设定前缀和后缀,所以它们各自所增加的属性可以灵活调整。
每种前缀和后缀可以设置其品质,不同品质有不同的出现概率。
由于是每件装备单独对象,所以装备升级等东西比较容易做到。
详细使用说明见脚本。
注意看范例工程的数据库是怎么设定的。
范例工程中也包括两个整合了的脚本:
柳柳的“得失物品武器防具金钱提示”
亿万星辰的“装备属性显示”
冲突可能:
虽然比SailCat原来的随机武器生成系统小了一点,但是仍然具有很高冲突性。大多数可能出现冲突的地方都在“随机装备生成系统·接入”部分中。
已知冲突:商店类脚本,得失物品金钱提示,装备类脚本
以下引用沉影不器于2007-7-17 20:28:34的发言:
请问楼上各位高手:有没有人用这个脚本做出比较合理的游戏了?平衡真的很难调
以下引用0978912012于2008-4-23 20:16:44的发言:
请问一下:
能否设置冲装的时候
有限定次数呢?
例如:
力量之种只能对同一个装备或武器使用10次...
推推推
1有些状态装上去怎么就下不来了,比如狂暴和邪恶。
2还有,有什么办法让武器/防具合成有机会失败或者成功?
3有些重复的前后缀不能看出效果...或者没效果
4也是最重要的问题,我改了防具/武器ID插入自己的游戏中,却为什么反应了 @。@
不管怎么说吧!这个脚本让我燃起了信心。用+改是必然的了,脚本可能被虐待
不过我要说的是,能不能设法把这个装备的说明做的更加华丽一些比如像网游那样
比方说:
力量戒指·蓄力
攻击 + 35
力量 + 15
攻击 + 20
...
九夜神尊 发表于 2009-7-19 16:51
请问一下,有办法在获得该装备后,马上取得获得装备的ITEM_ID吗?
不是母本ID唷~是生成过后的装备ID
因为我也蛮偷懒得
我想要的是
生成一个带我要的装备
只带我设定的前缀,其余的分散数据处理还是后缀什么的都不 ...
0978912012 发表于 2009-8-11 23:13
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |