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

Project1

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

[已经解决] 战斗菜单调用公共事件

[复制链接]

Lv2.观梦者

梦石
0
星屑
445
在线时间
377 小时
注册时间
2012-11-5
帖子
267
跳转到指定楼层
1
发表于 2016-2-20 21:02:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x


战斗菜单调用公共事件
,角色1调用 角色1公共事件

,角色2调用 角色2公共事件

,角色3调用 角色3公共事件

,角色4调用 角色4公共事件

,角色5调用 角色5公共事件

,角色6调用 角色6公共事件
。。。。。

怎么写脚本?{:2_272:}

谢谢!

2.JPG (14.65 KB, 下载次数: 28)

2.JPG

1.JPG (19.37 KB, 下载次数: 31)

1.JPG

3.JPG (97.48 KB, 下载次数: 31)

3.JPG

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

2
发表于 2016-2-20 22:09:18 | 只看该作者
本帖最后由 yang1zhi 于 2016-2-22 14:33 编辑

Scene_Battle 1
这里找到    s1 = $data_system.words.attack
    s2 = $data_system.words.skill
    s3 = $data_system.words.guard
    s4 = $data_system.words.item
    @actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
加个S5进去
s5 = "角色公共事件"

在Scene_Battle 3里面找到  # ● 刷新画面 (角色命令回合 : 基本命令)
      # 角色指令窗口光标位置分之
      case @actor_command_window.index
在这个分支下面添加一个when 4
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)  
        # 开始执行公共事件
$game_temp.common_event_id = actor.id


楼下说的对,应该是这样写的。

RUBY 代码复制
  1. class Scene_Battle
  2.   def main
  3.     # 初始化战斗用的各种暂时数据
  4.     $game_temp.in_battle = true
  5.     $game_temp.battle_turn = 0
  6.     $game_temp.battle_event_flags.clear
  7.     $game_temp.battle_abort = false
  8.     $game_temp.battle_main_phase = false
  9.     $game_temp.battleback_name = $game_map.battleback_name
  10.     $game_temp.forcing_battler = nil
  11.     # 初始化战斗用事件解释器
  12.     $game_system.battle_interpreter.setup(nil, 0)
  13.     # 准备队伍
  14.     @troop_id = $game_temp.battle_troop_id
  15.     $game_troop.setup(@troop_id)
  16.     # 生成角色命令窗口
  17.     s1 = $data_system.words.attack
  18.     s2 = $data_system.words.skill
  19.     s3 = $data_system.words.guard
  20.     s4 = $data_system.words.item
  21.     # ★新建选项
  22.     s5 = "公共事件"
  23.     # ★调整窗口及坐标
  24.     @actor_command_window = Window_Command.new(160, [s1, s2, s3, s4, s5])
  25.     @actor_command_window.y = 128
  26.     @actor_command_window.back_opacity = 160
  27.     @actor_command_window.active = false
  28.     @actor_command_window.visible = false
  29.     # 生成其它窗口
  30.     @party_command_window = Window_PartyCommand.new
  31.     @help_window = Window_Help.new
  32.     @help_window.back_opacity = 160
  33.     @help_window.visible = false
  34.     @status_window = Window_BattleStatus.new
  35.     @message_window = Window_Message.new
  36.     # 生成活动块
  37.     @spriteset = Spriteset_Battle.new
  38.     # 初始化等待计数
  39.     @wait_count = 0
  40.     # 执行过渡
  41.     if $data_system.battle_transition == ""
  42.       Graphics.transition(20)
  43.     else
  44.       Graphics.transition(40, "Graphics/Transitions/" +
  45.         $data_system.battle_transition)
  46.     end
  47.     # 开始自由战斗回合
  48.     start_phase1
  49.     # 主循环
  50.     loop do
  51.       # 刷新游戏画面
  52.       Graphics.update
  53.       # 刷新输入信息
  54.       Input.update
  55.       # 刷新画面
  56.       update
  57.       # 如果画面切换的话就中断循环
  58.       if $scene != self
  59.         break
  60.       end
  61.     end
  62.     # 刷新地图
  63.     $game_map.refresh
  64.     # 准备过渡
  65.     Graphics.freeze
  66.     # 释放窗口
  67.     @actor_command_window.dispose
  68.     @party_command_window.dispose
  69.     @help_window.dispose
  70.     @status_window.dispose
  71.     @message_window.dispose
  72.     if @skill_window != nil
  73.       @skill_window.dispose
  74.     end
  75.     if @item_window != nil
  76.       @item_window.dispose
  77.     end
  78.     if @result_window != nil
  79.       @result_window.dispose
  80.     end
  81.     # 释放活动块
  82.     @spriteset.dispose
  83.     # 标题画面切换中的情况
  84.     if $scene.is_a?(Scene_Title)
  85.       # 淡入淡出画面
  86.       Graphics.transition
  87.       Graphics.freeze
  88.     end
  89.     # 战斗测试或者游戏结束以外的画面切换中的情况
  90.     if $BTEST and not $scene.is_a?(Scene_Gameover)
  91.       $scene = nil
  92.     end
  93.   end    #--------------------------------------------------------------------------
  94.   # ● 刷新画面 (角色命令回合 : 基本命令)
  95.   #--------------------------------------------------------------------------
  96.   def update_phase3_basic_command
  97.     # 按下 B 键的情况下
  98.     if Input.trigger?(Input::B)
  99.       # 演奏取消 SE
  100.       $game_system.se_play($data_system.cancel_se)
  101.       # 转向前一个角色的指令输入
  102.       phase3_prior_actor
  103.       return
  104.     end
  105.     # 按下 C 键的情况下
  106.     if Input.trigger?(Input::C)
  107.       # 角色指令窗口光标位置分之
  108.       case @actor_command_window.index
  109.       when 0  # 攻击
  110.         # 演奏确定 SE
  111.         $game_system.se_play($data_system.decision_se)
  112.         # 设置行动
  113.         @active_battler.current_action.kind = 0
  114.         @active_battler.current_action.basic = 0
  115.         # 开始选择敌人
  116.         start_enemy_select
  117.       when 1  # 特技
  118.         # 演奏确定 SE
  119.         $game_system.se_play($data_system.decision_se)
  120.         # 设置行动
  121.         @active_battler.current_action.kind = 1
  122.         # 开始选择特技
  123.         start_skill_select
  124.       when 2  # 防御
  125.         # 演奏确定 SE
  126.         $game_system.se_play($data_system.decision_se)
  127.         # 设置行动
  128.         @active_battler.current_action.kind = 0
  129.         @active_battler.current_action.basic = 1
  130.         # 转向下一位角色的指令输入
  131.         phase3_next_actor
  132.       when 3  # 物品
  133.         # 演奏确定 SE
  134.         $game_system.se_play($data_system.decision_se)
  135.         # 设置行动
  136.         @active_battler.current_action.kind = 2
  137.         # 开始选择物品
  138.         start_item_select
  139.         # ★新建分歧
  140.       when 4
  141.         # 演奏确定 SE
  142.         $game_system.se_play($data_system.decision_se)
  143.         # 执行
  144.         common_event = $data_common_events[@active_battler.id]
  145.         $game_system.battle_interpreter.setup(common_event.list, 0)
  146.                 # 转到下一位角色的指令输入
  147.         phase3_next_actor
  148.  
  149.       end
  150.       return
  151.     end
  152.   end
  153.   end

