设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1340|回复: 2
打印 上一主题 下一主题

[已经解决] 如何用脚本设置执行公共事件?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1308
在线时间
354 小时
注册时间
2009-9-14
帖子
328
跳转到指定楼层
1
发表于 2012-4-14 14:21:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想在菜单里添加一个选项,这个选项是执行某个公共事件。

Lv3.寻梦者

梦石
0
星屑
3852
在线时间
1582 小时
注册时间
2006-5-5
帖子
2743
2
发表于 2012-4-14 17:16:55 | 只看该作者
说说具体效果,否则很笼统,不好下手

评分

参与人数 1星屑 +120 收起 理由
钢铁列兵 + 120

查看全部评分

步兵中尉
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3190
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

3
发表于 2012-4-14 18:14:35 | 只看该作者
本帖最后由 hys111111 于 2012-4-14 18:18 编辑

1、改Scene_Menu
  1. s1 = "敌物资料"
  2.     s2 = "物品与装备"
  3.     s3 = "存档"
  4.     s4 = "读档"
  5.     if $record != nil and $record.mode == "录制"
  6.       s5 = "退回主界面"
  7.     else
  8.       s5 = "重新开始"
  9.     end
  10.     s6 = "版权说明"
  11.     @command_window = Window_Command.new(160, [s1, s2 ,s3 ,s4 ,s5,s6])#, s3, s4, s5, s6])
  12.     @command_window.index = @menu_index
复制代码
的这一部分
  1. def update_command
  2.     # 按下 B 键的情况下
  3.     if Input.trigger?(Input::B)
  4.       # 演奏取消 SE
  5.       $game_system.se_play($data_system.cancel_se)
  6.       # 切换的地图画面
  7.       $scene = Scene_Map.new
  8.       return
  9.     end
  10.     # 按下 C 键的情况下
  11.     if Input.trigger?(Input::C)
  12.       # 同伴人数为 0、存档、游戏结束以外的场合
  13.       if $game_party.actors.size == 0 and @command_window.index < 4
  14.         # 演奏冻结 SE
  15.         $game_system.se_play($data_system.buzzer_se)
  16.         return
  17.       end
  18.       # 命令窗口的光标位置分支
  19.       case @command_window.index
  20.       
  21.       when 0
  22.         if $floorenemies!=[] and $game_party.item_number(4)>0
  23.           $game_system.se_play($data_system.decision_se)
  24.           # 激活状态窗口
  25.           @command_window.active = false
  26.    #       @status_window2.active = false
  27.    #       @status_window2.visible=false ##########
  28.           @enemy_window.active = true
  29.           @enemy_window.index = 0
  30.   #        @enemy_window.visible=true
  31.         end
  32.       
  33.       when 1  # 物品
  34.         # 演奏确定 SE
  35.         $game_system.se_play($data_system.decision_se)
  36.         # 切换到物品画面
  37.         $scene = Scene_Item.new
  38.       
  39.       when 2  # 存档
  40.         if $game_system.save_disabled
  41.           # 演奏冻结 SE
  42.           $game_system.se_play($data_system.buzzer_se)
  43.           return
  44.         end
  45.         # 演奏确定 SE
  46.         $game_system.se_play($data_system.decision_se)
  47.         # 切换到存档画面
  48.         $scene = Scene_Save.new
  49.      
  50.       when 3  # 读档
  51.         # 演奏确定 SE
  52.         $game_system.se_play($data_system.decision_se)
  53.         # 切换到存档画面
  54.         $scene = Scene_Load2.new
  55.       
  56.       when 4  #重新开始
  57.         if $record != nil and $record.mode == "录制"
  58.           # 演奏确定 SE
  59.           $game_system.se_play($data_system.decision_se)
  60.           # 淡入淡出 BGM、BGS、ME
  61.           Audio.bgm_fade(800)
  62.           Audio.bgs_fade(800)
  63.           Audio.me_fade(800)
  64.           # 切换到标题画面
  65.           $scene = Scene_Title.new
  66.         else
  67.                     
  68.         # 游戏重新开始
  69.         # 载入数据库
  70.         $data_mapname       = load_data("Data/MapInfos.rxdata")
  71.         $data_actors        = load_data("Data/Actors.rxdata")
  72.         $data_classes       = load_data("Data/Classes.rxdata")
  73.         $data_skills        = load_data("Data/Skills.rxdata")
  74.         $data_items         = load_data("Data/Items.rxdata")
  75.         $data_weapons       = load_data("Data/Weapons.rxdata")
  76.         $data_armors        = load_data("Data/Armors.rxdata")
  77.         $data_enemies       = load_data("Data/Enemies.rxdata")
  78.         $data_troops        = load_data("Data/Troops.rxdata")
  79.         $data_states        = load_data("Data/States.rxdata")
  80.         $data_animations    = load_data("Data/Animations.rxdata")
  81.         $data_tilesets      = load_data("Data/Tilesets.rxdata")
  82.         $data_common_events = load_data("Data/CommonEvents.rxdata")
  83.         $data_system        = load_data("Data/System.rxdata")
  84.         # 生成系统对像
  85.         $game_system = Game_System.new
  86.       
  87.         # 停止 BGM
  88.         Audio.bgm_stop
  89.         # 重置测量游戏时间用的画面计数器
  90.         Graphics.frame_count = 0
  91.         # 生成各种游戏对像
  92.         $game_temp          = Game_Temp.new
  93.         $game_system        = Game_System.new
  94.         $game_switches      = Game_Switches.new
  95.         $game_variables     = Game_Variables.new
  96.         $game_self_switches = Game_SelfSwitches.new
  97.         $game_screen        = Game_Screen.new
  98.         $game_actors        = Game_Actors.new
  99.         $game_party         = Game_Party.new
  100.         $game_troop         = Game_Troop.new
  101.         $game_map           = Game_Map.new
  102.         $game_player        = Game_Player.new
  103.         # 设置初期同伴位置
  104.         $game_party.setup_starting_members
  105.         # 设置初期位置的地图
  106.         $game_map.setup($data_system.start_map_id)
  107.         # 主角向初期位置移动
  108.         $game_player.moveto($data_system.start_x, $data_system.start_y)
  109.         # 刷新主角
  110.         $game_player.refresh
  111.         # 执行地图设置的 BGM 与 BGS 的自动切换
  112.         $game_map.autoplay
  113.         # 刷新地图 (执行并行事件)
  114.         $game_map.update
  115.         # 切换地图画面
  116.         $scene = Scene_Map.new
  117.         end
  118.         
  119.       when 5  # 版权说明
  120.         $game_temp.common_event_id =19
  121.         # 切换地图画面
  122.         $scene = Scene_Map.new
  123.       end
  124.       return
  125.     end
  126.   end
复制代码
这一部分
2、$game_temp.common_event_id = 编号
执行编号的公共事件。注意,这个执行和直接在事件中的公共事件有微妙区别。
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-30 14:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表