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

Project1

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

[已经解决] 怎么让敌人也实现嘲讽?

[复制链接]

Lv5.捕梦者 (版主)

鼬痴汉

梦石
29
星屑
3401
在线时间
1300 小时
注册时间
2010-4-24
帖子
971

短篇十吟唱者组别亚军开拓者

跳转到指定楼层
1
发表于 2012-2-26 11:24:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在使用的是当我方角色和敌人同时拥有“嘲讽”状态时,敌人所有范围是“敌单体”的技能目标强制改为拥有嘲讽状态的我方角色。
而且,当我方已经有角色有嘲讽状态时,再一次嘲讽会把上一个被附加的嘲讽状态去掉(防止BUG)。

技能:嘲讽  效果范围:使用者  附加状态:使用过嘲讽(70号)
公共事件:全体同伴-嘲讽(53号)  全体敌人+嘲讽(53号)
脚本:  
for i in 0..3
if $game_party.actors[i] != nil
if $game_party.actors[i].state?(70)
$game_party.actors[i].add_state(53)
$game_party.actors[i].remove_state(70)
end
end
end


Scene_Battle 4的某些地方:
#=====以下更改内容=========

         target_got = false

         for a in $game_party.actors

           if (@active_battler.state?(53) and a.state?(53)) || #←这个才是有用的嘲讽状态

             (@active_battler.state?(60) and a.state?(60)) ||  #←这个状态啥用也没有

             (@active_battler.state?(61) and a.state?(61)) || #←这个状态啥用也没有

             (@active_battler.state?(62) and a.state?(62))  #←这个状态啥用也没有

               target = a

               target_got = true

           end

         end

         unless target_got

             index = @active_battler.current_action.target_index

             target = $game_party.smooth_target_actor(index) #原有内容

         end

         
         
         
         
        
        #=====以上更改内容=========

上面这个嘲讽我是百度到的……
顺带一提,本人脚本超废……



然后是问题,怎么让敌人也实现同样效果的嘲讽?
就是敌人嘲讽后,我方所有范围是“敌单体”的技能目标强制转移到有嘲讽状态的敌人。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
182 小时
注册时间
2012-2-11
帖子
233
2
发表于 2012-2-27 10:12:35 | 只看该作者
最好想的办法……再做一个“敌人嘲讽”的技能……
其实一般主角是不会吃敌人的嘲讽的。因为这样会影响玩家的控制,如果没有办法去让玩家解除这个状态的话,操作会很坑爹
回复

使用道具 举报

Lv5.捕梦者 (版主)

鼬痴汉

梦石
29
星屑
3401
在线时间
1300 小时
注册时间
2010-4-24
帖子
971

短篇十吟唱者组别亚军开拓者

3
 楼主| 发表于 2012-2-27 20:49:16 | 只看该作者
viktor 发表于 2012-2-27 10:12
最好想的办法……再做一个“敌人嘲讽”的技能……
其实一般主角是不会吃敌人的嘲讽的。因为这样会影响玩家 ...

嗯,我的游戏是尽量让电脑控制方智能化。。什么集火下毒控制啥的。。
嘲讽作为本游戏重要的技能= =要双方都能用啊,否则NPC的肉盾岂不是废……

话说= =你那个要怎么弄。。  要效果一模一样不偏不差。。


‘‘──FHNBHJ于2012-2-27 21:42补充以下内容

我把原来的脚本反过来改掉 但是没有效果。。  木有报错
#==以下更改内容2===============

         target_got = false

         for b in $game_troop.enemies

           if (@active_battler.state?(91) and b.state?(91)) ||

             (@active_battler.state?(92) and b.state?(92)) ||

             (@active_battler.state?(93) and b.state?(93)) ||

             (@active_battler.state?(94) and b.state?(94))

               @target_battlers.push(b)

               target_got = true

           end

         end

         unless target_got

         @target_battlers.push($game_troop.smooth_target_enemy(index)) #原有内容

         end

      #==以上更改内容2===============
’’


‘‘──FHNBHJ于2012-2-27 22:14补充以下内容

失误。。因为俩嘲讽状态名一样,所以搞混了才无效的。谢谢了
’’
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 09:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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