【VA 事件指令 简单脚本 目录】(不全)

http://rm.66rpg.com/forum.php?mod=viewthread&tid=249826&extra=&page=9

↑89#、87#也有

关于【音乐】的脚本不在此文中

#======================================================================
#数据库第一页
#======================================================================
#【开关操作...】
#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)

 

 

 

转载于:https://my.oschina.net/Vortur/blog/669728

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值