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

Project1

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

[已经过期] 如何在游戏进行中 为武器or防具添加新的属性!!

[复制链接]

Lv1.梦旅人

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

因为想在游戏内做出类似"附魔系统"的东东

想请问有没有能透过"事件"使用"指令码"直接提取数据库里设定好的武器属性 如格斗 斩击那类的属性

或是任何能完成类似方法的脚本ˊˋ

就是如果假设 武器原先属性为"格斗" 使用了某个"指令码 o r脚本"后 能让武器变成"格斗"+"斩击"

对照数据库里设定好的属性 配合上其他脚本 就能完成类似附魔的系统吧 Orz

感觉是像在绕大圈子 麻烦各位帮忙了:L

或者是有大侠能帮忙更动一下下面的脚本

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

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

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

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

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

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

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

本版积分规则

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

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

GMT+8, 2024-11-28 07:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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