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

Project1

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

麻烦谁帮我修改个简单的脚本……

 关闭 [复制链接]

Lv4.逐梦者

梦石
0
星屑
5484
在线时间
1565 小时
注册时间
2006-9-30
帖子
2039

开拓者

跳转到指定楼层
1
发表于 2008-4-16 07:46:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #####################################################################
  2. #简陋的线索仓库= =
  3. #
  4. #偷懒用了物品栏= =
  5. #调用$scene = Scene_Clue.new
  6. #物品名+“,”+类别代号+“,”+颜色代号= =
  7. #比如"照片,3,1"显示出来是照片类,粉色字= =
  8. #类别代号:   0 :侦探小说   1 :书信  2 :日记  3 :照片  4 :备用1  
  9. #5 :备用2  6 :备用3
  10. #(名称是胡乱设的说= =可以自己改~删掉大概也米关系吧= =)
  11. #颜色代号: 和帮助里一样的说
  12. #如果物品设置的不能使用,按回车显示出的就是物品说明```
  13. #可以使用的话就挂公共事件= =

  14. #物品说明栏  \V[n]显示第n号变量的值
  15. #            \E  换行
  16. #            \C[n]换用第n号颜色
  17. #            \N[n]显示第n号角色名称
  18. #            \P[n]显示在cluepics里的cluepic_n图片(照片什么的用吧= =)
  19. #暂时米想到还有什么其他的了= =
  20. ########################################################################
  21. class Window_Clue < Window_Selectable
  22.   def initialize
  23.     super(160, 0, 480, 416)
  24.     @column_max = 2
  25.     refresh(0)
  26.     self.index = 0
  27.   end
  28.   def item
  29.     return @data[self.index]
  30.   end
  31.   def clear
  32.     if self.contents != nil
  33.     self.contents.clear
  34.   end
  35.   end
  36.   def refresh(type)
  37.     if self.contents != nil
  38.       self.contents.dispose
  39.       self.contents = nil
  40.     end
  41.     @data = []
  42. case type
  43. when 0
  44.     for i in 1...$data_items.size
  45.       if $data_items[i].name.split(/,/)[1] == "0" and $game_party.item_number(i) > 0
  46.         @data.push($data_items[i])
  47.       end
  48.     end
  49. when 1
  50.     for i in 1...$data_items.size
  51.       if $game_party.item_number(i) > 0 and $data_items[i].name.split(/,/)[1] == "1"
  52.         @data.push($data_items[i])
  53.       end
  54.     end
  55. when 2
  56.     for i in 1...$data_items.size
  57.       if $game_party.item_number(i) > 0 and $data_items[i].name.split(/,/)[1] == "2"
  58.         @data.push($data_items[i])
  59.       end
  60.     end
  61. when 3
  62.     for i in 1...$data_items.size
  63.       if $game_party.item_number(i) > 0 and $data_items[i].name.split(/,/)[1] == "3"
  64.         @data.push($data_items[i])
  65.       end
  66.     end
  67. when 4
  68.     for i in 1...$data_items.size
  69.       if $game_party.item_number(i) > 0 and $data_items[i].name.split(/,/)[1] == "4"
  70.         @data.push($data_items[i])
  71.       end
  72.     end
  73. when 5
  74.     for i in 1...$data_items.size
  75.       if $game_party.item_number(i) > 0 and $data_items[i].name.split(/,/)[1] == "5"
  76.         @data.push($data_items[i])
  77.       end
  78.     end
  79. when 6
  80.     for i in 1...$data_items.size
  81.       if $game_party.item_number(i) > 0 and $data_items[i].name.split(/,/)[1] == "6"
  82.         @data.push($data_items[i])
  83.       end
  84.     end
  85.   end
  86. @item_max = @data.size
  87.     if @item_max > 0
  88.       self.contents = Bitmap.new(width - 32, row_max * 32)
  89.       for i in 0...@item_max
  90.         draw_item(i)
  91.       end
  92.     end
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● 描绘项目
  96.   #     index : 项目编号
  97.   #--------------------------------------------------------------------------
  98.   def draw_item(index)
  99.     item = @data[index]
  100.     case item
  101.     when RPG::Item
  102.       number = $game_party.item_number(item.id)
  103.     end
  104.       self.contents.font.color = normal_color
  105.     x = 4 + index % 2 * (205 + 32)
  106.     y = index / 2 * 32
  107.     rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  108.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  109.     bitmap = RPG::Cache.icon(item.icon_name)
  110.     opacity = self.contents.font.color == normal_color ? 255 : 128

  111. if !item.name.split(/,/)[2].nil?
  112.      self.contents.font.color = text_color(item.name.split(/,/)[2].to_i)
  113.    else
  114.      self.contents.font.color = text_color(7)
  115.    end

  116.   self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  117.     self.contents.draw_text(x + 28, y, 212, 32, item.name.split(/,/)[0], 0)
  118.   end
  119.   #--------------------------------------------------------------------------
  120.   # ● 刷新帮助文本
  121.   #--------------------------------------------------------------------------
  122.   def update_help
  123.     @help_window.set_text(self.item == nil ? "" : self.item.description)
  124.   end
  125. end
  126. module RPG
  127.   module Cache
  128.     def self.cluepic(filename)
  129.       self.load_bitmap("Graphics/cluepics/", filename)
  130.     end
  131.   end
  132. end
  133. class Window_ClueHelp < Window_Base
  134.   def initialize
  135.     super(50, 50, 380, 380)
  136.     self.contents = Bitmap.new(width - 32, height - 32)
  137.     self.z = 99999
  138.   end
  139.   def clear
  140.     self.contents.clear
  141.   end
  142.   def set_text(mes)
  143.     self.contents.clear
  144.     self.contents.font.color = normal_color
  145.     x = y = 0
  146.     @cursor_width = 0
  147.     if $game_temp.choice_start == 0
  148.       x = 8
  149.     end
  150.     if mes!= nil
  151.       text = mes.clone
  152.       begin
  153.         last_text = text.clone
  154.         text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  155.       end until text == last_text
  156.       text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  157.         $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  158.       end
  159.       text.gsub!(/\\\\/) { "\000" }
  160.       text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  161.       text.gsub!(/\\[Gg]/) { "\002" }
  162.       text.gsub!(/\\[Pp]\[([0-9]+)\]/) { "\003[#{$1}]" }
  163.       text.gsub!(/\\[Ee]/) { "\004" }
  164.       while ((c = text.slice!(/./m)) != nil)
  165.         if c == "\000"
  166.           c = "\\"
  167.         end
  168.         if c == "\001"
  169.           text.sub!(/\[([0-9]+)\]/, "")
  170.           color = $1.to_i
  171.           if color >= 0 and color <= 7
  172.             self.contents.font.color = text_color(color)
  173.           end
  174.           next
  175.         end
  176.       if c == "\002"
  177.           y += 1
  178.         x = 0
  179.         next
  180.       end
  181.       if c == "\003"
  182.         text.sub!(/\[([0-9]+)\]/, "")
  183.         t = RPG::Cache.cluepic("cluepic_#{$1}")
  184.         self.contents.blt(x, 32 * y, t, t.rect)
  185.         t.dispose
  186.         next
  187.       end
  188.         if c == "\004"
  189.           y += 1
  190.           x = 0
  191.           if y >= $game_temp.choice_start
  192.             x = 8
  193.           end
  194.           next
  195.         end
  196.         self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
  197.         x += self.contents.text_size(c).width
  198.       end
  199.     end
  200.   end
  201. end
  202. class Scene_Clue
  203.     def main
  204.           @spriteset = Spriteset_Map.new
  205.     @help_window = Window_ClueHelp.new
  206.     @help_window.visible = false
  207.     @clue_window = Window_Clue.new
  208.     @clue_window.opacity = 160
  209.     @clue_window.index = -1
  210.     @clue_window.clear
  211.     @clue_window.active = false
  212.     @class_window = Window_Command.new(160, ["侦探小说", "书信", "日记", "照片", "备用1", "备用2", "备用3"])
  213. @class_window.opacity = 160
  214.     @clue_window.help_window = @help_window
  215.        Graphics.transition
  216.     loop do
  217.       Graphics.update
  218.       Input.update
  219.       update
  220.       if $scene != self
  221.         break
  222.       end
  223.     end
  224.     Graphics.freeze
  225.     @spriteset.dispose
  226.     @help_window.dispose
  227.     @clue_window.dispose
  228.     @class_window.dispose
  229.   end  
  230. def update
  231.     @help_window.update
  232.     @clue_window.update
  233.     @class_window.update
  234.     if @class_window.active
  235.       update_class
  236.       return
  237.     end
  238.     if @clue_window.active
  239.       update_clue
  240.       return
  241.     end
  242.       if @help_window.active
  243.       update_help
  244.       return
  245.     end
  246.   end
  247.    def update_class
  248.    if Input.trigger?(Input::B)
  249.      $game_system.se_play($data_system.cancel_se)
  250.      $scene = Scene_Map.new
  251.    end
  252.    if Input.trigger?(Input::C)
  253.      $game_system.se_play($data_system.decision_se)
  254.     @class_window.active = false
  255.      @clue_window.active = true
  256.      @clue_window.index = 0
  257.      @clue_window.refresh(@class_window.index)
  258.      @help_window.visible = false
  259.    end
  260.    if Input.dir4 !=0
  261.      @clue_window.refresh(@class_window.index)
  262.    end
  263. end
  264.     def update_clue
  265. @help_window.visible = false
  266.     if Input.trigger?(Input::B)
  267.       $game_system.se_play($data_system.cancel_se)
  268.       @help_window.clear
  269.       @help_window.visible = false
  270.       @clue_window.active = false
  271.       @class_window.active = true
  272.       @clue_window.index = -1
  273.     end
  274.     if Input.trigger?(Input::C)
  275.       @item = @clue_window.item
  276.       unless @item.is_a?(RPG::Item)
  277.         $game_system.se_play($data_system.buzzer_se)
  278.         return
  279.       end
  280.       if $game_party.item_can_use?(@item.id)
  281.          $game_system.se_play(@item.menu_se)
  282.         if @item.consumable
  283.           $game_party.lose_item(@item.id, 1)
  284.           @clue_window.draw_item(@clue_window.index)
  285.         end
  286.         if $game_party.all_dead?
  287.           $scene = Scene_Gameover.new
  288.           return
  289.         end
  290.         if @item.common_event_id > 0
  291.           $game_temp.common_event_id = @item.common_event_id
  292.           $scene = Scene_Map.new
  293.           return
  294.         end
  295.       return
  296.       else
  297.         $game_system.se_play($data_system.decision_se)
  298.       @clue_window.active = false
  299.     @help_window.visible = true
  300.     @help_window.active = true
  301.         return
  302.       end
  303.      end  
  304.    
  305.   end
  306.   def update_help
  307.     @help_window.active = true
  308.   @help_window.visible = true
  309.   if Input.trigger?(Input::B)
  310.       $game_system.se_play($data_system.cancel_se)
  311.      @help_window.active = false
  312.    @help_window.visible = false
  313.     @clue_window.active = true
  314.   end
  315.   end
  316. end
