当前位置:首页 » 编程软件 » rpg制作大师脚本

rpg制作大师脚本

发布时间: 2022-04-27 14:59:19

① rpg制作大师制作游戏流程

RPG制作大师系列有三种,分别是XP VX ACE,但是流程基本相仿:
1.构思剧情:想好游戏的剧情和一些过程,面的制作到后期的时候没什么可做从而前功尽弃。
2.收集人手(可以自己做……):防止由于工程量太多而导致无法完成。
3.制作素材(没有相应技术可以上网上搜集……):这个不必解释……完全为了游戏的效果,图片质量越高越好。
4.脚本编辑:做好脚本的目的是为了让游戏的一些功能(比如说战斗)符合自己的意图,并且达到好的效果。
5.数据库编辑:设置好基本的数据,有些数据是在构思的时候很难想出来的,可以随着制作的发展,有新想法之后再进行制作,但是基本类型的东西还是要制作的,比如角色、武器装备等。
6.地图编辑:画地图……画地图……这个不解释……只是注意把地图连接做好。
7.剧情编辑:现在起就可以在地图上绘制剧情了,一个事件两个事件……
8.制作字幕(不做也没啥关系……):这点是为了显示出帮助你的人或者工程,表示感谢,你不写当然没人说你……
9.后期测试:避免BUG和其他错误的办法,这个是必须环节,没人可以保证在工程里没一个错误吧(那种五分钟的汉字工程除外……)。
10.发布公测:这……不说了……
大概就这些了。累死了……

② rpg制作大师VX商店脚本问题

抱歉....上一个看错了= = 脚本和范例游戏发到你的邮箱里了已经
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# 处理地图画面的类。
#==============================================================================

