RPG Maker XP(RPGXP)是一款可让玩家自行制作在计算机游戏中相当受欢迎的角色扮演游戏,玩家可以自由发挥,设计出一款属于自己的游戏!RPG Maker XP(RPGXP)是一款可让玩家自行制作在计算机游戏中相当受欢迎的角色扮演游戏,也就是 Role-Playing Game(RPG)的软件。软件由日本Enterbrain 公司开发。它可以使一个不懂编程的人也能做出精美的 RPG 游戏来。新的 XP 版本中强化了画面的表现,并且对素材已经没有限制了。另外加入了RGSS脚本系统。使用RGSS脚本可以更改或独立定义原始的游戏系统,甚至制作出非RPG游戏也是可能的。中文名 RPG制作大师 外文名 RPG Maker日文名 RPGツークル开发商 Enterbrain Incorporation公司发行商 Enterbrain Incorporation公司最新版本 RPG Maker XP v1.03游戏语言 日文游戏画面 2D游戏类别 RPG目录
1RPGXP 特点
▪ 操作简单 ▪ 事件多样 ▪ 素材丰富 ▪ 封装简易
2新版功能
▪ 图像的强化 ▪ 战斗场景变化 ▪ RGSS ▪ 游戏数据加密 ▪ 战斗系统 ▪ 素材的管理 ▪ 地图场景 1RPGXP 特点编辑『RPG Maker』是一款即使没有程序方面的相关知识,也能独自制作原创 RPG 游戏的 RPG 制作软件。本系列在多个平台上都有相关产品,比如 PS、PS2 等平台 ,中文译名为 RPG 制作大师。现在本系列中 PC 平台 Windows 版『RPG Maker』的最新作『RPG Maker XP』全新登场。首先来介绍一下功能吧!操作简单对于那些认为「制作游戏非常困难」的 人,『RPG Maker XP』的操作非常简单。首先是制作冒险舞台的地图,再完成主角、怪物、物品、魔法等 RPG 必要元素的设定。最后设置完事件,您原创的 RPG 就完成了。制作地图只要按设定排列好每个地图元件就行了。主角和怪物等也是,选择预先打算使用的图片,输入完名称、能力值等设定就完成了。事件多样街上的行人、地牢、宝箱、与 BOSS 的战斗等,表现 RPG 故事情节的处理就要作为事件设置。从显示文章和图像等简单处理,到变量的操作等技术上的处理,一切事件都要登记为『事件指令』。创作者可以选择并排列多个指令来制作简单的事件。利用这些指令组合就能作成情节发展、遇敌等变化。素材丰富人物图像、怪物图像、地图、魔法图像(效果)、战斗背景、远景图片、BGM、效果声响(SE)等,游戏制作中需要使用的素材程序中准备了很多!使用这些素材,就算不会绘画,也能立即开始游戏的制作。当然也可以使用自己准备的素材。图片素材是 PNG 格式,声音素材是 MIDI、WAV、OggVorbis 格式,只要是按以上格式制作的原创素材就能在游戏中使用。封装简易制作完成的游戏,可以保存为在其他人计算机中也能运行的『游戏文件』,或烧录在CD-ROM中送给朋友,还可以在互联网上自由发布。另外您的作品还可以作为共享软件出售。2新版功能编辑『RPG Maker XP』按用户的要求增加了制作加密的游戏数据,自由更改游戏系统脚本等新功能。而且提升了运行环境,增强了色彩的显示,也大大强化了图像功能。图像的强化游戏画面的显示大小为 640×480,为『RPG Maker 2003』的 4 倍。图片格式为 PNG 全彩,对应 Alpha Channel,图像的半透明显示,透过色等可以自由设定。另外,地图的层从 2 层增加到了 3 层,这样就能制作出构造更加复杂的地图。战斗场景变化这个版本中的战斗画面设计是从正面看见怪物的前景类型。最大的特点就是画面下的人物状态窗口部分,变成了显示主角和队伍人物的图像。当然在这里显示的图像可以自由更改。RGSS『RPG Maker XP』中使用的人物参数和战斗系统等各种各样的功能全部在被称为『脚本』的程序中定义。『RPG Maker XP』中采用的是『RPG Maker』专用的『Ruby』程序语言『Ruby Game Scripting System』(中文意思是 Ruby 游戏脚本系统,以下简称『RGSS』),编辑其中的脚本就可以自由更改或增加系统的功能。需要的话,系统的核心部分也能编辑。这对于想通过事件指令制作独自的系统和界面的人来说,是值得兴奋的事吧!这样的话,或多或少学习程序语言都是十分必要的。如能把脚本运用自如,更改菜单画面、战斗系统,制作独自的事件指令等都是可能的。对于高级玩家而言,运用脚本就能制作更加原创的游戏了。游戏数据加密『RPG Maker XP』中,增加了加密游戏数据的功能。如果已完成游戏被加密的话,就加密保存了游戏数据和素材数据,别人将无法看到和修改游戏的原创数据。战斗系统『RPG Maker XP』的战斗系统是从正面看见怪物的前景类型,并且在 XP 中会显示主角人物的图像。而在以前的版本中,只会对敌人队伍显示战斗动画和效果。采用了这个战斗系统,同样也会对主角人物显示。画面中不断扩大的火柱,向主角人物扑来的闪电等,会更加加强战斗场景的现场感。素材的管理『RPG Maker XP』中,一些人物行走图、战斗素材等图片是被默认加密的。可以点击工具栏中的素材管理来导入或者导出 RPG 素材。可以用ctrl键来选择多个选项。这样更加方便制作者PS游戏素材和游戏封面,使自己制作出来的游戏更加富有个性,更加使人耳目一新。做出更加精美的 RPG 游戏。地图场景『RPG Maker XP』中,地图分三个图层。可以点击数据库地图修改,这样能让游戏更有可玩性。中文名 RPG Maker VX外文名 RPGツークル简 称 RM属 于 RPG制作大师目录
1软件介绍
2主要特点
▪ 高效率的编辑器 ▪ 流畅的游戏画面 ▪ 音乐播放方式 ▪ 脚本系统
3版本比较
▪ 主要差异 ▪ 脚本差异 ▪ 素材调用差异 1软件介绍编辑(,)Enterbrain(原 ASCII) 的 RPG Maker 又回来了! 继上次发售 PS2 版的 RPG Maker 后,整整期待了 3 年全新的RPG Maker VXPC 版终于发售!RPG Maker 系列最早源于家用主机 SFC 在 1995 年发售的RPGツクール SUPER DANTE此工具是以不需要制作者专业的程序知识就能编写出与商业 RPG 游戏想媲美的游戏为卖点的程序,随着时代的发展今天的RPG Maker VX已经突破了当年的游戏主机的限制可以更自由的开发游戏了 (支持几乎所有常见的 PC 图片文件作为其素材,背景音乐则支持MP3/WMA/OGG/MIDI/Wav等格式彻底摆脱了旧版Rpg maker 2000/2003的弊病) VX 版同时改进了自 XP 导入RGSS脚本系统使得这个为高级用户准备的二次开发工具变的更强大!您甚至可以用RGSS编写代码开发出网络游戏!任何您所能想到的游戏创意都能用它实现。2主要特点编辑高效率的编辑器被优化改进的用户界面使您能够以最小的工作量直观地创建游戏。大多数的功能被设计为类似于RPG制作大师2000版本的使用风格。除此之外,地图编辑器也有了重大的改动,自动产生边界的优越功能使你能够更快的创建你预设计好的地图,而不需要为图层分布的问题而烦恼。流畅的游戏画面使用544×416的画面分辨率优秀地表现真彩色32位的图片是完全可以的!虽然画面大小较RPG制作大师XP要小,但是如果你将角色和地图的比例考虑进去,这样的分辨率是最合适的。FPS(每秒帧数)为每秒60帧的流畅画面。新的版本完全支持Alpha通道,换句话说,能够展现更平滑的透明效果了!音乐播放方式背景音乐主要包含使用了DirectMusicSynthesizer的MIDI音乐。音乐素材的作者们无须担心大量MIDI源的兼容性。在RPG制作大师VX主程序里面播放音乐的效果,完全可以做到和其他环境播放的效果相媲美。除此之外,RPG制作大师现在支持OggVorbis的音乐数据流格式,通过嵌入某些文字字符串做为注释,您甚至可以做到只循环一首音乐的中间部分,而达到游戏中的精巧配乐效果。脚本系统使用RPG制作大师VX所制作的游戏是基于RGSS脚本系统的。虽然完全只使用本软件所提供的脚本完全可以制作出可玩性高的游戏,但是自己定义游戏的所有细节成分并非不可能喔!从普通游戏画面到战斗系统,都可以自己个性化!Ruby游戏脚本系统(RGSS)已经升级到了第二版,并且增加了许多的新功能,原有的功能也做了不少改进。精心设计的默认脚本以符合逻辑的语法结构编写而成,大大的降低了使用外来插件脚本素材导致执行冲突的可能。3版本比较编辑主要差异(RGSS2)RPG制作大师VX所使用的是 RGSS2,与RPG制作大师XP所包含的 RGSS1有不少的差异。主要的差异举列如下:默认分辨率从 640×480 改成 544×416;预设的画格率从 40 改成了 60。移除了平滑模式。在全屏幕模式下使用双重缓冲,若计算机配备达到推荐配备的话,屏幕滚动应十分流畅。原本当将画面超过一段时间没有刷新,就会强制退出的功能已经移除。因此即使画面未刷新也不会有任何对话框出现,但是依然可以使用 Alt+F4 强行退出。可以轻易的调用Graphics.fadeout和Graphics.fadein这两个函数来淡出/淡入画面。可以调用Graphics.snap_to_bitmap方法直接将当前游戏画面进行截图。组件地图类(Tilemap)重新依照RPG制作大师VX的地图规格重新定义。可以对位图(Bitmap)进行模糊或幅状模糊的特效。可以对精灵(Sprite)进行波状特效。可以将字库放在游戏文件夹下的Fonts文件夹下直接调用,而不需要将其安装至系统当中。字体类(Font)支持文字阴影,部分的默认值已经修改。可以修改显示端口(Viewport)关联。并且不会自动释放与显示端口关联的精灵和其他组件。优化了ME结束后重新播放BGM的 时间节奏(Audio。me_play)。脚本差异原则上,本作与 "RPG Maker XP" 用的脚本没有互换性。请确认是不是 "RPG Maker VX" 的脚本。如果硬要用XP的脚本做VX,请慎重修改脚本后使用。素材调用差异在RPG Maker XP中,所有的素材必须通过素材管理来导入或者导出,十分浪费时间和精力,并且也不容易替换。但是到了RPG Maker VX,只要先压缩游戏数据在勾选时勾上包含RTP,然后再释放到一个目录中,那么,所有的素材就显而易见了。可以使用PS等图像编辑软件编辑,使做出来的游戏更加附有自己的个性、精美。除了上述的属要差异,还有许许多多的小差异。具体是什么差异,就让给各位制作大师去探索吧。简介编辑RPG Maker VX Ace (RMVA) 是 Enterbrain 开发的 RPG Maker 系列的第五代。RMVA 允许没有编程经验的普通用户轻松制作出RPG 游戏,创作的游戏可以在没有安装 RPG Maker VX Ace 的计算机上运行。[1] 2更新编辑素材新增OGV格式视频支持追加OGG格式音频支持,允许循环播放更新战斗图和行走图地图优化地图绘制功能新增地形标记功能新增16x16阴影绘制功能新增设定不规则遇敌区域功能事件新增对话框显示物品图标功能新增对话框调整色调功能新增暗化显示文字功能新增角色跟随功能新增角色替换功能新增角色生成功能新增选择物品激活事件功能系统新增纸娃娃系统,允许自定义角色外观新增“TP”概念和TP槽,通过积攒战斗行动中增加的TP发动必杀技双项换战斗背景和标题画面在标题画面中显示游戏名称交通工具上允许遇敌搭载 RGSS 3 脚本系统更新 Ruby 到 V1.9.2新增 动态链接库(DLL) 支持调整脚本结构兼容性RPG Maker VX Ace 与 RPG Maker VX 的素材通用RPG Maker VX Ace 搭载的 RGSS3 脚本系统不支持 RGSS 和 RGSS 2 的脚本,早期版本的脚本不能在 RPG Maker VX Ace 中使用。RPG Maker VX Ace 是继承自 RPG Maker VX 的正统进化版本。RPG Maker 的早期版本受到了大众的好评,而在 RPG Maker VX Ace 中则增加了更多先进的功能。全新的数据库RPG Maker VX Ace 更新了数据库。[特性]和[使用效果]被添加到每个数据库项目当中,并且允许多种设定。另外, RPG Maker VX Ace 还增加了[反击]和[魔法反射]等状态,使战斗变得更有趣。纸娃娃系统纸娃娃系统允许用户自定义自己的角色。通过选择发型、眼睛、鼻子、服装等部件轻松制作出一个角色。这有利于用户根据作品风格和剧情制作相适应的角色素材。音频支持RPG Maker 通常以MIDI格式文件作为 BGM ,而新增的Ogg Vorbis格式支持则允许播放更大更复杂的音乐文件。另外,从战斗地图画面返回游戏地图的时候,地图的BGM会继续播放。视频支持RPG Maker VX Ace 以Ogg Theora格式播放视频。RPG Maker VX Ace 内置解码器,所以在其它计算机中播放也没有问题。RPG Maker VX Ace 搭载的脚本系统 RGSS 3 更加强大,预设脚本进一步精简并且更容易修改。RPG Maker VX Ace 的系统配置如下:操作系统Microsoft® Windows® XP / Vista / 7*CPUIntelR PentiumR 4 2.0GHz 以上*内存512 MB 以上显示适配器屏幕分辨率1024×768 以上硬盘空间400MB可用的硬盘空间**操作系统需要安装 DirectX,已包含 DirectX 的 Windows® XP 无需另行安装。*程序处理的速度主要由计算机的 CPU 配置决定。*以上列出的条目是运行 RPG Maker VX Ace 最低的配置需求。
使用步骤如下:1. 制作脚本:按照个人需求从网上搜集脚本或者自己制作脚本。如果您的脚本是从别的地方收集的,请先把脚本文件拷贝到按键精灵文件夹下的script文件夹中,然后再运行按键精灵。2.选择有效的窗口:建议您选择“对所有窗口有效”。如果您只需要脚本当某个窗口在前台时有效,请选择窗口名称,比如“龙族”3.让需要执行的脚本“有效”,只有“有效”一栏中勾中的脚本才会执行。4.进入游戏(或者其他需要使用按键精灵的软件) ,在需要使用脚本的时候按下脚本的“快捷键”,按键精灵就会忠实的为您工作了。按键精灵主界面--------------------------------------------------------------------------------图:主界面及功能按钮主界面功能简介:增加:增加一个新的脚本。修改:修改当前选中的脚本。删除:删除当前选中的脚本,可以同时选中多个脚本进行删除。录制:录制新的脚本,新手制作脚本首选功能。上传:将当前脚本上传至按键精灵网站,与他人进行交流。全部有效/无效:让所有脚本有效或者无效。小精灵:将脚本打包为可以独立执行的小精灵。会员:注册软件,会员专区,感谢您使用正版软件。帮助:查看用户帮助手册。--------------------------------------------------------------------------------图:录制功能录制功能简介:强烈推荐的功能!能够忠实记录您的动作,并在脚本执行时回放,新手也可随心所欲制作脚本。按下ScrollLock键就可以开始录制,再次按下就可停止录制,最后保存即可。如果您需要按键精灵忠实的记录鼠标移动轨迹,在后面的“记录鼠标移动轨迹”前面打个勾就可以了。录制过程中可以随便移动录制工具条,不会对您录制的动作产生任何影响。--------------------------------------------------------------------------------图:上传脚本上传脚本功能简介:在主界面选择一个脚本,点击“上传”按钮就可以进入上传脚本界面。您可以将自己比较得意的脚本上传到我们的服务器。在您的脚本上传成功之后,我们将会进行人工审核。不错的脚本都会被我们推荐给其他玩家共同学习。上传时按键精灵会自动填写一些信息。请您在“脚本说明”里写上脚本的用途、制作思路等你认为对其他人有帮助的信息。没有说明或者说明不清楚的脚本将无法获得推荐。:-) 脚本编辑器 --------------------------------------------------------------------------------图:脚本编辑器界面脚本编辑器使用说明:在动作选择区选择动作,插入右边的脚本内容区即可。脚本支持粘贴、复制、移动、删除等操作。脚本编写完毕之后,在脚本设置区进行一些必要的设置,点击“保存脚本” ,就可保存当前制作的脚本,点击右上角的X符号可以关闭编辑器返回主界面。注意:我们默认的终止热键是“F12” ,目前所有的脚本使用同一个终止热键,也就是按下一个终止热键之后,所有的脚本就会停止运行。--------------------------------------------------------------------------------图:脚本调试功能脚本调试功能简介:脚本调试功能允许您随时观察脚本的执行顺序,也可以随意暂停/继续脚本的运行,方便查找脚本错误。当您点击“执行”后,脚本将会开始执行,同时记录下每一步执行了哪条动作(语句),您可以随时按“暂停”热键暂时中止脚本执行,然后点击“语句编号”立刻查看,看完以后可以随时让脚本从中断处恢复执行。执行热键: ScrollLock暂停热键:Pause停止热键:ScrollLock --------------------------------------------------------------------------------图: 抓点界面抓点功能简介:用户可以抓取20个坐标点以及相应坐标点的颜色。抓点热键包括数字键0到9,以及数字键下方的10个字母键Q到P。按下热键即可获得鼠标当前所在位置的坐标和颜色,以备制作脚本时使用。偏移
法导出源码的。如果不是小精灵好办了,按键精灵的脚本一般都是用文本文件编写的,直接打开脚本文本,复制里面的内容就行,但是一旦制作成按键小精灵,你就没办法从里面获取脚本源码,只能用录制功能再录制一遍,但录制出来的内容只是前台的鼠标操作和键盘操作,像找怪、自动加血这些功能是没有办法录制的。
Window_Base是游戏中全部窗口的超级类,可以尝试将脚本编辑器里的Window_Base项删除,然后从正常的rm里重新粘贴一个过来,看看是不是就没问题了
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戏中全部窗口的超级类。
#==============================================================================
class Window_Base Window
#--------------------------------------------------------------------------
# ● 初始化对像
# x : 窗口的 X 坐标
# y : 窗口的 Y 坐标
# width : 窗口的宽
# height : 窗口的宽
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super()
@windowskin_name = $game_system.windowskin_name
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
self.x = x
self.y = y
self.width = width
self.height = height
self.z = 100
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
# 如果窗口的内容已经被设置就被释放
if self.contents != nil
self.contents.dispose
end
super
end
#--------------------------------------------------------------------------
# ● 获取文字色
# n : 文字色编号 (0~7)
#--------------------------------------------------------------------------
def text_color(n)
case n
when 0
return Color.new(255, 255, 255, 255)
when 1
return Color.new(128, 128, 255, 255)
when 2
return Color.new(255, 128, 128, 255)
when 3
return Color.new(128, 255, 128, 255)
when 4
return Color.new(128, 255, 255, 255)
when 5
return Color.new(255, 128, 255, 255)
when 6
return Color.new(255, 255, 128, 255)
when 7
return Color.new(192, 192, 192, 255)
else
normal_color
end
end
#--------------------------------------------------------------------------
# ● 获取普通文字色
#--------------------------------------------------------------------------
def normal_color
return Color.new(255, 255, 255, 255)
end
#--------------------------------------------------------------------------
# ● 获取无效文字色
#--------------------------------------------------------------------------
def disabled_color
return Color.new(255, 255, 255, 128)
end
#--------------------------------------------------------------------------
# ● 获取系统文字色
#--------------------------------------------------------------------------
def system_color
return Color.new(192, 224, 255, 255)
end
#--------------------------------------------------------------------------
# ● 获取危机文字色
#--------------------------------------------------------------------------
def crisis_color
return Color.new(255, 255, 64, 255)
end
#--------------------------------------------------------------------------
# ● 获取战斗不能文字色
#--------------------------------------------------------------------------
def knockout_color
return Color.new(255, 64, 0)
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
# 如果窗口的外关被变更了、再设置
if $game_system.windowskin_name != @windowskin_name
@windowskin_name = $game_system.windowskin_name
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
end
end
#--------------------------------------------------------------------------
# ● 图形的描绘
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_graphic(actor, x, y)
bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
cw = bitmap.width / 4
ch = bitmap.height / 4
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# ● 名称的描绘
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_name(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 120, 32, actor.name)
end
#--------------------------------------------------------------------------
# ● 职业的描绘
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_class(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 236, 32, actor.class_name)
end
#--------------------------------------------------------------------------
# ● 水平的描画
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_level(actor, x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, "Lv")
self.contents.font.color = normal_color
self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
end
#--------------------------------------------------------------------------
# ● 生辰成描绘用状态字符串
# actor : 角色
# width : 描画目标的宽度
# need_normal : [正常] 是否为必须 (true / false)
#--------------------------------------------------------------------------
def make_battler_state_text(battler, width, need_normal)
# 获取括号的宽
brackets_width = self.contents.text_size("[]").width
# 生成状态名字符串
text = ""
for i in battler.states
if $data_states[i].rating = 1
if text == ""
text = $data_states[i].name
else
new_text = text + "/" + $data_states[i].name
text_width = self.contents.text_size(new_text).width
if text_width width - brackets_width
break
end
text = new_text
end
end
end
# 状态名空的字符串是 "[正常]" 的情况下
if text == ""
if need_normal
text = "[正常]"
end
else
# 加上括号
text = "[" + text + "]"
end
# 返回完成后的文字类
return text
end
#--------------------------------------------------------------------------
# ● 描绘状态
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_state(actor, x, y, width = 120)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
self.contents.draw_text(x, y, width, 32, text)
end
#--------------------------------------------------------------------------
# ● 描画 EXP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_exp(actor, x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 24, 32, "E")
self.contents.font.color = normal_color
self.contents.draw_text(x + 24, y, 84, 32, actor.exp_s, 2)
self.contents.draw_text(x + 108, y, 12, 32, "/", 1)
self.contents.draw_text(x + 120, y, 84, 32, actor.next_exp_s)
end
#--------------------------------------------------------------------------
# ● 描绘 HP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_hp(actor, x, y, width = 144)
# 描绘字符串 "HP"
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
# 计算描绘 MaxHP 所需的空间
if width - 32 = 108
hp_x = x + width - 108
flag = true
elsif width - 32 = 48
hp_x = x + width - 48
flag = false
end
# 描绘 HP
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp = actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
# 描绘 MaxHP
if flag
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
end
end
#--------------------------------------------------------------------------
# ● 描绘 SP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_sp(actor, x, y, width = 144)
# 描绘字符串 "SP"
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
# 计算描绘 MaxSP 所需的空间
if width - 32 = 108
sp_x = x + width - 108
flag = true
elsif width - 32 = 48
sp_x = x + width - 48
flag = false
end
# 描绘 SP
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp = actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
# 描绘 MaxSP
if flag
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
end
end
#--------------------------------------------------------------------------
# ● 描绘能力值
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# type : 能力值种类 (0~6)
#--------------------------------------------------------------------------
def draw_actor_parameter(actor, x, y, type)
case type
when 0
parameter_name = $data_system.words.atk
parameter_value = actor.atk
when 1
parameter_name = $data_system.words.pdef
parameter_value = actor.pdef
when 2
parameter_name = $data_system.words.mdef
parameter_value = actor.mdef
when 3
parameter_name = $data_system.words.str
parameter_value = actor.str
when 4
parameter_name = $data_system.words.dex
parameter_value = actor.dex
when 5
parameter_name = $data_system.words.agi
parameter_value = actor.agi
when 6
parameter_name = $data_system.words.int
parameter_value = actor.int
end
self.contents.font.color = system_color
self.contents.draw_text(x, y, 120, 32, parameter_name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
end
#--------------------------------------------------------------------------
# ● 描绘物品名
# item : 物品
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_item_name(item, x, y)
if item == nil
return
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 212, 32, item.name)
end
end
就是放一个障碍物挡着路,当触发了某个剧情后障碍物就消失了,怎么设置公共事件或开关?
一.脚本问题 1. 详尽任务显示界面 2. 容错脚本第3版 (也不知道你钻什么牛角尖,没办法了,这个给你) 二.设置问题 1.新建一个工程,例设变量1为打怪数。转到数据库 队伍面板,选择你要设置打的怪,回合0中设置变量一的数值加一,就等于打一次怪数值就加一。 2.在详尽任务显示脚本中任务设置,例如: 名称 = "\\c[6]赏善罚恶" 简介 = "\\c[6]任务说明: 最近幽灵们纷纷出来捣乱,扰得民心不 安,阿尔西斯,你做为王国第一勇士, 有责任去铲除他们。 \\c[9]任务目标: 杀死幽灵\\v[1] /5次 报酬:人气" @tasks_info[1] = Game_Task.new(名称, 简介) \\v[*] 是指变量一的数值,其实这很好做的,这种方法是最简单不过的了。 by 66rpg.com RPG-XP
去66RPG官网论坛 求助下吧 已经有人做过了 素材应该有不少哦
地址: