查看: 1716|回复: 4

[已经解决] 哪个触帮我改一下这个脚本

[复制链接]
梦石
0
星屑
50
在线时间
23 小时
注册时间
2015-7-30
回帖
76
发表于 2015-9-20 17:24:15 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 SadSlime 于 2015-9-20 18:41 编辑

[pre lang="ruby"]$achtime={}
class Interpreter
def get_ach(id)
if FileTest.exist?("Achievement/Ach#{id}.rxdata")
else
save_data(0,"Achievements/Ach#{id}.rxdata")
time = Time.now
$achtime[id]=time.strftime("%Y.%m.%d %H:%M")
save_data($achtime[id],"Achievements/achievements.rxdata")
end
end
end#interpreterend
  
if FileTest.exist?("Achievements")
else
Dir.mkdir('Achievements')
end
save_data("未获得","Achievements/achievements.rxdata")
class Window_Command_Achievement < Window_Selectable
  def initialize(actors=4)
    super(0, 0, 245, 428)
    self.contents = Bitmap.new(width - 32, height - 32)
#===============================================================================
    @commands = [
"接受任务"
,"初出茅庐"
,"情报队员"
,"潜入怪岛"
,"突出重围"
,"登通天塔"
,"资深玩家"
,"大神是也"
,"超神之速"
,"初食药剂"
,"暂时提速"
,"加速飞起"
,"双重提速"
,"复活水晶"
,"清除五怪"
,"死了又生"
,"掌控生死"
,"家具收藏"
,"二楼扩建"
,"三楼扩建"
,"钻石!!"
,"铁镐坏了"
,"游戏大神"
,"吓屎作者"
,""]
    @item_max = 25 #最大数量
#===============================================================================
    @column_max = 2
    @max=@item_max-=1
    for x in 0..@max
    draw_item(x, normal_color)
    end
    self.index = 0
  end
  
  def draw_item(index, color)
    @长度=32
    @间隙=110
    @宽度=90
    self.contents.font.color = color
    x = 4 + index % 2 * @间隙
    y = index / 2 * @长度
    rect = Rect.new(x, y, @宽度, @长度)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(rect, @commands[index], 1)
  end
  def update_cursor_rect
    x = 4 + index % 2 * @间隙
    y = index / 2 * @长度
    self.cursor_rect.set(x, y, @宽度, @长度)
  end
end
class Window_Achievement < Window_Base
  def initialize

    super(0, 0, 395, 264)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    case $value
#===============================================================================
    when 0
    if FileTest.exist?("Achievements/Ach1.rxdata")
      $获得状况="已获得"
    else
      $获得状况="未获得"
    end
    self.contents.font.color=normal_color
    self.contents.draw_text(0, 0, width, 50*2, " 成就信息:",0)
    if FileTest.exist?("Achievements/Ach1.rxdata")
     self.contents.font.color=normal_color
   else
     self.contents.font.color=disabled_color
   end
    self.contents.draw_text(0, 0, width, 50*3, " 获得状况:#{$获得状况}",0)
    self.contents.draw_text(0, 0, width, 50*4, " 获得时间:"+$achtime[1].to_s,0)
    self.contents.font.color=normal_color
#===============================================================================
    when 1
    if FileTest.exist?("Achievements/Ach2.rxdata")
      $获得状况="已获得"
    else
      $获得状况="未获得"
    end
    self.contents.font.color=normal_color
    self.contents.draw_text(0, 0, width, 50*2, " 成就信息:",0)
    if FileTest.exist?("Achievements/Ach2.rxdata")
     self.contents.font.color=normal_color
   else
     self.contents.font.color=disabled_color
   end
    self.contents.draw_text(0, 0, width, 50*3, " 获得状况:#{$获得状况}",0)
    self.contents.draw_text(0, 0, width, 50*4, " 获得时间:"+$achtime[2].to_s,0)
    self.contents.font.color=normal_color
#===============================================================================
    end
  end
end
#==============================================================================
# ■ Achievement
#------------------------------------------------------------------------------
#  处理成就画面的类。
#==============================================================================

class Achievement
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    @command_window = Window_Command_Achievement.new  
    @achievement_window = Window_Achievement.new
    @achievement_window.x = 245
    @achievement_window.y = 0
    # 执行过渡
    Graphics.transition      
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果切换画面就中断循环
      if $scene != self
        break
      end
    end   
    # 准备过渡
    Graphics.freeze
    # 释放窗口
    @command_window.dispose
    @achievement_window.dispose
  end
  def update
    # 刷新窗口
    @command_window.update
    @achievement_window.update
    $value = @command_window.index
    @achievement_window.refresh
     if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换的地图画面
      $scene = Scene_Map.new
      return
    end
  end
  def update_command
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换的地图画面
      $scene = Scene_Map.new
      return
    end
  end
end#achend[/pre]
一个成就脚本,原脚本是在选择窗口显示的成就名字直接给出成就名字,我想改成未获得的成就显示的名字是“????”   

点评

(。ì_í。)用数组的话似乎有点难做到?……  发表于 2015-9-20 18:07

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

○赛

梦石
0
星屑
1254
在线时间
1276 小时
注册时间
2013-1-22
回帖
2078

贵宾

发表于 2015-9-20 20:01:43 | 显示全部楼层
92行改为$获得状况="???"
未测试

点评

我无法理解你的意思了。。。最好有截图  发表于 2015-9-20 20:49
那是成就信息窗口的= =。。。。。我要的是选择成就窗口,应该在69行左右改吧?  发表于 2015-9-20 20:17
回复

使用道具 举报

梦石
0
星屑
50
在线时间
23 小时
注册时间
2015-7-30
回帖
76
 楼主| 发表于 2015-9-21 12:06:09 | 显示全部楼层
天地有正气 发表于 2015-9-20 20:01
92行改为$获得状况="???"
未测试

QQ截图20150921120432.jpg
回复

使用道具 举报

梦石
0
星屑
4058
在线时间
836 小时
注册时间
2013-7-29
回帖
145

开拓者

发表于 2015-9-21 13:00:13 | 显示全部楼层
本帖最后由 dongdongdjh 于 2015-9-21 13:02 编辑

69行这里改成
if FileTest.exist?("Achievement/Ach#{index+1}.rxdata")
self.contents.draw_text(rect, @commands[index], 1)
else
self.contents.draw_text(rect, "????", 1)
end
试试,没测试过

评分

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

查看全部评分

现在论坛上的少,有事联系
QQ:2287688663
回复

使用道具 举报

梦石
0
星屑
50
在线时间
23 小时
注册时间
2015-7-30
回帖
76
 楼主| 发表于 2015-9-21 13:08:53 | 显示全部楼层
dongdongdjh 发表于 2015-9-21 13:00
69行这里改成
if FileTest.exist?("Achievement/Ach#{index+1}.rxdata")
self.contents.draw_text(rect, @c ...

@RyanBern 采纳
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部