设为首页 收藏本站
登录 /立即注册 /找回密码

URPGs

快捷导航
  • 门户Portal
  • 论坛BBS
  • 群组Group
  • 导读Guide
  • 家园Space
  • 工具Tools
  • 广播Follow
  • 期刊Periodical
  • 排行榜Ranklist
  • 社区茶坊
  • pixlr图片编辑
  • 资源列表
  • photobucket
  • RMVA Lite [In English]
  • RM RTP
  • TryRUBY
  • RMXP+RMVX下载[VeryCD]
  • RMVA下载[66RPG]
搜索
  • 本版
  • 帖子
  • 用户
URPGs»论坛 › 技术讨论 › 技术讨论 › 备份《全事件指令脚本手册(转载加整理合并)》 ...
返回列表 发新帖
查看: 4871|回复: 1

[其他RM 讨论] 备份《全事件指令脚本手册(转载加整理合并)》

[复制链接]
翎·仲秋
翎·仲秋 当前离线
积分
219
查看详细资料 窥视卡 雷达卡
发表于 2018-4-7 13:46:27 | 显示全部楼层 |阅读模式
原帖位置:https://rpg.blue/thread-222399-1-1.html

感谢某个人,原帖地址http://rpg.blue/thread-175138-1-1.html
我在这里特别整理一下:
黑字为目前未整理的,默认VX
暗黄字为XP专用
蓝紫色为旧的VX专用,VX ACE不兼容
蓝绿色为VX ACE专用
天蓝色为确认VX通用
深紫色为全通用
草绿色为注释

第一页

消息
●显示文章…

command 101
$game_temp.message_text = 字符串
$game_message.texts.push(字符串)
$game_message.add(字符串)
#显示字符串中的内容,如果是直接输入文本需要两边加半角双引号

$game_message.position = 0-2 #更改对话框位置(0 =>上, 1=>中, 2=>下)
$game_message.background = 0-2 #更改对话框背景(0 =>普通, 1=>图片, 2=>透明)
$game_message.face_name = 字符串 #为对话指定脸图,字符串表示脸图文件名
$game_message.face_index = 0-7 #指定脸图序号,通常为0-7#●显示选择项…
(有问题)$game_message.choice_start = 0-3 #指定选项起始行,配合显示文章使用

(有问题)$game_message.choice_max = 0-3 #指定选项结束行

#●数值输入处理…

(有问题)$game_message.num_input_variable_id = 系统变量编号 #输入数值存入的变量

(有问题)$game_message.num_input_digits_max  =1-9 #输入数值是几位数

(有问题)变量 = Window_InputNumber.new(8) #开启输入数值窗口并保存至变量中


游戏进程
#●
开关控制…
$game_swicthes[整数] =  开关
#
将系统开关打开/关闭,如果使用脚本,开对应不带双引号的半角英文单词true而关对应false




#
将范围内批量开关打开/关闭#●变量操作…
$game_variables[整数] 运算符  选项 #设定指定编号变量的值
#
批量操作参考上面的用法
运算符: 代入 = 加法 += 减法 -= 乘法 *= 除法 /= 取余 %= 乘方 **=
选项:
常数 整数
变量$game_variables[整数]
随机 下限 + rand(上限 - 下限 + 1)
物品$game_party.item_number($data_items[物品ID])
角色 $game_actors[角色ID].后缀
等级level
经验exp
生命hp
魔法mp
生命上限  hpmax
魔法上限mpmax
攻击力atk
防御力def
精神力spi
敏捷性 agi
敌人$game_troop.members[敌人ID].后缀 #参考角色后缀,这里的敌人ID指的是战斗画面中敌人编号,而不是敌人类型ID
位置


$game_map.events[事件ID].后缀
#
当前事件为@event_id,
其他在事件编辑界面查看
$game_player.
后缀  #主角
X
坐标 x #以地图网格为单位
Y
坐标 y
面向 direction
画面X坐标 screen_x #以像素为单位
画面Y坐标 screen_y
其他 #请参考下表
地图ID  $game_map.map_id
同伴总人数  $game_party.members.size
步数  $game_party.steps
金钱  $game_party.gold
游戏总时间(秒)   Graphics.frame_count /Graphics.frame_rate #Graphics.frame_rate默认为60
计时器剩余(秒)   $game_system.timer /Graphics.frame_rate
存档次数   $game_system.save_count

