查看: 6898|回复: 5

[RMVA发布] 简单易用的套装效果:套装=>武器

[复制链接]
梦石
0
星屑
55
在线时间
185 小时
注册时间
2014-9-4
回帖
80
发表于 2015-6-21 19:21:50 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 希忆 于 2015-6-22 20:32 编辑

前几天看到c4发布的套装效果脚本,想到以前自己也想写一个,但是觉得数据设定的写法很难写好,就暂时放弃了。
然而今天午后打开当作脚本备忘录的某弃坑工程时,突然发现那个被我标题为“被动技能对应武器”的日站小脚本(@taroxd 翻译的【好像后来他自己也开挂写了个】)。

(p.s @chd114 抱歉啦,下午一有灵感就迫不及待的写了这玩意然后迫不及待地测试发布,你的界面我晚上一会儿再开始试写看看。)

于是乎豁然开朗~~套装效果要是相当于一个虚拟武器的话,数据设定什么的简直轻而易举!而且特性的存在使得扩展性炒鸡好~
比另一个上来400行英文注释看半天头晕的英文套装脚本(Equipment Sets v2.1e By Emerald)不知道高到哪里去了~
于是半个下午写写修修调调,初步完成了一个简单小巧的核心,包括注释空行共80行;测试通过。

只有核心,没改界面(除了描述),因为不知道怎么做;估计要大改equip相关窗口和场景,以后有空再慢慢着手把<有生之年更新系列>。
和“增加装备栏数量”,“装备风格扩展”一起使用后效果拔群。(作者分别@后知后觉 @VIPArcher )
详见附件范例【这两个脚本有小幅度修改,建议轻点蓝字链接去原始版本】。
[无dll] Project1.rar (309.77 KB, 下载次数: 293)


脚本如下,没有什么新奇的写法:
[pre lang="ruby"]#encoding:utf-8
#===============================================================================
# 相当于额外装备了某些武器的套装效果   v1.0
#                     by 希忆 rpg.blue 转载或修改请保存此类信息。
#===============================================================================
#在武器|防具的备注写上<suit 2>表示其为2号套装的1件,描述自动添加“闪耀星光套装:”
#套装效果在下面设置,以武器编号来替代套装效果,相当于额外装备了这样一个武器。
#~
module EquipSuit
  SuitEffect = {0 => [],
#套装编号(唯一) => [1个套装部件拥有的套装效果,2个,3个。。。以此类推【叠加!】]
#例如我装备了4个2号套装的部件,相当于多装备了111,112,113号武器。
#装备了5个3号套装的部件,相当于多装备了121,122号武器。
  
  1  => [0, 101,   0, 102,   0, 103],
  2  => [0, 111, 112, 113, 114],
  3  => [0,   0, 121,   0,   122,   0, 123, 124],
  
  #按格式继续加就是了。
  }
  
  def self.suit_effect(suit_id)
    SuitEffect[suit_id] || []
  end
  
  SuitName = {0 => "",
  
  #套装的名字。
  1  => "优雅的魔法",
  2  => "闪耀星光",
  3  => "命运女神的垂怜",
  
  #按格式继续加就是了。
  }
  
  def self.suit_name(suit_id)
    SuitName[suit_id] || suit_id.to_s + "号套装"
  end
  
end

class RPG::EquipItem
  
  def suit_id
    @note =~ /\<suit (\d+)\>/ ? $1.to_i : 0
  end
  
  def description
    suit_id == 0 ? @description : EquipSuit.suit_name(suit_id) + ":" + @description
  end
  
end

class Game_Actor
  #返回一个角色装备中各套装数量的Hash 套装编号=>装备数量
  def get_suit
    result = Hash.new(0)
    equips.each{ |e| result[e.suit_id] += 1 if e}
    result
  end
  #返回包含套装效果对应武器实例的数组
  def suit_effect
    result = []
    get_suit.each { |k, v| result +=
      EquipSuit.suit_effect(k).first(v).collect{ |id| $data_weapons[id] } }
    result.compact
  end

  alias xy_feature_objects_20150621 feature_objects
  def feature_objects
    xy_feature_objects_20150621 + suit_effect
  end

  alias xy_param_plus_20150621 param_plus
  def param_plus(param_id)
    suit_effect.inject(xy_param_plus_20150621(param_id)) {
      |r, item| r += item.params[param_id] }
  end
   
end[/pre]



用法和功能超详细叙述,看了注释还是不懂怎么回事再看这里吧,废话连篇
[fold=超详细叙述:]
首先在模块中添加套装效果:格式:
唯一的套装编号 => [1件套装效果(一般都是0,表示只有1件部件没什么卵用) , 2件套装效果 , 3件套装效果 , 4件套, 5件套,6件……], #半角逗号别忘
         3  => [0,   0, 121,   0,   122,   0, 123, 124],
例: 10086  => [0,   0, 131,   0,   132,   0, 133],
表示新建了一个套装“3号套装”(在底下可以改套装的名字信息,没改的话就是“10086号套装”了),装备了3件后相当于额外装备了131号武器;装备5件后相当于额外又装备了132号武器;7件133。
然后在底下给它一个名字 唯一的套装编号 => "套装名字", #半角逗号别忘
         3  => "命运女神的垂怜",
例: 10086  => "中国移动",
最后打开数据库,在你想让某个装备成为某个套装的单件,比如10086号套装,只要在备注栏写下<suit 10086>就行了,它的描述中会自动加上“中国移动套装:”作为开头。
然后别忘了设置套装效果对应编号的131,132,133号武器,这样,当你装备3/5/7件套装部件时,就相当于额外装备了它们
啥?你说rm只有5件装备空间?“增加装备栏数量”,“新增装备风格”一起使用,详见范例~
啥?你想让一个装备同时成为两个套装的部件?蛤,这么蛋疼的功能不支持的啦!
啥?你不想要描述开头的“XXX套装:”?48-50 def discription删到end即可。
[/fold]
点进来都看到这里了,不给两颗糖吗~

评分

参与人数 4星屑 +40 赞 +1 收起 理由
syy198708 + 1 认可答案
1181770261 + 3 凑整
kuerlulu + 27 手滑
3106345123 + 10 塞糖

查看全部评分

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-6-21 21:21:22 | 显示全部楼层
我重写一遍那个脚本好歹加上了在状态上备注的功能233

点评

"开挂"是之玩元编程啦~当我第一次看到def_with的时候,其实我是拒绝的,因为根本就没有那种用法;脚本写完加特技duang~ 233。  发表于 2015-6-21 22:06
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-6-21 22:53:12 | 显示全部楼层
那个套装名称感觉除了显示没啥意义···(一般套装的名字都有共同部分吧···)
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
1
星屑
4147
在线时间
1211 小时
注册时间
2013-8-9
回帖
2353

极短28评委R考场第七期纪念奖开拓者

发表于 2015-6-22 18:54:58 | 显示全部楼层
0.0可以在加个套装效果
2021.8-2024.5
消失了3年的阿鑫再次出现
目标是做做论坛作品的实况,给创作者们些许反馈
回复

使用道具 举报

梦石
0
星屑
50
在线时间
179 小时
注册时间
2013-12-8
回帖
91
发表于 2015-6-26 11:14:28 | 显示全部楼层
鑫の尘埃 发表于 2015-6-22 18:54
0.0可以在加个套装效果

套装效果是增加了的,仔细看看阿。设置的武器编号的效果就是多出来的效果,只是将数据库的套装效果设置武器化了| ω・´)

点评

话说。如果在同一套装的两件虚拟武器上,一个物攻+10,一个物攻+20,也就意味着装备到第二件武器的时候累计了30物攻,是这样吗?  发表于 2015-6-26 11:15

全部RM技能点全都点到了做地图和写文本上了,别拦着我我准备去点那个专精点!(大义凛然状
回复

使用道具 举报

梦石
0
星屑
1225
在线时间
564 小时
注册时间
2014-11-30
回帖
126
发表于 2015-8-9 16:23:28 | 显示全部楼层
因为这脚本的主人总是神龙见首不见尾,谁能帮我在这个脚本里添加备注属性的读取,就是说他现在的脚本只支持套装属性读取武器的一般属性作为套装属性,我想可以也读取武器的备注信息作为套装属性,谁知道怎么修改
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部