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

Project1

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

彷vx scope

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
跳转到指定楼层
1
发表于 2007-12-28 03:46:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
4: 敵単体 ランダム
5: 敵二体 ランダム
6: 敵三体 ランダム

这3个,附送 全场,敌全体+随机我方单体 效果

先加入 19-23号属性


在Scene_Battle4 make_skill_action_result # 设定对像方战斗者 下

  1. set_target_battlers(@skill.scope)
复制代码
更改成

  1. if @skill.element_set.include?(19)
  2.       set_target_battlers(8)
  3.     elsif @skill.element_set.include?(20)
  4.       set_target_battlers(9)
  5.     elsif @skill.element_set.include?(21)
  6.       set_target_battlers(10)
  7.     elsif @skill.element_set.include?(22)
  8.       set_target_battlers(11)
  9.     elsif @skill.element_set.include?(23)
  10.       set_target_battlers(12)
  11.     else
  12.       set_target_battlers(@skill.scope)
  13.     end
复制代码


在 set_target_battlers(scope) 下
敌人的

  1. when 7  # 使用者
  2.         @target_battlers.push(@active_battler)
复制代码

下加上

  1. when 8  # 全场
  2.         for actor in $game_party.actors
  3.           if actor.exist?
  4.             @target_battlers.push(actor)
  5.           end
  6.         end
  7.         for enemy in $game_troop.enemies
  8.           if enemy.exist?
  9.             @target_battlers.push(enemy)
  10.           end
  11.         end
  12.       when 9 # 敌全体+随机我方单体
  13.         for actor in $game_party.actors
  14.           if actor.exist?
  15.             @target_battlers.push(actor)
  16.           end
  17.         end
  18.         number = rand(20)
  19.         if number > 17
  20.           index = rand($game_troop.enemies.size)
  21.           @target_battlers.push($game_troop.smooth_target_enemy(index))
  22.         end
  23.       when 10 # 敌单体随机
  24.         index = rand($game_party.actors.size)
  25.         @target_battlers.push($game_party.smooth_target_actor(index))
  26.       when 11 # 敌2体随机
  27.         lastindex = nil
  28.         2.times do
  29.           index = rand($game_party.actors.size) while lastindex == index
  30.           @target_battlers.push($game_party.smooth_target_actor(index))
  31.           lastindex = index
  32.         end
  33.       when 12 # 敌3体随机
  34.         lastindex = nil
  35.         3.times do
  36.           index = rand($game_party.actors.size) while lastindex == index
  37.           @target_battlers.push($game_party.smooth_target_actor(index))
  38.           lastindex = index
  39.         end
复制代码


己方的则加上

  1. when 8  # 全场
  2.         for actor in $game_party.actors
  3.           if actor.exist?
  4.             @target_battlers.push(actor)
  5.           end
  6.         end
  7.         for enemy in $game_troop.enemies
  8.           if enemy.exist?
  9.             @target_battlers.push(enemy)
  10.           end
  11.         end
  12.       when 9 # 敌全体+随机我方单体
  13.         for enemy in $game_troop.enemies
  14.           if enemy.exist?
  15.             @target_battlers.push(enemy)
  16.           end
  17.         end
  18.         number = rand(20)
  19.         if number > 17
  20.           index = rand($game_party.actors.size)
  21.           @target_battlers.push($game_party.smooth_target_actor(index))
  22.         end
  23.       when 10 # 敌单体随机
  24.         index = rand($game_troop.enemies.size)
  25.         @target_battlers.push($game_troop.smooth_target_enemy(index))
  26.       when 11 # 敌2体随机
  27.         lastindex = nil
  28.         2.times do
  29.           index = rand($game_troop.enemies.size) while lastindex == index
  30.           @target_battlers.push($game_troop.smooth_target_enemy(index))
  31.           lastindex = index
  32.         end
  33.       when 12 # 敌3体随机
  34.         lastindex = nil
  35.         3.times do
  36.           index = rand($game_troop.enemies.size) while lastindex == index
  37.           @target_battlers.push($game_troop.smooth_target_enemy(index))
  38.           lastindex = index
  39.         end
复制代码


最后为要用这些scope的技能加上相应的属性

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
10
 楼主| 发表于 2007-12-29 03:54:02 | 只看该作者
以下引用veal于2007-12-28 15:17:48的发言:


以下引用3535于2007-12-28 14:03:17的发言:

when 11 # 敵2體隨機
      if $game_troop.enemies.size > 2
        lastindex = nil
        2.times do
          index = rand($game_troop.enemies.size) while lastindex == index
          @target_battlers.push($game_troop.smooth_target_enemy(index))
          lastindex = index
        end
      else
        for enemy in $game_troop.enemies
          if enemy.exist?
            @target_battlers.push(enemy)
          end
        end
      end
    when 12 # 敵3體隨機
      if $game_troop.enemies.size > 3
        lastindex = nil
        3.times do
          index = rand($game_troop.enemies.size) while lastindex == index
          @target_battlers.push($game_troop.smooth_target_enemy(index))
          lastindex = index
        end
      else
        for enemy in $game_troop.enemies
          if enemy.exist?
            @target_battlers.push(enemy)
          end
        end
      end


死人也会算进enemies.size的..
可以判断一下敌人队伍中还有多少活人再确定目标

我測试过无死循環.......{/gg}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

v

梦石
0
星屑
50
在线时间
55 小时
注册时间
2007-12-19
帖子
99
9
发表于 2007-12-28 23:17:48 | 只看该作者
以下引用3535于2007-12-28 14:03:17的发言:

when 11 # 敵2體隨機
       if $game_troop.enemies.size > 2
         lastindex = nil
         2.times do
           index = rand($game_troop.enemies.size) while lastindex == index
           @target_battlers.push($game_troop.smooth_target_enemy(index))
           lastindex = index
         end
       else
         for enemy in $game_troop.enemies
           if enemy.exist?
             @target_battlers.push(enemy)
           end
         end
       end
     when 12 # 敵3體隨機
       if $game_troop.enemies.size > 3
         lastindex = nil
         3.times do
           index = rand($game_troop.enemies.size) while lastindex == index
           @target_battlers.push($game_troop.smooth_target_enemy(index))
           lastindex = index
         end
       else
         for enemy in $game_troop.enemies
           if enemy.exist?
             @target_battlers.push(enemy)
           end
         end
       end

死人也会算进enemies.size的..
可以判断一下敌人队伍中还有多少活人再确定目标
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
8
 楼主| 发表于 2007-12-28 22:03:17 | 只看该作者
when 11 # 敵2體隨機
        if $game_troop.enemies.size > 2
          lastindex = nil
          2.times do
            index = rand($game_troop.enemies.size) while lastindex == index
            @target_battlers.push($game_troop.smooth_target_enemy(index))
            lastindex = index
          end
        else
          for enemy in $game_troop.enemies
            if enemy.exist?
              @target_battlers.push(enemy)
            end
          end
        end
      when 12 # 敵3體隨機
        if $game_troop.enemies.size > 3
          lastindex = nil
          3.times do
            index = rand($game_troop.enemies.size) while lastindex == index
            @target_battlers.push($game_troop.smooth_target_enemy(index))
            lastindex = index
          end
        else
          for enemy in $game_troop.enemies
            if enemy.exist?
              @target_battlers.push(enemy)
            end
          end
        end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
7
 楼主| 发表于 2007-12-28 08:22:08 | 只看该作者
以下引用veal于2007-12-27 22:54:23的发言:


        3.times do
        index = rand($game_troop.enemies.size) while lastindex == index
        @target_battlers.push($game_troop.smooth_target_enemy(index))
        lastindex = index
      end

假如只有1个敌人岂不是无限循环了?


[本贴由作者于 2007-12-27 22:55:57 最后编辑]

if $game_troop.enemies.size == 2
2.times do
.
.
.


if $game_troop.enemies.size == 1
index = 0
.
.
.
.
{/gg}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

v

梦石
0
星屑
50
在线时间
55 小时
注册时间
2007-12-19
帖子
99
6
发表于 2007-12-28 06:54:23 | 只看该作者
         3.times do
         index = rand($game_troop.enemies.size) while lastindex == index
         @target_battlers.push($game_troop.smooth_target_enemy(index))
         lastindex = index
       end

假如只有1个敌人岂不是无限循环了?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7981
在线时间
1183 小时
注册时间
2007-7-29
帖子
2055
5
发表于 2007-12-28 05:29:43 | 只看该作者
很好,继续努力。
可以不用占用属性的方法,比如
运用 split ,在名字后面添加符号及范围。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
4
 楼主| 发表于 2007-12-28 04:53:17 | 只看该作者
以下引用Eclair于2007-12-27 20:32:21的发言:

