Project1

标题: 关于队员离开的问题 [打印本页]

作者: jiahui5592986    时间: 2011-7-23 15:38
标题: 关于队员离开的问题
为什么我在事件上面设置“替换队员###”进入游戏后显示这个?【要离开的队员在队伍里面】dsu_plus_rewardpost_czw

未命名.jpg (9.55 KB, 下载次数: 0)

未命名.jpg

作者: Wind2010    时间: 2011-7-23 15:46
输入的数值多了1个
LZ能将Interpreter 4发上来么?
作者: jiahui5592986    时间: 2011-7-23 15:50
本帖最后由 jiahui5592986 于 2011-7-23 15:51 编辑
  1. #==============================================================================
  2. # ■ Interpreter (分割定义 4)
  3. #------------------------------------------------------------------------------
  4. #  执行事件命令的解释器。本类在 Game_System 类
  5. # 和 Game_Event 类的内部使用。
  6. #==============================================================================

  7. class Interpreter
  8.   #--------------------------------------------------------------------------
  9.   # ● 开关操作
  10.   #--------------------------------------------------------------------------
  11.   def command_121
  12.     # 循环全部操作
  13.     for i in @parameters[0] .. @parameters[1]
  14.       # 更改开关
  15.       $game_switches[i] = (@parameters[2] == 0)
  16.     end
  17.     # 刷新地图
  18.     $game_map.need_refresh = true
  19.     # 继续
  20.     return true
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 变量操作
  24.   #--------------------------------------------------------------------------
  25.   def command_122
  26.     # 初始化值
  27.     value = 0
  28.     # 操作数的分支
  29.     case @parameters[3]
  30.     when 0  # 恒量
  31.       value = @parameters[4]
  32.     when 1  # 变量
  33.       value = $game_variables[@parameters[4]]
  34.     when 2  # 随机数
  35.       value = @parameters[4] + rand(@parameters[5] - @parameters[4] + 1)
  36.     when 3  # 物品
  37.       value = $game_party.item_number(@parameters[4])
  38.     when 4  # 角色
  39.       actor = $game_actors[@parameters[4]]
  40.       if actor != nil
  41.         case @parameters[5]
  42.         when 0  # 等级
  43.           value = actor.level
  44.         when 1  # EXP
  45.           value = actor.exp
  46.         when 2  # HP
  47.           value = actor.hp
  48.         when 3  # SP
  49.           value = actor.sp
  50.         when 4  # MaxHP
  51.           value = actor.maxhp
  52.         when 5  # MaxSP
  53.           value = actor.maxsp
  54.         when 6  # 力量
  55.           value = actor.str
  56.         when 7  # 灵巧
  57.           value = actor.dex
  58.         when 8  # 速度
  59.           value = actor.agi
  60.         when 9  # 魔力
  61.           value = actor.int
  62.         when 10  # 攻击力
  63.           value = actor.atk
  64.         when 11  # 物理防御
  65.           value = actor.pdef
  66.         when 12  # 魔法防御
  67.           value = actor.mdef
  68.         when 13  # 回避修正
  69.           value = actor.eva
  70.         end
  71.       end
  72.     when 5  # 敌人
  73.       enemy = $game_troop.enemies[@parameters[4]]
  74.       if enemy != nil
  75.         case @parameters[5]
  76.         when 0  # HP
  77.           value = enemy.hp
  78.         when 1  # SP
  79.           value = enemy.sp
  80.         when 2  # MaxHP
  81.           value = enemy.maxhp
  82.         when 3  # MaxSP
  83.           value = enemy.maxsp
  84.         when 4  # 力量
  85.           value = enemy.str
  86.         when 5  # 灵巧
  87.           value = enemy.dex
  88.         when 6  # 速度
  89.           value = enemy.agi
  90.         when 7  # 魔力
  91.           value = enemy.int
  92.         when 8  # 攻击力
  93.           value = enemy.atk
  94.         when 9  # 物理防御
  95.           value = enemy.pdef
  96.         when 10  # 魔法防御
  97.           value = enemy.mdef
  98.         when 11  # 回避修正
  99.           value = enemy.eva
  100.         end
  101.       end
  102.     when 6  # 角色
  103.       character = get_character(@parameters[4])
  104.       if character != nil
  105.         case @parameters[5]
  106.         when 0  # X 坐标
  107.           value = character.x
  108.         when 1  # Y 坐标
  109.           value = character.y
  110.         when 2  # 朝向
  111.           value = character.direction
  112.         when 3  # 画面 X 坐标
  113.           value = character.screen_x
  114.         when 4  # 画面 Y 坐标
  115.           value = character.screen_y
  116.         when 5  # 地形标记
  117.           value = character.terrain_tag
  118.         end
  119.       end
  120.     when 7  # 其它
  121.       case @parameters[4]
  122.       when 0  # 地图 ID
  123.         value = $game_map.map_id
  124.       when 1  # 同伴人数
  125.         value = $game_party.actors.size
  126.       when 2  # 金钱
  127.         value = $game_party.gold
  128.       when 3  # 步数
  129.         value = $game_party.steps
  130.       when 4  # 游戏时间
  131.         value = Graphics.frame_count / Graphics.frame_rate
  132.       when 5  # 计时器
  133.         value = $game_system.timer / Graphics.frame_rate
  134.       when 6  # 存档次数
  135.         value = $game_system.save_count
  136.       end
  137.     end
  138.     # 循环全部操作
  139.     for i in @parameters[0] .. @parameters[1]
  140.       # 操作分支
  141.       case @parameters[2]
  142.       when 0  # 代入
  143.         $game_variables[i] = value
  144.       when 1  # 加法
  145.         $game_variables[i] += value
  146.       when 2  # 减法
  147.         $game_variables[i] -= value
  148.       when 3  # 乘法
  149.         $game_variables[i] *= value
  150.       when 4  # 除法
  151.         if value != 0
  152.           $game_variables[i] /= value
  153.         end
  154.       when 5  # 剩余
  155.         if value != 0
  156.           $game_variables[i] %= value
  157.         end
  158.       end
  159.       # 检查上限
  160.       if $game_variables[i] > 99999999
  161.         $game_variables[i] = 99999999
  162.       end
  163.       # 检查下限
  164.       if $game_variables[i] < -99999999
  165.         $game_variables[i] = -99999999
  166.       end
  167.     end
  168.     # 刷新地图
  169.     $game_map.need_refresh = true
  170.     # 继续
  171.     return true
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ● 独立开关操作
  175.   #--------------------------------------------------------------------------
  176.   def command_123
  177.     # 事件 ID 有效的情况下
  178.     if @event_id > 0
  179.       # 生成独立开关键
  180.       key = [$game_map.map_id, @event_id, @parameters[0]]
  181.       # 更改独立开关
  182.       $game_self_switches[key] = (@parameters[1] == 0)
  183.     end
  184.     # 刷新地图
  185.     $game_map.need_refresh = true
  186.     # 继续
  187.     return true
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● 计时器操作
  191.   #--------------------------------------------------------------------------
  192.   def command_124
  193.     # 开始的情况
  194.     if @parameters[0] == 0
  195.       $game_system.timer = @parameters[1] * Graphics.frame_rate
  196.       $game_system.timer_working = true
  197.     end
  198.     # 停止的情况
  199.     if @parameters[0] == 1
  200.       $game_system.timer_working = false
  201.     end
  202.     # 继续
  203.     return true
  204.   end
  205.   
  206.   #--------------------------------------------------------------------------
  207.   # ● 增减金钱
  208.   #--------------------------------------------------------------------------
  209.   def command_125(gold = 0)
  210.     value = 0
  211.     if gold ==0
  212.       # 获取要操作的值
  213.       value = operate_value(@parameters[0], @parameters[1], @parameters[2])
  214.     else
  215.       value = gold
  216.     end
  217.     # 增减金钱
  218.     $game_party.gain_gold(value)
  219.     # 继续
  220.     command_106(15)
  221.     return true
  222.   end
  223.   #--------------------------------------------------------------------------
  224.   # ● 增减物品
  225.   #--------------------------------------------------------------------------
  226.   def command_126
  227.     # 获取要操作的值
  228.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  229.     # 增减物品
  230.     $game_party.gain_item(@parameters[0], value,true)
  231.     command_106(15)
  232.     # 继续
  233.     return true
  234.   end
  235.   #--------------------------------------------------------------------------
  236.   # ● 增减武器
  237.   #--------------------------------------------------------------------------
  238.   def command_127
  239.     # 获取要操作的值
  240.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  241.     # 增减武器
  242.     $game_party.gain_weapon(@parameters[0], value,true)
  243.     command_106(15)
  244.     # 继续
  245.     return true
  246.   end
  247.   #--------------------------------------------------------------------------
  248.   # ● 增减防具
  249.   #--------------------------------------------------------------------------
  250.   def command_128
  251.     # 获取要操作的值
  252.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  253.     # 增减防具
  254.     $game_party.gain_armor(@parameters[0], value,true)
  255.     command_106(15)
  256.     # 继续
  257.     return true
  258.   end
  259.   #--------------------------------------------------------------------------
  260.   # ● 角色的替换
  261.   #--------------------------------------------------------------------------
  262.   def command_129
  263.     # 获取角色
  264.     actor = $game_actors[@parameters[0]]
  265.     # 角色有效的情况下
  266.     if actor != nil
  267.       # 操作分支
  268.       if @parameters[1] == 0
  269.         if @parameters[2] == 1
  270.           $game_actors[@parameters[0]].setup(@parameters[0])
  271.         end
  272.         $game_party.add_actor(@parameters[0])
  273.         actor = $game_actors[@parameters[0]]
  274.         txt = actor.name + "加入了队伍."
  275.         $game_party.update_message(txt)
  276.       else
  277.         $game_party.remove_actor(@parameters[0],true)
  278.         actor = $game_actors[@parameters[0]]
  279.         txt = actor.name + "离开了队伍."
  280.         $game_party.update_message(txt)
  281.       end
  282.     end
  283.     # 继续
  284.     return true
  285.   end
  286.   #--------------------------------------------------------------------------
  287.   # ● 更改窗口外观
  288.   #--------------------------------------------------------------------------
  289.   def command_131
  290.     # 设置窗口外观文件名
  291.     $game_system.windowskin_name = @parameters[0]
  292.     # 继续
  293.     return true
  294.   end
  295.   #--------------------------------------------------------------------------
  296.   # ● 更改战斗 BGM
  297.   #--------------------------------------------------------------------------
  298.   def command_132
  299.     # 设置战斗 BGM
  300.     $game_system.battle_bgm = @parameters[0]
  301.     # 继续
  302.     return true
  303.   end
  304.   #--------------------------------------------------------------------------
  305.   # ● 更改战斗结束的 ME
  306.   #--------------------------------------------------------------------------
  307.   def command_133
  308.     # 设置战斗结束的 ME
  309.     $game_system.battle_end_me = @parameters[0]
  310.     # 继续
  311.     return true
  312.   end
  313.   #--------------------------------------------------------------------------
  314.   # ● 更改禁止存档
  315.   #--------------------------------------------------------------------------
  316.   def command_134
  317.     # 更改禁止存档标志
  318.     $game_system.save_disabled = (@parameters[0] == 0)
  319.     # 继续
  320.     return true
  321.   end
  322.   #--------------------------------------------------------------------------
  323.   # ● 更改禁止菜单
  324.   #--------------------------------------------------------------------------
  325.   def command_135
  326.     # 更改禁止菜单标志
  327.     $game_system.menu_disabled = (@parameters[0] == 0)
  328.     # 继续
  329.     return true
  330.   end
  331.   #--------------------------------------------------------------------------
  332.   # ● 更改禁止遇敌
  333.   #--------------------------------------------------------------------------
  334.   def command_136
  335.     # 更改更改禁止遇敌标志
  336.     $game_system.encounter_disabled = (@parameters[0] == 0)
  337.     # 生成遇敌计数
  338.     $game_player.make_encounter_count
  339.     # 继续
  340.     return true
  341.   end
  342. end
复制代码

作者: Wind2010    时间: 2011-7-23 16:07
  1. class Game_Party
  2.   alias l_16513_remove_actor remove_actor unless defined?(l_16513_remove_actor)
  3.   def remove_actor(a,b=true)
  4.     l_16513_remove_actor(a)
  5.   end
  6. end
复制代码

作者: jiahui5592986    时间: 2011-7-23 17:55
Wind2010 发表于 2011-7-23 16:07

怎么用?
作者: 秋庭里香    时间: 2011-7-28 13:44
jiahui5592986 发表于 2011-7-23 17:55
怎么用?

把Wind2010的那段脚本插入到Main前试试~~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1