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

Project1

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

同一个脚本的又一个问题

 关闭 [复制链接]

Lv4.逐梦者

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

开拓者

跳转到指定楼层
1
发表于 2008-3-22 00:56:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
{/fd}前两天关于这个脚本问过一次,这次又有问题了……

  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 Window_Item
  203.   alias new_refresh refresh
  204.   def refresh

  205.     @data = []
  206.     # 添加报务
  207.     for i in 1...$data_items.size
  208.       unless $data_items[i].name.split(/,/)
  209.         if $game_party.item_number(i) > 0
  210.           @data.push($data_items[i])
  211.       end
  212.       end
  213.     end
  214.   end
  215. end
  216. class Scene_Clue
  217.     def main
  218.           @spriteset = Spriteset_Map.new
  219.     @help_window = Window_ClueHelp.new
  220.     @help_window.visible = false
  221.     @clue_window = Window_Clue.new
  222.     @clue_window.opacity = 160
  223.     @clue_window.index = -1
  224.     @clue_window.clear
  225.     @clue_window.active = false
  226.     @class_window = Window_Command.new(160, ["侦探小说", "书信", "日记", "照片", "备用1", "备用2", "备用3"])
  227. @class_window.opacity = 160
  228.     @clue_window.help_window = @help_window
  229.        Graphics.transition
  230.     loop do
  231.       Graphics.update
  232.       Input.update
  233.       update
  234.       if $scene != self
  235.         break
  236.       end
  237.     end
  238.     Graphics.freeze
  239.     @spriteset.dispose
  240.     @help_window.dispose
  241.     @clue_window.dispose
  242.     @class_window.dispose
  243.   end  
  244. def update
  245.     @help_window.update
  246.     @clue_window.update
  247.     @class_window.update
  248.     if @class_window.active
  249.       update_class
  250.       return
  251.     end
  252.     if @clue_window.active
  253.       update_clue
  254.       return
  255.     end
  256.       if @help_window.active
  257.       update_help
  258.       return
  259.     end
  260.   end
  261.    def update_class
  262.    if Input.trigger?(Input::B)
  263.      $game_system.se_play($data_system.cancel_se)
  264.      $scene = Scene_Map.new
  265.    end
  266.    if Input.trigger?(Input::C)
  267.      $game_system.se_play($data_system.decision_se)
  268.     @class_window.active = false
  269.      @clue_window.active = true
  270.      @clue_window.index = 0
  271.      @clue_window.refresh(@class_window.index)
  272.      @help_window.visible = false
  273.    end
  274.    if Input.dir4 !=0
  275.      @clue_window.refresh(@class_window.index)
  276.    end
  277. end
  278.     def update_clue
  279. @help_window.visible = false
  280.     if Input.trigger?(Input::B)
  281.       $game_system.se_play($data_system.cancel_se)
  282.       @help_window.clear
  283.       @help_window.visible = false
  284.       @clue_window.active = false
  285.       @class_window.active = true
  286.       @clue_window.index = -1
  287.     end
  288.     if Input.trigger?(Input::C)
  289.       @item = @clue_window.item
  290.       unless @item.is_a?(RPG::Item)
  291.         $game_system.se_play($data_system.buzzer_se)
  292.         return
  293.       end
  294.       if $game_party.item_can_use?(@item.id)
  295.          $game_system.se_play(@item.menu_se)
  296.         if @item.consumable
  297.           $game_party.lose_item(@item.id, 1)
  298.           @clue_window.draw_item(@clue_window.index)
  299.         end
  300.         if $game_party.all_dead?
  301.           $scene = Scene_Gameover.new
  302.           return
  303.         end
  304.         if @item.common_event_id > 0
  305.           $game_temp.common_event_id = @item.common_event_id
  306.           $scene = Scene_Map.new
  307.           return
  308.         end
  309.       return
  310.       else
  311.         $game_system.se_play($data_system.decision_se)
  312.       @clue_window.active = false
  313.     @help_window.visible = true
  314.     @help_window.active = true
  315.         return
  316.       end
  317.      end  
  318.    
  319.   end
  320.   def update_help
  321.     @help_window.active = true
  322.   @help_window.visible = true
  323.   if Input.trigger?(Input::B)
  324.       $game_system.se_play($data_system.cancel_se)
  325.      @help_window.active = false
  326.    @help_window.visible = false
  327.     @clue_window.active = true
  328.   end
  329.   end
  330. end
复制代码


使用后无法在战斗画面使用道具……

不会是脚本冲突的问题,新工程也一样

在那里能修改?

此贴于 2008-3-26 0:22:58 被版主水迭澜提醒,请楼主看到后对本贴做出回应。


----------------版务----------------
如果问题未解决,请继续提问
如果问题已解决,请结贴
若到末贴发贴时间后一周仍未结贴
管理员会自动为你过期帖子、结贴或强行认可答案(好人卡-1)

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2007-12-16
帖子
3454
2
发表于 2008-3-22 00:58:07 | 只看该作者
那么,你的XP是1.02还是1.03的呢{/hx}
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

3
 楼主| 发表于 2008-3-22 01:03:35 | 只看该作者
{/fd}1.03
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
4
发表于 2008-3-23 01:22:45 | 只看该作者
确实是脚本冲突,作者偷懒直接用了默认的物品栏,LZ把脚本中
   for i in 1...$data_items.size
      unless $data_items.name.split(/,/)
        if $game_party.item_number(i) > 0
          @data.push($data_items)
      end
      end
    end
删了
自己再写一个仓库的物品栏吧
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 13:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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