#●
独立开关操作…
$game_self_switches[[地图编号,事件编号,"A"]] =开关
#
使用@map_id表示当前地图,@event_id表示当前事件#●计时器操作…
开始
$game_system.timer = 需要的秒数;$game_system.timer_working = true

停止
$game_system.timer_working = false

控制自动显示
#●条件分歧…

√if <条件表达式> then

<满足条件的执行语句>

√else #可以去掉这两行,相当于不勾选“当条件不符合的场合时的设置”

<其他情况的执行语句>

√end
# ◆ 第1页

开关$game_swicthes[开关ID] ==true/false #ON/OFF
变量game_variables[变量ID] 比较运算符 整数或变量
比较运算符: 相等 == 以上 >= 以下 <= 超过 > 未满 < 不等 !=
独立开关$game_self_switches[[地图编号,事件编号,"A"]] == 开关
计时器 $game_system.timer#注意单位为帧(每秒60帧)
# ◆ 第2页

在队伍时  $game_party.members.include?( $game_actor[角色ID])
名称为    $game_actor[角色ID].name == 字符串
掌握技能  $game_actor[角色ID].skill_learn?($data_skills[技能ID])
装备武器  $game_actor[角色ID].weapons.include?($data_weapons[武器ID])
装备防具  $game_actor[角色ID].armors.include?($data_skills[防具ID])
拥有状态  $game_actor[角色ID].armors.state?(状态ID)
# ◆ 第3页

敌人出现  $game_troop.members[敌人ID].exist?
敌人拥有状态  $game_troop.members[敌人ID].state?(状态ID)
事件朝向  $game_map.events[事件ID].direction == 方向
乘坐工具  $game_player.vehicle_type == 工具ID
# ◆ 第4页

所持金钱   $game_party.gold
持有物品   $game_party.has_item?($data_items[物品ID])
持有武器   $game_party.has_item?($data_weapons[武器ID], 含装备) #true为包含装备品
持有防具   $game_party.has_item?($data_armors[防具ID], 含装备) #true为包含装备品
按下按键   Input.press?(按键ID) ==真假

#●循环…

while ~end
for ~ in ~ end 语句

loop do ~ end 语句能实现相关效果,请看F1

#●中断循环…

break
#●中断事件处理…

Command_end
#●公共事件…

$game_temp.common_event_id = 公共事件ID

#●标签…

没有相关语句
#●跳转标签…

没有相关语句,要是有goto就好了
#●注释…

行首添加#注释符

队伍
#●增减金钱…

√$game_party.gain_gold(整数) #负数为减少金钱

#●增减物品…

$game_party.gain_item($data_items[物品ID], 数量) #负数为减少物品

#●增减武器…

$game_party.gain_item($data_weapons[武器ID], 数量, 含装备)

#●增减防具…

$game_party.gain_item($data_armors[防具ID], 数量, 含装备)

#●队伍管理…

初始化  $game_actors[角色ID].setup(角色ID)
入队   $game_party.add_actor(角色ID)
离队   $game_party.remove_actor(角色ID)

角色
全体角色的动作请用循环吧
#●增减HP…

$game_actors[角色ID].hp += 数值

$game_actors[角色ID].hp = 1 if $game_actors[角色ID].hp <= 0 #不允许濒死的设定

#●增减MP…

$game_actors[角色ID].mp += 数值

#●更改状态…

附加状态   $game_actors[角色ID].add_state(状态ID)
移除状态   $game_actors[角色ID].remove_state(状态ID)
#●完全回复…

$game_actors[角色ID].recover_all

#●增减经验…

$game_actors[角色ID].change_exp($game_actors[角色ID].exp + 整数, 升级提示)

#●增减等级…

$game_actors[角色ID].change_level($game_actors[角色ID].level + 整数, 升级提示)

#●增减能力值…

$game_actors[角色ID].后缀 += 数值 #请参考 ●游戏进程 => 变量操作

#●增减特技…

习得  $game_actors[角色ID].learn_skill(技能ID)
遗忘  $game_actors[角色ID].forget_skill(技能ID)
#●更改装备…

#部位ID:武器(0) / 盾(1) / 头部(2) / 身体(3) / 饰品(4)

$game_actors[角色ID].change_equip_by_id(部位ID, 装备ID)