嗯...说说偶滴感觉...
不是单纯的为了仿VX的话,做成外部可以设定的目标数量效果很可能会更好,敌一体敌二体敌三体的占用了不少属性,而且还不一定全会被用到呢。= =|||

自己刪減些也不太困難
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

心无天使

梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-12-15
帖子
1016
3
发表于 2007-12-28 04:32:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
2
 楼主| 发表于 2007-12-28 03:46:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
4: 敵単体 ランダム
5: 敵二体 ランダム
6: 敵三体 ランダム

这3个,附送 全场,敌全体+随机我方单体 效果

先加入 19-23号属性


在Scene_Battle4 make_skill_action_result # 设定对像方战斗者 下

  1. set_target_battlers(@skill.scope)
复制代码
更改成

  1. if @skill.element_set.include?(19)
  2.       set_target_battlers(8)
  3.     elsif @skill.element_set.include?(20)
  4.       set_target_battlers(9)
  5.     elsif @skill.element_set.include?(21)
  6.       set_target_battlers(10)
  7.     elsif @skill.element_set.include?(22)
  8.       set_target_battlers(11)
  9.     elsif @skill.element_set.include?(23)
  10.       set_target_battlers(12)
  11.     else
  12.       set_target_battlers(@skill.scope)
  13.     end
复制代码


在 set_target_battlers(scope) 下
敌人的

  1. when 7  # 使用者
  2.         @target_battlers.push(@active_battler)
复制代码

下加上

  1. when 8  # 全场
  2.         for actor in $game_party.actors
  3.           if actor.exist?
  4.             @target_battlers.push(actor)
  5.           end
  6.         end
  7.         for enemy in $game_troop.enemies
  8.           if enemy.exist?
  9.             @target_battlers.push(enemy)
  10.           end
  11.         end
  12.       when 9 # 敌全体+随机我方单体
  13.         for actor in $game_party.actors
  14.           if actor.exist?
  15.             @target_battlers.push(actor)
  16.           end
  17.         end
  18.         number = rand(20)
  19.         if number > 17
  20.           index = rand($game_troop.enemies.size)
  21.           @target_battlers.push($game_troop.smooth_target_enemy(index))
  22.         end
  23.       when 10 # 敌单体随机
  24.         index = rand($game_party.actors.size)
  25.         @target_battlers.push($game_party.smooth_target_actor(index))
  26.       when 11 # 敌2体随机
  27.         lastindex = nil
  28.         2.times do
  29.           index = rand($game_party.actors.size) while lastindex == index
  30.           @target_battlers.push($game_party.smooth_target_actor(index))
  31.           lastindex = index
  32.         end
  33.       when 12 # 敌3体随机
  34.         lastindex = nil
  35.         3.times do
  36.           index = rand($game_party.actors.size) while lastindex == index
  37.           @target_battlers.push($game_party.smooth_target_actor(index))
  38.           lastindex = index
  39.         end
复制代码


己方的则加上

  1. when 8  # 全场
  2.         for actor in $game_party.actors
  3.           if actor.exist?
  4.             @target_battlers.push(actor)
  5.           end
  6.         end
  7.         for enemy in $game_troop.enemies
  8.           if enemy.exist?
  9.             @target_battlers.push(enemy)
  10.           end
  11.         end
  12.       when 9 # 敌全体+随机我方单体
  13.         for enemy in $game_troop.enemies
  14.           if enemy.exist?
  15.             @target_battlers.push(enemy)
  16.           end
  17.         end
  18.         number = rand(20)
  19.         if number > 17
  20.           index = rand($game_party.actors.size)
  21.           @target_battlers.push($game_party.smooth_target_actor(index))
  22.         end
  23.       when 10 # 敌单体随机
  24.         index = rand($game_troop.enemies.size)
  25.         @target_battlers.push($game_troop.smooth_target_enemy(index))
  26.       when 11 # 敌2体随机
  27.         lastindex = nil
  28.         2.times do
  29.           index = rand($game_troop.enemies.size) while lastindex == index
  30.           @target_battlers.push($game_troop.smooth_target_enemy(index))
  31.           lastindex = index
  32.         end
  33.       when 12 # 敌3体随机
  34.         lastindex = nil
  35.         3.times do
  36.           index = rand($game_troop.enemies.size) while lastindex == index
  37.           @target_battlers.push($game_troop.smooth_target_enemy(index))
  38.           lastindex = index
  39.         end
复制代码


最后为要用这些scope的技能加上相应的属性
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-16 22:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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