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

Project1

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

[已经解决] 关于农场脚本出错

[复制链接]

Lv1.梦旅人

梦石
0
星屑
230
在线时间
125 小时
注册时间
2013-12-20
帖子
57
跳转到指定楼层
1
发表于 2013-12-25 11:13:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_KeyItem
  4. #------------------------------------------------------------------------------
  5. #  此視窗使用於事件指令中的“選擇物品”功能。
  6. #==============================================================================
  7.  
  8. class Window_KeyItem < Window_ItemList
  9.   #--------------------------------------------------------------------------
  10.   # ● 查詢清單中是否含有此物品
  11.   #--------------------------------------------------------------------------
  12.   def include?(item)
  13.     if @category==:key_item
  14.       if ($game_variables[5000]!="")&&($game_variables[5000]!=0)
  15.         item.is_a?(RPG::Item) &&(item.read_note('itype_id')==$game_variables[5000])
  16.       else
  17.         item.is_a?(RPG::Item) &&item.key_item?
  18.       end
  19.     else
  20.       false
  21.     end
  22.  
  23.   end
  24. end



这是和农场一起的 发现物品 脚本 就是他的第15行出错


RUBY 代码复制
  1. $time = {}
  2. code_time = Thread.new{
  3. loop do
  4.   $time.each do |k,v|
  5.     $time[k] = [v - 1,0].max
  6.   end
  7.   sleep 1
  8. end
  9. }
  10. class Sprite_time < Sprite_Base
  11.   attr_accessor   :ch
  12.   def initialize(view_port,ch)
  13.     super(view_port)
  14.     @ch = ch
  15.     @time = $time[[$game_map.map_id,@ch.id]]
  16.     @new = true
  17.     @item_inde=0
  18.     @plant_index=0
  19.     @plant_count=0
  20.     @plant_time=[]
  21.     @plant_name=[]
  22.     self.bitmap = Bitmap.new(96,36)
  23.   end
  24.  
  25.   def clear_self
  26.     if $time[[$game_map.map_id,@ch.id]] == 0
  27.       $time.delete([$game_map.map_id,@ch.id])
  28.       self.dispose
  29.       return true
  30.     else
  31.       return false
  32.     end
  33.   end
  34.  
  35.   def update
  36.       if @ch.name=~ /%(\d[,,])?(\d+[,,])(\d+[,,])(\d+)/
  37.         @item_index=$2.to_i
  38.         @plant_index=$3.to_i
  39.         @plant_count=$4.to_i
  40.         @plant_time=$data_items[@item_index].read_note('Plant_Time')
  41.         @plant_name=$data_items[@item_index].read_note('Plant_S')
  42.       end
  43.     if @time == nil
  44.         if @plant_count>0
  45.           @plant_index=@plant_time.length-1
  46.           @ch.name='%1,'+@item_index.to_s+','+@plant_index.to_s+','+@plant_count.to_s
  47.         end
  48.       $time[[$game_map.map_id,@ch.id]] =@plant_time[@plant_index]
  49.     end
  50.     if @time != $time[[$game_map.map_id,@ch.id]] || @new
  51.       @time = $time[[$game_map.map_id,@ch.id]]
  52.       @new = false
  53.       if @time != 0
  54.         ho = @time / 3600
  55.         mi = @time / 60 - ho * 60
  56.         se = @time % 60
  57.         string = sprintf("%02d:%02d:%02d", ho,mi,se) if ho >0
  58.         string = sprintf("%02d:%02d",mi,se) if ho == 0        
  59.       else
  60.         @plant_index+=1
  61.         @ch.name='%1,'+@item_index.to_s+','+@plant_index.to_s+','+@plant_count.to_s
  62.         if @plant_index>=@plant_time.length
  63.           string = "收获啦~"
  64.         else
  65.           $time[[$game_map.map_id,@ch.id]] =@plant_time[@plant_index]
  66.         end
  67.       end        
  68.       self.bitmap.clear
  69.       self.bitmap.font.size = 14
  70.       self.bitmap.draw_text(0,18,96,18,string,1)
  71.       self.bitmap.draw_text(0,0,96,18,@plant_name[@plant_index],1)
  72.     end
  73.     self.x = @ch.screen_x - 48
  74.     self.y = @ch.screen_y - 72
  75.   end
  76.  
  77. end
  78.  
  79. class Game_Interpreter
  80.  
  81.   def add_self(item_index,count)
  82.     if $time[[$game_map.map_id,@event_id]] == nil
  83.       $game_map.events[@event_id].name='%1,'+item_index.to_s+",0,"+count.to_s#+($data_items[item_index].read_note('Plant_Time_First')).to_s
  84.       view_port = Viewport.new(0, 0, 544, 416)
  85.       sprite = Sprite_time.new(view_port,$game_map.events[@event_id])
  86.       SceneManager.scene.spriteset.character_sprites.push(sprite)
  87.       SceneManager.scene.spriteset.update
  88.     end
  89.   end
  90.  
  91.   def get_result
  92.     if $time[[$game_map.map_id,@event_id]] > 0
  93.       return false
  94.     elsif $time[[$game_map.map_id,@event_id]] == 0
  95.       SceneManager.scene.spriteset.clear_time($game_map.events[@event_id])
  96.       return true
  97.     end
  98.   end
  99.  
  100.   alias :iisnow_command_201 :command_201
  101.   def command_201
  102.     $flag = @params[0] == 0 ? @params[1] : $game_variables[@params[1]]
  103.     iisnow_command_201
  104.   end
  105. end
  106.  
  107.  
  108. class Scene_Map < Scene_Base
  109.   attr_accessor :spriteset
  110.  
  111.   alias :iisnow_start :start
  112.   def start
  113.     $flag = $game_map.map_id
  114.     iisnow_start
  115.   end
  116.  
  117. end
  118. class Spriteset_Map
  119.   attr_accessor :character_sprites
  120.  
  121.   alias :iisnow_update :update
  122.   def update
  123.     if $flag
  124.     $time.each do |k,v|
  125.       if k[0] == $flag && $flag == $game_map.map_id
  126.         view_port = Viewport.new(0, 0, 544, 416)
  127.         sprite = Sprite_time.new(view_port,$game_map.events[k[1]])
  128.         @character_sprites.push(sprite)
  129.       end
  130.     end
  131.     $flag = nil if $flag == $game_map.map_id
  132.     end
  133.     iisnow_update
  134.   end
  135.  
  136.   def clear_time(d)
  137.     @character_sprites.each do |s|
  138.       c = s.clear_self if s.is_a?(Sprite_time)&&s.ch==d
  139.       @character_sprites[@character_sprites.index(s)] = nil if c
  140.     end
  141.     @character_sprites.compact!
  142.   end
  143.  
  144. end


