Project1

标题: 区域或天气影响特技属性,求解 [打印本页]

作者: guoyq1988    时间: 2014-3-24 19:25
标题: 区域或天气影响特技属性,求解
本帖最后由 guoyq1988 于 2014-3-24 19:28 编辑

想做出类似 口袋妖怪 那样有因天气(地域)而影响威力(属性)的技能
求解,要怎么才能改变技能属性?
例1,当 雨天 时 ,水属性技能威力上升一倍,火属性技能威力下降一倍
                        或
例2,当地图为 岩浆 时,火属性技能威力上升,水属性下降

因为不知道哪个会好弄点,所以写两个,求大神指点
(本人只会用天气改变属性防御,不会改威力)

爱车大神
@紫英晓狼1130 @天地有正气 @芯☆淡茹水 @恋′挂机 @弗雷德 @myownroc  
作者: 天地有正气    时间: 2014-3-24 19:37
Game_Battle 3 应用特技效果那里...改..
在进入地图时,自动执行个事件。
例如说$地区 = "海洋"
然后找到Game_Battle 3
最后添加条件分歧
if $地区 == "海洋"
if skill.element_set.include?(18) # 假设18号是火属性
self.damage /= 2
end
if skill.element_set.include?(19) # 假设19号是水属性
self.damage *= 2
end
end


大概就想这样吧…………不知道有没有问题,急着写作业没检查…………
思路给了,我想LZ应该会改了吧……
作者: guoyq1988    时间: 2014-3-24 22:15
天地有正气 发表于 2014-3-24 19:37
Game_Battle 3 应用特技效果那里...改..
在进入地图时,自动执行个事件。
例如说$地区 = "海洋"


脚本弄进去了

事件妖怎么写?
不知道脚本在哪里是不是正确。。。
求解,谢谢
作者: 恐惧剑刃    时间: 2014-3-26 19:08
本帖最后由 恋′挂机 于 2014-3-26 19:11 编辑

@power
@power
  1. # 天气影响特技威力
  2. # 放在main前即可

  3. # PS 只配合默认天气系统使用



  4. # 可读属性
  5. class Spriteset_Map
  6.   attr_reader :weather
  7. end
  8. class Spriteset_Battle
  9.   attr_reader :weather
  10. end
  11. class Scene_Map
  12.   attr_reader :spriteset
  13. end
  14. class Scene_Battle
  15.   attr_reader :spriteset
  16. end

  17. # 内部模块
  18. module RPG
  19.   
  20.   # 天气
  21.   class Weather
  22.     # 当前 天气类型 可读
  23.     def type
  24.       return @type
  25.     end
  26.   end
  27.   
  28.   # 特技
  29.   class Skill
  30.    
  31.     # 默认天气类型
  32.     # 0:无
  33.     # 1:雨
  34.     # 2:风
  35.     # 3:雪
  36.    
  37.     # 威力
  38.     def power
  39.       
  40.       # 如果 具有4号属性(水属性)的技能 并且 天气类型为1(雨) 时
  41.       if @element_set.include? 4 and $scene.spriteset.weather.type == 1
  42.         [url=home.php?mod=space&uid=28342]@power[/url] *= 2 # 威力 加强
  43.         return @power
  44.       end
  45.       
  46.       # 如果 具有1号属性(炎属性)的技能 并且 天气类型为1(雨) 时
  47.       if @element_set.include? 1 and $scene.spriteset.weather.type == 1
  48.         @power /= 2 # 威力 削弱
  49.         return @power
  50.       end
  51.       
  52.       return @power
  53.       
  54.     end
  55.    
  56.   end
  57.   
  58. end
复制代码

作者: guoyq1988    时间: 2014-3-26 21:48
恋′挂机 发表于 2014-3-26 19:08
@power
@power

谢谢恋大的帮忙
  1.     # 默认天气类型
  2.     # 0:无
  3.     # 1:雨
  4.     # 2:风
  5.     # 3:雪
  6.    
  7.     # 威力
  8.     def power
  9.       
  10.       # 如果 具有4号属性(水属性)的技能 并且 天气类型为1(雨) 时
  11.       if @element_set.include? 4 and $scene.spriteset.weather.type == 1
  12.         [url=home.php?mod=space&uid=28342]@power[/url] *= 2 # 威力 加强
  13.         return @power
  14.       end
  15.       
  16.       # 如果 具有1号属性(炎属性)的技能 并且 天气类型为1(雨) 时
  17.       if @element_set.include? 1 and $scene.spriteset.weather.type == 1
  18.         @power /= 2 # 威力 削弱
  19.         return @power
  20.       end
  21.             # 如果 具有4号属性(水属性)的技能 并且 天气类型为1(雨) 时
  22.       if @element_set.include? 7 and $scene.spriteset.weather.type == 2
  23.         @power *= 2 # 威力 加强
  24.         return @power
  25.       end
  26.       
  27.       # 如果 具有1号属性(炎属性)的技能 并且 天气类型为1(雨) 时
  28.       if @element_set.include? 8 and $scene.spriteset.weather.type == 2
  29.         @power /= 2 # 威力 削弱
  30.         return @power
  31.       end
  32.       return @power
  33.       
  34.     end
  35.    
  36.   end
  37.   
  38. end
复制代码
自己蒙的又弄了2个,不过默认天气好少。。。。
作者: 恐惧剑刃    时间: 2014-3-27 19:33
抱歉有点小失误。。。
那个威力不能直接 *= 2    /= 2
会改变 威力 值的

@power

这样就好


      # 如果 具有4号属性(水属性)的技能 并且 天气类型为1(雨) 时
      if @element_set.include? 4 and $scene.spriteset.weather.type == 1
        return @power * 2 # 威力 加强
      end
      
      # 如果 具有1号属性(炎属性)的技能 并且 天气类型为1(雨) 时
      if @element_set.include? 1 and $scene.spriteset.weather.type == 1
        return @power / 2 # 威力 削弱
      end




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1