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

Project1

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

[有事请教] 没错,又是我。。。关于技能随机目标,有事请教

[复制链接]

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
跳转到指定楼层
1
发表于 2019-1-5 20:24:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我玩的其他游戏,技能目标是敌方随机两人时,目标是不会重复的,但这个游戏却会重复,比如我释放一个随机对方三个目标的火海技能,结果技能动画是全体攻击,对手是四个人,伤害却有几率全打到一个人身上。。。大家不觉得这很别扭吗?有没有什么办法能让目标不重复,如果数量溢出就之作用活着的目标,比如对面剩余两个人,技能作用随机三个人,那两个人都挨一下伤害。。。
啦啦啦,这里小萌新一枚。

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
2
 楼主| 发表于 2019-1-5 20:28:56 | 只看该作者
我刚搜了一下论坛,发现vx区有个大佬发了这样一段代码,不知道对mv有效没有?

#==============================================================================
class Game_Action
  #--------------------------------------------------------------------------
  alias xr_old_targets_for_opponents targets_for_opponents
  def targets_for_opponents
    if item.for_random?
      max_num = [item.number_of_targets, opponents_unit.alive_members.size].min
      data = []
      while data.size < max_num
        target = opponents_unit.random_target
        data << target unless data.include?(target)
      end
      return data
    end
    xr_old_targets_for_opponents
  end
end
#==============================================================================
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
186
在线时间
15 小时
注册时间
2018-2-6
帖子
5
3
发表于 2019-1-5 21:01:28 | 只看该作者
fengge127 发表于 2019-1-5 20:28
我刚搜了一下论坛,发现vx区有个大佬发了这样一段代码,不知道对mv有效没有?

#========================= ...

VX的代码和MV的不太一样,理解思路即可。
我刚刚去数据库看了一下,因为是随机所以是有概率打到同一个人上面的。
但是可以用插件吧。。我也是萌新不太懂就是
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
4
 楼主| 发表于 2019-1-5 21:38:03 | 只看该作者
shabfu 发表于 2019-1-5 21:01
VX的代码和MV的不太一样,理解思路即可。
我刚刚去数据库看了一下,因为是随机所以是有概率打到同一个人 ...

但问题是我看不懂那段代码,游戏里的随机设定也有一定道理,但不符合我的审美要求。。。
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33430
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2019-1-6 09:36:50 | 只看该作者
MV的,貌似之前好像给人回答过啊!
在随机的技能/物品里备注 <NewRandom> ,目标不会重复。不备注就是默认的。

  1. //=====================================================================================================================================
  2. var Xr_OldGAtargetsForOpponents = Game_Action.prototype.targetsForOpponents;
  3. Game_Action.prototype.targetsForOpponents = function() {
  4.     return this.isNewRandom() ? this.targetsForNR() : Xr_OldGAtargetsForOpponents.call(this);
  5. };
  6. Game_Action.prototype.targetsForNR = function() {
  7.     var targets = [];
  8.     var max = this.maxRandomSize();
  9.     while (targets.length < max) {
  10.         var target = this.opponentsUnit().randomTarget();
  11.         !targets.contains(target) && targets.push(target);
  12.     }
  13.     return targets;
  14. };
  15. Game_Action.prototype.isNewRandom = function() {
  16.     return this.isForRandom() && this.isNewRandomNotes();
  17. };
  18. Game_Action.prototype.isNewRandomNotes = function() {
  19.     return this.item() && /<NewRandom>/.test(this.item().note);
  20. };
  21. Game_Action.prototype.maxRandomSize = function() {
  22.     return Math.min(this.numTargets(), this.opponentsUnit().aliveMembers().length);
  23. };
  24. //=====================================================================================================================================
复制代码

点评

这个不重复的随机,在目标数量足够时表现正常,但是当目标数量小于需求数量时,就会损失一部分输出或者恢复总量。按需选择吧。  发表于 2019-1-6 16:39
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
6
 楼主| 发表于 2019-1-6 15:41:54 | 只看该作者
芯☆淡茹水 发表于 2019-1-6 09:36
MV的,貌似之前好像给人回答过啊!
在随机的技能/物品里备注  ,目标不会重复。不备注就是默认的。

哇塞,大佬你太给力了,谢谢
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22943
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
7
发表于 2019-1-6 16:51:42 | 只看该作者
目标是不会重复的,就是假隨機(實則内裏有某些機凖作判定)
真隨機是不可能完全不重復
有實力的商業游遊戲多数用假隨機
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
40 小时
注册时间
2018-12-23
帖子
127
8
 楼主| 发表于 2019-1-6 17:01:59 | 只看该作者
tseyik 发表于 2019-1-6 16:51
目标是不会重复的,就是假隨機(實則内裏有某些機凖作判定)
真隨機是不可能完全不重復
有實力的商業游遊戲多 ...

嗯嗯,我就是想要假随机
啦啦啦,这里小萌新一枚。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6863
在线时间
1278 小时
注册时间
2015-2-7
帖子
128
9
发表于 2019-1-6 21:52:35 | 只看该作者
芯☆淡茹水 发表于 2019-1-6 09:36
MV的,貌似之前好像给人回答过啊!
在随机的技能/物品里备注  ,目标不会重复。不备注就是默认的。

感谢大佬,这里也有个相关随机的问题。
我方连击5次击打一个目标,连击3次目标已经死亡,剩下的2次连击可否随机到其他的目标上去呢?

点评

这个估计改一下效果应用,可以实现。  发表于 2019-1-8 08:06
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 12:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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