扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 125|回复: 0

[转载发布] 双次行动(复刻仙剑的每回合行动两次效果)

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    2025-3-29 03:52
  • 签到天数: 127 天

    连续签到: 11 天

    [LV.7]常住居民III

    2349

    主题

    420

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    11309
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    14106

    灌水之王

    发表于 2024-4-19 21:58:12 | 显示全部楼层 |阅读模式
    玩过仙剑一的筒子们对某些BOSS变态的每回合攻击两次技能应该记忆犹新,例如苗族首领、狐妖女等等。那么怎样用RMXP实现这个效果呢?即使是脚本盲,跟着我的步骤来做也可以搞定。

    首先,打开数据库,在“系统”标签中编号为18的位置新增一个属性“双次行动”。在敌人栏中将需要双次攻击的敌人该属性设置为A

    第二步,增加一个开关用于标记一个战斗者是否行动两次
    打开脚本编辑器,找到Game_Battler 1 脚本,在● 定义实例变量部分(第12~25行之间)插入一个新定义的变量"attr_accessor :battletwice",我用的变量名称是battletwice,下同。用来记录每个战斗者是否攻击两次。

    第三步,通过第一步新建的属性为第二步的开关赋值
    还是脚本编辑器,打开Game_Enemy 脚本,在● 初始化对像 的结构体内部插入以下代码(26行与27行之间插入就可以)


        ###给攻击次数赋值
        if $data_enemies[@enemy_id].element_ranks[18] == 1
               @battletwice = true
          else
               @battletwice = false
          end

    注意:如果你的“双次行动”所在的属性不是18,改红色的部分。绿色的1代表该属性值为A时,该敌人行动两次的开关开启

    第四步,在战斗时,给“双次行动”开关为TRUE的敌人额外赋一次攻击的机会
    这一次是Scene_Battle 4脚本,在● 生成行动循序部分,你可以找到

        # 添加敌人到 @action_battlers 序列
        for enemy in $game_troop.enemies
              @action_battlers.push(enemy)
          end

    这一句在默认脚本中在52~55行,意思是把所有的敌人加入到行动队列中去。在中间插入点东西,变成下面这个样子
    “   
        # 添加敌人到 @action_battlers 序列
        for enemy in $game_troop.enemies
              @action_battlers.push(enemy)
             
              if enemy.battletwice == true
                   @action_battlers.push(enemy)
              end


            end

    这句的意思是加一个判断,如果有敌人的“双次行动”开关为TRUE,就再额外将这个敌人加入到行动栏中去。

    至此,保存脚本,用含有“双次行动”属性为A的敌人队伍进行战斗测试,这个敌人就可以行动两次了(调试前最好把敌人的“什么也不做”去掉,否则可能会一次甚至两次行动都“什么也不做”,对实验结果的观察有影响),但是细心的玩家会发现,这个敌人两次执行的行动是一样,这是因为虽然行动队列添加了两次这个敌人,这个敌人也可以每回合行动两次,但是由于这个敌人的行动种类只生成了一次,因此在两次行动中是按照同一个行动种类进行的行动。如果想要让两次行动不同,只需要加入一步:
    第五步,每回合结束后重新生成一次新的行动种类
    还是在Scene_Battle 4脚本,● 刷新画面 (主回合步骤 6 : 刷新) 中,你可以在   

      # 移至步骤 1
        @phase4_step = 1

    的上面插入下面这段脚本

        ###每回合结束后重新设置动作
          if @active_battler.battletwice == true
                 @active_battler.make_action
              end

    这段脚本是为了每回合结束后,都给这个敌人创建一个新的动作。

    再重新战斗测试一遍,见证奇迹的时刻到了!~敌人可以行动两次了~~

    ++++++++++++++++++华丽的签名档+++++++++++++++++++++++++++

    我是初来乍到的新人哈里,如果这个脚本你还有什么不懂的地方,请参考范例:

    也可以让小柯转达我一声,我会尽快为大家排忧解难的~谢谢大家的捧场~


    ‘‘

    补充一句,运用相同的思路,只要把变量"attr_accessor :battletwice"改成一个整数来记录每回合的行动次数,就能做出三次行动甚至N次行动
    脚本再稍微厉害的同学,还可以通过小范围的修改做出双次物理攻击,即“醉仙望月步”的效果。


    ──唐门草楹于2012-2-9 22:54补充以上内容’’
                 本帖来自P1论坛作者唐门草楹,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=222396  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-4-20 11:15 , Processed in 0.113628 second(s), 55 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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