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

Project1

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

[已经解决] 关于使用公共事件出现的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
跳转到指定楼层
1
发表于 2013-10-31 12:26:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题使用公共事件出现错误
这里是公共事件调用的图

U0)45R0M`_}OH{1`NKE(D`8.jpg (18.26 KB, 下载次数: 24)

U0)45R0M`_}OH{1`NKE(D`8.jpg

FX6SKV]S[PO)0E0{H1DSJQ5.jpg (15.8 KB, 下载次数: 25)

调用的事件

调用的事件
你的意思就是要打架咯?

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
2
发表于 2013-10-31 12:53:52 | 只看该作者
你用了什么脚本?这个提示代表某个方法参数数不对,应该是1个参数的结果是0个参数

点评

反了......  发表于 2013-11-1 06:46
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
3
 楼主| 发表于 2013-10-31 17:32:13 | 只看该作者
tan12345 发表于 2013-10-31 12:53
你用了什么脚本?这个提示代表某个方法参数数不对,应该是1个参数的结果是0个参数 ...

脚本太多了 !!!这个怎么办!!

点评

把出错的那句代码的截图发上来  发表于 2013-10-31 19:27
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
4
 楼主| 发表于 2013-10-31 21:24:07 | 只看该作者
魔力的觉醒 发表于 2013-10-31 17:32
脚本太多了 !!!这个怎么办!!


貌似这句我没有动过 麻烦了!!
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Game_Interpreter
  4. #------------------------------------------------------------------------------
  5. #  事件指令的解释器。
  6. #   本类在 Game_Map、Game_Troop、Game_Event 类的内部使用。
  7. #==============================================================================

  8. class Game_Interpreter
  9.   #--------------------------------------------------------------------------
  10.   # ● 定义实例变量
  11.   #--------------------------------------------------------------------------
  12.   attr_reader   :map_id             # 地图 ID
  13.   attr_reader   :event_id           # 事件 ID(仅指普通事件)
  14.   #--------------------------------------------------------------------------
  15.   # ● 初始化对象
  16.   #     depth : 堆置深度
  17.   #--------------------------------------------------------------------------
  18.   def initialize(depth = 0)
  19.     @depth = depth
  20.     check_overflow
  21.     clear
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 检查堆置是否过深
  25.   #    普通情况下深度不允许超过 100 。
  26.   #    更深的堆置可能会导致递归事件无限循环,所以直接引发退出错误。
  27.   #--------------------------------------------------------------------------
  28.   def check_overflow
  29.     if @depth >= 100
  30.       msgbox(Vocab::EventOverflow)
  31.       exit
  32.     end
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 清除
  36.   #--------------------------------------------------------------------------
  37.   def clear
  38.     @map_id = 0
  39.     @event_id = 0
  40.     @list = nil                       # 执行内容
  41.     [url=home.php?mod=space&uid=370741]@Index[/url] = 0                        # 索引
  42.     @branch = {}                      # 分歧数据
  43.     @fiber = nil                      # 纤程
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 设置事件
  47.   #--------------------------------------------------------------------------
  48.   def setup(list, event_id = 0)
  49.     clear
  50.     @map_id = $game_map.map_id
  51.     @event_id = event_id
  52.     @list = list
  53.     create_fiber
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 生成纤程
  57.   #--------------------------------------------------------------------------
  58.   def create_fiber
  59.     @fiber = Fiber.new { run } if @list
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● 储存实例
  63.   #    对纤程进行 Marshal 的自定义方法。
  64.   #    此方法将事件的执行位置也一并保存起来。
  65.   #--------------------------------------------------------------------------
  66.   def marshal_dump
  67.     [@depth, @map_id, @event_id, @list, @index + 1, @branch]
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 读取实例
  71.   #     obj : marshal_dump 中储存的实例(数组)
  72.   #    恢复多个数据(@depth、@map_id 等)的状态,必要时重新创建纤程。
  73.   #--------------------------------------------------------------------------
  74.   def marshal_load(obj)
  75.     @depth, @map_id, @event_id, @list, @index, @branch = obj
  76.     create_fiber
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 判定当前地图是否和事件启动时的地图相同
  80.   #--------------------------------------------------------------------------
  81.   def same_map?
  82.     @map_id == $game_map.map_id
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ● 检测/设置预定调用的公共事件
  86.   #--------------------------------------------------------------------------
  87.   def setup_reserved_common_event
  88.     if $game_temp.common_event_reserved?
  89.       setup($game_temp.reserved_common_event.list)
  90.       $game_temp.clear_common_event
  91.       true
  92.     else
  93.       false
  94.     end
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ● 执行
  98.   #--------------------------------------------------------------------------
  99.   def run
  100.     wait_for_message
  101.     while @list[@index] do
  102.       execute_command
  103.       @index += 1
  104.     end
  105.     Fiber.yield
  106.     @fiber = nil
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 判定是否执行中
  110.   #--------------------------------------------------------------------------
  111.   def running?
  112.     @fiber != nil
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● 更新画面
  116.   #--------------------------------------------------------------------------
  117.   def update
  118.     @fiber.resume if @fiber
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● 迭代角色(ID)
  122.   #     param : 大于 1 则返回 ID 指定的角色、0 则迭代全体角色
  123.   #     注意:此方法和 iterate_actor_index(param) 的参数设置有所不同
  124.   #--------------------------------------------------------------------------
  125.   def iterate_actor_id(param)
  126.     if param == 0
  127.       $game_party.members.each {|actor| yield actor }
  128.     else
  129.       actor = $game_actors[param]
  130.       yield actor if actor
  131.     end
  132.   end
  133.   #--------------------------------------------------------------------------
  134.   # ● 迭代队员(可变)
  135.   #     param1 : 0 则固定、1 则变量指定
  136.   #     param2 : 角色 ID 或变量 ID
  137.   #--------------------------------------------------------------------------
  138.   def iterate_actor_var(param1, param2)
  139.     if param1 == 0
  140.       iterate_actor_id(param2) {|actor| yield actor }
  141.     else
  142.       iterate_actor_id($game_variables[param2]) {|actor| yield actor }
  143.     end
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 迭代队员(索引)
  147.   #     param : 0 则返回索引指定的队员、 -1 则迭代全体队员
  148.   #--------------------------------------------------------------------------
  149.   def iterate_actor_index(param)
  150.     if param < 0
  151.       $game_party.members.each {|actor| yield actor }
  152.     else
  153.       actor = $game_party.members[param]
  154.       yield actor if actor
  155.     end
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 迭代敌人(索引)
  159.   #     param : 0 则返回索引指定的敌人、 -1 则迭代全体敌人
  160.   #--------------------------------------------------------------------------
  161.   def iterate_enemy_index(param)
  162.     if param < 0
  163.       $game_troop.members.each {|enemy| yield enemy }
  164.     else
  165.       enemy = $game_troop.members[param]
  166.       yield enemy if enemy
  167.     end
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● 迭代战斗者(敌群全体、队伍全体考虑)
  171.   #     param1 : 0 则敌人、1 则角色
  172.   #     param2 : 敌人的索引 或 角色的 ID
  173.   #--------------------------------------------------------------------------
  174.   def iterate_battler(param1, param2)
  175.     if $game_party.in_battle
  176.       if param1 == 0
  177.         iterate_enemy_index(param2) {|enemy| yield enemy }
  178.       else
  179.         iterate_actor_id(param2) {|actor| yield actor }
  180.       end
  181.     end
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 获取画面系指令的对象
  185.   #--------------------------------------------------------------------------
  186.   def screen
  187.     $game_party.in_battle ? $game_troop.screen : $game_map.screen
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● 执行事件指令
  191.   #--------------------------------------------------------------------------
  192.   def execute_command
  193.     command = @list[@index]
  194.     @params = command.parameters
  195.     @indent = command.indent
  196.     method_name = "command_#{command.code}"
  197.     send(method_name) if respond_to?(method_name)
  198.   end
  199.   #--------------------------------------------------------------------------
  200.   # ● 跳过指令
  201.   #    如果下一句事件指令的缩进比当前深的话,跳过当前指令。
  202.   #--------------------------------------------------------------------------
  203.   def command_skip
  204.     @index += 1 while @list[@index + 1].indent > @indent
  205.   end
  206.   #--------------------------------------------------------------------------
  207.   # ● 获取下一句事件指令的代码
  208.   #--------------------------------------------------------------------------
  209.   def next_event_code
  210.     @list[@index + 1].code
  211.   end
  212.   #--------------------------------------------------------------------------
  213.   # ● 获取事件
  214.   #     param : -1 则玩家、0 则本事件、其他 则是指定的事件ID
  215.   #--------------------------------------------------------------------------
  216.   def get_character(param)
  217.     if $game_party.in_battle
  218.       nil
  219.     elsif param < 0
  220.       $game_player
  221.     else
  222.       events = same_map? ? $game_map.events : {}
  223.       events[param > 0 ? param : @event_id]
  224.     end
  225.   end
  226.   #--------------------------------------------------------------------------
  227.   # ● 计算操作的数值
  228.   #     operation    : 操作行为(0:增加 1:减少)
  229.   #     operand_type : 操作类型(0:常量 1:变量)
  230.   #     operand      : 操作数值(数值 或 变量 的 ID)
  231.   #--------------------------------------------------------------------------
  232.   def operate_value(operation, operand_type, operand)
  233.     value = operand_type == 0 ? operand : $game_variables[operand]
  234.     operation == 0 ? value : -value
  235.   end
  236.   #--------------------------------------------------------------------------
  237.   # ● 等待
  238.   #--------------------------------------------------------------------------
  239.   def wait(duration)
  240.     duration.times { Fiber.yield }
  241.   end
  242.   #--------------------------------------------------------------------------
  243.   # ● 等待显示信息
  244.   #--------------------------------------------------------------------------
  245.   def wait_for_message
  246.     Fiber.yield while $game_message.busy?
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ● 显示文字
  250.   #--------------------------------------------------------------------------
  251.   def command_101
  252.     wait_for_message
  253.     $game_message.face_name = @params[0]
  254.     $game_message.face_index = @params[1]
  255.     $game_message.background = @params[2]
  256.     $game_message.position = @params[3]
  257.     while next_event_code == 401       # 文字数据
  258.       @index += 1
  259.       $game_message.add(@list[@index].parameters[0])
  260.     end
  261.     case next_event_code
  262.     when 102  # 显示选项
  263.       @index += 1
  264.       setup_choices(@list[@index].parameters)
  265.     when 103  # 数值输入的处理
  266.       @index += 1
  267.       setup_num_input(@list[@index].parameters)
  268.     when 104  # 物品选择的处理
  269.       @index += 1
  270.       setup_item_choice(@list[@index].parameters)
  271.     end
  272.     wait_for_message
  273.   end
  274.   #--------------------------------------------------------------------------
  275.   # ● 显示选项
  276.   #--------------------------------------------------------------------------
  277.   def command_102
  278.     wait_for_message
  279.     setup_choices(@params)
  280.     Fiber.yield while $game_message.choice?
  281.   end
  282.   #--------------------------------------------------------------------------
  283.   # ● 设置选项
  284.   #--------------------------------------------------------------------------
  285.   def setup_choices(params)
  286.     params[0].each {|s| $game_message.choices.push(s) }
  287.     $game_message.choice_cancel_type = params[1]
  288.     $game_message.choice_proc = Proc.new {|n| @branch[@indent] = n }
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # ● [**] 的时候
  292.   #--------------------------------------------------------------------------
  293.   def command_402
  294.     command_skip if @branch[@indent] != @params[0]
  295.   end
  296.   #--------------------------------------------------------------------------
  297.   # ● 取消的时候
  298.   #--------------------------------------------------------------------------
  299.   def command_403
  300.     command_skip if @branch[@indent] != 4
  301.   end
  302.   #--------------------------------------------------------------------------
  303.   # ● 数值输入的处理
  304.   #--------------------------------------------------------------------------
  305.   def command_103
  306.     wait_for_message
  307.     setup_num_input(@params)
  308.     Fiber.yield while $game_message.num_input?
  309.   end
  310.   #--------------------------------------------------------------------------
  311.   # ● 设置数值输入
  312.   #--------------------------------------------------------------------------
  313.   def setup_num_input(params)
  314.     $game_message.num_input_variable_id = params[0]
  315.     $game_message.num_input_digits_max = params[1]
  316.   end
  317.   #--------------------------------------------------------------------------
  318.   # ● 物品选择的处理
  319.   #--------------------------------------------------------------------------
  320.   def command_104
  321.     wait_for_message
  322.     setup_item_choice(@params)
  323.     Fiber.yield while $game_message.item_choice?
  324.   end
  325.   #--------------------------------------------------------------------------
  326.   # ● 设置物品选择
  327.   #--------------------------------------------------------------------------
  328.   def setup_item_choice(params)
  329.     $game_message.item_choice_variable_id = params[0]
  330.   end
  331.   #--------------------------------------------------------------------------
  332.   # ● 显示滚动文字
  333.   #--------------------------------------------------------------------------
  334.   def command_105
  335.     Fiber.yield while $game_message.visible
  336.     $game_message.scroll_mode = true
  337.     $game_message.scroll_speed = @params[0]
  338.     $game_message.scroll_no_fast = @params[1]
  339.     while next_event_code == 405
  340.       @index += 1
  341.       $game_message.add(@list[@index].parameters[0])
  342.     end
  343.     wait_for_message
  344.   end
  345.   #--------------------------------------------------------------------------
  346.   # ● 添加注释
  347.   #--------------------------------------------------------------------------
  348.   def command_108
  349.     @comments = [@params[0]]
  350.     while next_event_code == 408
  351.       @index += 1
  352.       @comments.push(@list[@index].parameters[0])
  353.     end
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # ● 条件分歧
  357.   #--------------------------------------------------------------------------
  358.   def command_111
  359.     result = false
  360.     case @params[0]
  361.     when 0  # 开关
  362.       result = ($game_switches[@params[1]] == (@params[2] == 0))
  363.     when 1  # 变量
  364.       value1 = $game_variables[@params[1]]
  365.       if @params[2] == 0
  366.         value2 = @params[3]
  367.       else
  368.         value2 = $game_variables[@params[3]]
  369.       end
  370.       case @params[4]
  371.       when 0  # 等于
  372.         result = (value1 == value2)
  373.       when 1  # 以上
  374.         result = (value1 >= value2)
  375.       when 2  # 以下
  376.         result = (value1 <= value2)
  377.       when 3  # 大于
  378.         result = (value1 > value2)
  379.       when 4  # 小于
  380.         result = (value1 < value2)
  381.       when 5  # 不等于
  382.         result = (value1 != value2)
  383.       end
  384.     when 2  # 独立开关
  385.       if @event_id > 0
  386.         key = [@map_id, @event_id, @params[1]]
  387.         result = ($game_self_switches[key] == (@params[2] == 0))
  388.       end
  389.     when 3  # 计时器
  390.       if $game_timer.working?
  391.         if @params[2] == 0
  392.           result = ($game_timer.sec >= @params[1])
  393.         else
  394.           result = ($game_timer.sec <= @params[1])
  395.         end
  396.       end
  397.     when 4  # 角色
  398.       actor = $game_actors[@params[1]]
  399.       if actor
  400.         case @params[2]
  401.         when 0  # 在队伍时
  402.           result = ($game_party.members.include?(actor))
  403.         when 1  # 名字
  404.           result = (actor.name == @params[3])
  405.         when 2  # 职业
  406.           result = (actor.class_id == @params[3])
  407.         when 3  # 技能
  408.           result = (actor.skill_learn?($data_skills[@params[3]]))
  409.         when 4  # 武器
  410.           result = (actor.weapons.include?($data_weapons[@params[3]]))
  411.         when 5  # 护甲
  412.           result = (actor.armors.include?($data_armors[@params[3]]))
  413.         when 6  # 状态
  414.           result = (actor.state?(@params[3]))
  415.         end
  416.       end
  417.     when 5  # 敌人
  418.       enemy = $game_troop.members[@params[1]]
  419.       if enemy
  420.         case @params[2]
  421.         when 0  # 出现
  422.           result = (enemy.alive?)
  423.         when 1  # 状态
  424.           result = (enemy.state?(@params[3]))
  425.         end
  426.       end
  427.     when 6  # 事件
  428.       character = get_character(@params[1])
  429.       if character
  430.         result = (character.direction == @params[2])
  431.       end
  432.     when 7  # 金钱
  433.       case @params[2]
  434.       when 0  # 以上
  435.         result = ($game_party.gold >= @params[1])
  436.       when 1  # 以下
  437.         result = ($game_party.gold <= @params[1])
  438.       when 2  # 低于
  439.         result = ($game_party.gold < @params[1])
  440.       end
  441.     when 8   # 物品
  442.       result = $game_party.has_item?($data_items[@params[1]])
  443.     when 9   # 武器
  444.       result = $game_party.has_item?($data_weapons[@params[1]], @params[2])
  445.     when 10  # 护甲
  446.       result = $game_party.has_item?($data_armors[@params[1]], @params[2])
  447.     when 11  # 按下按钮
  448.       result = Input.press?(@params[1])
  449.     when 12  # 脚本
  450.       result = eval(@params[1])
  451.     when 13  # 载具
  452.       result = ($game_player.vehicle == $game_map.vehicles[@params[1]])
  453.     end
  454.     @branch[@indent] = result
  455.     command_skip if !@branch[@indent]
  456.   end
  457.   #--------------------------------------------------------------------------
  458.   # ● 除此之外
  459.   #--------------------------------------------------------------------------
  460.   def command_411
  461.     command_skip if @branch[@indent]
  462.   end
  463.   #--------------------------------------------------------------------------
  464.   # ● 循环
  465.   #--------------------------------------------------------------------------
  466.   def command_112
  467.   end
  468.   #--------------------------------------------------------------------------
  469.   # ● 重复
  470.   #--------------------------------------------------------------------------
  471.   def command_413
  472.     begin
  473.       @index -= 1
  474.     end until @list[@index].indent == @indent
  475.   end
  476.   #--------------------------------------------------------------------------
  477.   # ● 跳出循环
  478.   #--------------------------------------------------------------------------
  479.   def command_113
  480.     loop do
  481.       @index += 1
  482.       return if @index >= @list.size - 1
  483.       return if @list[@index].code == 413 && @list[@index].indent < @indent
  484.     end
  485.   end
  486.   #--------------------------------------------------------------------------
  487.   # ● 中止事件处理
  488.   #--------------------------------------------------------------------------
  489.   def command_115
  490.     @index = @list.size
  491.   end
  492.   #--------------------------------------------------------------------------
  493.   # ● 公共事件
  494.   #--------------------------------------------------------------------------
  495.   def command_117
  496.     common_event = $data_common_events[@params[0]]
  497.     if common_event
  498.       child = Game_Interpreter.new(@depth + 1)
  499.       child.setup(common_event.list, same_map? ? @event_id : 0)
  500.       child.run
  501.     end
  502.   end
  503.   #--------------------------------------------------------------------------
  504.   # ● 添加标签
  505.   #--------------------------------------------------------------------------
  506.   def command_118
  507.   end
  508.   #--------------------------------------------------------------------------
  509.   # ● 转至标签
  510.   #--------------------------------------------------------------------------
  511.   def command_119
  512.     label_name = @params[0]
  513.     @list.size.times do |i|
  514.       if @list[i].code == 118 && @list[i].parameters[0] == label_name
  515.         @index = i
  516.         return
  517.       end
  518.     end
  519.   end
  520.   #--------------------------------------------------------------------------
  521.   # ● 操作开关
  522.   #--------------------------------------------------------------------------
  523.   def command_121
  524.     (@params[0]..@params[1]).each do |i|
  525.       $game_switches[i] = (@params[2] == 0)
  526.     end
  527.   end
  528.   #--------------------------------------------------------------------------
  529.   # ● 变量操作
  530.   #--------------------------------------------------------------------------
  531.   def command_122
  532.     value = 0
  533.     case @params[3]  # 操作方式
  534.     when 0  # 常量
  535.       value = @params[4]
  536.     when 1  # 变量
  537.       value = $game_variables[@params[4]]
  538.     when 2  # 随机数
  539.       value = @params[4] + rand(@params[5] - @params[4] + 1)
  540.     when 3  # 游戏数据
  541.       value = game_data_operand(@params[4], @params[5], @params[6])
  542.     when 4  # 脚本
  543.       value = eval(@params[4])
  544.     end
  545.     (@params[0]..@params[1]).each do |i|
  546.       operate_variable(i, @params[2], value)
  547.     end
  548.   end
  549.   #--------------------------------------------------------------------------
  550.   # ● 获取变量操作用的游戏数据
  551.   #--------------------------------------------------------------------------
  552.   def game_data_operand(type, param1, param2)
  553.     case type
  554.     when 0  # 物品
  555.       return $game_party.item_number($data_items[param1])
  556.     when 1  # 武器
  557.       return $game_party.item_number($data_weapons[param1])
  558.     when 2  # 护甲
  559.       return $game_party.item_number($data_armors[param1])
  560.     when 3  # 角色
  561.       actor = $game_actors[param1]
  562.       if actor
  563.         case param2
  564.         when 0      # 等级
  565.           return actor.level
  566.         when 1      # 经验值
  567.           return actor.exp
  568.         when 2      # HP
  569.           return actor.hp
  570.         when 3      # MP
  571.           return actor.mp
  572.         when 4..11  # 普通能力值
  573.           return actor.param(param2 - 4)
  574.         end
  575.       end
  576.     when 4  # 敌人
  577.       enemy = $game_troop.members[param1]
  578.       if enemy
  579.         case param2
  580.         when 0      # HP
  581.           return enemy.hp
  582.         when 1      # MP
  583.           return enemy.mp
  584.         when 2..9   # 普通能力值
  585.           return enemy.param(param2 - 2)
  586.         end
  587.       end
  588.     when 5  # 地图人物
  589.       character = get_character(param1)
  590.       if character
  591.         case param2
  592.         when 0  # X 坐标
  593.           return character.x
  594.         when 1  # Y 坐标
  595.           return character.y
  596.         when 2  # 方向
  597.           return character.direction
  598.         when 3  # 画面 X 坐标
  599.           return character.screen_x
  600.         when 4  # 画面 Y 坐标
  601.           return character.screen_y
  602.         end
  603.       end
  604.     when 6  # 队伍
  605.       actor = $game_party.members[param1]
  606.       return actor ? actor.id : 0
  607.     when 7  # 其他
  608.       case param1
  609.       when 0  # 地图 ID
  610.         return $game_map.map_id
  611.       when 1  # 队伍人数
  612.         return $game_party.members.size
  613.       when 2  # 金钱
  614.         return $game_party.gold
  615.       when 3  # 步数
  616.         return $game_party.steps
  617.       when 4  # 游戏时间
  618.         return Graphics.frame_count / Graphics.frame_rate
  619.       when 5  # 计时器
  620.         return $game_timer.sec
  621.       when 6  # 存档回数
  622.         return $game_system.save_count
  623.       when 7  # 战斗回数
  624.         return $game_system.battle_count
  625.       end
  626.     end
  627.     return 0
  628.   end
  629.   #--------------------------------------------------------------------------
  630.   # ● 操作变量
  631.   #--------------------------------------------------------------------------
  632.   def operate_variable(variable_id, operation_type, value)
  633.     begin
  634.       case operation_type
  635.       when 0  # 代入
  636.         $game_variables[variable_id] = value
  637.       when 1  # 加法
  638.         $game_variables[variable_id] += value
  639.       when 2  # 减法
  640.         $game_variables[variable_id] -= value
  641.       when 3  # 乘法
  642.         $game_variables[variable_id] *= value
  643.       when 4  # 除法
  644.         $game_variables[variable_id] /= value
  645.       when 5  # 取余
  646.         $game_variables[variable_id] %= value
  647.       end
  648.     rescue
  649.       $game_variables[variable_id] = 0
  650.     end
  651.   end
  652.   #--------------------------------------------------------------------------
  653.   # ● 操作独立开关
  654.   #--------------------------------------------------------------------------
  655.   def command_123
  656.     if @event_id > 0
  657.       key = [@map_id, @event_id, @params[0]]
  658.       $game_self_switches[key] = (@params[1] == 0)
  659.     end
  660.   end
  661.   #--------------------------------------------------------------------------
  662.   # ● 操作计时器
  663.   #--------------------------------------------------------------------------
  664.   def command_124
  665.     if @params[0] == 0  # 开始
  666.       $game_timer.start(@params[1] * Graphics.frame_rate)
  667.     else                # 停止
  668.       $game_timer.stop
  669.     end
  670.   end
  671.   #--------------------------------------------------------------------------
  672.   # ● 增减持有金钱
  673.   #--------------------------------------------------------------------------
  674.   def command_125
  675.     value = operate_value(@params[0], @params[1], @params[2])
  676.     $game_party.gain_gold(value)
  677.   end
  678.   #--------------------------------------------------------------------------
  679.   # ● 增减物品
  680.   #--------------------------------------------------------------------------
  681.   def command_126
  682.     value = operate_value(@params[1], @params[2], @params[3])
  683.     $game_party.gain_item($data_items[@params[0]], value)
  684.   end
  685.   #--------------------------------------------------------------------------
  686.   # ● 增减武器
  687.   #--------------------------------------------------------------------------
  688.   def command_127
  689.     value = operate_value(@params[1], @params[2], @params[3])
  690.     $game_party.gain_item($data_weapons[@params[0]], value, @params[4])
  691.   end
  692.   #--------------------------------------------------------------------------
  693.   # ● 增减护甲
  694.   #--------------------------------------------------------------------------
  695.   def command_128
  696.     value = operate_value(@params[1], @params[2], @params[3])
  697.     $game_party.gain_item($data_armors[@params[0]], value, @params[4])
  698.   end
  699.   #--------------------------------------------------------------------------
  700.   # ● 队伍管理
  701.   #--------------------------------------------------------------------------
  702.   def command_129
  703.     actor = $game_actors[@params[0]]
  704.     if actor
  705.       if @params[1] == 0    # 入队
  706.         if @params[2] == 1  # 初始化
  707.           $game_actors[@params[0]].setup(@params[0])
  708.         end
  709.         $game_party.add_actor(@params[0])
  710.       else                  # 离队
  711.         $game_party.remove_actor(@params[0])
  712.       end
  713.     end
  714.   end
  715.   #--------------------------------------------------------------------------
  716.   # ● 更改战斗 BGM
  717.   #--------------------------------------------------------------------------
  718.   def command_132
  719.     $game_system.battle_bgm = @params[0]
  720.   end
  721.   #--------------------------------------------------------------------------
  722.   # ● 更改战斗结束 ME
  723.   #--------------------------------------------------------------------------
  724.   def command_133
  725.     $game_system.battle_end_me = @params[0]
  726.   end
  727.   #--------------------------------------------------------------------------
  728.   # ● 设置禁用存档
  729.   #--------------------------------------------------------------------------
  730.   def command_134
  731.     $game_system.save_disabled = (@params[0] == 0)
  732.   end
  733.   #--------------------------------------------------------------------------
  734.   # ● 设置禁用菜单
  735.   #--------------------------------------------------------------------------
  736.   def command_135
  737.     $game_system.menu_disabled = (@params[0] == 0)
  738.   end
  739.   #--------------------------------------------------------------------------
  740.   # ● 设置禁用遇敌
  741.   #--------------------------------------------------------------------------
  742.   def command_136
  743.     $game_system.encounter_disabled = (@params[0] == 0)
  744.     $game_player.make_encounter_count
  745.   end
  746.   #--------------------------------------------------------------------------
  747.   # ● 设置禁用整队
  748.   #--------------------------------------------------------------------------
  749.   def command_137
  750.     $game_system.formation_disabled = (@params[0] == 0)
  751.   end
  752.   #--------------------------------------------------------------------------
  753.   # ● 更改窗口色调
  754.   #--------------------------------------------------------------------------
  755.   def command_138
  756.     $game_system.window_tone = @params[0]
  757.   end
  758.   #--------------------------------------------------------------------------
  759.   # ● 场所移动
  760.   #--------------------------------------------------------------------------
  761.   def command_201
  762.     return if $game_party.in_battle
  763.     Fiber.yield while $game_player.transfer? || $game_message.visible
  764.     if @params[0] == 0                      # 直接指定
  765.       map_id = @params[1]
  766.       x = @params[2]
  767.       y = @params[3]
  768.     else                                    # 变量指定
  769.       map_id = $game_variables[@params[1]]
  770.       x = $game_variables[@params[2]]
  771.       y = $game_variables[@params[3]]
  772.     end
  773.     $game_player.reserve_transfer(map_id, x, y, @params[4])
  774.     $game_temp.fade_type = @params[5]
  775.     Fiber.yield while $game_player.transfer?
  776.   end
  777.   #--------------------------------------------------------------------------
  778.   # ● 设置载具位置
  779.   #--------------------------------------------------------------------------
  780.   def command_202
  781.     if @params[1] == 0                      # 直接指定
  782.       map_id = @params[2]
  783.       x = @params[3]
  784.       y = @params[4]
  785.     else                                    # 变量指定
  786.       map_id = $game_variables[@params[2]]
  787.       x = $game_variables[@params[3]]
  788.       y = $game_variables[@params[4]]
  789.     end
  790.     vehicle = $game_map.vehicles[@params[0]]
  791.     vehicle.set_location(map_id, x, y) if vehicle
  792.   end
  793.   #--------------------------------------------------------------------------
  794.   # ● 设置事件的位置
  795.   #--------------------------------------------------------------------------
  796.   def command_203
  797.     character = get_character(@params[0])
  798.     if character
  799.       if @params[1] == 0                      # 直接指定
  800.         character.moveto(@params[2], @params[3])
  801.       elsif @params[1] == 1                   # 变量指定
  802.         new_x = $game_variables[@params[2]]
  803.         new_y = $game_variables[@params[3]]
  804.         character.moveto(new_x, new_y)
  805.       else                                    # 与其他事件交换
  806.         character2 = get_character(@params[2])
  807.         character.swap(character2) if character2
  808.       end
  809.       character.set_direction(@params[4]) if @params[4] > 0
  810.     end
  811.   end
  812.   #--------------------------------------------------------------------------
  813.   # ● 地图卷动
  814.   #--------------------------------------------------------------------------
  815.   def command_204
  816.     return if $game_party.in_battle
  817.     Fiber.yield while $game_map.scrolling?
  818.     $game_map.start_scroll(@params[0], @params[1], @params[2])
  819.   end
  820.   #--------------------------------------------------------------------------
  821.   # ● 设置移动路径
  822.   #--------------------------------------------------------------------------
  823.   def command_205
  824.     $game_map.refresh if $game_map.need_refresh
  825.     character = get_character(@params[0])
  826.     if character
  827.       character.force_move_route(@params[1])
  828.       Fiber.yield while character.move_route_forcing if @params[1].wait
  829.     end
  830.   end
  831.   #--------------------------------------------------------------------------
  832.   # ● 载具的乘降
  833.   #--------------------------------------------------------------------------
  834.   def command_206
  835.     $game_player.get_on_off_vehicle
  836.   end
  837.   #--------------------------------------------------------------------------
  838.   # ● 更改透明状态
  839.   #--------------------------------------------------------------------------
  840.   def command_211
  841.     $game_player.transparent = (@params[0] == 0)
  842.   end
  843.   #--------------------------------------------------------------------------
  844.   # ● 显示动画
  845.   #--------------------------------------------------------------------------
  846.   def command_212
  847.     character = get_character(@params[0])
  848.     if character
  849.       character.animation_id = @params[1]
  850.       Fiber.yield while character.animation_id > 0 if @params[2]
  851.     end
  852.   end
  853.   #--------------------------------------------------------------------------
  854.   # ● 显示心情图标
  855.   #--------------------------------------------------------------------------
  856.   def command_213
  857.     character = get_character(@params[0])
  858.     if character
  859.       character.balloon_id = @params[1]
  860.       Fiber.yield while character.balloon_id > 0 if @params[2]
  861.     end
  862.   end
  863.   #--------------------------------------------------------------------------
  864.   # ● 暂时消除事件
  865.   #--------------------------------------------------------------------------
  866.   def command_214
  867.     $game_map.events[@event_id].erase if same_map? && @event_id > 0
  868.   end
  869.   #--------------------------------------------------------------------------
  870.   # ● 更改队列前进
  871.   #--------------------------------------------------------------------------
  872.   def command_216
  873.     $game_player.followers.visible = (@params[0] == 0)
  874.     $game_player.refresh
  875.   end
  876.   #--------------------------------------------------------------------------
  877.   # ● 集合队伍成员
  878.   #--------------------------------------------------------------------------
  879.   def command_217
  880.     return if $game_party.in_battle
  881.     $game_player.followers.gather
  882.     Fiber.yield until $game_player.followers.gather?
  883.   end
  884.   #--------------------------------------------------------------------------
  885.   # ● 淡出画面
  886.   #--------------------------------------------------------------------------
  887.   def command_221
  888.     Fiber.yield while $game_message.visible
  889.     screen.start_fadeout(30)
  890.     wait(30)
  891.   end
  892.   #--------------------------------------------------------------------------
  893.   # ● 淡入画面
  894.   #--------------------------------------------------------------------------
  895.   def command_222
  896.     Fiber.yield while $game_message.visible
  897.     screen.start_fadein(30)
  898.     wait(30)
  899.   end
  900.   #--------------------------------------------------------------------------
  901.   # ● 更改画面的色调
  902.   #--------------------------------------------------------------------------
  903.   def command_223
  904.     screen.start_tone_change(@params[0], @params[1])
  905.     wait(@params[1]) if @params[2]
  906.   end
  907.   #--------------------------------------------------------------------------
  908.   # ● 画面闪烁
  909.   #--------------------------------------------------------------------------
  910.   def command_224
  911.     screen.start_flash(@params[0], @params[1])
  912.     wait(@params[1]) if @params[2]
  913.   end
  914.   #--------------------------------------------------------------------------
  915.   # ● 画面震动
  916.   #--------------------------------------------------------------------------
  917.   def command_225
  918.     screen.start_shake(@params[0], @params[1], @params[2])
  919.     wait(@params[1]) if @params[2]
  920.   end
  921.   #--------------------------------------------------------------------------
  922.   # ● 等待
  923.   #--------------------------------------------------------------------------
  924.   def command_230
  925.     wait(@params[0])
  926.   end
  927.   #--------------------------------------------------------------------------
  928.   # ● 显示图片
  929.   #--------------------------------------------------------------------------
  930.   def command_231
  931.     if @params[3] == 0    # 直接指定
  932.       x = @params[4]
  933.       y = @params[5]
  934.     else                  # 变量指定
  935.       x = $game_variables[@params[4]]
  936.       y = $game_variables[@params[5]]
  937.     end
  938.     screen.pictures[@params[0]].show(@params[1], @params[2],
  939.       x, y, @params[6], @params[7], @params[8], @params[9])
  940.   end
  941.   #--------------------------------------------------------------------------
  942.   # ● 移动图片
  943.   #--------------------------------------------------------------------------
  944.   def command_232
  945.     if @params[3] == 0    # 直接指定
  946.       x = @params[4]
  947.       y = @params[5]
  948.     else                  # 变量指定
  949.       x = $game_variables[@params[4]]
  950.       y = $game_variables[@params[5]]
  951.     end
  952.     screen.pictures[@params[0]].move(@params[2], x, y, @params[6],
  953.       @params[7], @params[8], @params[9], @params[10])
  954.     wait(@params[10]) if @params[11]
  955.   end
  956.   #--------------------------------------------------------------------------
  957.   # ● 旋转图片
  958.   #--------------------------------------------------------------------------
  959.   def command_233
  960.     screen.pictures[@params[0]].rotate(@params[1])
  961.   end
  962.   #--------------------------------------------------------------------------
  963.   # ● 更改图片的色调
  964.   #--------------------------------------------------------------------------
  965.   def command_234
  966.     screen.pictures[@params[0]].start_tone_change(@params[1], @params[2])
  967.     wait(@params[2]) if @params[3]
  968.   end
  969.   #--------------------------------------------------------------------------
  970.   # ● 消除图片
  971.   #--------------------------------------------------------------------------
  972.   def command_235
  973.     screen.pictures[@params[0]].erase
  974.   end
  975.   #--------------------------------------------------------------------------
  976.   # ● 设置天气
  977.   #--------------------------------------------------------------------------
  978.   def command_236
  979.     return if $game_party.in_battle
  980.     screen.change_weather(@params[0], @params[1], @params[2])
  981.     wait(@params[2]) if @params[3]
  982.   end
  983.   #--------------------------------------------------------------------------
  984.   # ● 播放 BGM
  985.   #--------------------------------------------------------------------------
  986.   def command_241
  987.     @params[0].play
  988.   end
  989.   #--------------------------------------------------------------------------
  990.   # ● 淡出 BGM
  991.   #--------------------------------------------------------------------------
  992.   def command_242
  993.     RPG::BGM.fade(@params[0] * 1000)
  994.   end
  995.   #--------------------------------------------------------------------------
  996.   # ● 记忆 BGM
  997.   #--------------------------------------------------------------------------
  998.   def command_243
  999.     $game_system.save_bgm
  1000.   end
  1001.   #--------------------------------------------------------------------------
  1002.   # ● 恢复 BGM
  1003.   #--------------------------------------------------------------------------
  1004.   def command_244
  1005.     $game_system.replay_bgm
  1006.   end
  1007.   #--------------------------------------------------------------------------
  1008.   # ● 播放 BGS
  1009.   #--------------------------------------------------------------------------
  1010.   def command_245
  1011.     @params[0].play
  1012.   end
  1013.   #--------------------------------------------------------------------------
  1014.   # ● 淡出 BGS
  1015.   #--------------------------------------------------------------------------
  1016.   def command_246
  1017.     RPG::BGS.fade(@params[0] * 1000)
  1018.   end
  1019.   #--------------------------------------------------------------------------
  1020.   # ● 播放 ME
  1021.   #--------------------------------------------------------------------------
  1022.   def command_249
  1023.     @params[0].play
  1024.   end
  1025.   #--------------------------------------------------------------------------
  1026.   # ● 播放 SE
  1027.   #--------------------------------------------------------------------------
  1028.   def command_250
  1029.     @params[0].play
  1030.   end
  1031.   #--------------------------------------------------------------------------
  1032.   # ● 停止 SE
  1033.   #--------------------------------------------------------------------------
  1034.   def command_251
  1035.     RPG::SE.stop
  1036.   end
  1037.   #--------------------------------------------------------------------------
  1038.   # ● 播放影像
  1039.   #--------------------------------------------------------------------------
  1040.   def command_261
  1041.     Fiber.yield while $game_message.visible
  1042.     Fiber.yield
  1043.     name = @params[0]
  1044.     Graphics.play_movie('Movies/' + name) unless name.empty?
  1045.   end
  1046.   #--------------------------------------------------------------------------
  1047.   # ● 更改地图名称显示
  1048.   #--------------------------------------------------------------------------
  1049.   def command_281
  1050.     $game_map.name_display = (@params[0] == 0)
  1051.   end
  1052.   #--------------------------------------------------------------------------
  1053.   # ● 更改图块组
  1054.   #--------------------------------------------------------------------------
  1055.   def command_282
  1056.     $game_map.change_tileset(@params[0])
  1057.   end
  1058.   #--------------------------------------------------------------------------
  1059.   # ● 更改战场背景
  1060.   #--------------------------------------------------------------------------
  1061.   def command_283
  1062.     $game_map.change_battleback(@params[0], @params[1])
  1063.   end
  1064.   #--------------------------------------------------------------------------
  1065.   # ● 更改远景
  1066.   #--------------------------------------------------------------------------
  1067.   def command_284
  1068.     $game_map.change_parallax(@params[0], @params[1], @params[2],
  1069.                               @params[3], @params[4])
  1070.   end
  1071.   #--------------------------------------------------------------------------
  1072.   # ● 获取指定位置的信息
  1073.   #--------------------------------------------------------------------------
  1074.   def command_285
  1075.     if @params[2] == 0      # 直接指定
  1076.       x = @params[3]
  1077.       y = @params[4]
  1078.     else                    # 变量指定
  1079.       x = $game_variables[@params[3]]
  1080.       y = $game_variables[@params[4]]
  1081.     end
  1082.     case @params[1]
  1083.     when 0      # 地形标志
  1084.       value = $game_map.terrain_tag(x, y)
  1085.     when 1      # 事件 ID
  1086.       value = $game_map.event_id_xy(x, y)
  1087.     when 2..4   # 图块 ID
  1088.       value = $game_map.tile_id(x, y, @params[1] - 2)
  1089.     else        # 区域 ID
  1090.       value = $game_map.region_id(x, y)
  1091.     end
  1092.     $game_variables[@params[0]] = value
  1093.   end
  1094.   #--------------------------------------------------------------------------
  1095.   # ● 战斗的处理
  1096.   #--------------------------------------------------------------------------
  1097.   def command_301
  1098.     return if $game_party.in_battle
  1099.     if @params[0] == 0                      # 直接指定
  1100.       troop_id = @params[1]
  1101.     elsif @params[0] == 1                   # 变量指定
  1102.       troop_id = $game_variables[@params[1]]
  1103.     else                                    # 地图指定的敌群
  1104.       troop_id = $game_player.make_encounter_troop_id
  1105.     end
  1106.     if $data_troops[troop_id]
  1107.       BattleManager.setup(troop_id, @params[2], @params[3])
  1108.       BattleManager.event_proc = Proc.new {|n| @branch[@indent] = n }
  1109.       $game_player.make_encounter_count
  1110.       SceneManager.call(Scene_Battle)
  1111.     end
  1112.     Fiber.yield
  1113.   end
  1114.   #--------------------------------------------------------------------------
  1115.   # ● 胜利的时候
  1116.   #--------------------------------------------------------------------------
  1117.   def command_601
  1118.     command_skip if @branch[@indent] != 0
  1119.   end
  1120.   #--------------------------------------------------------------------------
  1121.   # ● 撤退的时候
  1122.   #--------------------------------------------------------------------------
  1123.   def command_602
  1124.     command_skip if @branch[@indent] != 1
  1125.   end
  1126.   #--------------------------------------------------------------------------
  1127.   # ● 全灭的时候
  1128.   #--------------------------------------------------------------------------
  1129.   def command_603
  1130.     command_skip if @branch[@indent] != 2
  1131.   end
  1132.   #--------------------------------------------------------------------------
  1133.   # ● 商店的处理
  1134.   #--------------------------------------------------------------------------
  1135.   def command_302
  1136.     return if $game_party.in_battle
  1137.     goods = [@params]
  1138.     while next_event_code == 605
  1139.       @index += 1
  1140.       goods.push(@list[@index].parameters)
  1141.     end
  1142.     SceneManager.call(Scene_Shop)
  1143.     SceneManager.scene.prepare(goods, @params[4])
  1144.     Fiber.yield
  1145.   end
  1146.   #--------------------------------------------------------------------------
  1147.   # ● 名字输入的处理
  1148.   #--------------------------------------------------------------------------
  1149.   def command_303
  1150.     return if $game_party.in_battle
  1151.     if $data_actors[@params[0]]
  1152.       SceneManager.call(Scene_Name)
  1153.       SceneManager.scene.prepare(@params[0], @params[1])
  1154.       Fiber.yield
  1155.     end
  1156.   end
  1157.   #--------------------------------------------------------------------------
  1158.   # ● 增减 HP
  1159.   #--------------------------------------------------------------------------
  1160.   def command_311
  1161.     value = operate_value(@params[2], @params[3], @params[4])
  1162.     iterate_actor_var(@params[0], @params[1]) do |actor|
  1163.       next if actor.dead?
  1164.       actor.change_hp(value, @params[5])
  1165.       actor.perform_collapse_effect if actor.dead?
  1166.     end
  1167.     SceneManager.goto(Scene_Gameover) if $game_party.all_dead?
  1168.   end
  1169.   #--------------------------------------------------------------------------
  1170.   # ● 增减 MP
  1171.   #--------------------------------------------------------------------------
  1172.   def command_312
  1173.     value = operate_value(@params[2], @params[3], @params[4])
  1174.     iterate_actor_var(@params[0], @params[1]) do |actor|
  1175.       actor.mp += value
  1176.     end
  1177.   end
  1178.   #--------------------------------------------------------------------------
  1179.   # ● 更改状态
  1180.   #--------------------------------------------------------------------------
  1181.   def command_313
  1182.     iterate_actor_var(@params[0], @params[1]) do |actor|
  1183.       already_dead = actor.dead?
  1184.       if @params[2] == 0
  1185.         actor.add_state(@params[3])
  1186.       else
  1187.         actor.remove_state(@params[3])
  1188.       end
  1189.       actor.perform_collapse_effect if actor.dead? && !already_dead
  1190.     end
  1191.   end
  1192.   #--------------------------------------------------------------------------
  1193.   # ● 完全恢复
  1194.   #--------------------------------------------------------------------------
  1195.   def command_314
  1196.     iterate_actor_var(@params[0], @params[1]) do |actor|
  1197.       actor.recover_all
  1198.     end
  1199.   end
  1200.   #--------------------------------------------------------------------------
  1201.   # ● 增减经验值
  1202.   #--------------------------------------------------------------------------
  1203.   def command_315
  1204.     value = operate_value(@params[2], @params[3], @params[4])
  1205.     iterate_actor_var(@params[0], @params[1]) do |actor|
  1206.       actor.change_exp(actor.exp + value, @params[5])
  1207.     end
  1208.   end
  1209.   #--------------------------------------------------------------------------
  1210.   # ● 增减等级
  1211.   #--------------------------------------------------------------------------
  1212.   def command_316
  1213.     value = operate_value(@params[2], @params[3], @params[4])
  1214.     iterate_actor_var(@params[0], @params[1]) do |actor|
  1215.       actor.change_level(actor.level + value, @params[5])
  1216.     end
  1217.   end
  1218.   #--------------------------------------------------------------------------
  1219.   # ● 增减能力值
  1220.   #--------------------------------------------------------------------------
  1221.   def command_317
  1222.     value = operate_value(@params[3], @params[4], @params[5])
  1223.     iterate_actor_var(@params[0], @params[1]) do |actor|
  1224.       actor.add_param(@params[2], value)
  1225.     end
  1226.   end
  1227.   #--------------------------------------------------------------------------
  1228.   # ● 增减技能
  1229.   #--------------------------------------------------------------------------
  1230.   def command_318
  1231.     iterate_actor_var(@params[0], @params[1]) do |actor|
  1232.       if @params[2] == 0
  1233.         actor.learn_skill(@params[3])
  1234.       else
  1235.         actor.forget_skill(@params[3])
  1236.       end
  1237.     end
  1238.   end
  1239.   #--------------------------------------------------------------------------
  1240.   # ● 更换装备
  1241.   #--------------------------------------------------------------------------
  1242.   def command_319
  1243.     actor = $game_actors[@params[0]]
  1244.     actor.change_equip_by_id(@params[1], @params[2]) if actor
  1245.   end
  1246.   #--------------------------------------------------------------------------
  1247.   # ● 更改名字
  1248.   #--------------------------------------------------------------------------
  1249.   def command_320
  1250.     actor = $game_actors[@params[0]]
  1251.     actor.name = @params[1] if actor
  1252.   end
  1253.   #--------------------------------------------------------------------------
  1254.   # ● 更改职业
  1255.   #--------------------------------------------------------------------------
  1256.   def command_321
  1257.     actor = $game_actors[@params[0]]
  1258.     actor.change_class(@params[1]) if actor && $data_classes[@params[1]]
  1259.   end
  1260.   #--------------------------------------------------------------------------
  1261.   # ● 更改角色图像
  1262.   #--------------------------------------------------------------------------
  1263.   def command_322
  1264.     actor = $game_actors[@params[0]]
  1265.     if actor
  1266.       actor.set_graphic(@params[1], @params[2], @params[3], @params[4])
  1267.     end
  1268.     $game_player.refresh
  1269.   end
  1270.   #--------------------------------------------------------------------------
  1271.   # ● 更改载具的图像
  1272.   #--------------------------------------------------------------------------
  1273.   def command_323
  1274.     vehicle = $game_map.vehicles[@params[0]]
  1275.     vehicle.set_graphic(@params[1], @params[2]) if vehicle
  1276.   end
  1277.   #--------------------------------------------------------------------------
  1278.   # ● 更改称号
  1279.   #--------------------------------------------------------------------------
  1280.   def command_324
  1281.     actor = $game_actors[@params[0]]
  1282.     actor.nickname = @params[1] if actor
  1283.   end
  1284.   #--------------------------------------------------------------------------
  1285.   # ● 增减敌人的 HP
  1286.   #--------------------------------------------------------------------------
  1287.   def command_331
  1288.     value = operate_value(@params[1], @params[2], @params[3])
  1289.     iterate_enemy_index(@params[0]) do |enemy|
  1290.       return if enemy.dead?
  1291.       enemy.change_hp(value, @params[4])
  1292.       enemy.perform_collapse_effect if enemy.dead?
  1293.     end
  1294.   end
  1295.   #--------------------------------------------------------------------------
  1296.   # ● 增减敌人的 MP
  1297.   #--------------------------------------------------------------------------
  1298.   def command_332
  1299.     value = operate_value(@params[1], @params[2], @params[3])
  1300.     iterate_enemy_index(@params[0]) do |enemy|
  1301.       enemy.mp += value
  1302.     end
  1303.   end
  1304.   #--------------------------------------------------------------------------
  1305.   # ● 更改敌人的状态
  1306.   #--------------------------------------------------------------------------
  1307.   def command_333
  1308.     iterate_enemy_index(@params[0]) do |enemy|
  1309.       already_dead = enemy.dead?
  1310.       if @params[1] == 0
  1311.         enemy.add_state(@params[2])
  1312.       else
  1313.         enemy.remove_state(@params[2])
  1314.       end
  1315.       enemy.perform_collapse_effect if enemy.dead? && !already_dead
  1316.     end
  1317.   end
  1318.   #--------------------------------------------------------------------------
  1319.   # ● 敌人完全恢复
  1320.   #--------------------------------------------------------------------------
  1321.   def command_334
  1322.     iterate_enemy_index(@params[0]) do |enemy|
  1323.       enemy.recover_all
  1324.     end
  1325.   end
  1326.   #--------------------------------------------------------------------------
  1327.   # ● 敌人出现
  1328.   #--------------------------------------------------------------------------
  1329.   def command_335
  1330.     iterate_enemy_index(@params[0]) do |enemy|
  1331.       enemy.appear
  1332.       $game_troop.make_unique_names
  1333.     end
  1334.   end
  1335.   #--------------------------------------------------------------------------
  1336.   # ● 敌人变身
  1337.   #--------------------------------------------------------------------------
  1338.   def command_336
  1339.     iterate_enemy_index(@params[0]) do |enemy|
  1340.       enemy.transform(@params[1])
  1341.       $game_troop.make_unique_names
  1342.     end
  1343.   end
  1344.   #--------------------------------------------------------------------------
  1345.   # ● 显示战斗动画
  1346.   #--------------------------------------------------------------------------
  1347.   def command_337
  1348.     iterate_enemy_index(@params[0]) do |enemy|
  1349.       enemy.animation_id = @params[1] if enemy.alive?
  1350.     end
  1351.   end
  1352.   #--------------------------------------------------------------------------
  1353.   # ● 强制战斗行动
  1354.   #--------------------------------------------------------------------------
  1355.   def command_339
  1356.     iterate_battler(@params[0], @params[1]) do |battler|
  1357.       next if battler.death_state?
  1358.       battler.force_action(@params[2], @params[3])
  1359.       BattleManager.force_action(battler)
  1360.       Fiber.yield while BattleManager.action_forced?
  1361.     end
  1362.   end
  1363.   #--------------------------------------------------------------------------
  1364.   # ● 中止战斗
  1365.   #--------------------------------------------------------------------------
  1366.   def command_340
  1367.     BattleManager.abort
  1368.     Fiber.yield
  1369.   end
  1370.   #--------------------------------------------------------------------------
  1371.   # ● 打开菜单画面
  1372.   #--------------------------------------------------------------------------
  1373.   def command_351
  1374.     return if $game_party.in_battle
  1375.     SceneManager.call(Scene_Menu)
  1376.     Window_MenuCommand::init_command_position
  1377.     Fiber.yield
  1378.   end
  1379.   #--------------------------------------------------------------------------
  1380.   # ● 打开存档画面
  1381.   #--------------------------------------------------------------------------
  1382.   def command_352
  1383.     return if $game_party.in_battle
  1384.     SceneManager.call(Scene_Save)
  1385.     Fiber.yield
  1386.   end
  1387.   #--------------------------------------------------------------------------
  1388.   # ● 游戏结束
  1389.   #--------------------------------------------------------------------------
  1390.   def command_353
  1391.     SceneManager.goto(Scene_Gameover)
  1392.     Fiber.yield
  1393.   end
  1394.   #--------------------------------------------------------------------------
  1395.   # ● 返回标题画面
  1396.   #--------------------------------------------------------------------------
  1397.   def command_354
  1398.     SceneManager.goto(Scene_Title)
  1399.     Fiber.yield
  1400.   end
  1401.   #--------------------------------------------------------------------------
  1402.   # ● 脚本
  1403.   #--------------------------------------------------------------------------
  1404.   def command_355
  1405.     script = @list[@index].parameters[0] + "\n"
  1406.     while next_event_code == 655
  1407.       @index += 1
  1408.       script += @list[@index].parameters[0] + "\n"
  1409.     end
  1410.     eval(script)
  1411.   end
  1412. end
复制代码
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

5
发表于 2013-10-31 21:26:39 | 只看该作者
调用其他公共事件也发生错误吗?

总感觉……已经病入膏肓无力回天了………………
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
6
 楼主| 发表于 2013-10-31 21:29:43 | 只看该作者
喵呜喵5 发表于 2013-10-31 21:26
调用其他公共事件也发生错误吗?

总感觉……已经病入膏肓无力回天了……………… ...


好吧 别的 也有问题      要不我吧脚本数据发给你  ?   如果没法解决的话就算了   ,  以后做事件麻烦点也没事。
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
7
发表于 2013-10-31 21:54:29 | 只看该作者
魔力的觉醒 发表于 2013-10-31 21:29
好吧 别的 也有问题      要不我吧脚本数据发给你  ?   如果没法解决的话就算了   ,  以后做 ...


脚本好长,看到都不想看了怎么办?看看你什么新脚本重写了class Game_Interpreter
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
8
 楼主| 发表于 2013-10-31 21:57:58 | 只看该作者
本帖最后由 魔力的觉醒 于 2013-10-31 22:03 编辑
tan12345 发表于 2013-10-31 21:54
脚本好长,看到都不想看了怎么办?看看你什么新脚本重写了class Game_Interpreter ...


好吧  这要悲剧的节奏啊!!!我发一下  你就粗略看看吧   没法解决我也认了!!
我的希望全托付你了!!!

脚本数据.zip

549.23 KB, 下载次数: 43

你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
199
在线时间
248 小时
注册时间
2012-4-29
帖子
386
9
 楼主| 发表于 2013-10-31 22:19:09 | 只看该作者
魔力的觉醒 发表于 2013-10-31 21:57
好吧  这要悲剧的节奏啊!!!我发一下  你就粗略看看吧   没法解决我也认了!!
我的 ...

@喵呜喵5 @猪头三~ @Index @tan12345 @Sion 求帮忙啊!!!!
你的意思就是要打架咯?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
10
发表于 2013-11-1 00:26:40 | 只看该作者
你脚本真多,而且出错的公共事件也有点问题,你都没显示图片……
按照你说的,脚本冲突找到了,道具提示系统,把这个脚本删除了试试。

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 09:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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