Project1
标题:
ruby脚本中文化构想【3】gsub&RTC??头模版初步展现
[打印本页]
作者:
dengwei
时间:
2013-7-4 21:18
标题:
ruby脚本中文化构想【3】gsub&RTC??头模版初步展现
继前面的ruby中文化的构想,我说过;if,else,when等这些系统命令我没法把他们中文化,后来,又有人回复我说可以gsub和RTC。。。。呜呜,大神们,能否告诉我他们的用法,我真的没见过这些命令。。。。。
关于前面有人说中文ruby不会有太大作用,我说一下;确实,对于大神们都没太大的作用,但是,对于那些脚本盲来说,何尝不会学的快一点呢?
【以下是目前进展中的头模版】
#蚂蚁中文模版3.0 头模版#
#蚂蚁中文模版3.0 头模版是一部简单命令中文化的操作,想要更多操作,尽情期待下一代
#
#
#########################●什么是头模版?如何使用?●###########################
# 头模版,顾名思义,就是放在所有脚本之首,这样既不会和其他脚本发生冲突,也不#
#会在调用中发送错误!!(蚂蚁中文模版3.0还有一个尾模版,建议一起使用) # #
################################################################################
#
#
#●作者;蚂蚁 ●制作工作室;蚂蚁研究社
#●本版本共39个命令
#
#●保留信息………………………………………………………………………………
#=========系统类目录===========================================================
#
#●播放音效(路径) 播放一个音效,无返回值
#●播放音乐(路径) 播放一个音乐,无返回值
#●停止播放 停止播放所有音乐,音效不算,无返回值
#●播放bgm(文件名) 路径已经设置为bgm文件夹里了,只需要文件名即可,无返回值
#●播放bgs(文件名) 路径已经设置为bgm文件夹里了,只需要文件名即可,无返回值
#●播放me(文件名) 路径已经设置为bgm文件夹里了,只需要文件名即可,无返回值
#●播放se(文件名) 路径已经设置为bgm文件夹里了,只需要文件名即可,无返回值
#●bgm淡出(秒) 播放bgm淡出的时间,无返回值
#●更改色调(红, 绿, 蓝,时间/帧) 更改画面色调,颜色值都为整数,且取值范围为
# 0-255,时间也为整数,无返回值
#●更改色调(红, 绿, 蓝,强度, 时间/帧) 更改画面色调,颜色值和强度都为整数,
# 且取值范围为0-255,时间也为整数,无返回值
#●画面震动(强度, 速度, 时间/毫秒) 强度,速度,时间都为整数,无返回值
#●天气(类型, 强度, 时间) 类型一共四种(0.无 1.下雨 2.暴风雨 3.雪 其他情况均为
# 无效),强度,时间都为整数型,无返回值
#●读入文件(路径) 读入一个文件,编码过,返回读取的内容
#●写入文件(对象, 路径) 入一个文件,编码过,返回读取的内容 读
#●销毁 直接退出程序,无返回值
#●删除文件(路径) 删除一个指定的文件,无返回值
#●ruby运行(运行命令) 运行ruby脚本,无返回值
#●程序暂停(时间) 让程序暂停,时间单位为秒,无返回值
#==============================================================================
#==========地图操作类==========================================================
#●取地图id 取当前地图的id,返回整数型
#●取地图宽 取当前地图的宽,返回整数型
#●取地图高 取当前地图的高,返回整数型
#●取遇敌列表 取当前地图的遇敌列表,返回整数型数组
#●取遇敌步数 取当前地图的遇敌步数,返回整数型
#●取地图数据 取当前地图的数据,返回文本型
#●换地图(地图id, 角色x, 角色y) 跳转到另一个地图,无返回值
#==============================================================================
#==========角色操作类==========================================================
#●取角色血值(角色id, 角色等级) 取指定角色的指定等级的基本血量,返回整数型
#●取角色sp(角色id, 角色等级) 取指定角色的指定等级的基本sp,返回整数型
#●角色离开(角色id) 离开一个角色,无返回值
#●角色加入(角色id) 加入一个角色,无返回值
#==============================================================================
#===========编译器命令类======================================================
#●显示文章(内容) 显示文章,仅限于游戏中,无返回值
#●等待(时间) 等待,仅限于游戏中,无返回值
#●删除图片1(图片编号) 删除一张图片,仅限于游戏中,无返回值
#●显示图片1(图片编号, 文件名, 原点, X 坐标, Y 坐标, X 方向放大率, Y 方向放大率,
# 不透明度, 合成方式) 显示一张图片,仅限于游戏中,(合成方式 0 = 普通
# 1 = 加法 2 = 减法)不透明度最大值为255,最小
# 为0,默认文件夹为“Graphics\Pictures”,无返回值
#●显示图片2(图片编号, 文件名) 显示一张图片,仅限于游戏中,默认文件夹为
# “Graphics\Pictures”,无返回值
#●窗口外观(文件名) 更改窗口外观,仅限于窗口,无返回值
#●战斗时bgm(文件名) 更改战斗结束时bgm,无返回值
#●战斗结束时me(文件名) 更改战斗结束时me,无返回值
#=============================================================================
#===========角色信息获取类====================================================
#●物品拥有数量(物品id) 取当前所拥有该物品的数量,仅限于游戏中,返回整数型
#●武器拥有数量(物品id) 取当前所拥有该武器的数量,仅限于游戏中,返回整数型
#●防具拥有数量(物品id) 取当前所拥有该防具的数量,仅限于游戏中,返回整数型
#=============================================================================
def 显示文章(内容)
$game_temp = Game_Temp.new
if $game_temp.message_text != nil
return false
end
@message_waiting = true
$game_temp.message_proc = Proc.new { @message_waiting = false }
$game_temp.message_text = 内容
end
def 等待(时间)
@wait_count = 时间 * 2
end
def 物品拥有数量(物品id)
a = $game_party.item_number(物品id)
return a
end
def 武器拥有数量(物品id)
a = $game_party.weapon_number(物品id)
return a
end
def 防具拥有数量(物品id)
a = $game_party.armor_number(物品id)
return a
end
def 删除图片1(图片编号)
$game_screen.pictures[图片编号].erase
end
def 显示图片1(图片编号, 文件名, 原点, x, y, xx, yy, 不透明度, 合成方式)
$game_screen.pictures[图片编号].show(文件名, 原点, x, y, xx, yy, 不透明度, 合成方式)
end
def 显示图片2(图片编号, 文件名)
$game_screen.pictures[图片编号].show(文件名, 0, 0, 0, 100, 100, 255, 0)
end
def 窗口外观(文件名)
$game_system.windowskin_name = 文件名
end
def 战斗时bgm(文件名)
$game_system.battle_bgm = 文件名
end
def 战斗结束时me(文件名)
$game_system.battle_end_me = 文件名
end
def 播放音效(路径)
Audio.se_play(路径)
end
def 播放音乐(路径)
Audio.bgm_play(路径)
end
def 停止播放
Audio.bgm_stop
end
def 播放bgm(文件名)
Audio.bgm_play("Audio/BGM/" + 文件名)
end
def 播放bgs(文件名)
Audio.bgs_play("Audio/BGS/" + 文件名)
end
def 播放me(文件名)
Audio.me_play("Audio/ME/" + 文件名)
end
def 播放se(文件名)
Audio.se_play("Audio/SE/" + 文件名)
end
def 更改色调(红, 绿, 蓝, 时间)
色调 = Tone.new(红, 绿, 蓝, 0)
$game_screen.start_tone_change(色调, 时间*2)
end
def 画面闪烁(红, 绿, 蓝, 时间,强度)
颜色 = Color.new(红, 绿, 蓝, 强度)
$game_screen.start_flash(颜色, 时间*2)
end
def 画面震动(强度, 速度, 时间)
$game_screen.start_shake(强度, 速度, 时间)
end
def 天气(类型, 强度, 时间)
$game_screen.weather(类型, 强度, 时间)
end
def 读入文件(路径)
a = load_data(路径)
return a
end
def 销毁
exit
end
def 删除文件(路径)
File.delete(路径)
end
def 写入文件(对象, 路径)
save_data(对象, 路径)
end
def 取地图id
a = $game_map.map_id()
return a
end
def 取地图宽
a = $game_map.width()
return a
end
def 取地图高
a = $game_map.height()
return a
end
def 取遇敌列表
a = $game_map.encounter_list()
return a
end
def 取遇敌步数
a = $game_map.encounter_step()
return a
end
def 取地图数据
a = $game_map.data()
return a
end
def 取角色血值(角色id, 角色等级)
a = $data_actors[角色id].parameters[0, 角色等级]
return a
end
def 取角色sp(角色id, 角色等级)
a = $data_actors[角色id].parameters[1, 角色等级]
return a
end
def 角色离开(角色id)
$game_party.remove_actor(角色id)
end
def 角色加入(角色id)
$game_party.add_actor(actor_id)
end
def 换地图(地图id, 角色x, 角色y)
$game_map.setup(地图id)
$game_player.moveto(角色x, 角色y)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
def ruby运行(运行命令)
eval(运行命令)
end
def 程序暂停(时间)
sleep(时间)
end
复制代码
【以下是目前进展的尾模版】
##################################################################
###########################系统设置更改区#########################
$文章选项显示位置 = 2
$文章选项窗口外关 = 0
$初始金钱 = 0
$初始步数 = 0
$本身攻击力 = 20
$本身防御力 = 20
$本身回避修正 = 20
$本身魔法防御 = 20
$空手攻击时我方动画 = 1
$空手攻击时敌方动画 = 5
$额外地址 = "Data/System.rxdata" #读入一个rxdata文件,储存在 $额外读入 中。
$游戏字体 = ["黑体", "华文琥珀"]
####窗口按钮标题####
$自定义按钮 = true
#●如果 $自定义按钮 = false,填写以下内容为有效。
$按钮1名称 = "新游戏"
$按钮2名称 = "继续"
$按钮3名称 = "退出"
#●如果 $自定义按钮 = true, 填写以下内容为有效。
$按钮内容 = ["新的冒险", "继续冒险", "退出冒险"]
###################################################################
###################################################################
class Game_System
def initialize()
@map_interpreter = Interpreter.new(0, true)
@battle_interpreter = Interpreter.new(0, false)
@timer = 0
@timer_working = false
@save_disabled = false
@menu_disabled = false
@encounter_disabled = false
@message_position = $文章选项显示位置
@message_frame = $文章选项窗口外关
@save_count = 0
@magic_number = 0
end
end
class Game_Party
attr_reader :actors
attr_reader :gold
attr_reader :steps
def initialize
@actors = []
[url=home.php?mod=space&uid=236945]@gold[/url] = $初始金钱
@steps = $初始步数
@items = {}
@weapons = {}
@armors = {}
end
end
class Game_Actor < Game_Battler
def base_atk
weapon = $data_weapons[@weapon_id]
pdef1 = weapon != nil ? weapon.atk : 0
return pdef1 + $本身攻击力
end
def base_pdef
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
pdef1 = weapon != nil ? weapon.pdef : 0
pdef2 = armor1 != nil ? armor1.pdef : 0
pdef3 = armor2 != nil ? armor2.pdef : 0
pdef4 = armor3 != nil ? armor3.pdef : 0
pdef5 = armor4 != nil ? armor4.pdef : 0
return pdef1 + pdef2 + pdef3 + pdef4 + pdef5 + $本身防御力
end
def base_mdef
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
mdef1 = weapon != nil ? weapon.mdef : 0
mdef2 = armor1 != nil ? armor1.mdef : 0
mdef3 = armor2 != nil ? armor2.mdef : 0
mdef4 = armor3 != nil ? armor3.mdef : 0
mdef5 = armor4 != nil ? armor4.mdef : 0
return mdef1 + mdef2 + mdef3 + mdef4 + mdef5 + $本身魔法防御
end
def base_eva
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
eva1 = armor1 != nil ? armor1.eva : 0
eva2 = armor2 != nil ? armor2.eva : 0
eva3 = armor3 != nil ? armor3.eva : 0
eva4 = armor4 != nil ? armor4.eva : 0
return eva1 + eva2 + eva3 + eva4 + $本身回避修正
end
def animation1_id
weapon = $data_weapons[@weapon_id]
return weapon != nil ? weapon.animation1_id : $空手攻击时我方动画
end
def animation2_id
weapon = $data_weapons[@weapon_id]
return weapon != nil ? weapon.animation2_id : $空手攻击时敌方动画
end
end
class Scene_Title
def main
if $BTEST
battle_test
return
end
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
$额外读入 = load_data($额外地址)
$game_system = Game_System.new
[url=home.php?mod=space&uid=114926]@sprite[/url] = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
if $自定义按钮 == true
@command_window = Window_Command.new(192, $按钮内容)
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
else
s1 = $按钮1名称
s2 = $按钮2名称
s3 = $按钮3名称
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
end
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.rxdata")
@continue_enabled = true
end
end
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
$game_system.bgm_play($data_system.title_bgm)
Audio.me_stop
Audio.bgs_stop
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@sprite.bitmap.dispose
@sprite.dispose
end
end
def update
if Input.trigger?(Input::C)
if $自定义按钮 == true
@command_window.update
case @command_window.index
when 0
ruby运行("p 'aaaa'")
when 1
when 2
when 3
when 4
when 5
when 6
when 7
when 8
when 9
end
else
@command_window.update
case @command_window.index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
end
end
end
end
begin
Font.default_name = ($游戏字体)
Graphics.freeze
$scene = Scene_Title.new
while $scene != nil
$scene.main
end
Graphics.transition(20)
rescue Errno::ENOENT
filename = $!.message.sub("No such file or directory - ", "")
print("找不到文件 #{filename}。 ")
end
复制代码
【以下是目前以调用的dll信息】
Project13.zip
(208.6 KB, 下载次数: 58)
2013-7-4 21:16 上传
点击文件名下载附件
现在进展大致为;9.72%。。。。。。。
有兴趣参与制作请联系me
qq;1660618519
作者:
忧雪の伤
时间:
2013-7-23 11:44
UI> 這樣純粹就是把一些方法改成中文了而已……還有滿目的全局變量實在是……
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1