#●更改名称…

$game_actors[角色ID].name = 字符串

#●更改职业…

$game_actors[角色ID].class_id = 职业ID


第二页

移动
#●场所移动…

$game_player.reserve_transfer(地图ID, 坐标x, 坐标y, 朝向) #朝向0-3下左右上

#●设置交通工具位置…

$game_map.boat.set_location(地图ID, 坐标x, 坐标y) #舟

$game_map.ship.set_location(地图ID, 坐标x, 坐标y) #船

$game_map.airship.set_location(地图ID, 坐标x, 坐标y) #飞艇

#●设置事件位置…

$game_map.events[事件ID].moveto(坐标x, 坐标y)

#●画面卷动…

$game_map.start_scroll(方向, 距离, 速度)

#●设置移动路线…

这个很复杂
#●交通工具乘降…

$game_player.get_on_off_vehicle

角色
#●更改透明状态…

$game_player.transparent = 布尔

#●显示动画…

$game_map.events[事件ID].animation_id = 动画ID

#●显示心情…

$game_map.events[事件ID].balloon_id = 动画ID

#●暂时消除事件…

$game_map.events[事件ID].erase


画面
如果想调用战斗画面的相关动作,请将$game_map改为$game_troop
#●画面淡出…

$game_map.screen.start_fadeout(持续帧数)

#●画面淡入…

$game_map.screen.start_fadein(持续帧数)

#●更改画面色调…

$game_map.screen.start_tone_change(Tone.new(R,G,B,A), 持续帧数, 是否等待)

#●画面闪烁…

$game_map.screen.start_flash(Tone.new(R,G,B,A), 持续帧数, 是否等待)

#●画面震动…

$game_map.screen.start_shake(Tone.new(R,G,B,A), 持续帧数, 是否等待)


等待
#●等待…

@wait_count = 帧数


图片与天气
#●显示图片…

$game_map.screen.pictures[图片ID].show(图片文件名, 左上origin中心center, 原点x, 原点y, 水平缩放, 垂直缩放, 透明度, 合成方式)

#●移动图片…

$game_map.screen.pictures[图片ID].move (持续帧数, 左上origin中心center, 原点x, 原点y, 水平缩放, 垂直缩放, 透明度, 合成方式, 是否等待)


#●旋转图片…

$game_map.screen.pictures[图片ID].route(旋转速率)

#●更改图片色调…

$game_map.screen.pictures[图片ID].start_tone_change(Tone.new(R,G,B,A), 持续帧数, 是否等待)

#●消除图片…

$game_map.screen.pictures[图片ID].erase

#●天气设置…

$game_map.screen.pictures(天气类型0-3, 强度0-9, 持续帧数, 是否等待) #天气类型为无、雨、风、雷


音乐与音效
#●播放BGM…

Audio.bgm_play("Audio/BGM/" + "文件名", 音量, 节奏)

#●淡出BGM…

RPG::BGM.fade(秒数 * 1000)

停止  Audio.bgm_stop
#●播放BGS…

Audio.bgs_play("Audio/BGS/" + "文件名", 音量, 节奏)

#●淡出BGS…

RPG::BGS.fade(秒数 * 1000)

停止  Audio.bgs_stop
#●播放ME…

Audio.me_play("Audio/ME/" + "文件名", 音量, 节奏)

淡出  RPG::ME.fade(秒数 * 1000)
#●播放SE…

Audio.se_play("Audio/SE/" + "文件名", 音量, 节奏)

Sound.play_文件名

#●停止所有SE…

RPG::SE.stop
Audio.se_stop
扩展阅读:
Audio.bgm/bgs/me/se_play(文件名(含路径), 音量, 节奏)

#这个语句还可以用于将BGM作为SE播放,甚至可以新建目录存放音乐文件来播放


第三页

场景控制

#●战斗处理…

$game_troop.setup(敌人队伍ID)

$game_troop.can_escape = 布尔 #是否能逃跑

$game_troop.can_lose = 布尔 #战斗失败后继续

$game_temp.battle_proc = Proc.new { |n| @branch[@indent] = n }
$game_temp.next_scene = "battle"
#●商店处理…

(有问题)$game_temp.next_scene = "shop"

(有问题)$game_temp.shop_goods = [物品类型,物品ID] #物品类型为0道具1武器2防具