class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
def start
super
$game_map.refresh
@spriteset = Spriteset_Map.new
@message_window = Window_Message.new
end
#--------------------------------------------------------------------------
# ● 执行渐变
#--------------------------------------------------------------------------
def perform_transition
if Graphics.brightness == 0 # 战斗后或载入后等
fadein(30)
else # 从菜单中回来等
Graphics.transition(15)
end
end
#--------------------------------------------------------------------------
# ● 结束处理
#--------------------------------------------------------------------------
def terminate
super
if $scene.is_a?(Scene_Battle) # 切换至战斗场景的场合
@spriteset.dispose_characters # 隐藏角色来生成战斗背景
end
snapshot_for_background
@spriteset.dispose
@message_window.dispose
if $scene.is_a?(Scene_Battle) # 切换至战斗场景的场合
perform_battle_transition # 执行战斗渐变
end
end
#--------------------------------------------------------------------------
# ● 基本更新处理
#--------------------------------------------------------------------------
def update_basic
Graphics.update # 更新游戏画面
Input.update # 更新输入信息
$game_map.update # 更新地图
@spriteset.update # 更新活动块组
end
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
def update
super
$game_map.interpreter.update # 更新解释器
$game_map.update # 更新地图
$game_player.update # 更新主角
$game_system.update # 更新计时器
@spriteset.update # 更新活动块组
@message_window.update # 更新信息窗口
unless $game_message.visible # 信息窗口显示中除外
update_transfer_player
update_encounter
update_call_menu
update_call_debug
update_scene_change
end
end
#--------------------------------------------------------------------------
# ● 淡入画面
# ration : 时间
# 如果直接使用 Graphics.fadeout 的话会出现一些状况,如天候效果和远景
# 滚动都会被强迫停止,所以用动态的 fade-in 效果会好些。
#--------------------------------------------------------------------------
def fadein(ration)
Graphics.transition(0)
for i in 0..ration-1
Graphics.brightness = 255 * i / ration
update_basic
end
Graphics.brightness = 255
end
#--------------------------------------------------------------------------
# ● 淡出画面
# ration : 时间
# 与上面的 fadein 一样,不是直接调用 Graphics.fadein。
#--------------------------------------------------------------------------
def fadeout(ration)
Graphics.transition(0)
for i in 0..ration-1
Graphics.brightness = 255 - 255 * i / ration
update_basic
end
Graphics.brightness = 0
end
#--------------------------------------------------------------------------
# ● 场所移动处理
#--------------------------------------------------------------------------
def update_transfer_player
return unless $game_player.transfer?
fade = (Graphics.brightness > 0)
fadeout(30) if fade
@spriteset.dispose # 释放活动块组
$game_player.perform_transfer # 执行场所移动
$game_map.autoplay # 自动更改 BGM 和 BGS
$game_map.update
Graphics.wait(15)
@spriteset = Spriteset_Map.new # 重新生成活动块组
fadein(30) if fade
Input.update
end
#--------------------------------------------------------------------------
# ● 遇敌处理
#--------------------------------------------------------------------------
def update_encounter
return if $game_player.encounter_count > 0 # 检查步数
return if $game_map.interpreter.running? # 判断是否有事件正在执行
return if $game_system.encounter_disabled # 判断是否禁止遇敌
troop_id = $game_player.make_encounter_troop_id # 判断敌人队伍
return if $data_troops[troop_id] == nil # 判断队伍是否无效
$game_troop.setup(troop_id)
$game_troop.can_escape = true
$game_temp.battle_proc = nil
$game_temp.next_scene = "battle"
preemptive_or_surprise
end
#--------------------------------------------------------------------------
# ● 判断先下手或被偷袭
#--------------------------------------------------------------------------
def preemptive_or_surprise
actors_agi = $game_party.average_agi
enemies_agi = $game_troop.average_agi
if actors_agi >= enemies_agi
percent_preemptive = 5
percent_surprise = 3
else
percent_preemptive = 3
percent_surprise = 5
end
if rand(100) < percent_preemptive
$game_troop.preemptive = true
elsif rand(100) < percent_surprise
$game_troop.surprise = true
end
end
#--------------------------------------------------------------------------
# ● 判断是否呼叫菜单(按下B键)
#--------------------------------------------------------------------------
def update_call_menu
if Input.trigger?(Input::B)
return if $game_map.interpreter.running? # 判断是否有事件正在执行
return if $game_system.menu_disabled # 判断是否禁止菜单呼叫
$game_temp.menu_beep = true # 设置音效标志
$game_temp.next_scene = "menu"
end
end
#--------------------------------------------------------------------------
# ● 判断是否呼叫DEBUG场景(按下F9键)
#--------------------------------------------------------------------------
def update_call_debug
if $TEST and Input.press?(Input::F9) # 游戏测试并按下F9
$game_temp.next_scene = "debug"
end
end
#--------------------------------------------------------------------------
# ● 执行场景交替
#--------------------------------------------------------------------------
def update_scene_change
return if $game_player.moving? # 判断主角是否移动中
case $game_temp.next_scene
when "battle"
call_battle
when "shop"
call_shop
when "name"
call_name
when "menu"
call_menu
when "save"
call_save
when "debug"
call_debug
when "gameover"
call_gameover
when "title"
call_title
else
$game_temp.next_scene = nil
end
end
#--------------------------------------------------------------------------
# ● 切换至战斗画面
#--------------------------------------------------------------------------
def call_battle
@spriteset.update
Graphics.update
$game_player.make_encounter_count
$game_player.straighten
$game_temp.map_bgm = RPG::BGM.last
$game_temp.map_bgs = RPG::BGS.last
RPG::BGM.stop
RPG::BGS.stop
Sound.play_battle_start
$game_system.battle_bgm.play
$game_temp.next_scene = nil
$scene = Scene_Battle.new
end
#--------------------------------------------------------------------------
# ● 切换至商店画面
#--------------------------------------------------------------------------
def call_shop
$game_temp.next_scene = nil
$scene = Scene_Shop.new
end
#--------------------------------------------------------------------------
# ● 切换至名称输入画面
#--------------------------------------------------------------------------
def call_name
$game_temp.next_scene = nil
$scene = Scene_Name.new
end
#--------------------------------------------------------------------------
# ● 切换至菜单画面
#--------------------------------------------------------------------------
def call_menu
if $game_temp.menu_beep
Sound.play_decision
$game_temp.menu_beep = false
end
$game_temp.next_scene = nil
$scene = Scene_Menu.new
end
#--------------------------------------------------------------------------
# ● 切换至存档画面
#--------------------------------------------------------------------------
def call_save
$game_temp.next_scene = nil
$scene = Scene_File.new(true, false, true)
end
#--------------------------------------------------------------------------
# ● 切换至DEBUG画面
#--------------------------------------------------------------------------
def call_debug
Sound.play_decision
$game_temp.next_scene = nil
$scene = Scene_Debug.new
end
#--------------------------------------------------------------------------
# ● 切换至游戏结束画面
#--------------------------------------------------------------------------
def call_gameover
$game_temp.next_scene = nil
$scene = Scene_Gameover.new
end
#--------------------------------------------------------------------------
# ● 切换至标题画面
#--------------------------------------------------------------------------
def call_title
$game_temp.next_scene = nil
$scene = Scene_Title.new
fadeout(60)
end
#--------------------------------------------------------------------------
# ● 执行战斗渐变
#--------------------------------------------------------------------------
def perform_battle_transition
Graphics.transition(80, "Graphics/System/BattleStart", 80)
Graphics.freeze
end
end

