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

Project1

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

[原创发布] 轩辕剑3炼妖壶系统ver 0.75发布(已美化&免费)

 关闭 [复制链接]

Lv1.梦旅人

魔王 ⑨

梦石
0
星屑
95
在线时间
380 小时
注册时间
2006-10-16
帖子
4299

贵宾

跳转到指定楼层
1
发表于 2009-10-30 12:36:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 玄月 于 2009-11-30 21:41 编辑

钱赚够了,这东西转为免费发布吧……下次更新的时候另开贴骗钱,已下载会员到时候可以PM本人更新。就是如此了……说来这样赚分可比去提问区晃悠轻松 = =
然后做下广告,有脚本要写的请直接PM,报酬面议。经验,VIP,RMB?均可。
以下是界面




炼妖壶 ver.0.75.rar (1.51 MB, 下载次数: 2780)
  1. #==============================================================================
  2. # ■ 炼妖壶系统 ver.0.75(2009.10.1-2009.10.30)
  3. #------------------------------------------------------------------------------
  4. #  作者:玄月
  5. #
  6. #  声明:本脚本所涉及素材来自于网络以及个人处理,仅供圈内人士学习交流之用,请勿
  7. #        用于商业用途,若因私自传播所造成的法律责任,本人概不负责。
  8. #
  9. #  责权说明:1、本人仅对正确渠道获得此脚本的人负责整合,修改
  10. #            2、本版本为不完整版本,但基本功能已齐全,更新时间未定
  11. #            3、脚本使用、转载者请保留此信息,尊重作者劳动成果
  12. #            4、最终解释权归本人所有
  13. #
  14. #  版本说明:1、本版本拥有炼妖壶的主体功能,包括正向和逆向合成,成品预览功能
  15. #            2、未整合装备栏拓展,有兴趣的人请自行整合或等待更新版本
  16. #            3、未整合轩辕剑美化菜单,同有兴趣的人请自行整合或等待更新版本
  17. #            4、未添加合成过度动画,下一版本添加
  18. #            5、未添加合成等级限制,同下一版本添加
  19. #
  20. #  使用方法:[材料种类(0:物品 1:武器 2:防具 ),材料ID]
  21. #            另模板已给出。
  22. #==============================================================================
  23. class Game_Alchemy
  24.   attr_accessor :recipe_list  
  25.   attr_accessor :fail_id
  26.   def initialize
  27.     @recipe_list = []
  28.     # 大眼蛙ID
  29.     @fail_id = 8
  30.     # 预处理
  31.     go_main
  32.     # 主处理
  33.     main
  34.   end
  35.   def go_main
  36.     for i in 1...$data_items.size
  37.       $data_items[i].hp = 0
  38.       $data_items[i].sp = 0
  39.       $data_items[i].atk = 0
  40.       $data_items[i].pdef = 0
  41.       $data_items[i].dex = 0
  42.     end
  43.     for i in 1...$data_weapons.size
  44.       $data_weapons[i].hp = 0
  45.       $data_weapons[i].sp = 0
  46.       $data_weapons[i].dex = $data_weapons[i].dex_plus
  47.     end
  48.     for i in 1...$data_armors.size
  49.       $data_armors[i].hp = 0
  50.       $data_armors[i].sp = 0
  51.       $data_armors[i].dex = $data_armors[i].dex_plus
  52.     end
  53.     for i in 1...$data_armors.size
  54.       if $data_armors[i].name.split(/,/)[1] == "5"
  55.         for j in 1...$data_enemies.size
  56.           if $data_enemies[j].name == $data_armors[i].name.split(/,/)[0]
  57.             $data_armors[i].hp = $data_enemies[j].maxhp
  58.             $data_armors[i].sp = $data_enemies[j].maxsp
  59.             $data_armors[i].atk = $data_enemies[j].atk
  60.             $data_armors[i].pdef = $data_enemies[j].pdef
  61.             $data_armors[i].dex = $data_enemies[j].dex
  62.             break
  63.           end
  64.         end
  65.       end
  66.     end  
  67.   end   
  68.   #--------------------------------------------------------------------------
  69.   # ● 主处理——输入可炼化材料信息:[材料种类(0:物品 1:武器 2:防具 ),材料ID]
  70.   #    已经给出模板,请各位自行测试以理解设置方法。
  71.   #--------------------------------------------------------------------------
  72.   def main
  73.     #------------------------------------------------------------------------
  74.     # 测试用配方1
  75.     #------------------------------------------------------------------------   
  76.     材料A = [0,1]
  77.     材料B = [0,1]
  78.     成品  = [0,2]
  79.     @recipe_list[0] = [材料A,材料B,成品]
  80.     #------------------------------------------------------------------------
  81.     # 测试用配方2
  82.     #------------------------------------------------------------------------   
  83.     材料A = [0,3]
  84.     材料B = [0,4]
  85.     成品  = [0,2]
  86.     @recipe_list[1] = [材料A,材料B,成品]
  87.     #------------------------------------------------------------------------
  88.     # 测试用配方3
  89.     #------------------------------------------------------------------------   
  90.     材料A = [1,4]
  91.     材料B = [1,5]
  92.     成品  = [2,5]
  93.     @recipe_list[1] = [材料A,材料B,成品]
  94.   end  
  95. end  
  96. class Window_Alchemy < Window_Selectable
  97.   attr_accessor :stuff
  98.   def initialize
  99.     super(238,48, 384, 320)
  100.     self.contents = Bitmap.new(width - 32,height - 32)
  101.     self.index = 0
  102.     self.active = true
  103.     @stuff = []
  104.     refresh
  105.     self.opacity = 0
  106.   end
  107.   def refresh
  108.     self.contents.clear   
  109.     @item_max = 2
  110.     @column_max = 2
  111.     self.contents = Bitmap.new(width - 32,height - 32)
  112.     for i in 0...2
  113.       if @stuff[i] != nil
  114.         draw_item(i)
  115.       end
  116.     end
  117.   end
  118.   def draw_item(index)
  119.     item = @stuff[index]
  120.     x = index * 212 + 9
  121.     y = 22
  122.     bitmap =  RPG::Cache.picture("item_bitmap/空白")
  123.     opacity = self.contents.font.color == normal_color ? 255 : 128
  124.     self.contents.blt(x, y, bitmap, Rect.new(0, 0, 120, 220), opacity)
  125.     bitmap =  RPG::Cache.picture("item_bitmap/" + item.name.split(/,/)[0])
  126.     opacity = self.contents.font.color == normal_color ? 255 : 128
  127.     self.contents.blt(x, y, bitmap, Rect.new(0, 0, 120, 220), opacity)
  128.   end
  129.   def update_cursor_rect
  130.     if @index < 0
  131.       self.cursor_rect.set(0,0,0,0)
  132.     else
  133.       self.cursor_rect.set(@index*32,0,0,0)
  134.     end
  135.   end
  136. end
  137. class Window_Alchemy_Item < Window_Selectable
  138.   attr_accessor :type
  139.   def initialize(type)
  140.     @top_row = 0
  141.     @type = type
  142.     super(-12, 60, 216, 420)
  143.     self.index = 0
  144.     self.opacity = 0   
  145.     self.windowskin = RPG::Cache.windowskin("menu_selet.png")
  146.     refresh
  147.   end
  148.   def item
  149.     return @data[self.index]
  150.   end
  151.   def c_kind(type)
  152.     @type = type
  153.     refresh
  154.   end
  155.   def refresh
  156.     if self.contents != nil
  157.       self.contents.dispose
  158.       self.contents = nil
  159.     end
  160.     @data = []
  161.     if @type == 0
  162.       for i in 1...$data_items.size
  163.         if $game_party.item_number(i) > 0
  164.           @data.push($data_items[i])
  165.         end
  166.       end
  167.     elsif @type == 1
  168.       for i in 1...$data_weapons.size
  169.         if $game_party.weapon_number(i) > 0
  170.           @data.push($data_weapons[i])
  171.         end
  172.       end  
  173.       for i in 1...$data_armors.size
  174.         if $game_party.armor_number(i) > 0 && $data_armors[i].name.split(/,/)[1] == nil
  175.           @data.push($data_armors[i])
  176.         end
  177.       end
  178.     elsif @type == 2  
  179.       for i in 1...$data_armors.size
  180.         if $game_party.armor_number(i) > 0 && $data_armors[i].name.split(/,/)[1] == "5"
  181.           @data.push($data_armors[i])
  182.         end
  183.       end
  184.     end
  185.     @data.push(nil)
  186.     @item_max = @data.size
  187.     self.contents = Bitmap.new(width - 32, row_max * 32)
  188.     if @item_max > 0
  189.       for i in 0...@item_max-1
  190.         draw_item(i)
  191.       end
  192.     end
  193.     self.contents.draw_text(16, (@data.size-1)*24, 100, 32, "取下材料")
  194.   end
  195.   def refresh2
  196.     if self.contents != nil
  197.       self.contents.dispose
  198.       self.contents = nil
  199.     end
  200.     self.contents = Bitmap.new(width - 32, row_max * 32)
  201.     for i in 0...@item_max-1
  202.       draw_item(i)
  203.     end
  204.     self.contents.draw_text(16, (@data.size-1)*24, 100, 32, "取下材料")
  205.   end
  206.   def draw_item(index)
  207.     item = @data[index]
  208.     case item
  209.     when RPG::Item
  210.       number = $game_party.item_number(item.id)
  211.     when RPG::Weapon
  212.       number = $game_party.weapon_number(item.id)
  213.     when RPG::Armor
  214.       number = $game_party.armor_number(item.id)
  215.     end
  216.     x = 16
  217.     y = index * 24
  218.     self.contents.draw_text(x, y, 212, 32, item.name.split(/,/)[0], 0)
  219.     self.contents.draw_text(x + 144, y, 24, 32, number.to_s, 2)
  220.   end
  221.   def update_help
  222.     @help_window.set_text(self.item == nil ? "" : self.item.description)
  223.   end
  224.   def update_cursor_rect
  225.     if @index < 0
  226.     self.cursor_rect.set(0,0,0,0)
  227.     else
  228.       tpy = @index * 24 - self.oy
  229.       self.cursor_rect.set(0, tpy+4, self.width - 28, 24)
  230.       if @index < @top_row
  231.         @top_row = @index
  232.         self.oy = @top_row *24 + 2
  233.       end
  234.       if @index > @top_row+15
  235.         @top_row = @index-14
  236.         self.oy = @top_row *24 + 2
  237.       end
  238.     end
  239.   end
  240. end
  241. class Window_Alchemy_Help < Window_Base
  242.   def initialize
  243.     super(0, 0, 142+32, 52+32)
  244.     self.contents = Bitmap.new(width - 32, height - 32)
  245.     self.opacity = 0      
  246.     self.visible = false
  247.   end
  248.   def set_stuff(type,name,lv)
  249.     self.contents.clear
  250.     bitmap = Bitmap.new("Graphics/Pictures/物品名称底框")
  251.     src_rect = Rect.new(0, 0, bitmap.width,bitmap.height)
  252.     self.contents.blt(0, 0, bitmap, src_rect)
  253.     x = 7
  254.     y = 7
  255.     size = 18
  256.     self.contents.font.size = size
  257.     self.contents.font.color = normal_color   
  258.     cx = contents.text_size(type).width
  259.     self.contents.draw_text(x,y,cx,size,type,0)   
  260.     cx = contents.text_size(name).width
  261.     self.contents.draw_text(x,y+size+2,cx,size,name,0)
  262.     cx = contents.text_size(lv).width
  263.     self.contents.draw_text(self.width-cx-x-32-size-2 ,y,cx,size,lv,2)
  264.     cx = contents.text_size("级").width
  265.     self.contents.draw_text(self.width-cx-x-32 ,y,cx,size,"级",0)
  266.   end
  267. end
  268. class Window_Result < Window_Base
  269.   def initialize
  270.     super(150,15, 328,299)
  271.     self.contents = Bitmap.new(width - 32,height - 32)
  272.     self.opacity = 0
  273.   end
  274.   def draw_result(result)
  275.     @result = result
  276.     x = 4
  277.     y = 32
  278.     step_y = 24
  279.     plus_x = 64
  280.     if @result.is_a?(RPG::Item)
  281.       type = "物品"
  282.     elsif @result.is_a?(RPG::Weapon)
  283.       type = "武器"
  284.     elsif @result.is_a?(RPG::Armor)
  285.       if @result.name.split(/,/)[1] == "5"
  286.         type = "活物"
  287.       else  
  288.         type = "防具"
  289.       end   
  290.     end
  291.     size = 20
  292.     self.contents.font.size = size
  293.     cx = self.contents.text_size(type).width
  294.     self.contents.draw_text(x+144,y+0*step_y,cx,size,type,0)
  295.     text = @result.name.split(/,/)[0]
  296.     cx = self.contents.text_size(text).width  
  297.     self.contents.draw_text(x+144,y+1*step_y,cx,size,text,0)
  298.     text = @result.description.split(/@/)[2]
  299.     text = "0" if text == nil
  300.     cx = self.contents.text_size(text).width
  301.     self.contents.draw_text(x+144,y+2*step_y,cx,size,text,0)
  302.     cx = self.contents.text_size("级").width
  303.     self.contents.draw_text(x+144+32,y+2*step_y,cx,size,"级",0)
  304.     text = "生命"
  305.     cx = self.contents.text_size(text).width  
  306.     self.contents.draw_text(x+160,y+3*step_y,cx,size,text,0)
  307.     text = @result.hp.to_s
  308.     cx = self.contents.text_size(text).width  
  309.     self.contents.draw_text(x+160+plus_x,y+3*step_y,cx,size,text,2)
  310.     text = "灵力"
  311.     cx = self.contents.text_size(text).width  
  312.     self.contents.draw_text(x+160,y+4*step_y,cx,size,text,0)
  313.     text = @result.sp.to_s
  314.     cx = self.contents.text_size(text).width  
  315.     self.contents.draw_text(x+160+plus_x,y+4*step_y,cx,size,text,2)
  316.     text = "攻击"
  317.     cx = self.contents.text_size(text).width  
  318.     self.contents.draw_text(x+160,y+5*step_y,cx,size,text,0)
  319.     text = @result.atk.to_s
  320.     cx = self.contents.text_size(text).width  
  321.     self.contents.draw_text(x+160+plus_x,y+5*step_y,cx,size,text,2)
  322.     text = "防御"
  323.     cx = self.contents.text_size(text).width  
  324.     self.contents.draw_text(x+160,y+6*step_y,cx,size,text,0)
  325.     text = @result.pdef.to_s
  326.     cx = self.contents.text_size(text).width  
  327.     self.contents.draw_text(x+160+plus_x,y+6*step_y,cx,size,text,2)
  328.     text = "敏捷"
  329.     cx = self.contents.text_size(text).width  
  330.     self.contents.draw_text(x+160,y+7*step_y,cx,size,text,0)
  331.     text = @result.dex.to_s
  332.     cx = self.contents.text_size(text).width  
  333.     self.contents.draw_text(x+160+plus_x,y+7*step_y,cx,size,text,2)
  334.     bitmap =  RPG::Cache.picture("item_bitmap/" + @result.name.split(/,/)[0])
  335.     self.contents.blt(16, 16, bitmap, Rect.new(0,0,120,220), 255)
  336.   end
  337. end
  338. class Window_Result_Help < Window_Base
  339.   def initialize
  340.     super(108, 300, 424,188)
  341.     self.contents = Bitmap.new(width - 32, height - 32)
  342.     self.opacity = 0
  343.   end
  344.   def set_text(text)
  345.     if text != @last_text
  346.       self.contents.clear
  347.       self.contents.font.color = normal_color
  348.     x = y = 0
  349.     @last_text = text.clone
  350.     text = text.clone
  351.     text.gsub!(/\\\\/) { "\000" }
  352.     text.gsub!(/\\[Nn]/){ "\100" }
  353.     text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  354.     while ((c = text.slice!(/./m)) != nil)
  355.       if c == "\000"
  356.         c = "\\"
  357.       end
  358.       if c == "\001"
  359.         text.sub!(/\[([0-9]+)\]/, "")
  360.         color = $1.to_i
  361.         if color >= 0 and color <= 7
  362.           self.contents.font.color = text_color(color)
  363.         end
  364.         next
  365.       end
  366.       if c == "\100"
  367.         y += 1
  368.         x = 0
  369.         next
  370.       end
  371.       self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
  372.       cx = self.contents.text_size(c).width
  373.       x += cx
  374.       if (self.width-x-32) < 22
  375.         x = 0
  376.         y += 1
  377.       end
  378.     end
  379.     self.visible = true
  380.     end
  381.   end
  382. end
  383. class Scene_Alchemy
  384.   def initialize(alchemy_index = 0)
  385.     @alchemy_index = alchemy_index
  386.     @change = []
  387.     $game_alchemy = Game_Alchemy.new
  388.   end
  389.   def main
  390.     @alchemy_window = Window_Alchemy.new
  391.     @item_window = Window_Alchemy_Item.new(type = 0)
  392.     @item_window.active = false
  393.     @item_window.index = -1
  394.     @change = [0,0]
  395.     @back_bitmap = Sprite.new
  396.     @back_bitmap.bitmap = RPG::Cache.picture("炼妖壶底图.png")
  397.     @tag = Sprite.new
  398.     @tag.bitmap = RPG::Cache.picture("炼妖壶_0.png")
  399.     @tag.x = 7
  400.     @tag.y = 52
  401.     @corser = Sprite.new
  402.     @corser.bitmap = RPG::Cache.picture("炼妖壶游标.png")
  403.     @corser.x = 306
  404.     @corser.y = 48
  405.     @mov_y = 0
  406.     @botton = Sprite.new
  407.     @botton.bitmap = RPG::Cache.picture("炼妖壶预览选项激活.png")
  408.     @botton.x = 408
  409.     @botton.y = 336
  410.     @botton.visible = false
  411.     @result_setup = false
  412.     @l_help_window = Window_Alchemy_Help.new
  413.     @r_help_window = Window_Alchemy_Help.new
  414.     Graphics.transition
  415.     loop do
  416.       Graphics.update
  417.       Input.update
  418.       update
  419.       if $scene != self
  420.         break
  421.       end
  422.     end
  423.     Graphics.freeze
  424.     @l_help_window.dispose
  425.     @r_help_window.dispose
  426.     @back_bitmap.dispose
  427.     @tag.dispose
  428.     @item_window.dispose
  429.     @alchemy_window.dispose
  430.     @botton.dispose
  431.   end  
  432.   def update
  433.     @corser.x = @alchemy_window.index * 214 + 306
  434.     @mov_y += 1
  435.     @mov_y %= 20
  436.     @corser.y += 1 if @mov_y < 10
  437.     @corser.y -= 1 if @mov_y >= 10 && @mov_y < 20
  438.     @l_help_window.visible = false if @alchemy_window.stuff[0] == nil
  439.     @r_help_window.visible = false if @alchemy_window.stuff[1] == nil
  440.     @alchemy_window.update
  441.     @item_window.update
  442.     if @alchemy_window.active
  443.       update_alchemy
  444.       return
  445.     end
  446.     if @item_window.active
  447.       update_item
  448.       return
  449.     end
  450.     if @botton.visible
  451.       update_command
  452.       return
  453.     end
  454.     if @result_setup
  455.       update_result
  456.       return
  457.     end  
  458.   end
  459.   def update_alchemy
  460.     if Input.trigger?(Input::B)
  461.       $game_system.se_play($data_system.cancel_se)
  462.       for i in 0...2
  463.         if @alchemy_window.stuff[i] != nil
  464.           case @alchemy_window.stuff[i]
  465.           when RPG::Item
  466.             $game_party.gain_item(@alchemy_window.stuff[i].id,1)
  467.           when RPG::Weapon
  468.             $game_party.gain_weapon(@alchemy_window.stuff[i].id,1)
  469.           when RPG::Armor
  470.             $game_party.gain_armor(@alchemy_window.stuff[i].id,1)
  471.           end
  472.         end
  473.       end   
  474.       $scene = Scene_Menu.new(5)
  475.       return
  476.     end
  477.     if Input.trigger?(Input::C)
  478.       $game_system.se_play($data_system.decision_se)
  479.       @alchemy_window.active = false
  480.       @item_window.active = true
  481.       @item_window.index = 0
  482.       return
  483.     end
  484.     if Input.trigger?(Input::DOWN)
  485.       $game_system.se_play($data_system.decision_se)
  486.       @alchemy_window.active = false
  487.       @botton.visible = true
  488.       #@command_window.active = true
  489.       return
  490.     end
  491.   end
  492.   def update_item
  493.     tag_index = @item_window.type
  494.     @tag.bitmap = RPG::Cache.picture("炼妖壶_#{tag_index}.png")
  495.     @tag.x = 32 * tag_index + 7
  496.     if Input.trigger?(Input::B)
  497.       $game_system.se_play($data_system.cancel_se)
  498.       @alchemy_window.active = true
  499.       @item_window.active = false
  500.       @item_window.index = -1
  501.       return
  502.     end
  503.     if Input.trigger?(Input::LEFT)
  504.       $game_system.se_play($data_system.decision_se)
  505.       type = @item_window.type
  506.       type -= 1
  507.       type = 0 if type == -1
  508.       @item_window.c_kind(type)
  509.       @item_window.index = 0
  510.       return
  511.     end
  512.     if Input.trigger?(Input::RIGHT)
  513.       $game_system.se_play($data_system.decision_se)
  514.       type = @item_window.type
  515.       type += 1
  516.       type = 2 if type == 3
  517.       @item_window.c_kind(type)
  518.       @item_window.index = 0
  519.       return
  520.     end
  521.     if Input.trigger?(Input::C)
  522.       case @item_window.item
  523.         when RPG::Item
  524.           number = $game_party.item_number(@item_window.item.id)
  525.         when RPG::Weapon
  526.           number = $game_party.weapon_number(@item_window.item.id)
  527.         when RPG::Armor
  528.           number = $game_party.armor_number(@item_window.item.id)
  529.       end
  530.       $game_system.se_play($data_system.decision_se)
  531.       @a_index = @alchemy_window.index
  532.       if @item_window.item == nil
  533.         if @change[@a_index] != 0
  534.           case @change[@a_index]
  535.           when RPG::Item
  536.           $game_party.gain_item(@change[@a_index].id,1)
  537.           when RPG::Weapon
  538.           $game_party.gain_weapon(@change[@a_index].id,1)
  539.           when RPG::Armor
  540.           $game_party.gain_armor(@change[@a_index].id,1)
  541.           end
  542.         end
  543.         @alchemy_window.stuff[@a_index] = nil
  544.         @change[@a_index] = 0
  545.         @alchemy_window.refresh
  546.         @item_window.refresh  
  547.       elsif @alchemy_window.stuff[@a_index] == nil && @change[@a_index] == 0 && number != 0
  548.         case @item_window.item
  549.         when RPG::Item
  550.           $game_party.gain_item(@item_window.item.id,-1)
  551.         when RPG::Weapon
  552.           $game_party.gain_weapon(@item_window.item.id,-1)
  553.         when RPG::Armor
  554.           $game_party.gain_armor(@item_window.item.id,-1)
  555.         end
  556.         @alchemy_window.stuff[@a_index] = @item_window.item
  557.         @change[@a_index] = @item_window.item
  558.         @alchemy_window.refresh
  559.         @item_window.refresh
  560.       elsif @change[@a_index] != @item_window.item && @change[@a_index] != 0 && number != 0
  561.         if @change[@a_index] != @item_window.item
  562.           case @change[@a_index]
  563.           when RPG::Item
  564.           $game_party.gain_item(@change[@a_index].id,1)
  565.           when RPG::Weapon
  566.           $game_party.gain_weapon(@change[@a_index].id,1)
  567.           when RPG::Armor
  568.           $game_party.gain_armor(@change[@a_index].id,1)
  569.           end
  570.         end
  571.         case @item_window.item
  572.         when RPG::Item
  573.           $game_party.gain_item(@item_window.item.id,-1)
  574.         when RPG::Weapon
  575.           $game_party.gain_weapon(@item_window.item.id,-1)
  576.         when RPG::Armor
  577.           $game_party.gain_armor(@item_window.item.id,-1)
  578.         end
  579.         @alchemy_window.stuff[@a_index] = @item_window.item
  580.         @change[@a_index] = @item_window.item
  581.         @alchemy_window.refresh
  582.         @item_window.refresh
  583.       end
  584.       stuff_help
  585.     end  
  586.   end
  587.   def update_command
  588.     if Input.trigger?(Input::B)
  589.       $game_system.se_play($data_system.cancel_se)
  590.       @alchemy_window.active = true
  591.       @botton.visible = false
  592.       return
  593.     end
  594.     if Input.trigger?(Input::UP)
  595.       $game_system.se_play($data_system.decision_se)
  596.       @alchemy_window.active = true
  597.       @botton.visible = false
  598.       return
  599.     end
  600.     if Input.trigger?(Input::C)
  601.       @botton.bitmap = RPG::Cache.picture("炼妖壶预览选项按下.png")
  602.       if @alchemy_window.stuff[0] != nil and @alchemy_window.stuff[1] != nil
  603.         $game_system.se_play($data_system.decision_se)
  604.         make_result
  605.         @back = Sprite.new
  606.         @back.bitmap = Bitmap.new("Graphics/Pictures/练妖壶预览背景.png")
  607.         @back.z = 300
  608.         @result_window = Window_Result.new
  609.         @result_window.z = 300
  610.         @result_window.draw_result(@result)
  611.         @help_window = Window_Result_Help.new
  612.         @help_window.set_text(@result.description.split(/@/)[1])
  613.         @help_window.z = 300
  614.         @result_setup = true
  615.         @botton.visible = false
  616.         @alchemy_window.active = false
  617.         return
  618.       else
  619.         $game_system.se_play($data_system.buzzer_se)
  620.         return
  621.       end  
  622.       @alchemy_window.active = true
  623.       @botton.visible = false
  624.       @botton.bitmap = RPG::Cache.picture("炼妖壶预览选项激活.png")
  625.       return
  626.     end
  627.   end
  628.   def stuff_help
  629.     case @alchemy_window.index
  630.     when 0
  631.       if @alchemy_window.stuff[0] != nil
  632.         if @alchemy_window.stuff[0].is_a?(RPG::Item)
  633.           type = "物品"
  634.         elsif @alchemy_window.stuff[0].is_a?(RPG::Weapon)
  635.           type = "武器"
  636.         elsif @alchemy_window.stuff[0].is_a?(RPG::Armor)
  637.           if @alchemy_window.stuff[0].name.split(/,/)[1] == "5"
  638.             type = "活物"
  639.           else  
  640.             type = "防具"
  641.           end
  642.         end
  643.         name = @alchemy_window.stuff[0].name.split(/,/)[0]
  644.         if @alchemy_window.stuff[0].description.split(/@/)[2] != nil
  645.           lv = @alchemy_window.stuff[0].description.split(/@/)[2]
  646.         else
  647.           lv = 0
  648.         end
  649.         @l_help_window.set_stuff(type,name,lv.to_s)
  650.         @l_help_window.x = 224
  651.         @l_help_window.y = 330
  652.         @l_help_window.visible = true
  653.       end  
  654.     when 1
  655.       if @alchemy_window.stuff[1] != nil
  656.         if @alchemy_window.stuff[1].is_a?(RPG::Item)
  657.           type = "物品"
  658.         elsif @alchemy_window.stuff[1].is_a?(RPG::Weapon)
  659.           type = "武器"
  660.         elsif @alchemy_window.stuff[1].is_a?(RPG::Armor)
  661.           if @alchemy_window.stuff[1].name.split(/,/)[1] == "5"
  662.             type = "活物"
  663.           else  
  664.             type = "防具"
  665.           end
  666.         end
  667.         name = @alchemy_window.stuff[1].name.split(/,/)[0]
  668.         if @alchemy_window.stuff[1].description.split(/@/)[2] != nil
  669.           lv = @alchemy_window.stuff[1].description.split(/@/)[2]
  670.         else
  671.           lv = 0
  672.         end
  673.         @r_help_window.set_stuff(type,name,lv.to_s)
  674.         @r_help_window.x = 460
  675.         @r_help_window.y = 330
  676.         @r_help_window.visible = true
  677.       end
  678.     end  
  679.   end
  680.   def make_result
  681.     @alchemy = []
  682.     for i in 0...2
  683.       case @alchemy_window.stuff[i]
  684.       when RPG::Item
  685.         kind = 0
  686.       when RPG::Weapon
  687.         kind = 1
  688.       when RPG::Armor
  689.         kind = 2
  690.       end
  691.       @alchemy[i] = [kind,@alchemy_window.stuff[i].id]
  692.       end  
  693.       @list = $game_alchemy.recipe_list
  694.       for i in [email protected]
  695.         if @alchemy[0] == @list[i][0] and @alchemy[1] == @list[i][1]
  696.           case @list[i][2][0]
  697.           when 0  
  698.             @result = $data_items[@list[i][2][1]]
  699.           when 1
  700.             @result = $data_weapons[@list[i][2][1]]
  701.           when 2
  702.             @result = $data_armors[@list[i][2][1]]
  703.           end
  704.           @succed = true
  705.           break
  706.         elsif @alchemy[0] == @list[i][1] and @alchemy[1] == @list[i][0]
  707.           case @list[i][2][0]
  708.           when 0  
  709.             @result = $data_items[@list[i][2][1]]
  710.           when 1
  711.             @result = $data_weapons[@list[i][2][1]]
  712.           when 2
  713.             @result = $data_armors[@list[i][2][1]]
  714.           end
  715.           @succed = true
  716.           break
  717.         end
  718.       end  
  719.       unless @succed
  720.         @result = $data_armors[$game_alchemy.fail_id]
  721.       end
  722.   end  
  723.   def update_result
  724.     if Input.trigger?(Input::B)
  725.       $game_system.se_play($data_system.cancel_se)
  726.       for i in 0...2
  727.         if @alchemy_window.stuff[i] != nil
  728.           case @alchemy_window.stuff[i]
  729.           when RPG::Item
  730.             $game_party.gain_item(@alchemy_window.stuff[i].id,1)
  731.           when RPG::Weapon
  732.             $game_party.gain_weapon(@alchemy_window.stuff[i].id,1)
  733.           when RPG::Armor
  734.             $game_party.gain_armor(@alchemy_window.stuff[i].id,1)
  735.           end
  736.         end
  737.       end   
  738.       @succed = false
  739.       @alchemy_window.stuff = []
  740.       for i in 0..2
  741.         @change[i] = 0
  742.       end  
  743.       @alchemy_window.refresh
  744.       @item_window.refresh  
  745.       @back.dispose
  746.       @result_window.dispose
  747.       @help_window.dispose
  748.       @result_setup = false
  749.       @botton.visible = false
  750.       @alchemy_window.active = true
  751.       return
  752.     end
  753.     if Input.trigger?(Input::C)
  754.       $game_system.se_play($data_system.decision_se)
  755.       if @result != nil
  756.         case @result
  757.         when RPG::Item
  758.           $game_party.gain_item(@result.id,1)
  759.         when RPG::Weapon
  760.           $game_party.gain_weapon(@result.id,1)
  761.         when RPG::Armor
  762.           $game_party.gain_armor(@result.id,1)
  763.         end
  764.       end
  765.       @succed = false
  766.       @alchemy_window.stuff = []
  767.       for i in 0..2
  768.         @change[i] = 0
  769.       end
  770.       @alchemy_window.refresh
  771.       @item_window.refresh  
  772.       @back.dispose
  773.       @result_window.dispose
  774.       @help_window.dispose
  775.       @result_setup = false
  776.       @botton.visible = false
  777.       @alchemy_window.active = true
  778.       return
  779.     end  
  780.   end  
  781. end  
  782. module RPG
  783.   class Item
  784.     def initialize
  785.       @id = 0
  786.       @name = ""
  787.       @icon_name = ""
  788.       @description = ""
  789.       @scope = 0
  790.       @occasion = 0
  791.       @animation1_id = 0
  792.       @animation2_id = 0
  793.       @menu_se = RPG::AudioFile.new("", 80)
  794.       @common_event_id = 0
  795.       @price = 0
  796.       @consumable = true
  797.       @parameter_type = 0
  798.       @parameter_points = 0
  799.       @recover_hp_rate = 0
  800.       @recover_hp = 0
  801.       @recover_sp_rate = 0
  802.       @recover_sp = 0
  803.       @hit = 100
  804.       @pdef_f = 0
  805.       @mdef_f = 0
  806.       @variance = 0
  807.       @element_set = []
  808.       @plus_state_set = []
  809.       @minus_state_set = []
  810.       @hp = 0
  811.       @sp = 0
  812.       @atk = 0
  813.       @pdef = 0
  814.       @dex = 0
  815.     end
  816.     attr_accessor :id
  817.     attr_accessor :name
  818.     attr_accessor :icon_name
  819.     attr_accessor :description
  820.     attr_accessor :scope
  821.     attr_accessor :occasion
  822.     attr_accessor :animation1_id
  823.     attr_accessor :animation2_id
  824.     attr_accessor :menu_se
  825.     attr_accessor :common_event_id
  826.     attr_accessor :price
  827.     attr_accessor :consumable
  828.     attr_accessor :parameter_type
  829.     attr_accessor :parameter_points
  830.     attr_accessor :recover_hp_rate
  831.     attr_accessor :recover_hp
  832.     attr_accessor :recover_sp_rate
  833.     attr_accessor :recover_sp
  834.     attr_accessor :hit
  835.     attr_accessor :pdef_f
  836.     attr_accessor :mdef_f
  837.     attr_accessor :variance
  838.     attr_accessor :element_set
  839.     attr_accessor :plus_state_set
  840.     attr_accessor :minus_state_set
  841.     attr_accessor :hp
  842.     attr_accessor :sp
  843.     attr_accessor :atk
  844.     attr_accessor :pdef
  845.     attr_accessor :dex
  846.   end
  847.   class Weapon
  848.     def initialize
  849.       @id = 0
  850.       @name = ""
  851.       @icon_name = ""
  852.       @description = ""
  853.       @animation1_id = 0
  854.       @animation2_id = 0
  855.       @price = 0
  856.       @atk = 0
  857.       @pdef = 0
  858.       @mdef = 0
  859.       @str_plus = 0
  860.       @dex_plus = 0
  861.       @agi_plus = 0
  862.       @int_plus = 0
  863.       @element_set = []
  864.       @plus_state_set = []
  865.       @minus_state_set = []
  866.       @hp = 0
  867.       @sp = 0
  868.       @atk = 0
  869.       @pdef = 0
  870.       @dex = 0
  871.     end
  872.     attr_accessor :id
  873.     attr_accessor :name
  874.     attr_accessor :icon_name
  875.     attr_accessor :description
  876.     attr_accessor :animation1_id
  877.     attr_accessor :animation2_id
  878.     attr_accessor :price
  879.     attr_accessor :atk
  880.     attr_accessor :pdef
  881.     attr_accessor :mdef
  882.     attr_accessor :str_plus
  883.     attr_accessor :dex_plus
  884.     attr_accessor :agi_plus
  885.     attr_accessor :int_plus
  886.     attr_accessor :element_set
  887.     attr_accessor :plus_state_set
  888.     attr_accessor :minus_state_set
  889.     attr_accessor :hp
  890.     attr_accessor :sp
  891.     attr_accessor :atk
  892.     attr_accessor :pdef
  893.     attr_accessor :dex
  894.   end
  895.   class Armor
  896.     def initialize
  897.       @id = 0
  898.       @name = ""
  899.       @icon_name = ""
  900.       @description = ""
  901.       @kind = 0
  902.       @auto_state_id = 0
  903.       @price = 0
  904.       @pdef = 0
  905.       @mdef = 0
  906.       @eva = 0
  907.       @str_plus = 0
  908.       @dex_plus = 0
  909.       @agi_plus = 0
  910.       @int_plus = 0
  911.       @guard_element_set = []
  912.       @guard_state_set = []
  913.       @hp = 0
  914.       @sp = 0
  915.       @atk = 0
  916.       @pdef = 0
  917.       @dex = 0
  918.     end
  919.     attr_accessor :id                     
  920.     attr_accessor :name                  
  921.     attr_accessor :icon_name            
  922.     attr_accessor :description           
  923.     attr_accessor :kind                  
  924.     attr_accessor :auto_state_id         
  925.     attr_accessor :price                  
  926.     attr_accessor :pdef                  
  927.     attr_accessor :mdef                  
  928.     attr_accessor :eva                  
  929.     attr_accessor :str_plus               
  930.     attr_accessor :dex_plus               
  931.     attr_accessor :agi_plus              
  932.     attr_accessor :int_plus               
  933.     attr_accessor :guard_element_set     
  934.     attr_accessor :guard_state_set        
  935.     attr_accessor :hp
  936.     attr_accessor :sp
  937.     attr_accessor :atk
  938.     attr_accessor :pdef
  939.     attr_accessor :dex
  940.   end
  941. end
