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

Project1

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

[已经解决] [XP]请求设计一种特殊战斗状态!!(悬赏额度如不满可再...

[复制链接]

Lv1.梦旅人

梦石
0
星屑
46
在线时间
1502 小时
注册时间
2010-8-27
帖子
392
跳转到指定楼层
1
发表于 2012-12-17 14:55:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5星屑
本帖最后由 存档不能 于 2012-12-17 21:17 编辑

这种状态我打算在敌人身上使用的,为方便称状态中的敌人为“旁观者”。效果如下:
1,当旁观者和其它敌人一起(已经设计成场上只有旁观者算战斗胜利)在场且轮到我方攻击时,攻击范围为敌方随机单体的技能将忽略旁观者。

注意!不是旁观者被攻击到时会miss,而是不会被当作攻击目标!!

个人已经改脚本使我方无法选择旁观者为攻击目标,但是我用到了23公共事件战斗特效(范例中的公共事件“特效:地方目标随机”实现),其中的敌方单体随机的技能特效导致旁观者依然可能被攻击到,我希望旁观者如战斗不能一样在作为攻击目标时被忽略

2,当旁观者自己行动时,范围为我方单体(因为旁观者是敌人,表现效果就是它攻击自己人)的技能目标变为旁观者除外的我方(表现出来也就是其它敌方,就是它打自己人不包括自身,另外旁观者的技能使用不能受限制)

如果嫌悬赏太低请与我联系协商,谢谢!

这个是脚本范例(素材太多有200多M所以只发脚本),百度网盘的:http://pan.baidu.com/share/link?shareid=142239&uk=1998156416

最佳答案

查看完整内容

LZ让你久等了,刚才我修改了下你的连击脚本,感觉你提出的两个要求: 1,当旁观者和其它敌人一起(已经设计成场上只有旁观者算战斗胜利)在场且轮到我方攻击时,攻击范围为敌方随机单体的技能将忽略旁观者。 2,当旁观者自己行动时,范围为我方单体(因为旁观者是敌人,表现效果就是它攻击自己人)的技能目标变为旁观者除外的我方(表现出来也就是其它敌方,就是它打自己人不包括自身,另外旁观者的技能使用不能受限制) 都已实现 ...

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
2
发表于 2012-12-17 14:55:53 | 只看该作者
本帖最后由 羞射了 于 2012-12-18 20:22 编辑

LZ让你久等了,刚才我修改了下你的连击脚本,感觉你提出的两个要求:
1,当旁观者和其它敌人一起(已经设计成场上只有旁观者算战斗胜利)在场且轮到我方攻击时,攻击范围为敌方随机单体的技能将忽略旁观者。
2,当旁观者自己行动时,范围为我方单体(因为旁观者是敌人,表现效果就是它攻击自己人)的技能目标变为旁观者除外的我方(表现出来也就是其它敌方,就是它打自己人不包括自身,另外旁观者的技能使用不能受限制)
都已实现,故其他可能需要完善的地方我并没有做出修改,请测试,脚本请打开编辑器搜索“羞射了”。
我是内鬼ver0.2.rar (189.51 KB, 下载次数: 62)



测试方法还是打那个第一场的战斗测试,其中幽灵会用数据库设置的闪电99连击随机打自己人,并且不会打到自己,队友全灭就会收手。
阿尔西斯新增一招圣十字斩99连击,随机攻击敌人,但是不会打到幽灵,幽灵以外全灭就会收手。

技能新增一个随机属性,单体攻击技能勾取随机后会随机攻击对方,如果不勾取,则会打死一个然后接着打下一个。

点评

抱歉,刚才停电了,现在马上试一下  发表于 2012-12-18 21:40
湿滑落式骑!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
3
发表于 2012-12-17 17:09:53 | 只看该作者
本帖最后由 羞射了 于 2012-12-17 17:13 编辑

这个不难,看这段,请在脚本编辑器·里搜索
  1.   #--------------------------------------------------------------------------
  2.   # ● 对像敌人的随机确定
  3.   #     hp0 : 限制 HP 0 的敌人
  4.   #--------------------------------------------------------------------------
  5.   def random_target_enemy(hp0 = false)
  6.     # 初始化轮流
  7.     roulette = []
  8.     # 循环
  9.     for enemy in @enemies
  10.       # 条件符合的情况下
  11.       if (not hp0 and enemy.exist? and enemy.rest_hp > 0 and ! enemy.states.include?(X)) or
  12.           (hp0 and enemy.hp0?)
  13.         # 添加敌人到轮流
  14.         roulette.push(enemy)
  15.       end
  16.     end
  17.     # 轮流尺寸为 0 的情况下
  18.     if roulette.size == 0
  19.       return nil
  20.     end
  21.     # 转轮盘赌,决定敌人
  22.     return roulette[rand(roulette.size)]
  23.   end
复制代码
这里可以改成enemy不在某一特定状态下(! enemy.states.include?(X)),才可以加入随机序列,这是单体攻击,我这只是举个例子可能还有其他类似的地方要改。

然后是def set_target_battlers这段,比如
  1.         for enemy in $game_troop.enemies
  2.           if enemy.exist? and ! enemy.states.include?(X)
  3.             @target_battlers.push(enemy)
  4.           end
  5.         end
复制代码
也是类似上面的改法,符合特定状态不加入序列,也只是举个例子。

点评

我试试去  发表于 2012-12-17 17:19
湿滑落式骑!
回复

使用道具 举报

Lv1.梦旅人

巴斯克维尔的猎犬

梦石
0
星屑
50
在线时间
66 小时
注册时间
2007-6-25
帖子
8320

第1届Title华丽大赛冠军

4
发表于 2012-12-17 17:09:56 | 只看该作者
有不清楚的地方。
攻击敌方随机单体——这个是怎么办到的?好像默认里没有这个选项,是你自己写的吗?用脚本还是事件?

点评

是23公共事件特效里的,需要的话我发出来好了  发表于 2012-12-17 17:15
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
46
在线时间
1502 小时
注册时间
2010-8-27
帖子
392
5
 楼主| 发表于 2012-12-17 17:41:57 | 只看该作者
本帖最后由 存档不能 于 2012-12-17 17:46 编辑
羞射了 发表于 2012-12-17 17:09
这个不难,看这段,请在脚本编辑器·里搜索这里可以改成enemy不在某一特定状态下(! enemy.states.include? ...


很遗憾,试过不行,直接使用战斗时显示rest_hp这句出错
然后我将出错语句删除,战斗时使用随机多次攻击到只剩一人时显示
随机攻击的判断公共事件是:
for t in $scene.target_battlers
    t.hp = t.last_hp
end
@a=$scene.active_battler
if @a.is_a?(Game_Enemy)
    t=$game_party.random_target_actor
else
    t=$game_troop.random_target_enemy
end
$scene.target_battlers=[t]
s=$scene.skill
for t in $scene.target_battlers
    t.skill_effect(@a,s)
end
如不清楚我整理个范例

快照2.png (21.82 KB, 下载次数: 3)

出错1

出错1
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
6
发表于 2012-12-17 18:37:53 | 只看该作者
存档不能 发表于 2012-12-17 17:41
很遗憾,试过不行,直接使用战斗时显示rest_hp这句出错
然后我将出错语句删除,战斗时使用随机多次攻击到 ...

你还是发个吧,都不知道你改成啥样了。

点评

只有  发表于 2012-12-17 19:03
已编辑下载地址,不过只要脚本,抱歉  发表于 2012-12-17 19:02
湿滑落式骑!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
7
发表于 2012-12-17 21:18:35 | 只看该作者
额,你的这个“范例”完全无法运行啊,不过我已经重现了你的这个提示错误,

它是在只剩下观测者最后一个人的情况才出现的,现在的问题是,在这个情况下,你想要观测者做出怎样的行动呢?

我倒是可以给你弄个范例。

点评

无法运行的问题实在是素材太大的缘故,当然这个范例实在不行的话我再想办法删除些多余的素材弄个新的范例吧,麻烦你了。  发表于 2012-12-17 21:31
湿滑落式骑!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
46
在线时间
1502 小时
注册时间
2010-8-27
帖子
392
8
 楼主| 发表于 2012-12-17 21:28:44 | 只看该作者
本帖最后由 存档不能 于 2012-12-17 21:32 编辑
羞射了 发表于 2012-12-17 21:18
额,你的这个“范例”完全无法运行啊,不过我已经重现了你的这个提示错误,

它是在只剩下观测者最后一个人 ...


我测试过来看按你的方式确实可以让随机攻击的技能发动的同时且旁观者之外存在敌人则不会将旁观者作为攻击目标,但是一旦只剩下旁观者就会出错。我希望的是:至少不会出错,让战斗顺利结束(我已经设计为只剩旁观者一人就算胜利)。当然最好能直接停止多次连击的效果不让技能攻击打到旁观者,然后判定战斗胜利。

另外,你能详细说说第二个效果,也就是旁观者的技能中范围是“我方单体”的如何做到不攻击旁观者自身,只攻击其它敌人(如果有的话)?

最后,你能否在你改过的地方注释上你的id,这样我好搜索,再次多谢。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
9
发表于 2012-12-17 21:36:59 | 只看该作者
本帖最后由 羞射了 于 2012-12-17 22:00 编辑
存档不能 发表于 2012-12-17 21:28
我测试过来看按你的方式确实可以让随机攻击的技能发动的同时且旁观者之外存在敌人则不会将旁观者作为攻击 ...


我是内鬼.rar (187.61 KB, 下载次数: 57)

这个范例你可以测试一下,仅实现部分功能:
1、状态指定某敌人;
2、带此状态的敌人的单体技能是坑队友的,当队友全部被坑后,此人就不行动了,目前范例仅支持单体技能,不支持全体技能和普通攻击(改法类似)。
3、脚本编辑器搜索”羞射了“

用战斗测试可以测试第一场战斗,1幽灵2蜥蜴,其中幽灵带有内鬼属性。


PS:多次连击这个特效你是怎么弄的,我需要测试一下。

点评

非常感谢,完美解决了!  发表于 2012-12-18 22:16
谢谢,我试试  发表于 2012-12-17 22:11
湿滑落式骑!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
46
在线时间
1502 小时
注册时间
2010-8-27
帖子
392
10
 楼主| 发表于 2012-12-17 22:16:49 | 只看该作者
羞射了 发表于 2012-12-17 21:36
这个范例你可以测试一下,仅实现部分功能:
1、状态指定某敌人;
2、带此状态的敌人的单体技能是坑队友 ...

顺便提一下,我刚刚实验了十几次战斗,基本可以肯定让你最早的建议出错的原因就是那个23公共事件特效的“敌单体随机”效果
但是我希望能保留随机效果配合我的脚本中的“连击脚本”使用,制造出随机连续攻击对方的技能,可是使用23特效的话又明显会冲突,也许
更改连击脚本实现单独使用这个脚本就能实现随机攻击的话应该能解决问题吧?
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-30 01:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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