③ 在RPG制作大师中怎么使用脚本

在你需要写入脚本的地方写入你要用的脚本就可以了,可是比较麻烦,用了之后还要使用结束的脚本。

④ RPG制作大师商店脚本问题。

既然是脚本的语法错误,那有可能是文件损坏或者不小心改错了什么(可能性大些)
其实没有这么麻烦,直接新建一个新工程,复制里面的脚本(整个复制,在目录里右击鼠标复制)
到你的工程里面,删掉原来的。
完毕。

= begin
网络 rmxp团队 贴吧恭候阁下光临。
= end

⑤ RPG制作大师 脚本错误

脚本不能乱删啊,每一个脚本都跟其他脚本对应,以Scene开头的所有脚本基本都有关联,删了当然不行了,所谓的第八行出错也就是没有关联项目,无法运行导致的

⑥ 求RPG制作大师的各种脚本

http://ytomy.sakura.ne.jp/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/equip&tech=equip_extension给你一个网站

http://www.excite.co.jp/world/jiantizi/这是给你用来翻译的

⑦ rpg制作大师脚本

自己去搜索RM大师天干宝典。。。或者百变宝典。。。。很多XP的脚本都在里面,如果是要VX的话。。。。还是去其他论坛找找吧~

⑧ rpg制作大师NPC显示名称脚本出错怎么破

你是不是改过什么脚本?

如果没有改过,请按照以下几点检查:
①再次确认您的NPC没有脚本问题。
②按以下事件制作NPC:
事件页1:(名称:NPC,固定朝向,与主角接触(这个是RPG Maker XP的,可能与RPG制作大师有些许不同))
文章………………,独立开关A=on
事件页2(条件启动:独立A=on)
请再次确保你没改过脚本,否则只有把你改过的整页在一个新的工程中换掉。

C式工作室为您解答,有疑请追问,无疑请采纳

⑨ 关于RPG制作大师脚本问题

sprite_commands = []
@sprite_commands << sprite
请注意这两个地方。<<在这里相当于push方法,向数组中添加sprite,但是@sprite_commands此时并不是数组,因此引发了这个错误。需要在一开始@sprite_commands = []

⑩ rpg制作大师脚本出错!

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

热点内容
删除sqlserver服务 发布:2024-05-18 16:47:06 浏览:323
密码盒的密码是多少钱 发布:2024-05-18 16:43:52 浏览:95
linux哪个c语言编译器好用 发布:2024-05-18 16:30:03 浏览:469
搜狐视频无法缓存 发布:2024-05-18 16:30:03 浏览:310
小鸟云服务器值不值得买 发布:2024-05-18 16:30:01 浏览:899
durbin算法 发布:2024-05-18 16:29:57 浏览:556
qq邮箱访问受限 发布:2024-05-18 16:23:27 浏览:473
电信光纤上传限制 发布:2024-05-18 16:08:05 浏览:911
sql中的limit 发布:2024-05-18 16:05:57 浏览:896
启动ug时服务器无响应是怎么回事 发布:2024-05-18 15:48:24 浏览:372