设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2189|回复: 13
打印 上一主题 下一主题

[已经解决] 如何让一个角色穿戴装备后属性全体队员都获得?

[复制链接]

Lv2.观梦者

梦石
0
星屑
701
在线时间
182 小时
注册时间
2012-4-21
帖子
145
跳转到指定楼层
1
发表于 2014-1-14 15:08:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
让一个角色穿戴后,获得的属性全体都获得,卸下时全体都没了属性一直想找啊……

Lv1.梦旅人

梦石
0
星屑
795
在线时间
9 小时
注册时间
2013-7-6
帖子
4
2
发表于 2014-1-14 18:28:03 | 只看该作者
我的想法是给全体加buff:先做一个状态(释放条件是战斗结束时),加力量,防御,精神,意志,再用公共事件,并行处理,用条件的分歧第二个,选那件装备(加属性的),条件符合时,全体加刚做的状态,条件不符合时(卸下),状态取消。  就是这样。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
3
发表于 2014-1-14 18:40:33 | 只看该作者
本帖最后由 a364774426 于 2014-1-14 18:42 编辑

在Game_Actor中找到def base_atk
以atk为例:
  1.   def base_atk
  2.     n = actor.parameters[2, @level]
  3.     i = 0
  4.     for item in equips.compact do n += item.atk end
  5.     [color=Purple]  if $game_actors[1].equips.include?($data_armors[1]) or $game_actors[2].equips.include?($data_armors[1])
  6.         i += 300    ## 当1号角色或者2好角色装备有1号ID的防具时,攻击加300,假如有2个角色以上,再仿照上面加一条or语句就行了。如果是武器的话
  7.     end            ##  把armors改成weapons
  8.     return n + i  end[/color]
复制代码

点评

论坛字体的颜色代码忘记删除了  发表于 2014-1-14 21:47
这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
701
在线时间
182 小时
注册时间
2012-4-21
帖子
145
4
 楼主| 发表于 2014-1-15 10:20:11 | 只看该作者
jetpistol 发表于 2014-1-14 18:28
我的想法是给全体加buff:先做一个状态(释放条件是战斗结束时),加力量,防御,精神,意志,再用公共事件 ...

TAT好难计算的,而且我要的固定值
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
701
在线时间
182 小时
注册时间
2012-4-21
帖子
145
5
 楼主| 发表于 2014-1-15 10:21:18 | 只看该作者
a364774426 发表于 2014-1-14 18:40
在Game_Actor中找到def base_atk
以atk为例:

我一点脚本都不会TAT,有范例么?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
6
发表于 2014-1-15 11:42:52 | 只看该作者
将下面的代码贴到main脚本的上面
  1. #=======================================================
  2. #以下是装备该物品时属性加成值,可以自己修改
  3. #=======================================================
  4. ARMORS_ID = 1    #防具ID,根据设定更改。如果是武器生效,那么把下面脚本中所有
  5.                  #$data_armors[ARMORS_ID] 改成 $data_weapons[ARMORS_ID]
  6. ATK_PLUS = 300   #攻击加成
  7. DEF_PLUS = 300   #防御加成
  8. SPI_PLUS = 300   #魔力加成
  9. AGI_PLUS = 300   #敏捷加成
  10. HIT_PLUS = 3     #命中加成
  11. EVA_PLUS = 20    #闪避加成
  12. CRI_PLUS = 20    #暴击加成
  13. class Game_Actor < Game_Battler
  14. #=======================================================
  15. #攻击值的设定
  16. #=======================================================
  17. def base_atk
  18.   n = actor.parameters[2, @level]
  19.   for item in equips.compact do n += item.atk end
  20.     if $game_actors[1].equips.include?($data_armors[ARMORS_ID]) or
  21.       $game_actors[2].equips.include?($data_armors[ARMORS_ID]) or
  22.       $game_actors[3].equips.include?($data_armors[ARMORS_ID]) or
  23.       $game_actors[4].equips.include?($data_armors[ARMORS_ID]) or
  24.       $game_actors[5].equips.include?($data_armors[ARMORS_ID])
  25.       n += ATK_PLUS
  26.     end
  27.   return n
  28. end
  29. #=======================================================
  30. #防御值的设定
  31. #=======================================================
  32. def base_def
  33.   n = actor.parameters[3, @level]
  34.   for item in equips.compact do n += item.atk end
  35.      if $game_actors[1].equips.include?($data_armors[ARMORS_ID]) or
  36.        $game_actors[2].equips.include?($data_armors[ARMORS_ID]) or
  37.        $game_actors[3].equips.include?($data_armors[ARMORS_ID]) or
  38.        $game_actors[4].equips.include?($data_armors[ARMORS_ID]) or
  39.        $game_actors[5].equips.include?($data_armors[ARMORS_ID])
  40.        n += DEF_PLUS
  41.      end
  42.   return n
  43. end
  44. #=======================================================
  45. #魔力值的设定
  46. #=======================================================
  47. def base_spi
  48.   n = actor.parameters[4, @level]
  49.   for item in equips.compact do n += item.atk end
  50.       if $game_actors[1].equips.include?($data_armors[ARMORS_ID]) or
  51.        $game_actors[2].equips.include?($data_armors[ARMORS_ID]) or
  52.        $game_actors[3].equips.include?($data_armors[ARMORS_ID]) or
  53.        $game_actors[4].equips.include?($data_armors[ARMORS_ID]) or
  54.        $game_actors[5].equips.include?($data_armors[ARMORS_ID])
  55.        n += SPI_PLUS
  56.      end
  57.   return n
  58. end
  59. #=======================================================
  60. #敏捷值的设定
  61. #=======================================================
  62. def base_agi
  63.   n = actor.parameters[5, @level]
  64.   for item in equips.compact do n += item.atk end
  65.     if $game_actors[1].equips.include?($data_armors[ARMORS_ID]) or
  66.        $game_actors[2].equips.include?($data_armors[ARMORS_ID]) or
  67.        $game_actors[3].equips.include?($data_armors[ARMORS_ID]) or
  68.        $game_actors[4].equips.include?($data_armors[ARMORS_ID]) or
  69.        $game_actors[5].equips.include?($data_armors[ARMORS_ID])
  70.        n += AGI_PLUS
  71.      end
  72.   return n
  73. end
  74. #=======================================================
  75. #命中值的设定
  76. #=======================================================
  77. def hit
  78.   if two_swords_style
  79.     n1 = weapons[0] == nil ? 95 : weapons[0].hit
  80.     n2 = weapons[1] == nil ? 95 : weapons[1].hit
  81.     n = [n1, n2].min
  82.   else
  83.     n = weapons[0] == nil ? 95 : weapons[0].hit
  84.   end
  85.     if $game_actors[1].equips.include?($data_armors[ARMORS_ID]) or
  86.        $game_actors[2].equips.include?($data_armors[ARMORS_ID]) or
  87.        $game_actors[3].equips.include?($data_armors[ARMORS_ID]) or
  88.        $game_actors[4].equips.include?($data_armors[ARMORS_ID]) or
  89.        $game_actors[5].equips.include?($data_armors[ARMORS_ID])
  90.       n += HIT_PLUS
  91.     end
  92.   return n
  93. end
  94. #=======================================================
  95. #闪避值的设定
  96. #=======================================================
  97. def eva
  98.   n = 5
  99.   for item in armors.compact do n += item.eva end
  100.      if $game_actors[1].equips.include?($data_armors[ARMORS_ID]) or
  101.        $game_actors[2].equips.include?($data_armors[ARMORS_ID]) or
  102.        $game_actors[3].equips.include?($data_armors[ARMORS_ID]) or
  103.        $game_actors[4].equips.include?($data_armors[ARMORS_ID]) or
  104.        $game_actors[5].equips.include?($data_armors[ARMORS_ID])
  105.       n += EVA_PLUS
  106.      end
  107.   return n
  108. end
  109. #=======================================================
  110. #暴击值的设定
  111. #=======================================================
  112. def cri
  113.   n = 4
  114.   n += 4 if actor.critical_bonus
  115.   for weapon in weapons.compact
  116.     n += 4 if weapon.critical_bonus
  117.   end
  118.      if $game_actors[1].equips.include?($data_armors[ARMORS_ID]) or
  119.        $game_actors[2].equips.include?($data_armors[ARMORS_ID]) or
  120.        $game_actors[3].equips.include?($data_armors[ARMORS_ID]) or
  121.        $game_actors[4].equips.include?($data_armors[ARMORS_ID]) or
  122.        $game_actors[5].equips.include?($data_armors[ARMORS_ID])
  123.       n += CRI_PLUS
  124.      end
  125.   return n
  126. end
  127. end  #end class
复制代码

评分

参与人数 1星屑 +175 收起 理由
怪蜀黍 + 175 认可答案

查看全部评分

这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4622
在线时间
5232 小时
注册时间
2009-4-29
帖子
14320

贵宾

7
发表于 2014-1-15 17:22:16 | 只看该作者
a364774426 发表于 2014-1-15 11:42
将下面的代码贴到main脚本的上面

脚本是自己写的?
  1. if $game_actors[1].equips.include?($data_armors[ARMORS_ID]) or
  2.        $game_actors[2].equips.include?($data_armors[ARMORS_ID]) or
  3.        $game_actors[3].equips.include?($data_armors[ARMORS_ID]) or
  4.        $game_actors[4].equips.include?($data_armors[ARMORS_ID]) or
  5.        $game_actors[5].equips.include?($data_armors[ARMORS_ID])
复制代码
写成
  1. if $game_actors.any? {|i| i.equips.include?($data_armors[ARMORS_ID]) }
复制代码
就简洁得多了而且不只局限于1-5号角色

点评

受教鸟P叔。  发表于 2014-1-15 18:28
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
701
在线时间
182 小时
注册时间
2012-4-21
帖子
145
8
 楼主| 发表于 2014-1-15 19:47:11 | 只看该作者
a364774426 发表于 2014-1-15 11:42
将下面的代码贴到main脚本的上面

那岂不是每个武器都要一个脚本?{:2_270:}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
9
发表于 2014-1-15 22:28:57 | 只看该作者
以上代码只局限于一个装备,无论你按照这种方法写多少个,都会只有一个生效。
按照你说的,会有多个物品具有这种效果,
那么当两个角色装备不同的物品时,又是怎么生效的呢?
这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
701
在线时间
182 小时
注册时间
2012-4-21
帖子
145
10
 楼主| 发表于 2014-1-16 08:52:28 | 只看该作者
a364774426 发表于 2014-1-15 22:28
以上代码只局限于一个装备,无论你按照这种方法写多少个,都会只有一个生效。
按照你说的,会有多个物品具 ...

我把主角以外的所有角色的装备都设置为空,然后设置固定装备
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-6-9 21:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表