这是农场脚本

而作者发的范例使用起来就没问题

我觉得不是脚本冲突问题 因为我新创建的工程也是这个错误

是不是作者在某个脚本里添加了什么被我忽略了

脚本盲 只会照猫画虎 求大神笼罩

这是出错的截图

360截图20131225110833549.jpg (13.64 KB, 下载次数: 22)

360截图20131225110833549.jpg

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2013-12-25 12:43:45 | 只看该作者
范例工程里面应该有个读取备注栏脚本吧,那个也复制到你的工程中去

点评

或者,插入这个脚本到那两个脚本之上 http://bbs.66rpg.com/thread-99474-1-1.html  发表于 2013-12-25 12:45

评分

参与人数 1星屑 +100 收起 理由
Sion + 100 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
230
在线时间
125 小时
注册时间
2013-12-20
帖子
57
3
 楼主| 发表于 2013-12-25 17:01:37 | 只看该作者
喵呜喵5 发表于 2013-12-25 12:43
范例工程里面应该有个读取备注栏脚本吧,那个也复制到你的工程中去

第一个脚本不就是读取备注栏脚本吗?
范例里只有这2个脚本啊
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
230
在线时间
125 小时
注册时间
2013-12-20
帖子
57
4
 楼主| 发表于 2013-12-25 17:12:56 | 只看该作者
喵呜喵5 发表于 2013-12-25 12:43
范例工程里面应该有个读取备注栏脚本吧,那个也复制到你的工程中去

多谢大神指导,问题果然出在你说的脚本上 只是作者太欺负新人了把脚本藏的太隐秘了!呵呵

再次感谢!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 02:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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