复制代码


脚本以上…………是物品检索的一种脚本.里面有7种分类,我想只留有0编号的一种

由于不会脚本,不知道该删去哪部分…

谁指点一下……
版务信息:本贴由楼主自主结贴~

Lv4.逐梦者

梦石
0
星屑
5484
在线时间
1565 小时
注册时间
2006-9-30
帖子
2039

开拓者

2
 楼主| 发表于 2008-4-16 08:28:19 | 只看该作者
{/fd}看样子是很晚了……明天再来看看
回复 支持 反对

使用道具 举报

Lv1.梦旅人

邪恶小龙包

梦石
0
星屑
55
在线时间
17 小时
注册时间
2006-5-22
帖子
7006

第2届短篇游戏比赛冠军第3届短篇游戏大赛小游戏及其他组冠军RMVX自由创作大赛冠军

3
发表于 2008-4-16 08:38:27 | 只看该作者
@class_window = Window_Command.new(160, ["侦探小说", "书信", "日记", "照片", "备用1", "备用2", "备用3"])
把后面的都删掉,变成
@class_window = Window_Command.new(160, ["侦探小说"])
这样应该可以了

虚无  堕落
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
4
发表于 2008-4-16 17:19:30 | 只看该作者

  1. #####################################################################
  2. #简陋的线索仓库= =
  3. #
  4. #偷懒用了物品栏= =
  5. #调用$scene = Scene_Clue.new
  6. #物品名+“,”+类别代号+“,”+颜色代号= =
  7. #比如"照片,3,1"显示出来是照片类,粉色字= =
  8. #类别代号:   0 :侦探小说   1 :书信  2 :日记  3 :照片  4 :备用1  
  9. #5 :备用2  6 :备用3
  10. #(名称是胡乱设的说= =可以自己改~删掉大概也米关系吧= =)
  11. #颜色代号: 和帮助里一样的说
  12. #如果物品设置的不能使用,按回车显示出的就是物品说明```
  13. #可以使用的话就挂公共事件= =

  14. #物品说明栏  \V[n]显示第n号变量的值
  15. #            \E  换行
  16. #            \C[n]换用第n号颜色
  17. #            \N[n]显示第n号角色名称
  18. #            \P[n]显示在cluepics里的cluepic_n图片(照片什么的用吧= =)
  19. #暂时米想到还有什么其他的了= =
  20. ########################################################################
  21. S1 = ["侦探小说", "书信"]  #要增加新的种类,只要给数组增加新的值就好了
  22.                            #比如 S1 = ["侦探小说", "书信","新增加的"]

  23. class Scene_Clue
  24.    def main
  25.          @spriteset = Spriteset_Map.new
  26.    @help_window = Window_ClueHelp.new
  27.    @help_window.visible = false
  28.    @clue_window = Window_Clue.new
  29.    @clue_window.opacity = 160
  30.    @clue_window.index = -1
  31.    @clue_window.clear
  32.    @clue_window.active = false
  33.    @class_window = Window_Command.new(160, S1)
  34. @class_window.opacity = 160
  35.    @clue_window.help_window = @help_window
  36.       Graphics.transition
  37.    loop do
  38.      Graphics.update
  39.      Input.update
  40.      update
  41.      if $scene != self
  42.        break
  43.      end
  44.    end
  45.    Graphics.freeze
  46.    @spriteset.dispose
  47.    @help_window.dispose
  48.    @clue_window.dispose
  49.    @class_window.dispose
  50. end  
  51. def update
  52.    @help_window.update
  53.    @clue_window.update
  54.    @class_window.update
  55.    if @class_window.active
  56.      update_class
  57.      return
  58.    end
  59.    if @clue_window.active
  60.      update_clue
  61.      return
  62.    end
  63.      if @help_window.active
  64.      update_help
  65.      return
  66.    end
  67. end
  68.   def update_class
  69.   if Input.trigger?(Input::B)
  70.     $game_system.se_play($data_system.cancel_se)
  71.     $scene = Scene_Map.new
  72.   end
  73.   if Input.trigger?(Input::C)
  74.     $game_system.se_play($data_system.decision_se)
  75.    @class_window.active = false
  76.     @clue_window.active = true
  77.     @clue_window.index = 0
  78.     @clue_window.refresh(@class_window.index)
  79.     @help_window.visible = false
  80.   end
  81.   if Input.dir4 !=0
  82.     @clue_window.refresh(@class_window.index)
  83.   end
  84. end
  85.    def update_clue
  86. @help_window.visible = false
  87.    if Input.trigger?(Input::B)
  88.      $game_system.se_play($data_system.cancel_se)
  89.      @help_window.clear
  90.      @help_window.visible = false
  91.      @clue_window.active = false
  92.      @class_window.active = true
  93.      @clue_window.index = -1
  94.    end
  95.    if Input.trigger?(Input::C)
  96.      @item = @clue_window.item
  97.      unless @item.is_a?(RPG::Item)
  98.        $game_system.se_play($data_system.buzzer_se)
  99.        return
  100.      end
  101.      if $game_party.item_can_use?(@item.id)
  102.         $game_system.se_play(@item.menu_se)
  103.        if @item.consumable
  104.          $game_party.lose_item(@item.id, 1)
  105.          @clue_window.draw_item(@clue_window.index)
  106.        end
  107.        if $game_party.all_dead?
  108.          $scene = Scene_Gameover.new
  109.          return
  110.        end
  111.        if @item.common_event_id > 0
  112.          $game_temp.common_event_id = @item.common_event_id
  113.          $scene = Scene_Map.new
  114.          return
  115.        end
  116.      return
  117.      else
  118.        $game_system.se_play($data_system.decision_se)
  119.      @clue_window.active = false
  120.    @help_window.visible = true
  121.    @help_window.active = true
  122.        return
  123.      end
  124.     end  
  125.    
  126. end
  127. def update_help
  128.    @help_window.active = true
  129. @help_window.visible = true
  130. if Input.trigger?(Input::B)
  131.      $game_system.se_play($data_system.cancel_se)
  132.     @help_window.active = false
  133.   @help_window.visible = false
  134.    @clue_window.active = true
  135. end
  136. end
  137. end


  138. module RPG
  139.   class Item
  140.     def type
  141.       type = @name.split(/,/)[1]
  142.       return type == nil ? "" : type
  143.     end
  144.   end
  145. end


  146. class Window_Clue < Window_Selectable
  147. def initialize
  148.    super(160, 0, 480, 416)
  149.    @column_max = 2
  150.    refresh(type)
  151.    self.index = 0
  152. end

  153. def item
  154.    return @data[self.index]
  155. end
  156. def clear
  157.    if self.contents != nil
  158.    self.contents.clear
  159. end
  160. end
  161. def refresh(type)
  162.    if self.contents != nil
  163.      self.contents.dispose
  164.      self.contents = nil
  165.    end
  166.    @data = []
  167.    
  168.    for i in 1...$data_items.size
  169.      if $data_items[i].type.to_i == type and $game_party.item_number(i) > 0
  170.        @data.push($data_items[i])
  171.      end
  172.    end

  173. @item_max = @data.size
  174.    if @item_max > 0
  175.      self.contents = Bitmap.new(width - 32, row_max * 32)
  176.      for i in 0...@item_max
  177.        draw_item(i)
  178.      end
  179.    end
  180. end
  181. #--------------------------------------------------------------------------
  182. # ● 描绘项目
  183. #     index : 项目编号
  184. #--------------------------------------------------------------------------
  185. def draw_item(index)
  186.    item = @data[index]
  187.    case item
  188.    when RPG::Item
  189.      number = $game_party.item_number(item.id)
  190.    end
  191.      self.contents.font.color = normal_color
  192.    x = 4 + index % 2 * (205 + 32)
  193.    y = index / 2 * 32
  194.    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  195.    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  196.    bitmap = RPG::Cache.icon(item.icon_name)
  197.    opacity = self.contents.font.color == normal_color ? 255 : 128

  198. if !item.name.split(/,/)[2].nil?
  199.     self.contents.font.color = text_color(item.name.split(/,/)[2].to_i)
  200.   else
  201.     self.contents.font.color = text_color(7)
  202.   end

  203. self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  204.    self.contents.draw_text(x + 28, y, 212, 32, item.name.split(/,/)[0], 0)
  205. end
  206. #--------------------------------------------------------------------------
  207. # ● 刷新帮助文本
  208. #--------------------------------------------------------------------------
  209. def update_help
  210.    @help_window.set_text(self.item == nil ? "" : self.item.description)
  211. end
  212. end
  213. module RPG
  214. module Cache
  215.    def self.cluepic(filename)
  216.      self.load_bitmap("Graphics/cluepics/", filename)
  217.    end
  218. end
  219. end
  220. class Window_ClueHelp < Window_Base
  221. def initialize
  222.    super(50, 50, 380, 380)
  223.    self.contents = Bitmap.new(width - 32, height - 32)
  224.    self.z = 99999
  225. end
  226. def clear
  227.    self.contents.clear
  228. end
  229. def set_text(mes)
  230.    self.contents.clear
  231.    self.contents.font.color = normal_color
  232.    x = y = 0
  233.    @cursor_width = 0
  234.    if $game_temp.choice_start == 0
  235.      x = 8
  236.    end
  237.    if mes!= nil
  238.      text = mes.clone
  239.      begin
  240.        last_text = text.clone
  241.        text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  242.      end until text == last_text
  243.      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  244.        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  245.      end
  246.      text.gsub!(/\\\\/) { "\000" }
  247.      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  248.      text.gsub!(/\\[Gg]/) { "\002" }
  249.      text.gsub!(/\\[Pp]\[([0-9]+)\]/) { "\003[#{$1}]" }
  250.      text.gsub!(/\\[Ee]/) { "\004" }
  251.      while ((c = text.slice!(/./m)) != nil)
  252.        if c == "\000"
  253.          c = "\\"
  254.        end
  255.        if c == "\001"
  256.          text.sub!(/\[([0-9]+)\]/, "")
  257.          color = $1.to_i
  258.          if color >= 0 and color <= 7
  259.            self.contents.font.color = text_color(color)
  260.          end
  261.          next
  262.        end
  263.      if c == "\002"
  264.          y += 1
  265.        x = 0
  266.        next
  267.      end
  268.      if c == "\003"
  269.        text.sub!(/\[([0-9]+)\]/, "")
  270.        t = RPG::Cache.cluepic("cluepic_#{$1}")
  271.        self.contents.blt(x, 32 * y, t, t.rect)
  272.        t.dispose
  273.        next
  274.      end
  275.        if c == "\004"
  276.          y += 1
  277.          x = 0
  278.          if y >= $game_temp.choice_start
  279.            x = 8
  280.          end
  281.          next
  282.        end
  283.        self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
  284.        x += self.contents.text_size(c).width
  285.      end
  286.    end
  287. end
  288. end
复制代码


#要增加新的种类,只要给数组增加新的值就好了(脚本里有说明),为了你以后修改的方便~~~
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 12:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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