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

Project1

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

[原创发布] 仿仙剑的群体攻击(鞭)、仙风云体步(仙女剑)以及敌人

[复制链接]

Lv3.寻梦者

梦石
2
星屑
1156
在线时间
340 小时
注册时间
2008-2-2
帖子
275

R考场第七期银奖

跳转到指定楼层
1
发表于 2012-2-12 23:18:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 唐门草楹 于 2012-2-12 23:29 编辑

两天前我曾发布过自己关于敌人双次攻击效果的处女教程,今天继续贴上整合的群攻(物理攻击伤害全体)、仙风云体步(每回合物理攻击两次)以及敌人的双次攻击效果整合脚本
其中群攻有敌人的群攻效果与武器装备附带的群攻效果,仙风云体步分武器附带的仙风效果与仙术添加的仙风步状态,双次攻击指敌人每回合行动两次
具体的使用方法请见脚本内部或参考范例~谢谢大家捧场~
  1. #==============================================================================
  2. # ■仿仙剑的群体攻击(鞭)、仙风云体步(仙女剑)以及敌人的双次攻击效果
  3. #------------------------------------------------------------------------------
  4. # 实现角色的攻击特点、武器的攻击特点、敌人的攻击特点  Ver 1.00
  5. #==============================================================================

  6. #用前须知
  7. #首先请搞清楚,群攻是指林月如的鞭系那种攻击对方全体的普通攻击;
  8. #仙风云体步是指赵灵儿用双剑攻击的每回合对同一敌人的两次普通攻击;
  9. #在这个仿仙剑一的版本中,敌人的仙风云体步设置为双次攻击效果

  10. #1.设置群体攻击的敌人,只需要在数据库敌人属性名字后面加后缀"@群攻"
  11. #2.设置仙风云体步的敌人,需要在数据库敌人属性名字后面加后缀"@@仙风"注意是两个"@"
  12. #3.如果一个敌人既是群攻又是仙风云体步,敌人属性名字后面加后缀"@群攻@仙风"

  13. #4.设置群体攻击的武器,只需要在数据库武器属性名字后面加后缀"@群攻"
  14. #5.设置仙风云体步的武器,需要在数据库敌人属性名字后面加后缀"@@仙风"同样注意是两个"@"
  15. #6.如果一件武器既是群攻又是仙风云体术,武器属性名字后面加后缀"@群攻@仙风"

  16. #7.如果有一个状态的效果是仙风云体术,请用下面的这个变量存储该状态的ID
  17. Xianfengstate = 18

  18.   #--------------------------------------------------------------------------
  19.   # ● 去后缀处理
  20.   #--------------------------------------------------------------------------
  21. class Window_Base < Window
  22.   def draw_item_name(item, x, y)
  23.     if item == nil
  24.       return
  25.     end
  26.     bitmap = RPG::Cache.icon(item.icon_name)
  27.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  28.     self.contents.font.color = normal_color
  29.     self.contents.draw_text(x + 28, y, 212, 32, item.name.split("@")[0])
  30.   end
  31. end

  32. class Game_Enemy < Game_Battler
  33.   def name
  34.     return $data_enemies[@enemy_id].name.split("@")[0]
  35.   end
  36.   def ifQungong
  37.     ###如果要改变敌人群体攻击属性的后缀,改下面
  38.     return $data_enemies[@enemy_id].name.split("@")[1] == "群攻"
  39.   end
  40.     def ifXianfeng
  41.     ###如果要改变敌人双次攻击属性的后缀,改下面
  42.     return $data_enemies[@enemy_id].name.split("@")[2] == "仙风"
  43.   end
  44. end
  45.   #--------------------------------------------------------------------------
  46.   # ● 重写攻击情况下的脚本
  47.   #--------------------------------------------------------------------------

  48. class Scene_Battle
  49.   #--------------------------------------------------------------------------
  50.   # ● 生成行动循序
  51.   #--------------------------------------------------------------------------
  52.   def make_action_orders
  53.     # 初始化序列 @action_battlers
  54.     @action_battlers = []
  55.     # 添加敌人到 @action_battlers 序列
  56.     for enemy in $game_troop.enemies
  57.       @action_battlers.push(enemy)
  58.       if enemy.ifXianfeng
  59.         @action_battlers.push(enemy)
  60.       end
  61.     end
  62.     # 添加角色到 @action_battlers 序列
  63.     for actor in $game_party.actors
  64.       @action_battlers.push(actor)
  65.       if (actor.current_action.basic == 0 and actor.restriction == 0 and  $data_weapons[actor.weapon_id].name.split("@")[2] == "仙风")
  66.         @action_battlers.push(actor)
  67.       else
  68.         if actor.state?(Xianfengstate)
  69.           @action_battlers.push(actor)
  70.         end
  71.       end
  72.     end
  73.     # 确定全体的行动速度
  74.     for battler in @action_battlers
  75.       battler.make_action_speed
  76.     end
  77.     # 按照行动速度从大到小排列
  78.     @action_battlers.sort! {|a,b|
  79.       b.current_action.speed - a.current_action.speed }
  80.   end

  81.   #--------------------------------------------------------------------------
  82.   # ● 生成基本行动结果
  83.   #--------------------------------------------------------------------------

  84.   def make_basic_action_result
  85.     # 攻击的情况下
  86.     if @active_battler.current_action.basic == 0
  87.       # 设置攻击 ID
  88.       @animation1_id = @active_battler.animation1_id
  89.       @animation2_id = @active_battler.animation2_id
  90.       # 行动方的战斗者是敌人的情况下
  91.       if @active_battler.is_a?(Game_Enemy)
  92.         if @active_battler.restriction == 3
  93.           target = $game_troop.random_target_enemy
  94.         elsif @active_battler.restriction == 2
  95.           target = $game_party.random_target_actor
  96.         else
  97.           index = @active_battler.current_action.target_index
  98.           target = $game_party.smooth_target_actor(index)
  99.         end
  100.       end
  101.       # 行动方的战斗者是角色的情况下
  102.       if @active_battler.is_a?(Game_Actor)
  103.         if @active_battler.restriction == 3
  104.           target = $game_party.random_target_actor
  105.         elsif @active_battler.restriction == 2
  106.           target = $game_troop.random_target_enemy
  107.         else
  108.           index = @active_battler.current_action.target_index
  109.           target = $game_troop.smooth_target_enemy(index)
  110.         end
  111.       end
  112.       # 设置对像方的战斗者序列
  113.       @target_battlers = [target]
  114.       # 如果敌人有“群攻”标记
  115.       if @active_battler.is_a?(Game_Enemy)
  116.         if @active_battler.ifQungong
  117.           if @active_battler.restriction == 0
  118.             @target_battlers = []
  119.             for target in $game_party.actors
  120.               if target.exist?
  121.                 @target_battlers.push(target)
  122.               end
  123.             end
  124.           end
  125.         end
  126.       end
  127.       # 如果角色标有群攻或者武器含有“群攻”标记
  128.       if @active_battler.is_a?(Game_Actor)
  129.         ###如果要改变武器群体攻击属性的后缀,改下面
  130.         if $data_weapons[@active_battler.weapon_id].name.split("@")[1] == "群攻"
  131.           if @active_battler.restriction == 0
  132.             @target_battlers = []
  133.             for target in $game_troop.enemies
  134.               if target.exist?
  135.                 @target_battlers.push(target)
  136.               end
  137.             end
  138.           end
  139.         end
  140.       end
  141.       # 应用通常攻击效果
  142.       for target in @target_battlers
  143.         target.attack_effect(@active_battler)
  144.       end
  145.       return
  146.     end
  147.     # 防御的情况下
  148.     if @active_battler.current_action.basic == 1
  149.       # 帮助窗口显示"防御"
  150.       @help_window.set_text($data_system.words.guard, 1)
  151.       return
  152.     end
  153.     # 逃跑的情况下
  154.     if @active_battler.is_a?(Game_Enemy) and
  155.        @active_battler.current_action.basic == 2
  156.       #  帮助窗口显示"逃跑"
  157.       @help_window.set_text("逃跑", 1)
  158.       # 逃跑
  159.       @active_battler.escape
  160.       return
  161.     end
  162.     # 什么也不做的情况下
  163.     if @active_battler.current_action.basic == 3
  164.       # 清除强制行动对像的战斗者
  165.       $game_temp.forcing_battler = nil
  166.       # 移至步骤 1
  167.       @phase4_step = 1
  168.       return
  169.     end
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # ● 刷新画面 (主回合步骤 6 : 刷新)
  173.   #--------------------------------------------------------------------------
  174.   def update_phase4_step6
  175.     # 清除强制行动对像的战斗者
  176.     $game_temp.forcing_battler = nil
  177.     # 公共事件 ID 有效的情况下
  178.     if @common_event_id > 0
  179.       # 设置事件
  180.       common_event = $data_common_events[@common_event_id]
  181.       $game_system.battle_interpreter.setup(common_event.list, 0)
  182.     end
  183.    
  184.     ###为二次攻击者重新设置动作
  185.     if @active_battler.is_a?(Game_Enemy)
  186.       @active_battler.make_action
  187.     end
  188.    
  189.     # 移至步骤 1
  190.     @phase4_step = 1
  191.   end
  192. end

