查看: 1880|回复: 2

[已经解决] 请问如何在菜单里增加一个场所移动的指令

[复制链接]
梦石
0
星屑
55
在线时间
461 小时
注册时间
2014-7-23
回帖
178
发表于 2014-12-4 16:13:30 | 显示全部楼层 |阅读模式

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

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

×
想在菜单里增加一个移动场所的指令
比如这个指令名称为传送,然后就移动到设置好的地图ID
因为只想移动到一张特定的地图所以没必要弄选项之类的
求脚本~!

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-12-4 17:14:44 | 显示全部楼层
本帖最后由 taroxd 于 2014-12-4 17:16 编辑

参考置顶的 F1 - 实践篇 - 制作传送物品

虽然里面制作的是“物品”,但是本质是相同的
回复

使用道具 举报

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2014-12-5 01:41:48 | 显示全部楼层
本帖最后由 三途亚梦 于 2014-12-27 21:19 编辑

一个简单的添加传送指令的小脚本。

稍微变得更像VA了一点 -L-.

点击展开/收起[pre lang="ruby" line="1"]#==============================================================================
# +++ 简易菜单传送指令 +++
#==============================================================================
# 作者 By 三途亚梦
#  -- 本脚本来自 https://rpg.blue 使用或转载请保留以上信息。
#==============================================================================
# 本脚本的作用是在菜单中给玩家提供一个便捷的回城方法。
#==============================================================================
#
# ★本脚本提供了两种使用方法,请认真阅读使用说明
#
# ★PasspaceName可以设置指令的名字,注意保留引号★!
#
#   PasspaceMapid 用于设置目标地图的id
#   
#   PasspaceMapX 用于设置目标位置X轴的数值
#   
#   PasspaceMapY 用于设置目标位置Y轴的数值
#   
#   PasspaceFaceon = 用于设置传送之后玩家的面向。
#   数字0、2、4、6、8
#   分别对应:记忆当前面向(0)、面向下(2)、面向左(4)、面向右(6)、面向上(8)
#
# ★该脚本的默认状态是传送到1号地图x轴为11,y轴为11的位置上,且面向下方。
#
# ★PasspaceTevent用于改变本脚本的基础功能。
#   PasspaceTevent的值不等于0的时候,
#  “返回城镇”的指令将变为执行ID为PasspaceTevent的值的公共事件。
#   例:PasspaceTevent = 1  
#   将会执行1号公共事件,那么请在公共事件1中设置传送的具体方法。
#   你当然也可以扩展它的应用。
#
#
#==============================================================================
# ★ 设定部分 ★
#==============================================================================
module Amu
  module Passpace
   
    PasspaceName = "返回城镇" #指令的名字
   
    PasspaceMapid = 1  #传送目的地的地图id
  
    PasspaceMapX = 11  #传送目的地的X轴
   
    PasspaceMapY = 11  #传送目的地的Y轴
   
    PasspaceFaceon = 2 #玩家的面向
   
    PasspaceTevent = 0 #公共事件化
   
  end
end

class Window_MenuCommand < Window_Command
  #--------------------------------------------------------------------------
  # ● 向指令列表添加传送的指令
  #--------------------------------------------------------------------------
  alias amu_20141205_add_main_commands add_main_commands
  def add_main_commands
    amu_20141205_add_main_commands
    add_command(Amu::Passpace::PasspaceName, :amupasspace)
  end
end

class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 生成指令窗口
  #--------------------------------------------------------------------------
  alias amu_20141205_create_command_window create_command_window
  def create_command_window
    amu_20141205_create_command_window
    @command_window.set_handler(:amupasspace,    method(:command_amupasspace))
  end
  #--------------------------------------------------------------------------
  # ● 指令“返回城镇”
  #--------------------------------------------------------------------------
  def command_amupasspace
    SceneManager.return
    if Amu::Passpace::PasspaceTevent != 0
      $game_temp.reserve_common_event(Amu::Passpace::PasspaceTevent)
    else
      $game_player.reserve_transfer(Amu::Passpace::PasspaceMapid, Amu::Passpace::PasspaceMapX, Amu::Passpace::PasspaceMapY, Amu::Passpace::PasspaceFaceon)  
      $game_player.refresh
      SceneManager.call(Scene_Map)
    end
  end
end[/pre]

点评

不仅解决了我的问题还使我脑洞打开有没有。。。。 太崇拜你了  发表于 2014-12-5 13:36
$scene = Scene_Map.new - -  发表于 2014-12-5 12:38
切换场景VA有SceneManager这种好东西。  发表于 2014-12-5 11:13
Respect You  发表于 2014-12-5 07:27

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

在本版发帖返回顶部