查看: 3397|回复: 0

[RMVA发布] 【转载】VA事件指令 简单脚本 目录 VA 事件指令

[复制链接]
梦石
0
星屑
1297
在线时间
995 小时
注册时间
2014-12-14
回帖
2939

开拓者

发表于 2016-5-10 22:49:57 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 Vortur 于 2016-8-24 16:37 编辑

RMVA  简单脚本指令

[fold=1.  致谢:这里的知识,来自6R的各个角落。在此谢过!]
>皿<

【备用地址】




  [/fold][fold=2.  事件指令 (一)]
[pre lang="Ruby"]#======================================================================
#数据库第一页
#======================================================================
#【开关操作...】
#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  https://rpg.blue/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

#调用部分名字  https://rpg.blue/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  https://rpg.blue/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://rpg.blue/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

#事件脚本·玩家心情 https://rpg.blue/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)[/pre]






[/fold][fold=3.  事件指令 (二)]  出处【求新手音乐教程 】
[pre lang="ruby"]Audio.bgm_play(filename[, volume[, pitch]])
#播放BGM音乐filename为路径,后面两个可省略
#效果,连续播放,就是完了再播放
Audio.bgm_stop
#停止 BGM 的播放。

Audio.bgs_play(filename[, volume[, pitch]])
#播放BGS音乐filename为路径,后面两个可省略
#效果我还没测试
Audio.bgs_stop
#停止 BGS 的播放。

Audio.me_play(filename[, volume[, pitch]])
#播放ME音乐filename为路径,后面两个可省略
#效果,播放此音乐后BGM将暂时停止,播放此音乐,直到此陨越播放完毕,再继续播放BGM
Audio.me_stop
#停止 ME 的播放(所有)

Audio.se_play(filename[, volume[, pitch]])
#播放ME音乐filename为路径,后面两个可省略
#此音乐以上面两个函数无关,播放一次,可叠加播放
Audio.se_stop
#停止 ME 的播放(所有)

Audio.xxx_fade(time)
#这个是淡出
#跟stop差不多,只是淡淡得消失
#time为潭出时间[/pre]



[/fold][fold=其他版本事件指令]

【[已发主站] [猫儿工具箱系列第五弹]在工程中任意查找事件指令】还没仔细看

【[RMVX发布] 全事件指令脚本手册(已完成)】VX的事件脚本指令,与VA相比,目前还未发现不同

【VX事件指令对XP事件指令】图挂了

{【完结】RPG Maker XP(数据库及事件) 使用教程}之【事件指令】在17#有写,此系xp的教程

【推广向】这个世界将是我们事件脚本流的天下!RMVA小脚本  较为详细地论述了事件脚本的相关姿势,且有大触作点评。具体未细看



////////////以下为【事件脚本】的检索结果////////////

这个脚本【好像】是 允许 使用【脚本指令】,来完成原本在【事件操作界面】所完成的功能。下载了,看了,没搞明白。以后有时间再看一遍吧
https://rpg.blue/thread-391190-1-1.html

这个好像是将【事件操作界面】的命令转化为【脚本命令】的样子,个人认为介绍太少,根本没说这东西的功能
https://rpg.blue/thread-374907-1-1.html

看到这个id的帖子都会发怵,除了发现自己完全看不懂自己很浅薄且一无所知以外,总是没有什么新收获
https://rpg.blue/thread-256888-1-1.html
https://rpg.blue/thread-285681-1-1.html





[/fold]
【RMVA教程】
---------------------
欲买桂花同载酒,终不似,少年游.
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部