点评

您的才是真对,感谢指点,感激不尽  发表于 2016-2-23 08:53
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
445
在线时间
377 小时
注册时间
2012-11-5
帖子
267
3
 楼主| 发表于 2016-2-21 07:59:22 | 只看该作者
yang1zhi 发表于 2016-2-20 22:09
Scene_Battle 1
这里找到    s1 = $data_system.words.attack
    s2 = $data_system.words.skill

然后怎么写?


错误

4.JPG (27.56 KB, 下载次数: 31)

4.JPG

5.JPG (20.1 KB, 下载次数: 32)

5.JPG

6.JPG (20.49 KB, 下载次数: 33)

6.JPG
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
4
发表于 2016-2-21 10:51:32 | 只看该作者
LS的执行公共事件不对,这样用才对
  1. common_event = $data_common_events[xxx]
复制代码
LZ可以看一下范例,查找“★”来查看更改 Project1.rar (187.29 KB, 下载次数: 80)

点评

common_event = $data_common_events[@active_battler.id]  发表于 2016-2-22 14:25
用队伍序列为什么不行呢?在下能力有限,若您信不过在下,还请另寻高人  发表于 2016-2-22 14:00
改什么,难道用不了吗…用actor_index是最简单的…  发表于 2016-2-22 13:57
@紫英晓狼1130,能否改一下。谢谢!  发表于 2016-2-22 11:42
不对,你这样是对应的队伍序列,不是数据库序列  发表于 2016-2-21 12:45

评分

参与人数 2星屑 +20 梦石 +1 收起 理由
RyanBern + 1 认可答案
789456qwe + 20

查看全部评分

《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
445
在线时间
377 小时
注册时间
2012-11-5
帖子
267
5
 楼主| 发表于 2016-2-21 11:52:56 | 只看该作者
本帖最后由 789456qwe 于 2016-2-21 11:53 编辑
紫英晓狼1130 发表于 2016-2-21 10:51
LS的执行公共事件不对,这样用才对LZ可以看一下范例,查找“★”来查看更改 ...


谢谢大神!
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
445
在线时间
377 小时
注册时间
2012-11-5
帖子
267
6
 楼主| 发表于 2016-2-22 07:38:49 | 只看该作者
yang1zhi 发表于 2016-2-20 22:09
Scene_Battle 1
这里找到    s1 = $data_system.words.attack
    s2 = $data_system.words.skill


那么怎么修改?大神
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
445
在线时间
377 小时
注册时间
2012-11-5
帖子
267
7
 楼主| 发表于 2016-2-22 17:22:35 | 只看该作者
紫英晓狼1130 发表于 2016-2-21 10:51
LS的执行公共事件不对,这样用才对LZ可以看一下范例,查找“★”来查看更改 ...

大神,别生气,谢谢!

评分

参与人数 1星屑 +240 收起 理由
紫英晓狼1130 + 240 没生气,元宵节快乐

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 21:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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