(有问题)$game_temp.shop_goods.push([物品类型,物品ID]) #往列表添加一个物品

(有问题)$game_temp.shop_purchase_only = 布尔 #物品可否出售

#●名称输入处理…

$game_temp.next_scene = "name"
$game_temp.name_actor_id = 角色ID

$game_temp.name_max_char = 最大字符数

#●打开菜单画面…

$game_temp.next_scene = "menu"
$game_temp.menu_beep = false #是否播放打开菜单音效

#●打开存档画面…

$game_temp.next_scene = "save"
#●游戏结束…

$game_temp.next_scene = "gameover"
#●返回标题画面…

$game_temp.next_scene = "title"
扩展阅读:
将$game_temp.next_scene= 项目名:"item"物品菜单,"skill"技能菜单,"equip"装备菜单"status"
也可以使用以下语法:
$scene = Scene_项目名.new

另外存读档的语句:
$scene = Scene_File.new(存读,返回标题,返回地图) #第一个参数true为存档,false为读档,第二个参数为true则结束后返回标题画面,第三个参数为true则返回地图画面,如果二、三都为false则返回菜单画面。


系统设置

#●更改战斗BGM…

$game_system.battle_bgm = 文件名

#●更改战斗结束ME…

$game_system.battle_end_me =文件名

#●启用/禁用存档…

$game_system.save_disabled = 布尔

#●启用/禁用菜单…

$game_system.menu_disabled =布尔

#●允许/禁止遇敌…

$game_system.encounter_disabled =布尔

#●更改角色图形…

$game_actors[角色ID].set_graphic(行走图文件名,序号,脸图文件名,序号)

$game_player.refresh #记得刷新显示

#●更改交通工具图形…

$game_map.boat/ship/airship.set_graphic(行走图文件名, 序号)



脚本

eval(script)

战斗事件

#●更改敌人HP…

$game_troop.members[敌人ID].hp += 整数

#●更改敌人MP…

$game_troop.members[敌人ID].mp += 整数

#●更改敌人状态…

$game_troop.members[敌人ID].add_state(状态ID)

#●敌人完全回复…

$game_troop.members[敌人ID].recover_all

#●敌人出现…

$game_troop.members[敌人ID]. hidden = false

$game_troop.make_unique_names #重名重命名

#●敌人变身…

$game_troop.members[敌人ID].transform(变身后ID)

$game_troop.make_unique_names #重名重命名

#●战斗动画显示…

$game_troop.members[敌人ID] .animation_id = 动画ID

$game_actor[角色ID] .animation_id = 动画ID

#●强制战斗指令…

这个很复杂,就不写了
#●战斗中断…

$game_temp.next_scene = "map"

回复

使用道具 举报

  • 提升卡
  • 置顶卡
  • 沉默卡
  • 喧嚣卡
  • 变色卡
  • 抢沙发
  • 千斤顶
  • 显身卡
翎·仲秋
翎·仲秋 当前离线
积分
219
查看详细资料 窥视卡 雷达卡
 楼主| 发表于 2019-9-9 17:14:18 | 显示全部楼层
VA的设置移动路线
  character = get_character(事件ID)
   route = RPG::MoveRoute.new
   route.repeat = false
   route.list[0] = RPG::MoveCommand.new(设置移动路线页里的第几个选项, [选了修改移动速度之类的话这里是修改的数值]))#这是第一个动作,必须改
   route.list.push(RPG::MoveCommand.new(设置移动路线页里的第几个选项, [选了修改移动速度之类的话这里是修改的数值]),设置移动路线页里的第几个选项, [选了修改移动速度之类的话这里是修改的数值]))#这里就可以随便多少个了
   character.force_move_route(route)
   Fiber.yield while character.move_route_forcing if route.wait
回复 Like Dislike

使用道具 举报

  • 显身卡
返回列表 发新帖
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

浏览过的版块

  • RMVA从零学起

站点统计|Archiver|手机版|意见反馈[feedback]| URPGs RPG Maker 游戏制作讨论

GMT+8, 2025-5-18 06:01 , Processed in 0.019243 second(s), 5 queries .

Powered by Discuz! X3.5

© 2011-2019 URPGs (Discuz! X3.4 © 2001-2019 Comsenz Inc.)

积分 0, 距离下一级还需 积分
快速回复 返回顶部 返回列表