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

Project1

 找回密码
 注册会员
搜索
楼主: 英顺的马甲
打印 上一主题 下一主题

[原创发布] 【相隔1年多的更新][22.1.2015][v0.8】便民任务界面

  [复制链接]

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
跳转到指定楼层
1
发表于 2011-2-15 11:34:39 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 英顺的马甲 于 2015-1-22 21:56 编辑

2015年1月22日正式开坑:下次更新时此脚本将升格为任务系统

@Wait @Cache 防bug=w=

用注释设置使设置更加简单
  1. 更新日志:

  2.   v0.8
  3.     1.添加了自动换行功能
  4.     2.删除了垂直对齐功能(对已使用的人深感抱歉)
  5.     4.更改了文本的解析法
  6.     3.描绘内容与刷新同步(可较顺滑的在任务间切换)
  7.     4.修正一个没被发现的BUG
  8.    
  9.   v0.7
  10.     1.对脚本结构进行优化
  11.     2.更改数据结构(也就是说之前的存档再度全死)
  12.     3.缩短代码
  13.     4.加入自动记录并返回上个界面的功能
  14.     5.移除一个没用却一直忘了删掉的功能 =_=||
  15.     6.添加垂直对齐功能(很坑,请依情况使用)
  16.     7.添加把多行内容显示为一行的功能
  17.    
  18.   v坑爹(超坑爹!失败告终)
  19.     1.添加ERB支持(非常坑,已放弃)
  20.     2.添加任务系统(已暂停并删除,以后会继续)
  21.     3.拥有自己的数据库(很坑,已抛弃)
  22.    
  23.   v0.6
  24.     1.增加滚动功能
  25.     2.对脚本结构进行优化
  26.    
  27.   v0.5
  28.     1.改名为任务界面(总觉得这只是界面不是系统)
  29.     2.优化所有正则表达式的匹配模式
  30.     4.解决一个大BUG
  31.     5.更改数据结构(也就是说之前的存档全死)
  32.     6.增加“追加说明”的功能
  33.    
  34.   v0.4
  35.     1.优化代码
  36.     2.增加“任务更新”的功能
  37.    
  38.   v0.3
  39.     1.增加“放弃任务”的功能
  40.     2.解决一个未曾被发现的BUG
  41.     3.设置简单化
  42.     4.美化打勾
  43.     5.增加打叉
  44.    
  45.   v0.2
  46.     1.加强说明显示效果
  47.     2.去掉一些不必要的工作
复制代码
脚本:
RUBY 代码复制
  1. #==============================================================================#
  2. #                          便民任务界面 by EngShun                             #
  3. #                                                                              #
  4. #    由于此版本仅做出了一些小优化,                                            #
  5. #    因此设置方法请参考v0.7的范例                                              #
  6. #                                                                              #
  7. #    效果说明:                                                                #
  8. #    支持普通对话框效果                                                        #
  9. #    \a[号码]     :更改左右对齐方式(0,1,2)。                                 #
  10. #    \itm[物品id] :物品数量                                                    #
  11. #    \wpn[武器id] :武器数量                                                    #
  12. #    \amr[防具id] :防具数量                                                    #
  13. #    \eval{脚本}  :运行脚本                                                    #
  14. #    \1line{内容} :把多行的内容显示为一行                                      #
  15. #    \bold        :字体加粗,插入多一次关闭                                    #
  16. #    \italic      :字体打斜,插入多一次关闭                                    #
  17. #    \f[字体名称] :更改字体                                                    #
  18. #    \s[号码]     :更改字体大小                                                #
  19. #    \p[名称]     :插入图片                                                    #
  20. #    \icon[名称]  :插入图标                                                    #
  21. #                                                                              #
  22. #==============================================================================#
  23.  
  24. #===============================================================================
  25. # ■ 队伍
  26. #===============================================================================
  27. class Game_Party
  28.   Mission = Struct.new(:id, :name, :info, :status)
  29.   alias org_init_mission initialize if !defined?(org_init_mission)
  30.   #--------------------------------------------------------------------------
  31.   # ● 重定义初始化
  32.   #--------------------------------------------------------------------------
  33.   def initialize
  34.     @mission = {}
  35.     org_init_mission
  36.   end
  37.   def no_mission?
  38.     return @mission == {}
  39.   end
  40.   def missions
  41.     if no_mission?
  42.       m = Mission.new(0,"没有任务","\n\n\n\\a[1]\\s[32]你还没有领取任何任务",0)
  43.       return [m]
  44.     end
  45.     return @mission.values.sort_by {|m|m.id}
  46.   end
  47.   def get_mission(mission,info)
  48.     return if @mission.has_key?(mission)
  49.     id = missions[-1].id + 1
  50.     @mission[mission] = Mission.new(id,mission,info,0)
  51.   end
  52.   def done_mission(mission)
  53.     @mission[mission].status = 1 if @mission[mission].status == 0
  54.   end
  55.   def delete_mission(mission)
  56.     @mission.delete(mission)
  57.   end
  58.   def fail_mission(mission)
  59.     @mission[mission].status = 2 if @mission[mission].status == 0
  60.   end
  61.   def resume_mission(mission)
  62.     @mission[mission].status = 0 if @mission[mission].status == 2
  63.   end
  64.   def done_all_mission
  65.     @mission.each{|k,m|m.status = 1}
  66.   end
  67.   def update_mission(mission,info)
  68.     @mission[mission].info = info
  69.   end
  70.   def add_mission_info(mission,info)
  71.     @mission[mission].info += "\n" + info
  72.   end
  73.   def delete_all_mission
  74.     @mission = {}
  75.   end
  76.   def resume_all_mission
  77.     @mission.each{|k,m|m.status = 0 if m.status == 2}
  78.   end
  79. end
  80.  
  81. #===============================================================================
  82. # ■ 任务列表窗口
  83. #===============================================================================
  84. class Window_Mission < Window_Selectable
  85.   #--------------------------------------------------------------------------
  86.   # ● 初始化对象
  87.   #--------------------------------------------------------------------------
  88.   def initialize
  89.     super(0, 64, 200, 416)
  90.     self.index = 0
  91.     @mission = $game_party.missions
  92.     @item_max = @mission.size
  93.     if self.contents != nil
  94.       self.contents.dispose
  95.       self.contents = nil
  96.     end
  97.     self.contents = Bitmap.new(width - 32, @item_max * 32)
  98.     for i in [email]0...@mission.size[/email]
  99.       t = @mission[i].status != 0
  100.       self.contents.font.color = t ? disabled_color : normal_color
  101.       text = @mission[i].name
  102.       self.contents.draw_text(4, i * 32, 160, 32, text.to_s)
  103.       self.contents.font.color = system_color
  104.       self.contents.draw_text(self.contents.width-32, i * 32, 32, 32, "□",1) unless $game_party.no_mission?
  105.       if @mission[i].status == 1
  106.         self.contents.font.color = crisis_color
  107.         self.contents.draw_text(self.contents.width-32, i * 32, 32, 32, "√",1)
  108.       elsif @mission[i].status == 2
  109.         self.contents.font.color = knockout_color
  110.         self.contents.draw_text(self.contents.width-32, i * 32, 32, 32, "×",1)
  111.       end
  112.     end
  113.   end
  114. end
  115.  
  116. #===============================================================================
  117. # ■ 任务详情窗口
  118. #===============================================================================
  119. class Window_MissionInfo < Window_Base
  120.   attr_accessor :wait
  121.   attr_accessor :scroll_up
  122.   #--------------------------------------------------------------------------
  123.   # ● 初始化对象
  124.   #--------------------------------------------------------------------------
  125.   def initialize
  126.     super(200,64,440,416)
  127.     self.contents =  Bitmap.new(408, 384)
  128.     @scroll_up = false
  129.     @wait = 90
  130.     @items = []
  131.     @progress = 0
  132.     @draw_y = 0
  133.     @align = 0
  134.     @cache = Bitmap.new(160,160)
  135.     @font = Font.new
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 刷新画面
  139.   #--------------------------------------------------------------------------
  140.   def update
  141.     super
  142.     parse_items if @items.size > 0
  143.     return if self.contents.height <= 384
  144.     return @wait -= 1 if @wait > 0
  145.     self.oy += @scroll_up ? -1 : 1
  146.     self.oy = 0 if self.oy < 0
  147.     self.oy = oy_max if self.oy > oy_max
  148.     if self.oy <= 0
  149.       @scroll_up = false
  150.       @wait = 60
  151.     elsif self.oy >= oy_max
  152.       @scroll_up = true
  153.       @wait = 60
  154.     end
  155.   end
  156.   #--------------------------------------------------------------------------
  157.   # ● 释放
  158.   #--------------------------------------------------------------------------
  159.   def dispose
  160.     super
  161.     @cache.dispose
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● 滚动最大值
  165.   #--------------------------------------------------------------------------
  166.   def oy_max
  167.     return self.contents.height - 384
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● 刷新
  171.   #--------------------------------------------------------------------------
  172.   def refresh(str)
  173.     str = str.clone
  174.     @scroll_up = false
  175.     @wait = 120
  176.     @draw_y = 0
  177.     @align = 0
  178.     @progress = 0
  179.     @lines = []
  180.     self.oy = 0
  181.     @cache.font = Font.new
  182.     @font = Font.new
  183.     self.contents.dispose
  184.     self.contents = Bitmap.new(408, 384)
  185.     parse_text(str)
  186.     12.times{parse_items}
  187.   end
  188.   #--------------------------------------------------------------------------
  189.   # ● 描绘行
  190.   #--------------------------------------------------------------------------
  191.   def draw_line(width, height, items)
  192.     bitmap = Bitmap.new(width, height)
  193.     bitmap.font = @font
  194.     x = 0
  195.     for item in items
  196.       if item.is_a?(Color)
  197.         bitmap.font.color = item
  198.       elsif item.is_a?(Integer)
  199.         bitmap.font.size = item
  200.       elsif item.is_a?(Array)
  201.         bitmap.font.name = item[0] if item.size == 1
  202.       elsif item.is_a?(Bitmap)
  203.         bitmap.blt(x + 2, (height - item.height) / 2,
  204.                    item, Rect.new(0,0,item.width,item.height))
  205.         x += item.width + 4
  206.       elsif item == :bold
  207.         bitmap.font.italic = !bitmap.font.bold
  208.       elsif item == :italic
  209.         bitmap.font.italic = !bitmap.font.italic
  210.       else
  211.         bitmap.draw_text(x,0,width,height,item)
  212.         x += bitmap.text_size(item).width
  213.       end
  214.     end
  215.     return bitmap
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● 解析文本
  219.   #--------------------------------------------------------------------------
  220.   def parse_text(str)
  221.     begin
  222.       last_text = str.clone
  223.       str.gsub!(/\\v\[(\d+)\]/i) { $game_variables[$1.to_i] }
  224.       str.gsub!(/\\g/i) { $game_party.gold.to_s }
  225.       str.gsub!(/\\itm\[(\d+)\]/i) { $game_party.item_number($1.to_i) }
  226.       str.gsub!(/\\wpn\[(\d+)\]/i) { $game_party.weapon_number($1.to_i) }
  227.       str.gsub!(/\\amr\[(\d+)\]/i) { $game_party.armor_number($1.to_i) }
  228.       str.gsub!(/\\1line{(.+?)}/im) { $1.delete("\n") }
  229.       str.gsub!(/\\eval{(.+?)}/im) { eval($1) }
  230.     end until str == last_text
  231.     str.gsub!(/\\n\[(\d+)\]/i) do
  232.       $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  233.     end
  234.     str.gsub!(/\n/){"\000\002n\000"}
  235.     str.gsub!(/\\\\/) { "\001" }
  236.     str.gsub!(/\\a\[([0-2])\]/i){ "\000\0027#{$1}" }
  237.     str.gsub!(/\\c\[(\d+)\]/i) { "\000\0020#{$1}\000" }
  238.     str.gsub!(/\\bold/i) { "\000\0021\000" }
  239.     str.gsub!(/\\italic/i) { "\000\0022\000" }
  240.     str.gsub!(/\\f\[(\w+)\]/i) { "\000\0023#{$1}\000" }
  241.     str.gsub!(/\\s\[(\d+)\]/i) { "\000\0024#{$1}\000" }
  242.     str.gsub!(/\\p\[(.+?)\]/i) { "\000\0025#{$1}\000" }
  243.     str.gsub!(/\\icon\[(.+?)\]/i){ "\000\0026#{$1}\000" }
  244.     str.gsub!(/\001/) {"\\"}
  245.     @items = str.split("\000")
  246.     @items.delete("")
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ● 深度解析
  250.   #--------------------------------------------------------------------------
  251.   def parse_items
  252.     return unless @items.size > 0
  253.     bitmap = @cache
  254.     width, height, items = 1, 32, []
  255.     while item = @items.delete_at(0)
  256.       if item[/^\002([0-9a-z])(.*)/]
  257.         case (a = $1)
  258.         when '7'
  259.           @align = $2.to_i
  260.         when '0'
  261.           color = $2.to_i
  262.           bitmap.font.color = if color >= 0 and color <= 9
  263.             text_color(color)
  264.           elsif color == 8
  265.             disabled_color
  266.           elsif color == 9
  267.             system_color
  268.           end
  269.           items.push bitmap.font.color
  270.         when '1'
  271.           items.push :bold
  272.         when '2'
  273.           items.push :italic
  274.         when '3'
  275.           bitmap.font.name = $2
  276.           items.push [bitmap.font.name]
  277.         when '4'
  278.           bitmap.font.size = $2.to_i
  279.           items.push bitmap.font.size
  280.         when '5', '6'
  281.           item = (a == 5) ? RPG::Cache.picture($2) : RPG::Cache.icon($2)
  282.           if item.width > 408
  283.             item.dispose
  284.             items.unshift("[图片太大无法显示]")
  285.             next
  286.           elsif width + item.width > 408
  287.             @items.unshift(item)
  288.             break
  289.           end
  290.           items.push(item)
  291.           width += item.width + 4
  292.           height = item.height + 4 if item.height + 4 > height
  293.         when 'n'
  294.           break
  295.         end
  296.       else
  297.         str = ""
  298.         size = Rect.new(0, 0, 0, 0)
  299.         while s = item.slice!(/./)
  300.           size = bitmap.text_size(str + s)
  301.           if width + size.width > 408
  302.             item.insert(0, s)
  303.             break
  304.           else
  305.             str += s
  306.           end
  307.         end
  308.         if items[-1].is_a?(String)
  309.           items[-1] += str
  310.         else
  311.           items.push(str)
  312.         end
  313.         width += size.width
  314.         height = size.height + 4 if size.height + 4 > height
  315.         if item != ""
  316.           @items.unshift(item)
  317.           break
  318.         end
  319.       end
  320.     end
  321.     b = draw_line(width, height, items)
  322.     if @draw_y + b.height > 384
  323.       c = self.contents
  324.       self.contents = Bitmap.new(408, @draw_y + b.height)
  325.       self.contents.blt(0, 0, c, Rect.new(0,0,c.width, c.height))
  326.       c.dispose
  327.     end
  328.     x = 0
  329.     x = 204 - (b.width / 2) if @align == 1
  330.     x = 408 - b.width if @align == 2
  331.     self.contents.blt(x, @draw_y, b, Rect.new(0,0,b.width, b.height))
  332.     @draw_y += b.height
  333.   end
  334. end
  335.  
  336. #===============================================================================
  337. # ■ 任务界面
  338. #===============================================================================
  339. class Scene_Mission
  340.   #--------------------------------------------------------------------------
  341.   # ● 初始化
  342.   #--------------------------------------------------------------------------
  343.   def initialize
  344.     @last_scene = $scene
  345.   end
  346.   #--------------------------------------------------------------------------
  347.   # ● 主处理
  348.   #--------------------------------------------------------------------------
  349.   def main
  350.     @mission = $game_party.missions
  351.     @window1 = Window_Base.new(0,0,200,64)
  352.     @window1.contents = Bitmap.new(168,32)
  353.     @window1.contents.draw_text(0,0,168,32,"任务",1)
  354.     @window2 = Window_Base.new(200,0,440,64)
  355.     @window2.contents = Bitmap.new(408,32)
  356.     @window2.contents.draw_text(0,0,408,32,"任务说明",1)
  357.     @mission_window = Window_Mission.new
  358.     @mission_window.index = @mission.size - 1
  359.     @index = @mission_window.index
  360.     @info_window = Window_MissionInfo.new
  361.     @info_window.refresh(@mission[@index].info)
  362.     Graphics.transition
  363.     loop do
  364.       Graphics.update
  365.       Input.update
  366.       update
  367.       if $scene != self
  368.         break
  369.       end
  370.     end
  371.     Graphics.freeze
  372.     @window1.dispose
  373.     @window2.dispose
  374.     @mission_window.dispose
  375.     @info_window.dispose
  376.   end
  377.   #--------------------------------------------------------------------------
  378.   # ● 刷新画面
  379.   #--------------------------------------------------------------------------
  380.   def update
  381.     @mission_window.update
  382.     @info_window.update
  383.     if @index != @mission_window.index
  384.       @index = @mission_window.index
  385.       @info_window.refresh(@mission[@index].info)
  386.     end
  387.     return update_mission if @mission_window.active
  388.     update_info
  389.   end
  390.   #--------------------------------------------------------------------------
  391.   # ● 刷新任务
  392.   #--------------------------------------------------------------------------
  393.   def update_mission
  394.     if Input.trigger?(Input::C)
  395.       $game_system.se_play($data_system.decision_se)
  396.       @mission_window.active = false
  397.       @info_window.oy = 0
  398.     elsif Input.trigger?(Input::B)
  399.       $game_system.se_play($data_system.cancel_se)
  400.       $scene = @last_scene
  401.       return
  402.     end
  403.   end
  404.   #--------------------------------------------------------------------------
  405.   # ● 刷新人物详情
  406.   #--------------------------------------------------------------------------
  407.   def update_info
  408.     @info_window.wait = 90
  409.     if Input.press?(Input::UP)
  410.       @info_window.oy -= 3
  411.       @info_window.oy = 0 if @info_window.oy < 0
  412.     elsif Input.press?(Input::DOWN)
  413.       @info_window.oy += 3
  414.       @info_window.oy = @info_window.oy_max if @info_window.oy > @info_window.oy_max
  415.     elsif Input.repeat?(Input::L)
  416.       $game_system.se_play($data_system.cursor_se)
  417.       @mission_window.index -= 1
  418.       @mission_window.index = $game_party.missions.size - 1 if @mission_window.index < 0
  419.     elsif Input.repeat?(Input::R)
  420.       $game_system.se_play($data_system.cursor_se)
  421.       @mission_window.index += 1
  422.       @mission_window.index = 0 if @mission_window.index >= $game_party.missions.size
  423.     elsif Input.trigger?(Input::B)
  424.       $game_system.se_play($data_system.cancel_se)
  425.       @mission_window.active = true
  426.       @info_window.scroll_up = false
  427.       @info_window.oy = 0
  428.     end
  429.   end
  430. end
  431.  
  432. #===============================================================================
  433. # ■ 事件处理器
  434. #===============================================================================
  435. class Interpreter
  436.   alias orig_ec_mission execute_command if !defined?(orig_ec_mission)
  437.   #--------------------------------------------------------------------------
  438.   # ● 重定义执行事件命令
  439.   #--------------------------------------------------------------------------
  440.   def execute_command
  441.     if @index >= @list.size - 1
  442.       command_end
  443.       return true
  444.     end
  445.     @parameters = @list[@index].parameters
  446.     return command_108 if @list[@index].code == 108
  447.     return orig_ec_mission
  448.   end
  449.   #--------------------------------------------------------------------------
  450.   # ● 注释
  451.   #--------------------------------------------------------------------------
  452.   def command_108
  453.     case @list[@index].parameters[0]
  454.     when (/^删除任务\[(\w+)\]$/)
  455.       $game_party.delete_mission($1)
  456.       return true
  457.     when (/^完成任务\[(\w+)\]$/)
  458.       $game_party.done_mission($1)
  459.       return true
  460.     when "删除所有任务"
  461.       $game_party.delete_all_mission
  462.       return true
  463.     when "完成所有任务"
  464.       $game_party.done_all_mission
  465.       return true
  466.     when (/^放弃任务\[(\w+)\]$/)
  467.       $game_party.fail_mission($1)
  468.       return true
  469.     when (/^恢复任务\[(\w+)\]$/)
  470.       $game_party.resume_mission($1)
  471.       return true
  472.     when "恢复所有任务"
  473.       $game_party.resume_all_mission
  474.       return true
  475.     end
  476.     text = @list[@index].parameters[0]
  477.     loop do
  478.       if @list[@index+1].code == 108 or @list[@index+1].code == 408
  479.         text += "\n" + @list[@index+1].parameters[0]
  480.       else
  481.         break
  482.       end
  483.       @index += 1
  484.     end
  485.     split = text.split("\n")
  486.     if (split[0] == "任务设置" or split[0] == "任务更新" or split[0] == "追加说明") and split.size >= 3
  487.       info , name = split[2] , split[1]
  488.       if split.size >= 4
  489.         for i in 3...split.size
  490.           info += "\n" + split[i]
  491.         end
  492.       end
  493.       $game_party.get_mission(name,info) if split[0] == "任务设置"
  494.       $game_party.update_mission(name,info) if split[0] == "任务更新"
  495.       $game_party.add_mission_info(name,info) if split[0] == "追加说明"
  496.     end
  497.     return true
  498.   end
  499. end

截图:


下载:
v0.8并没有在功能上做出改动,因此不提供范例,
需要的请下载v0.7范例。

随工程附送VX→XP窗口皮肤一张

旧版本:
便民任务界面v0.7.rar (211.94 KB, 下载次数: 1093)
范例v0.6.rar (211.3 KB, 下载次数: 269)
范例 v0.5.rar (210.53 KB, 下载次数: 282)
范例 v0.4.rar (208.41 KB, 下载次数: 1988)
范例 v0.3.rar (208.18 KB, 下载次数: 2450)
范例.rar (206.2 KB, 下载次数: 844)         

点评

VX→XP的皮肤总是没横条纹……反正是RGSS1的糟糕之处……不管了  发表于 2012-8-30 18:45
谢谢  发表于 2011-2-15 16:12
帮你编辑了一下,  发表于 2011-2-15 15:30

评分

参与人数 7星屑 +76 +1 收起 理由
cc610523 + 1 精品文章
zmz6668 + 10 塞糖
鑫晴 + 30 精品文章
satgo1546 + 8 VX→XP的皮肤总是没横条纹……反正是RGSS1.
acn00269 + 8 塞糖
涂鸦boy + 10 塞糖
77777741 + 10 精品文章

查看全部评分

本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
2
 楼主| 发表于 2011-8-3 16:34:17 | 显示全部楼层
更新自顶:lol
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
3
 楼主| 发表于 2011-9-12 14:29:06 | 显示全部楼层
李梦遥 发表于 2011-9-12 13:35
不支持鼠标的切换,望修正。
  1. Graphics.update
复制代码
的下面插入
  1. Mouse.update
复制代码
应该就可以了,
写脚本的时候本来就没考虑到鼠标脚本
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
4
 楼主| 发表于 2011-9-12 21:52:56 | 显示全部楼层
本帖最后由 英顺的马甲 于 2011-9-12 21:54 编辑
李梦遥 发表于 2011-9-12 16:05
不行,鼠标的主要问题是,如果有两个任务,鼠标选择两个任务的名称不能切换内容,而键盘上下则可以切换 ...


  1. def update
  2.     @mission_window.update
  3.     @info_window.update
  4.     if Input.trigger?(Input::B)
  5.       $game_system.se_play($data_system.cancel_se)
  6.       $scene = Scene_Map.new
  7.       return
  8.     end
  9.     if Input.repeat?(Input::UP) or
  10.        Input.repeat?(Input::DOWN)
  11.       info = $game_party.mission.info[@mission_window.index].clone
  12.       @info_window.refresh(info)
  13.     end
复制代码
换成
  1. def update
  2.     @mission_window.update
  3.     @info_window.update
  4.     if Input.trigger?(Input::B)
  5.       $game_system.se_play($data_system.cancel_se)
  6.       $scene = Scene_Map.new
  7.       return
  8.     end
  9.     if @index != @mission_window.index
  10.       info = $game_party.mission.info[@mission_window.index].clone
  11.       @info_window.refresh(info)
  12.       @index = @mission_window.index
  13.     end
复制代码

点评

谢谢~  发表于 2011-9-12 22:21
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
5
 楼主| 发表于 2012-5-31 19:58:59 | 显示全部楼层
更新了,该满意了吧
@シスコン
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
6
 楼主| 发表于 2012-11-25 13:51:03 | 显示全部楼层
久违了的更新自顶==
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
7
 楼主| 发表于 2013-11-17 18:25:41 | 显示全部楼层
更新自顶
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
8
 楼主| 发表于 2014-8-30 23:38:30 | 显示全部楼层
Demon丶旋律 发表于 2014-8-29 02:57
既然有人挖坟了我也来问一句,如何在界面内显示X号变量的值?
还有就是 \eval{脚本}  :运行脚本  的用法我没 ...

变量方面就跟普通对话框一样,至于脚本嘛==
  1. \eval{p "这段脚本会被执行"}
复制代码

点评

明白了~  发表于 2014-8-31 00:47
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
51
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
9
 楼主| 发表于 2015-1-22 16:28:49 | 显示全部楼层
952193683 发表于 2015-1-22 11:54
挖个坟!我想知道为什么我完全按照你的做了!获得花的时候进度不会动的,也显示获得0个!但是我还能完成任 ...

关于进度的问题请附上事件设置的截图以便鉴定问题。
至于杀怪任务抱歉,此脚本仅提供“界面”,因此任务过程及内容设置方面的问题不在服务范围,请到提问区发问,谢谢。
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 13:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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