注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 金书江湖 报告武功设置的一个可能的问题
查看: 1525|回复: 1
打印 上一主题 下一主题

[求助] 报告武功设置的一个可能的问题 [复制链接]

帖子
163
精华
0
积分
135
金钱
2927
荣誉
5
人气
38
评议
0
跳转到指定楼层
楼主
发表于 2013-9-26 03:57:02 |显示全部楼层 |倒序浏览
本帖最后由 xiang727 于 2013-9-26 05:38 编辑

在出招辅和battler3这两个脚本中,用了许多rand()函数来进行招式判断,这里发现了一个可能是失误的地方:
rand(10)在rpg maker 中的定义应是0到9之间的随机数,比如rand(1)只能等于0,rand(2)等于0,1中随机一个。

在出招辅这脚本里,经常出现10+rand(10)这种表述,这个表述的最大值应该是19,但是在考察时,却总是出现了考察是否为20的情况,不止什么原因?

参考如下这段:
    if @skill.id == 269    #  血刀大法
     if @active_battler.is_a?(Game_Actor)
      d_tem = @active_battler.skill[269].level
      else
      d_tem = 10     
     end
     d_tem += rand(10)
      case d_tem
      when 17..20
      scopex = 2
      $game_variables[64]=1 #极意.流星经天
      else
      end
    end

受影响最大的可能是打狗棒法,本来设置的目的可能是百分之20出无狗,但实际上只有百分之10。
其实是刚接触这个软件,如果搞错请别在意。
在找那个随机npc的bug,这段表示怎么看也不明白,表达的真的是注释的意思吗?貌似不用搞得这么复杂?

def randva()#生成1-15内不重复的随机数,存入126+n 变量中,n=40
arr = (1..83).to_a
40.times{|n|
rand_number = arr.delete_at(rand(arr.size))
$game_variables[126 + n] = rand_number
}
end
最后吐槽下这软件,全局变量没办法追踪吗,用肉眼找好蛋疼。。。







使用道具 举报

帖子
163
精华
0
积分
135
金钱
2927
荣誉
5
人气
38
评议
0
沙发
发表于 2013-9-26 04:30:00 |显示全部楼层
看到说一下,完了我就编辑掉算了,或者你直接删掉

使用道具 举报

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

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-8-11 02:24 , Processed in 0.342906 second(s), 13 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到