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

Project1

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

[已经解决] 新手求解,要怎麼做出+50%防禦力的防具?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2638
在线时间
365 小时
注册时间
2015-12-8
帖子
104
跳转到指定楼层
1
发表于 2016-1-6 00:48:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 冰冷水藍 于 2016-1-6 01:07 编辑

RT
原本系統都只能指定數值
那麼若想設計出+50%防禦力的防具,要怎麼做?
懇求賜教!!!

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2016-1-6 09:47:08 | 只看该作者
本帖最后由 怪蜀黍 于 2016-1-6 14:51 编辑

敏感内容已被编辑一空@taroxd  

点评

大哥這裏是VX區啊!  发表于 2016-1-6 13:45
人家问的是VX。学生会长你被撤职了  发表于 2016-1-6 10:05
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

3
发表于 2016-1-6 15:02:09 | 只看该作者
50%防御力是指角色基础防御力的50%还是本装备防御力的50%要说清。

点评

抱歉,是角色現有的防禦力(基礎防禦力及經過道具提升的值),再加上50%這樣  发表于 2016-1-6 15:05
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

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

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

4
发表于 2016-1-6 15:18:45 | 只看该作者

点评

更正,是 n = ((n + @def_plus) * 1.5).round - @def_plus if armors.include?($data_armors[1])  发表于 2016-1-7 01:44
成功了,不過公式需要調整一下 n = ((n + @def_plus) * 50).round - @def_plus if armors.include?($data_armors[1]) 這樣才是正常的加成數值^^  发表于 2016-1-7 01:43
如果没有效果,表面汝用了其他外来脚本起了冲突。  发表于 2016-1-6 19:55
腳本和編號指定都照著做了,但是沒有加成的效果@@  发表于 2016-1-6 15:52
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

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

使用道具 举报

Lv2.观梦者

梦石
0
星屑
898
在线时间
421 小时
注册时间
2015-7-5
帖子
131
5
发表于 2016-1-6 16:43:46 | 只看该作者
找到 class Game_Battler 里的
  1. def def
  2.     ....
  3. end
复制代码
里面的内容替换为:
  1.   def def
  2.     #-----------------------------------------------------------------
  3.     #base_def这个属性是裸防御加所有装备提供的防御,因为敌人没有装备,
  4.     #所以需要一个条件判定,不然战斗时会报错。
  5.     #然后要减去装备提供的防御,获取裸防御
  6.     i = base_def            
  7.     if self.is_a?(Game_Actor)
  8.       for item in self.equips.compact do i -= item.def end
  9.     end                  
  10.     #-----------------------------------------------------------------
  11.    
  12.     #-----------------------------------------------------------------
  13.     #以下@def_plus是使用道具之后提升的防御值,现在i值就是你想要的那个数值了。
  14.     i = ((i + @def_plus)*0.5).round
  15.     #-----------------------------------------------------------------
  16.    
  17.     n = [[base_def + @def_plus, 1].max, 999].min
  18.    
  19.     #-----------------------------------------------------------------
  20.     #这时,只要你设置要防具的ID,就能额外提供50%的防御了,现在是1号防具
  21.     if self.is_a?(Game_Actor) and self.armors.include?($data_armors[1])   
  22.       n += i
  23.     end  
  24.     #------------------------------------------------------------------
  25.    
  26.     for state in states do n *= state.def_rate / 100.0 end
  27.     n = [[Integer(n), 1].max, 999].min
  28.     return n
  29.   end
复制代码
不过这种办法是很蠢的,因为假如日后你有什么防具是提供30%或其他百分比的属性时,都得按照这样的格式一个一个加进去。

点评

感謝解答  发表于 2016-1-7 01:43

评分

参与人数 1梦石 +1 收起 理由
怪蜀黍 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 09:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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