复制代码

Lv1.梦旅人

梦石
0
星屑
155
在线时间
0 小时
注册时间
2009-10-30
帖子
1
2
发表于 2009-10-30 15:55:12 | 只看该作者
好厉害!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
帖子
1361

贵宾

3
发表于 2009-10-30 16:40:41 | 只看该作者
有耐心
回复 支持 反对

使用道具 举报

Lv1.梦旅人

炎发灼眼的讨伐者

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
帖子
904
4
发表于 2009-10-30 17:55:57 | 只看该作者
路过 支持一下    ~~ 不错
RMXP&amp;RMVX通用Web化完成- -|||
回复 支持 反对

使用道具 举报

Lv1.梦旅人

魔王 ⑨

梦石
0
星屑
95
在线时间
380 小时
注册时间
2006-10-16
帖子
4299

贵宾

5
 楼主| 发表于 2009-10-30 18:00:50 | 只看该作者
啊,夏娜大人您好
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1195
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

6
发表于 2009-10-30 18:13:06 | 只看该作者
好是好……可是用不着也没办法啊

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

职业水客

梦石
0
星屑
50
在线时间
23 小时
注册时间
2007-2-25
帖子
3360
7
发表于 2009-10-30 21:19:53 | 只看该作者
来占楼。。。支持支持
虽然我还是爱自己弄= =b
RTP素材修改教程,教你修改出属于自己的默认素材动画~
http://rpg.blue/forum.php?m ... d=158378&amp;extra=
欢迎来水(雾
回复 支持 反对

使用道具 举报

Lv1.梦旅人

ACG宅

梦石
0
星屑
72
在线时间
413 小时
注册时间
2008-10-1
帖子
5595

开拓者贵宾

8
发表于 2009-10-30 21:35:04 | 只看该作者
不错嘛,小月月长大了
此号诞生于公元2008年10月1日。
此号消失于公元2012年10月1日。
4年的经历,4年的守望。现在只剩下66RPG的名字和当年的“梦想世界,在你手中。”这一句话。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3657
在线时间
4466 小时
注册时间
2008-6-12
帖子
802
9
发表于 2009-11-1 08:58:09 | 只看该作者
经验不够,唉
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
393 小时
注册时间
2008-11-7
帖子
353
10
发表于 2009-11-1 11:31:56 | 只看该作者
下来看看
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 12:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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