Project1

标题: 天气系统的威力 [打印本页]

作者: guoyq1988    时间: 2014-4-14 22:10
标题: 天气系统的威力
本帖最后由 guoyq1988 于 2014-4-14 22:44 编辑

在战斗中没事,但在平时进入菜单查看特技就出错了
虽然@恋′挂机 版主有告诉我要带入变量
但因为当时用的是手机聊天,现在找不到记录了,再次请恋大来帮忙
拜托了!

  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? 3 and $scene.spriteset.weather.type == 1
  42.         return [url=home.php?mod=space&uid=28342]@power[/url] * 2 # 威力 加强
  43.       end
  44.       
  45.       # 如果 具有1号属性(炎属性)的技能 并且 天气类型为1(雨) 时
  46.       if @element_set.include? 4 and $scene.spriteset.weather.type == 1
  47.         return [url=home.php?mod=space&uid=28342]@power[/url] / 2 # 威力 削弱
  48.       end
  49.       
  50.       return @power
  51.       
  52.     end
  53.    
  54.   end
  55.   
  56. end
复制代码

作者: 恐惧剑刃    时间: 2014-4-14 23:04
就是这样了
与@会。。 所以用了引用框。。。

# 天气影响特技威力
# 放在main前即可

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



# 可读属性
class Spriteset_Map
  attr_reader :weather
end
class Spriteset_Battle
  attr_reader :weather
end
class Scene_Map
  attr_reader :spriteset
end
class Scene_Battle
  attr_reader :spriteset
end


# 增加几个变量
class We
  attr_accessor :type
end
class Sw
  attr_accessor :weather
  def initialize
    @weather = We.new
  end
end
class Game_Temp
  attr_accessor :sw
end
# 更改场景前 记录天气
class Scene_Map
  alias call_menu_old call_menu
  def call_menu
    $game_temp.sw = $scene.spriteset.weather.type
    call_menu_old
  end
end
# 技能场景
class Scene_Skill
  attr_reader :spriteset
  alias initialize_old initialize
  def initialize(*args)
    @spriteset = Sw.new
    @spriteset.weather.type = $game_temp.sw
    initialize_old(*args)
  end
end

# 内部模块
module RPG
  
  # 天气
  class Weather
    # 当前 天气类型 可读
    def type
      return @type
    end
  end
  
  # 特技
  class Skill
   
    # 默认天气类型
    # 0:无
    # 1:雨
    # 2:风
    # 3:雪
   
    # 威力
    def 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
      
      return @power
      
    end
   
  end
  
end





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