复制代码
#######################华丽的分割线###############################
以下是范例~

仿仙剑各特效.zip (204.19 KB, 下载次数: 1751)

评分

参与人数 1星屑 +2 收起 理由
stevenrock + 2 好东西!

查看全部评分

我亲自录制的橙光教学视频
如何用橙光做一款养成游戏:https://www.bilibili.com/video/BV1Js41197pr
蛇梯游戏/大富翁的制作:https://www.bilibili.com/video/BV1yW411a7sv
股票系统:https://www.bilibili.com/video/BV1DW41187BW
龙雏子女系统 的实现方法:https://www.bilibili.com/video/BV1gE411J7Ns
换装捏脸系统:https://www.bilibili.com/video/BV1Yc411h7ds
背包-合成系统:https://www.bilibili.com/video/BV1qg4y187C2

Lv3.寻梦者

梦石
0
星屑
1167
在线时间
691 小时
注册时间
2010-9-22
帖子
178
2
发表于 2012-2-15 12:00:38 | 只看该作者
怎么不能用啊?

点评

有可能是因为脚本的冲突,如果你用了其他的脚本重写了该脚本中的类,就会导致效果失效  发表于 2012-2-18 10:47
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
45 小时
注册时间
2011-11-26
帖子
90
3
发表于 2012-2-17 21:25:20 | 只看该作者
武器,敌人,状态,都介绍的很全面,但是还没说怎么给自己的角色设置呢
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
2
星屑
1156
在线时间
340 小时
注册时间
2008-2-2
帖子
275

R考场第七期银奖

4
 楼主| 发表于 2012-2-18 10:40:23 | 只看该作者
本帖最后由 唐门草楹 于 2012-2-18 10:48 编辑
wxj541374210 发表于 2012-2-17 21:25
武器,敌人,状态,都介绍的很全面,但是还没说怎么给自己的角色设置呢


哦,因为我做的是仿仙剑效果,所以这一个版本里只把仙剑一中的效果做出来了,因为仙剑一中角色的群攻与双刀流都是通过武器来实现的,而且醉仙望月步只有同伴的特技里有,敌人只有二次行动。如果希望队伍中有可以一直群攻或者一直双刀流的同伴,可以把这个同伴的武器都设置成仙风属性的武器,在以后的版本中说不定会推出给同伴设置固定攻击模式的版本

点评

不好意思,说错了,是,在商店里的名字会显示@群攻的字眼屏蔽掉?  发表于 2013-3-19 19:43
请问楼主,用了这个脚本后不能逃跑怎么办?  发表于 2013-3-19 13:23
哦,原来是这样啊  发表于 2012-2-24 21:33
我亲自录制的橙光教学视频
如何用橙光做一款养成游戏:https://www.bilibili.com/video/BV1Js41197pr
蛇梯游戏/大富翁的制作:https://www.bilibili.com/video/BV1yW411a7sv
股票系统:https://www.bilibili.com/video/BV1DW41187BW
龙雏子女系统 的实现方法:https://www.bilibili.com/video/BV1gE411J7Ns
换装捏脸系统:https://www.bilibili.com/video/BV1Yc411h7ds
背包-合成系统:https://www.bilibili.com/video/BV1qg4y187C2
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1167
在线时间
691 小时
注册时间
2010-9-22
帖子
178
5
发表于 2012-2-18 18:50:58 | 只看该作者
效果出来了,不错哦,楼主再接再厉哈!加油!

评分

参与人数 1星屑 -10 收起 理由
Kimu -10

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
196 小时
注册时间
2012-1-24
帖子
67
6
发表于 2012-2-28 23:26:46 | 只看该作者
急需的就是這個啊 多謝樓主了 加油

点评

你在做月如续传么?我也在做月如续传呢,要不我们联手吧~  发表于 2012-3-11 20:29

评分

参与人数 1星屑 -10 收起 理由
Kimu -10

查看全部评分

月如续传 进度87%
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
948
在线时间
245 小时
注册时间
2008-7-11
帖子
651
7
发表于 2012-3-11 01:12:30 | 只看该作者
本帖最后由 涂鸦boy 于 2012-3-11 01:14 编辑

各种下不动啊亲~

点评

我可以吐槽憔悴的帅哥2这种基情满满的东西是在哪里下到的么?  发表于 2013-3-24 09:57
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2010-1-16
帖子
53
8
发表于 2012-3-17 15:51:50 | 只看该作者
感谢LZ分享
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
555
在线时间
21 小时
注册时间
2012-6-6
帖子
2
9
发表于 2012-6-14 01:53:24 | 只看该作者
我把脚本里的“群攻”和“仙风”都改了,换成我自己定义的~~~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
59 小时
注册时间
2013-9-3
帖子
28
10
发表于 2013-9-27 20:32:59 | 只看该作者
好东西,我来试试
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-20 08:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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