随机装备生成系统 v1.4
 
 
系统截图: 
疯狂刷装备之后的物品栏
  
某钢杖
  
经过8次二次合成,普通攻击秒小BOSS,特技秒大BOSS的前后缀超长的剑(注意是金色那把,紫色那把安魂曲是RP武器)
  
带“蓄力”状态的力量戒指..配合那把BT剑力量攻击力爆棚,999防御力的BOSS照样打几万
  
 
范例工程下载:
 随机装备生成系统 v1.4
 
简介: 
在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把。 
   
  由于获得装备的函数跟原来不同,所以可能会跟商店、仓库类脚本冲突。 
             本帖来自P1论坛作者叶子,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=13623  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。   |