关于【音乐】的脚本不在此文中
#======================================================================
#数据库第一页
#======================================================================
#【开关操作...】
#true为打开,false为关闭
$game_switches[开关号]=true #或者false
#【变量操作...】赋值-随机
#随机取值30~100,赋值给变量3;rand(71)是0-70 加30 就是30-100
$game_variables[3]==rand(71)+30
#【变量操作...】赋值-固定值
#为22号变量赋值“2”,请尽量不要使用字符串赋值,会导致1.变量值丢失2.未知bug
$game_variables[22] = 2
#读取变量名称
#代码写法 #=> 显示效果
"123".to_i #=> 123
"123".to_i + "456".to_i #=> 579
"0x1234".to_i(16) #=> 4660
#【独立开关操作...】
#打开/关闭 独立开关;后面必须立即刷新,否则不能立即生效
#$game_self_switches[[地图ID,事件ID,"A或B或C或D"或任意字符]] = true或false
$game_self_switches[[13,2,"A"]] = true #false
$game_map.need_refresh = true
#独立开关写为数组 方1 http://rm.66rpg.com/thread-372793-1-1.html
#1. 在Game_SelfSwitches类中,@data[key] == true 换为
#return @data[key] == nil ? false : @data[key] (只读属性是不可赋值的)
#2. 将如下代码组合写下
#表示将开关a“地图3,6号事件的‘任意字符’独立开关赋值为数组”,开关a数组的首个对象为1
$game_self_switches[[3, 6, "任意字符"]]=[]
$game_self_switches[[3, 6,"任意字符"]][0] = 1
#独立开关写为数组 方2
#1. 将Game_SelfSwitches类,重写如下;必须在原文中修改,不可以“在main前加入”的方式
#2. 同上文
class Game_SelfSwitches < Hash
def []=(_, _)
super
on_change
end
def on_change
$game_map.need_refresh = true
end
end
#【公共事件】 调用公共事件
#$game_temp.reserve_common_event(公共事件ID)
$game_temp.reserve_common_event(10)
#【队伍管理...】暂缺
#按序号删除队友,未测试,不知是“以数据库”还是“队伍排序”为准
#$game_party.members.delete_at(位置)
$game_player.refresh
$game_map.need_refresh = true
#【增减等级】
#人物编号从1开始
$data_actors[actor_id].parameters[status_id, level]
#【增减体力值...】 增减hp 增减MP 增减TP
#$game_actors[人物编号].hp/mp/tp+=要加的数值
$game_actors[1].hp += 65535
#判断是否习得技能
skill_learn?(skill)
#判断是否持有物品(装备)weapons/armo...
$game_party.items.include?($data_items[1]) || $game_party.items.include?($data_items[10]) || $game_party.items.include?($data_items[2])
#【更改名字】
#主角名字
$data_actors[1].name
#调用部分名字 http://rm.66rpg.com/thread-388894-1-1.html
#使用第一号队员 \N[n] 这个方法表示
$game_party.members[n - 1].name
"某一个字符串"[-2, 2] #获得这个字符串的最后2位,即"符串"
"某一个字符串"[0, 2] #获得这个字符串的前2位,即"某一"
#"Pic_#{$game_variables[15]}"表示“Pic_xxoo”xxoo随15号变量改变
#======================================================================
#数据库第二页
#======================================================================
#【设置移动路线】
#设置当前地图的某事件方向;上=8,下=2,左=4,右=6
#$game_map.events[事件ID].direction = 方向
$game_map.events[4].direction = 2
#【设置移动路线】
#跳跃
jump(x,y)
#设置移动路线 非事件脚本中的
#玩家移动速度
#1. CharacterBase类中,attr_reader :move_speed改为attr_accessor :move_speed
#2. 为$game_player.real_move_speed 赋值
#【显示图片】
#pictures[图片号].show(图片名,原点,x坐标,y,横向放大率,纵向放大,不透明度,合成方式)
#其中“原点”0=左上,1=中心;图片名可“Pic_#{$game_variables[15]}”,Pic_开头可变名称
$game_map.screen.pictures[1].show("Pic_1", 0, 0, 0, 100, 100, 50, 1)
#注意 换行书写 有时会破坏其功能,这样写没事
$game_map.screen.pictures[4].show(
"OMG_#{$game_variables[3]+1}", 0, 0, 0,
100, 100, 0, 1)
#【移动图片】
#duration 移动时间。 60=1秒钟
$game_map.screen.pictures[number].move(origin, x, y, zoom_x, zoom_y, opacity, blend_type, duration)
#【旋转图片】方1 http://rm.66rpg.com/forum.php?mod=viewthread&tid=304140
#1. 将如下代码添置main之前
class Game_Picture
attr_writer :angle
end
#2. a是图片编号,b是角度
$game_map.screen.pictures[a].angle = b
#旋转图片 方2
#转起来就不停;非事件指令中的
#speed 旋转速度
$game_map.screen.pictures[index].rotate(speed)
#【消除图片】
$game_map.screen.pictures[index].erase
#消除所有图片
screen.pictures.each &:erase
#======================================================================
#数据库第三页
#======================================================================
#【打开存档画面】
SceneManager.call(Scene_Save)
#【打开读取画面】
SceneManager.call(Scene_Load)
#【打开菜单画面】(Esc菜单)
SceneManager.call(Scene_Menu)
#呼叫 物品菜单
SceneManager.call(Scene_Item)
#呼叫 技能菜单
SceneManager.call(Scene_Skill)
#呼叫 装备菜单
SceneManager.call(Scene_Equip)
#呼叫 主角状态
SceneManager.call(Scene_Status)
#【更换角色图像】
#未测试,图像除“图片名”外,还需一个“索引”
$game_actors[$game_variable[6]].set_graphic:('Actor4', 0,0)]
#更改事件行走图名称 此非【设置移动路线】中的命令
#1. Game_Character类中:character_name前面的reader改成accessor
#2. 为$game_map.events[1].character_name赋值
#不透明度、图案、朝向、角色色相、元件ID、合成方式、穿透等都可以
#【获取指定位置信息】
#获取玩家所在坐标的地形标志,赋值给变量5
$game_variables[5]=$game_map.terrain_tag($game_player.x, $game_player.y)
#======================================================================
#其他杂项
#======================================================================
#用语,数据库的用语,id见 脚本编辑器 basic(0)
#等级将被称为“军衔”
$data_system.terms.basic[0] = "军衔"
#货币单位,金钱
$data_system.currency_unit="货币单位"
#生成文字 生成文字,并写入一个新建立的文件中
#OutputTXT可以换成任意英文。
OutputTXT = File.open("文件名称.txt",'w')
OutputTXT.puts "文件内容"
OutputTXT.close
#更改window.png
Reisen.window_skin = "...."
#打开网页
#其中OpenWebsite可以换成任意英文。
OpenWebsite = Win32API.new('shell32.dll','ShellExecuteA',%w(p p p p p i),'i')
OpenWebsite.call(0, 'open','www.qidian.com',0, 0, 1)
#分辨率 分辨率的修改将导致【地图卷动】的错误
#参考:http://bbs.66rpg.com/thread-216674-1-1.html
Graphics.resize_screen(1024,640)
#清理内存 这是一个完全无需maker操作的命令,属于更基础的【抽象层面】
GC.start
#强制帧速率
Graphics.frame_rate = 60
#反转shift
class Game_Player < Game_Character; def dash?
!@move_route_forcing && !$game_map.disable_dash?
&& !vehicle && !Input.press?(:A)
end
end
#职业有等级上限
class Game_Actor < Game_Battler
def max_level
a = self.class.note.split{/<(Classlevel)\s*(.+)>/i}
(a[1].to_i) != 0 ? [actor.max_level, (a[1].to_i)].min : actor.max_level
end;end
#字体类
#前个字体缺失时,自动调用下一个
Font.default_name = ["黑体","SimHei",“xxoo”]
#字体大小
Font.default_size = 26
#字体颜色,第二次着色
Font.default_color = Color.new(244,242,251,255)
#字体外描线颜色
Font.default_out_color = Color.new(30,150,150,50)
#字体外描线
Font.default_outline = true
#字体加粗
Font.default_bold = true
#字体阴影
Font.default_shadow = true
#字体斜体
Font.default_italic = true
#字体批划线
#内嵌文档
=begin
这里的代码不会被执行
内嵌文档可以是多行内容
用内嵌文档做脚本的使用说明,会更方便
=end
#事件脚本·玩家心情 http://rm.66rpg.com/forum.php?mod=viewthread&tid=79593
$game_player.balloon_id = X
#地图的事件属性:参考Game_Event类
$game_map.events[编号].x,$game_map.events[编号].y
#编号事件的x,y坐标
$game_map.events[编号].screen_x,$game_map.events[编号].screen_y
#编号事件的屏幕x,y坐标
$game_map.events[编号].direction
#编号事件的朝向
$game_map.events[编号].terrain_tag
#编号事件所处的地形标志
$game_map.events[编号].moveto(x,y)
#把事件扔到(x,y)