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

Project1

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

[已经过期] 请帮忙在此脚本里添加装备后状态直接发动效果!!!

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
130 小时
注册时间
2011-3-10
帖子
65
跳转到指定楼层
1
发表于 2011-12-2 09:38:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 s20810 于 2011-12-2 09:49 编辑

请帮帮忙~ Orz

帮忙实现下面脚本 "强化" 后的 "装备" 附加 "状态" 能在装备后直接发动效果:dizzy:

例如:
"短剑" 强化后 附加状态为 "攻击力上升"

那么装备上短剑之后 该角色就会直接发动"攻击力上升"效果

反之取下"短剑"后 "攻击力上升"效果消失

另外 如果直接把状态附在武器上 好像对敌人也会有效果 就是机率发动 类似中毒那样的效果

可以的话 能帮忙设定成可选择敌人无效的开关之类的ˊˋ

跪求大大们了 Orz
  1. #==============================================================================
  2.     # ● 简易装备强化 Ver 1.0
  3.     #http://rpg.blue/thread-208284-1-1.html
  4.     #-----------------------------------------------------------------------------
  5.     #可以强化武器和防具,但是强化的是一个类型。
  6.     #即强化时不分数量只分类型。
  7.     #-----------------------------------------------------------------------------
  8.     #最大支持8素材(显示窗口还可以看的状态)
  9.     #每次只能添加一种附加状态
  10.     #武器只能存在一种属性(防具不限)
  11.     #-----------------------------------------------------------------------------
  12.     #S键切换武器强化和防具强化
  13.     #-----------------------------------------------------------------------------
  14.     #调用请在脚本添加$scene = Scene_Equip_Strengthen.new
  15.     #在对话框后调用等设置等待5帧(否则对话框来不及消失)
  16.     #=============================================================================

  17.     #==============================================================================
  18.     # ■ Nanaka_Equip_Strengthen
  19.     #------------------------------------------------------------------------------
  20.     #  武器强化系统设定部分
  21.     #==============================================================================
  22.     module Nanaka_Equip_Strengthen
  23.       
  24.       #场景背景图的名称
  25.       #不需要时请填写为nil
  26.       Background_Picture_Name = "03"
  27.       #用来记录武器名称的数组
  28.       Equip_Name_List = []
  29.       #用来记录武器图标的数组
  30.       Equip_Icon_List = []
  31.       #用来记录武器编号的数组
  32.       Equip_Index_List = []
  33.       #用来记录武器强化素材的哈希表
  34.       Equip_Material_List = {
  35.       #--------------------------------------------------------------------------
  36.       #    哈希表对应的依次为
  37.       #    [ 每级强化的素材种类 ] (一维数组)
  38.       #    [ [ 每级对应的素材ID ] ] (二维数组)
  39.       #    [ [ 每级素材的需求数量 ] ] (二维数组)
  40.       #    最大强化次数 (数字)
  41.       #
  42.       #    例中棍子的含义为
  43.       #    最多强化3次,
  44.       #    每次分别需要8种、4种、3种素材
  45.       #    第一次强化各素材依次需要1、1、1、1、99、99、99、6个
  46.       #    第二次强化各素材依次需要1、1、1、1个
  47.       #    下略
  48.       #--------------------------------------------------------------------------
  49.         "练习用木刀" => [   [1,1,1],
  50.                         [   [3],   [3], [3]],
  51.                         [   [1],[2],[3]], 3],
  52.                      
  53.         "皮盾" => [   [4,4,3],
  54.                       [[1,2,3,4],[4,6,7,8],[9,10,11]],
  55.                       [[1,1,1,1],[1,1,1,1],[1,1,1]],
  56.                       3],
  57.         "长剑" => [   [1],
  58.                       [[1,2,3,4]],
  59.                       [[1,1,1,1]],
  60.                       1]
  61.       }
  62.       #用来记录武器强化效果的哈希表
  63.       #--------------------------------------------------------------------------
  64.       #一维数组依次对应攻击、防御、敏捷、精神、附加状态、属性变更
  65.       #请对应强化次数来填写
  66.       #前四项正负均可,后两项请保证对应数据库,无附加状态和属性变更时请填0
  67.       #--------------------------------------------------------------------------
  68.       Strengthen_Effect_List = {
  69.       #             [攻击]   [防御]  [敏捷]    [精神]  [附加状态] [属性变更]
  70.         "练习用木刀" => [[9,2,3], [9,2,3], [9,1,1], [-9,0,0],  [9,0,0],   [1,2,3]],
  71.       
  72.         "皮盾" => [[1,2,3], [1,2,3], [0,1,1], [0,0,0],  [1,0,0],   [1,0,0]],
  73.       
  74.         "长剑" => [[1],     [1],     [1],     [1],      [0],       [0]]
  75.       }
  76.       #帮助窗口提示文字
  77.       Msg_Weapon_Help = "请选择要强化的武器"
  78.       Msg_Armor_Help = "请选择要强化的防具"
  79.       #无法强化的武器提示文字
  80.       Msg_Weapon_Disable = "-该武器无法强化-"
  81.       Msg_Armor_Disable = "-该防具无法强化-"
  82.       #武器强化到满级的提示文字
  83.       Msg_Weapon_Max_Level = "-该武器已强化到极限-"
  84.       Msg_Armor_Max_Level = "-该防具已强化到极限-"
  85.       #强化素材说明文字
  86.       Msg_Material = "-强化素材-"
  87.       #强化效果说明文字
  88.       Msg_Effect = "-强化效果-"
  89.       #各个效果的名称
  90.       Msg_Weapon_Effect_Text = ["攻击:","防御:","敏捷:","精神:","附加:","属性:"]
  91.       Msg_Armor_Effect_Text = ["攻击:","防御:","敏捷:","精神:","无效:","抵抗:"]
  92.       #强化完成的确认文字
  93.       Msg_Strengthen_Complete = "★☆★☆★☆强化完成★☆★☆★☆"
  94.       #武器和防具的识别文字
  95.       Weapon_Type = "weapon"
  96.       Armor_Type = "armor"
  97.       
  98.       #--------------------------------------------------------------------------
  99.       #    ☆Nanaka_Equip_Strengthen★
  100.       #    初始化方法
  101.       #    原则上每次进入场景需要调用一次
  102.       #--------------------------------------------------------------------------
  103.       def self.init(type)
  104.         Equip_Name_List.clear
  105.         Equip_Icon_List.clear
  106.         Equip_Index_List.clear
  107.         if type == Weapon_Type
  108.           for weapon in $data_weapons
  109.             next if weapon == nil
  110.             if $game_party.has_item?(weapon, true)
  111.               Equip_Name_List.push(weapon.name)
  112.               Equip_Icon_List.push(weapon.icon_index)
  113.               Equip_Index_List.push(weapon.id)
  114.             end
  115.           end
  116.         else
  117.           for armor in $data_armors
  118.             next if armor == nil
  119.             if $game_party.has_item?(armor, true)
  120.               Equip_Name_List.push(armor.name)
  121.               Equip_Icon_List.push(armor.icon_index)
  122.               Equip_Index_List.push(armor.id)
  123.             end
  124.           end
  125.         end
  126.       end
  127.       
  128.     end
  129.    #==============================================================================
  130.     # ■ Scene_Equip_Strengthen
  131.     #------------------------------------------------------------------------------
  132.     #  处理武器强化的类
  133.     #==============================================================================
  134.     class Scene_Equip_Strengthen < Scene_Base
  135.       include Nanaka_Equip_Strengthen
  136.       #--------------------------------------------------------------------------
  137.       #    ☆Scene_Equip_Strengthen★
  138.       #    开始处理
  139.       #--------------------------------------------------------------------------  
  140.       def start
  141.       
  142.         #初始化武器强化模组
  143.         Nanaka_Equip_Strengthen.init(Weapon_Type)
  144.         #默认Type为武器强化
  145.         @now_type = Weapon_Type
  146.         if Background_Picture_Name != nil
  147.           @background_sprite = Sprite.new
  148.           @background_sprite.bitmap = Cache.picture(Background_Picture_Name)
  149.         end
  150.         create_weapon_strengthen_menu(@now_type)
  151.       end
  152.       
  153.       def create_weapon_strengthen_menu(type)
  154.         @help_window.dispose if @help_window != nil
  155.         @window_weapon_selecte.dispose if @window_weapon_selecte != nil
  156.         @window_strengthen_detail.dispose if @window_strengthen_detail != nil
  157.         #生成帮助条
  158.         @help_window = Window_Help.new
  159.         @help_window.set_text(Msg_Weapon_Help, 1) if type == Weapon_Type
  160.         @help_window.set_text(Msg_Armor_Help, 1) if type == Armor_Type
  161.       
  162.         #生成武器强化菜单栏
  163.         command = []
  164.         for i in Equip_Name_List
  165.           command.push(i)
  166.         end
  167.         @window_weapon_selecte = Window_Weapon_Selecte.new(160, command)
  168.         update_window_selecte
  169.         #设定y坐标
  170.         @window_weapon_selecte.y = @help_window.height
  171.         #计算显示区域
  172.         @window_weapon_selecte.height = Graphics.height - @help_window.height
  173.       
  174.         #生成武器强化细节
  175.         @window_strengthen_detail = Window_Strengthen_Detail.new(type)
  176.         @window_strengthen_detail.refresh(0)
  177.       end
  178.       #--------------------------------------------------------------------------
  179.       #    ☆Scene_Equip_Strengthen★
  180.       #    更新武器强化菜单栏
  181.       #--------------------------------------------------------------------------  
  182.       def update_window_selecte
  183.         for i in 0...Equip_Name_List.size
  184.           if !is_can_strengthen?(i, @now_type)
  185.             @window_weapon_selecte.draw_item(i, false)
  186.           end
  187.         end
  188.       end
  189.       #--------------------------------------------------------------------------
  190.       #    ☆Scene_Equip_Strengthen★
  191.       #    处理武器强化
  192.       #--------------------------------------------------------------------------  
  193.       def weapon_strengthen(index, type)
  194.         #获取装备及装备等级
  195.         if type == Weapon_Type
  196.           equip = $data_weapons[Equip_Index_List[index]]
  197.           equip_level = $weapons_level[equip.id]
  198.         else
  199.           equip = $data_armors[Equip_Index_List[index]]
  200.           equip_level = $armors_level[equip.id]
  201.         end
  202.         equip_level = 0 if equip_level == nil
  203.         #获取装备强化效果列表
  204.         equip_effect_hash = Strengthen_Effect_List[equip.name]
  205.         #获取本次装备强化效果
  206.         effect_value = []
  207.         for array in equip_effect_hash
  208.           effect_value.push(array[equip_level])
  209.         end
  210.         #装备强化效果处理
  211.         equip.atk += effect_value[0]
  212.         equip.def += effect_value[1]
  213.         equip.agi += effect_value[2]
  214.         equip.spi += effect_value[3]
  215.         equip.state_set.push(effect_value[4]) if effect_value[4] != 0
  216.         #武器只存在一种属性
  217.         equip.element_set.push(effect_value[5]) if effect_value[5] != 0
  218.         if type == Weapon_Type
  219.           $weapons_level[equip.id] = equip_level + 1
  220.         else
  221.           $armors_level[equip.id] = equip_level + 1
  222.         end
  223.         #获取武器强化素材列表
  224.         equip_material_hash = Equip_Material_List[equip.name]
  225.         material_list = []
  226.         amount_list = []
  227.         #获取本次强化素材
  228.         for material_index in equip_material_hash[1][equip_level]
  229.           material_list.push(material_index)
  230.         end
  231.         #获取本次强化素材所需数量
  232.         for amount in equip_material_hash[2][equip_level]
  233.           amount_list.push(amount)
  234.         end
  235.         #武器强化素材消费处理
  236.         for index in 0...material_list.size
  237.           material = $data_items[index]
  238.           $game_party.lose_item(material, amount_list[index])
  239.         end
  240.         call_determine_window
  241.       end
  242.       #--------------------------------------------------------------------------
  243.       #    ☆Scene_Equip_Strengthen★
  244.       #    判断强化武器的素材是否足够
  245.       #--------------------------------------------------------------------------   
  246.       def is_can_strengthen?(index, type)
  247.         #获取武器强化素材
  248.         equip_name = Equip_Name_List[index]
  249.         equip_hash = Equip_Material_List[equip_name]
  250.         if type == Weapon_Type
  251.           equip_level = $weapons_level[$data_weapons[Equip_Index_List[index]].id]
  252.         else
  253.           equip_level = $armors_level[$data_armors[Equip_Index_List[index]].id]
  254.         end
  255.         equip_level = 0 if equip_level == nil
  256.         return false if equip_hash == nil
  257.         return false if equip_level == equip_hash[3]
  258.         #获取素材总数,素材编号和素材数量
  259.         total_amount = equip_hash[0][equip_level]
  260.         equip_material_array = equip_hash[1][equip_level]
  261.         material_amount_array = equip_hash[2][equip_level]
  262.         #判断是否可以强化
  263.         for i in 0...total_amount
  264.           equip_material_index = equip_material_array[i]
  265.           material_amount = material_amount_array[i]
  266.           equip_material = $data_items[equip_material_index]
  267.           if $game_party.item_number(equip_material) < material_amount
  268.             return false
  269.           end
  270.         end
  271.         return true
  272.       end
  273.       #--------------------------------------------------------------------------
  274.       #    ☆Scene_Equip_Strengthen★
  275.       #    更新画面
  276.       #--------------------------------------------------------------------------   
  277.       def update
  278.         @window_weapon_selecte.update
  279.         @window_strengthen_detail.update
  280.         @help_window.update
  281.         @window_strengthen_detail.refresh(@window_weapon_selecte.index)
  282.         if Input.trigger?(Input::B)
  283.           Sound.play_cancel
  284.           $scene = Scene_Map.new
  285.         end
  286.         if Input.trigger?(Input::C)
  287.           if is_can_strengthen?(@window_weapon_selecte.index, @now_type)
  288.             Sound.play_decision
  289.             #强化武器
  290.             weapon_strengthen(@window_weapon_selecte.index, @now_type)
  291.             #更新窗口栏目
  292.             update_window_selecte
  293.             #更新武器强化素材需求和强化效果的窗口
  294.             @window_strengthen_detail.refresh(@window_weapon_selecte.index, true)      
  295.           else
  296.             Sound.play_buzzer
  297.           end
  298.         end
  299.         if Input.trigger?(Input::Y)
  300.           Sound.play_decision
  301.           if @now_type == Weapon_Type
  302.             @now_type = Armor_Type
  303.           else
  304.             @now_type = Weapon_Type
  305.           end
  306.           Nanaka_Equip_Strengthen.init(@now_type)
  307.           create_weapon_strengthen_menu(@now_type)
  308.         end
  309.       end
  310.       #--------------------------------------------------------------------------
  311.       #    ☆Scene_Equip_Strengthen★
  312.       #    确认强化完成的窗口
  313.       #--------------------------------------------------------------------------
  314.       def call_determine_window
  315.         @window_strengthen_success = Window_Base.new(0,0,384,56)
  316.         @window_strengthen_success.x = (544 - @window_strengthen_success.width) / 2
  317.         @window_strengthen_success.y = (416 - @window_strengthen_success.height) / 2
  318.         @window_strengthen_success.contents.clear
  319.         Audio.se_play("Audio/SE/1",80)
  320.         @window_strengthen_success.contents.font.color = @window_strengthen_success.system_color
  321.         @window_strengthen_success.contents.draw_text(0,0,360,24,Nanaka_Equip_Strengthen::Msg_Strengthen_Complete,1)
  322.         Graphics.wait(120)
  323.         @window_strengthen_success.dispose
  324.       end
  325.       #--------------------------------------------------------------------------
  326.       #    ☆Scene_Equip_Strengthen★
  327.       #    结束处理
  328.       #--------------------------------------------------------------------------   
  329.       def terminate
  330.         @window_weapon_selecte.dispose
  331.         @window_strengthen_detail.dispose
  332.         @help_window.dispose
  333.         if @background_sprite != nil
  334.           @background_sprite.bitmap.dispose
  335.           @background_sprite.dispose
  336.         end
  337.       end
  338.       
  339.     end

  340.     #==============================================================================
  341.     # ■ Window_Weapon_Selecte
  342.     #------------------------------------------------------------------------------
  343.     #  武器强化菜单栏目的窗口
  344.     #==============================================================================
  345.     class Window_Weapon_Selecte < Window_Command
  346.       #--------------------------------------------------------------------------
  347.       #    ☆Window_Weapon_Selecte★
  348.       #    描画物品图标及说明
  349.       #--------------------------------------------------------------------------
  350.       def draw_item(index, enabled = true)
  351.         rect = item_rect(index)
  352.         rect.x += 4
  353.         rect.width -= 8
  354.         icon_index = 0
  355.         self.contents.clear_rect(rect)
  356.         if Nanaka_Equip_Strengthen::Equip_Icon_List[index] != nil
  357.           icon_index = Nanaka_Equip_Strengthen::Equip_Icon_List[index]
  358.         end
  359.       
  360.         if icon_index != 0
  361.           rect.x -= 4
  362.           draw_icon(icon_index, rect.x, rect.y, enabled)
  363.           rect.x += 26
  364.           rect.width -= 20
  365.         end
  366.         self.contents.clear_rect(rect)
  367.         self.contents.font.color = normal_color
  368.         self.contents.font.color.alpha = enabled ? 255 : 128
  369.         self.contents.draw_text(rect, @commands[index])
  370.       end
  371.       #--------------------------------------------------------------------------
  372.       #    ☆Window_Weapon_Selecte★
  373.       #    光标下移
  374.       #--------------------------------------------------------------------------
  375.       def cursor_down(wrap = false)
  376.         if @index < @item_max - 1 or wrap
  377.           @index = (@index + 1) % @item_max
  378.         end
  379.       end
  380.        #--------------------------------------------------------------------------
  381.       #    ☆Window_Weapon_Selecte★
  382.       #    光标上移
  383.       #--------------------------------------------------------------------------
  384.       def cursor_up(wrap = false)
  385.         if @index > 0 or wrap
  386.           @index = (@index - 1 + @item_max) % @item_max
  387.         end
  388.       end
  389.     end

  390.     #==============================================================================
  391.     # ■ Window_Strengthen_Detail
  392.     #------------------------------------------------------------------------------
  393.     #  武器强化素材需求和强化效果的显示窗口
  394.     #==============================================================================
  395.     class Window_Strengthen_Detail < Window_Base
  396.       include Nanaka_Equip_Strengthen
  397.       #--------------------------------------------------------------------------
  398.       #    ☆Window_Strengthen_Detail★
  399.       #    初始化
  400.       #--------------------------------------------------------------------------
  401.       def initialize(type)
  402.         super(160, 56, 384, 360)
  403.         @index = -1
  404.         @type = type
  405.       end
  406.       #--------------------------------------------------------------------------
  407.       #    ☆Window_Strengthen_Detail★
  408.       #    刷新
  409.       #--------------------------------------------------------------------------
  410.       def refresh(index, update_flag = false)
  411.         if @index != index or update_flag
  412.           equip_name = Equip_Name_List[index]
  413.           if @type == Weapon_Type
  414.             equip_level = $weapons_level[$data_weapons[Equip_Index_List[index]].id]
  415.           else
  416.             equip_level = $armors_level[$data_armors[Equip_Index_List[index]].id]
  417.           end
  418.           equip_level = 0 if equip_level == nil
  419.           draw_material_text(equip_name,equip_level, @type)
  420.           draw_strengthen_effect(equip_name, equip_level, @type)
  421.           @index = index
  422.         end
  423.       end
  424.       #--------------------------------------------------------------------------
  425.       #    ☆Window_Strengthen_Detail★
  426.       #    描画素材需求说明
  427.       #--------------------------------------------------------------------------
  428.       def draw_material_text(equip_name, equip_level, type)
  429.         equip_hash = Equip_Material_List[equip_name]
  430.         self.contents.clear

  431.         #当武器无法强化时的说明生成
  432.         if equip_hash == nil
  433.           width = self.width / 2 + self.x
  434.           height = self.height / 2 + 56
  435.           self.contents.font.color = system_color
  436.           self.contents.draw_text(96, 36, width , height, Msg_Weapon_Disable) if type == Weapon_Type
  437.           self.contents.draw_text(96, 36, width , height, Msg_Armor_Disable) if type == Armor_Type
  438.         #当武器已经强化到满级时
  439.         elsif equip_level == equip_hash[3]
  440.           width = self.width / 2 + self.x
  441.           height = self.height / 2 + 56
  442.           self.contents.font.color = system_color
  443.           self.contents.draw_text(72, 36, width , height, Msg_Weapon_Max_Level) if type == Weapon_Type
  444.           self.contents.draw_text(72, 36, width , height, Msg_Armor_Max_Level) if type == Armor_Type
  445.         #当武器可以强化时的说明生成
  446.         else
  447.           self.contents.font.color = system_color
  448.           self.contents.draw_text(132, 24, 120, 24, Msg_Material)
  449.           total_amount = equip_hash[0][equip_level]
  450.           equip_material_array = equip_hash[1][equip_level]
  451.           material_amount_array = equip_hash[2][equip_level]
  452.           @x_coordinate = 0
  453.           @y_coordinate = 56
  454.           for i in 0...total_amount
  455.             equip_material_index = equip_material_array[i]
  456.             equip_material = $data_items[equip_material_index]
  457.             material_amount = material_amount_array[i]
  458.             string = ":" + "#{material_amount}"
  459.             self.draw_item_name(equip_material, @x_coordinate, @y_coordinate)
  460.             self.contents.font.color = normal_color
  461.             self.contents.draw_text(140 + @x_coordinate, @y_coordinate, 120, 24, string, 0)
  462.             @x_coordinate += 180
  463.             @y_coordinate += 32 if @x_coordinate > 180
  464.             @x_coordinate = 0 if @x_coordinate > 180
  465.           end
  466.           @y_coordinate += 32 if total_amount % 2
  467.           @y_coordinate = 200 if @y_coordinate > 200
  468.         end
  469.       end
  470.       #--------------------------------------------------------------------------
  471.       #    ☆Window_Strengthen_Detail★
  472.       #    描画物品名称
  473.       #--------------------------------------------------------------------------
  474.       def draw_item_name(item, x, y, enabled = true)
  475.         if item != nil
  476.           draw_icon(item.icon_index, x, y, enabled)
  477.           self.contents.font.color = system_color
  478.           self.contents.font.color.alpha = enabled ? 255 : 128
  479.           self.contents.draw_text(x + 24, y, 120, WLH, item.name)
  480.         end
  481.       end
  482.       
  483.       #--------------------------------------------------------------------------
  484.       #    ☆Window_Strengthen_Detail★
  485.       #    描画强化效果说明
  486.       #--------------------------------------------------------------------------
  487.       def draw_strengthen_effect(equip_name, equip_level, type)
  488.         #获取素材强化列表
  489.         equip_hash = Strengthen_Effect_List[equip_name]
  490.         return if equip_hash == nil
  491.         #获取武器最大等级
  492.         equip_max_level = Equip_Material_List[equip_name][3]
  493.         return if equip_level == equip_max_level
  494.         self.contents.font.color = system_color
  495.         #绘制强化效果标题文字
  496.         self.contents.draw_text(132, @y_coordinate, 120, 24, Msg_Effect)
  497.         @y_coordinate += 32
  498.         @x_coordinate = 0
  499.         #获取强化效果数组
  500.         effect_value = []
  501.         for array in equip_hash
  502.           effect_value.push(array[equip_level])
  503.         end
  504.         #绘制强化效果说明
  505.         for index in 0...effect_value.size
  506.           value = effect_value[index]
  507.           value_text = "  0"
  508.           value_text = " +" + "#{value}" if value > 0
  509.           value_text = " " + "#{value}" if value < 0
  510.           if index == 4
  511.             state = $data_states[value]
  512.             value_text = " 无"
  513.             value_text = "#{state.name}" if state != nil
  514.           end
  515.           if index == 5
  516.             elem_text = $data_system.elements[value]
  517.             value_text = "不变"
  518.             value_text = elem_text if elem_text != ""
  519.           end
  520.           self.contents.font.color = system_color
  521.           if type == Weapon_Type
  522.             self.contents.draw_text(@x_coordinate + 24, @y_coordinate, 120, 24, Msg_Weapon_Effect_Text[index])
  523.           else
  524.             self.contents.draw_text(@x_coordinate + 24, @y_coordinate, 120, 24, Msg_Armor_Effect_Text[index])
  525.           end
  526.           self.contents.font.color = normal_color
  527.           self.contents.draw_text(@x_coordinate + 72, @y_coordinate, 120, 24, value_text)
  528.           @x_coordinate += 180
  529.           @y_coordinate += 32 if @x_coordinate > 180
  530.           @x_coordinate = 0 if @x_coordinate > 180
  531.         end
  532.       end
  533.     end

  534.     class Scene_Title < Scene_Base
  535.       alias nanaka_create_game_objects create_game_objects
  536.       def create_game_objects
  537.         nanaka_create_game_objects
  538.         $weapons_level = []
  539.         $armors_level = []
  540.       end
  541.     end

  542.     class Scene_File < Scene_Base
  543.       alias nanaka_read_save_data read_save_data
  544.       alias nanaka_write_save_data write_save_data
  545.       def write_save_data(file)
  546.         nanaka_write_save_data(file)
  547.         Marshal.dump($weapons_level,         file)
  548.         Marshal.dump($armors_level,         file)
  549.       end
  550.       def read_save_data(file)
  551.         nanaka_read_save_data(file)
  552.         $weapons_level = Marshal.load(file)
  553.         $armors_level = Marshal.load(file)
  554.         load_equip_strengthen_data
  555.       end
  556.       
  557.       def load_equip_strengthen_data
  558.         length = [$weapons_level.length,$armors_level.length].max
  559.         for index in 0...length
  560.           weapon_level = $weapons_level[index]
  561.           armor_level = $armors_level[index]
  562.           weapon_level = 0 if weapon_level == nil
  563.           armor_level = 0 if armor_level == nil
  564.           weapon = $data_weapons[index]
  565.           armor = $data_armors[index]
  566.           for level in 0...weapon_level
  567.             weapon_effect_hash = Nanaka_Equip_Strengthen::Strengthen_Effect_List[weapon.name]
  568.             effect_value = []
  569.             for array in weapon_effect_hash
  570.               effect_value.push(array[level])
  571.             end
  572.             weapon.atk += effect_value[0]
  573.             weapon.def += effect_value[1]
  574.             weapon.agi += effect_value[2]
  575.             weapon.spi += effect_value[3]
  576.             weapon.state_set.push(effect_value[4]) if effect_value[4] != 0
  577.             if effect_value[5] != 0
  578.               weapon.element_set.clear
  579.               weapon.element_set.push(effect_value[5])
  580.             end
  581.           end
  582.           for level in 0...armor_level
  583.             armor_effect_hash = Nanaka_Equip_Strengthen::Strengthen_Effect_List[armor.name]
  584.             effect_value = []
  585.             for array in armor_effect_hash
  586.               effect_value.push(array[level])
  587.             end
  588.             armor.atk += effect_value[0]
  589.             armor.def += effect_value[1]
  590.             armor.agi += effect_value[2]
  591.             armor.spi += effect_value[3]
  592.             armor.state_set.push(effect_value[4]) if effect_value[4] != 0
  593.             armor.element_set.push(effect_value[5]) if effect_value[5] != 0
  594.           end
  595.         end
  596.       end
  597.       
  598.     end
  599.     #======================================================================
  600.     # Equip_Strengthen by Nanaka
  601.     #======================================================================
复制代码
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-12-1 20:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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