Commit ce1c521f authored by 神楽坂玲奈's avatar 神楽坂玲奈

版本0.4.7, iduel数据库更新,修正iduel房间判断问题,修正FatalError时$game.exit的时机

parent 64a41a1a
== mycard == mycard
这是一个游戏王对战器,与NBX和iDuel、ygocore协议兼容 这是一个游戏王对战器,与iDuel、ygocore协议兼容
目前开发进度约60%,iDuel实现了观战、播放Replay和几个简单的战斗指令,ygocore的大厅 目前开发进度约60%,iDuel实现了观战、播放Replay和几个简单的战斗指令,ygocore的大厅
快捷键: 快捷键:
...@@ -9,14 +9,13 @@ iduel观战时 F10退出房间 ...@@ -9,14 +9,13 @@ iduel观战时 F10退出房间
常见问题: 常见问题:
Q: 运行主程序没有任何反应 Q: 加入或建立房间时提示连接已断开或版本不正确
A: 不支持中文目录,请把程序放到没有中文的目录下,例如d:\mycard,而不要放到d:\游戏\mycard,也不要放到桌面 A: 请注意mycard左上角是否在自动更新,如果显示正在下载更新请等待下载完后关掉mycard重开一次
Q: 切换输入法时卡死 Q: 程序崩溃或无任何提示自动退出 或提示 【程序可能出现了一个bug,请到论坛反馈】
A: 这个故障只在WinXP上出现,暂时没有解决方案,可以临时在其他地方写好文字复制进来;如果一点决斗开始立即卡死,那么可能是默认有输入法,把默认输入法调成英文。 A: 重试一次。如果仍然这样 请联系作者
Q: 加入或建立房间时提示连接已断开 作者联系方式:
A: 可能是ygocore版本不正确,截止到3月13日服务器支持的ygocore版本是0x1023,一般ygocore发布新版本后会在1到3天升级,请留意公告。如果大厅内没有房间,并且无法建立房间,那么可能是服务器维护。 1. mycard的论坛(http://card.touhou.cc/boards)留言。
2. E-mail/QQ/GT: zh99998@gmail.com
Q: 弹出【程序可能出现了一个bug,请到论坛反馈】 3. 在iduel社区或nwbbs的mycard发布帖回复
A: 联系作者 E-mail/QQ/GT: zh99998@gmail.com,或者到iduel社区的mycard发布帖留言。 \ No newline at end of file
\ No newline at end of file
...@@ -24,7 +24,7 @@ end ...@@ -24,7 +24,7 @@ end
spec = Gem::Specification.new do |s| spec = Gem::Specification.new do |s|
s.name = 'mycard' s.name = 'mycard'
s.version = '0.4.6' s.version = '0.4.7'
s.extra_rdoc_files = ['README.txt', 'LICENSE.txt'] s.extra_rdoc_files = ['README.txt', 'LICENSE.txt']
s.summary = 'a card game' s.summary = 'a card game'
s.description = s.summary s.description = s.summary
......
No preview for this file type
...@@ -141,8 +141,7 @@ class Scene ...@@ -141,8 +141,7 @@ class Scene
case event case event
when Game_Event::Error when Game_Event::Error
if event.fatal if event.fatal
$game.exit if $game Widget_Msgbox.new(event.title, event.message, :ok => "确定"){$game.exit if $game;$scene = Scene_Login.new}
Widget_Msgbox.new(event.title, event.message, :ok => "确定"){$scene = Scene_Login.new}
else else
Widget_Msgbox.new(event.title, event.message, :ok => "确定") Widget_Msgbox.new(event.title, event.message, :ok => "确定")
end end
......
require 'open-uri' require 'open-uri'
require "fileutils"
require_relative 'card' require_relative 'card'
module Update module Update
Version = '0.4.6' Version = '0.4.7'
URL = 'http://card.touhou.cc/mycard/update.json?version=0.4.6' URL = "http://card.touhou.cc/mycard/update.json?version=#{Version}"
class <<self class <<self
attr_reader :thumbnails, :images, :status attr_reader :thumbnails, :images, :status
def start def start
...@@ -15,7 +16,6 @@ module Update ...@@ -15,7 +16,6 @@ module Update
Zip::ZipFile::open(file) do |zip| Zip::ZipFile::open(file) do |zip|
zip.each do |f| zip.each do |f|
if !File.directory?(f.name) if !File.directory?(f.name)
require "fileutils.rb"
FileUtils.mkdir_p(File.dirname(f.name)) FileUtils.mkdir_p(File.dirname(f.name))
end end
f.extract{true} f.extract{true}
...@@ -58,7 +58,6 @@ module Update ...@@ -58,7 +58,6 @@ module Update
@images = @thumbnails.dup @images = @thumbnails.dup
if !File.directory?('ygocore/pics/thumbnail') if !File.directory?('ygocore/pics/thumbnail')
require "fileutils.rb"
FileUtils.mkdir_p('ygocore/pics/thumbnail') FileUtils.mkdir_p('ygocore/pics/thumbnail')
end end
...@@ -78,35 +77,48 @@ module Update ...@@ -78,35 +77,48 @@ module Update
end end
@images -= existed_images @images -= existed_images
existed_images = [] existed_images = []
if !@images.empty? and File.file?("#{Card::PicPath}/1.jpg") if (!@images.empty? or !@thumbnails.empty?) and File.file?("#{Card::PicPath}/1.jpg")
db_mycard = SQLite3::Database.new( "data/data.sqlite" ) db_mycard = SQLite3::Database.new( "data/data.sqlite" )
can_link = true can_link = true
db_mycard.execute( "select id, number from `yu-gi-oh` where number in (#{@images.collect{|number|"%08d" % number}.join(',')})" ) do |row| internal_can_link = true
db_mycard.execute( "select id, number from `yu-gi-oh` where number in (#{(@images+@thumbnails).uniq.collect{|number|"'%08d'" % number}.join(',')})" ) do |row|
id = row[0] id = row[0]
number = row[1].to_i number = row[1].to_i
existed_images << number existed_images << number
src = "#{Card::PicPath}/#{id}.jpg" src = "#{Card::PicPath}/#{id}.jpg"
dest = "ygocore/pics/#{number}.jpg" dest = "ygocore/pics/#{number}.jpg"
if File.file?(src) and !File.file?(dest) dest_thumb = "ygocore/pics/thumbnail/#{number}.jpg"
if File.file?(src)
@status.replace "检测到存在iDuel卡图 正在导入 #{id}.jpg" @status.replace "检测到存在iDuel卡图 正在导入 #{id}.jpg"
if can_link if !File.exist?(dest)
begin if can_link
File.link(src, dest) File.link(src, dest) rescue can_link = false
rescue
can_link = false
redo
end end
else if !can_link
open(src, 'rb') do |src| FileUtils.copy_file(src, dest)
open(dest, 'wb') do |dest| end
dest.write src.read if !File.exist?(dest_thumb)
if internal_can_link
File.link(dest, dest_thumb) rescue internal_can_link = false
end
if !internal_can_link
FileUtils.copy_file(dest, dest_thumb)
end end
end end
elsif !File.exist?(dest_thumb)
if can_link
File.link(src, dest_thumb) rescue can_link = false
end
if !can_link
FileUtils.copy_file(src, dest_thumb)
end
end end
end end
end end
end end
@images -= existed_images @images -= existed_images
@thumbnails -= existed_images
@thumbnails = (@thumbnails & @images) + (@thumbnails - @images) @thumbnails = (@thumbnails & @images) + (@thumbnails - @images)
unless @thumbnails.empty? and @images.empty? unless @thumbnails.empty? and @images.empty?
$log.info('待下载的完整卡图'){@images.inspect} $log.info('待下载的完整卡图'){@images.inspect}
...@@ -141,5 +153,16 @@ module Update ...@@ -141,5 +153,16 @@ module Update
@status = nil @status = nil
end.priority = -1 end.priority = -1
end end
def copy(src, dest, can_link)
if can_link
File.link(src, dest)
else
open(src, 'rb') do |src|
open(dest, 'wb') do |dest|
dest.write src.read
end
end
end
end
end end
end end
\ No newline at end of file
...@@ -5,7 +5,7 @@ class Room ...@@ -5,7 +5,7 @@ class Room
alias pvp? pvp alias pvp? pvp
alias match? match alias match? match
def full? def full?
$game.is_a?(Ygocore) ? (@status == :start) : super #不规范修正iduel房间识别问题 $game.is_a?(Ygocore) ? (@status == :start) : player2 #不规范修正iduel房间识别问题
end end
def extra def extra
result = {} result = {}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment