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

Project1

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

[已经解决] 【已经解决】怎么将一个变量化为纯粹的随机数变量啊......

[复制链接]

Lv1.梦旅人

梦石
0
星屑
90
在线时间
3 小时
注册时间
2019-6-22
帖子
11
跳转到指定楼层
1
发表于 2019-6-23 14:10:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 3294838368 于 2019-6-24 12:52 编辑

就是像这样来制作出一个随机回复的技能 有没有大佬知道啊。。。。

QQ图片20190623150718.png (4.43 KB, 下载次数: 18)

QQ图片20190623150718.png

Lv5.捕梦者

梦石
0
星屑
36437
在线时间
10798 小时
注册时间
2009-3-15
帖子
4814
2
发表于 2019-6-23 15:59:58 | 只看该作者
本帖最后由 soulsaga 于 2019-6-23 16:03 编辑

RUBY 代码复制
  1. class Interpreter
  2. #--------------------------------------------------------------------------
  3.   # ● 变量操作
  4.   #--------------------------------------------------------------------------
  5.   def command_122
  6.     # 初始化值
  7.     value = 0
  8.     # 操作数的分支
  9.     case @parameters[3]
  10.     when 0  # 恒量
  11.       value = @parameters[4]
  12.     when 1  # 变量
  13.       value = $game_variables[@parameters[4]]
  14.     when 2  # 随机数
  15.       value = @parameters[4] + rand(@parameters[5] - @parameters[4] + 1)
  16.       value = $game_variables[@parameters[4]] + rand($game_variables[@parameters[5]] - $game_variables[@parameters[4]] + 1) if $data_system.variables[@parameters[0]].include?("随机数")
  17.     when 3  # 物品
  18.       value = $game_party.item_number(@parameters[4])
  19.     when 4  # 角色
  20.       actor = $game_actors[@parameters[4]]
  21.       if actor != nil
  22.         case @parameters[5]
  23.         when 0  # 等级
  24.           value = actor.level
  25.         when 1  # EXP
  26.           value = actor.exp
  27.         when 2  # HP
  28.           value = actor.hp
  29.         when 3  # SP
  30.           value = actor.sp
  31.         when 4  # MaxHP
  32.           value = actor.maxhp
  33.         when 5  # MaxSP
  34.           value = actor.maxsp
  35.         when 6  # 力量
  36.           value = actor.str
  37.         when 7  # 灵巧
  38.           value = actor.dex
  39.         when 8  # 速度
  40.           value = actor.agi
  41.         when 9  # 魔力
  42.           value = actor.int
  43.         when 10  # 攻击力
  44.           value = actor.atk
  45.         when 11  # 物理防御
  46.           value = actor.pdef
  47.         when 12  # 魔法防御
  48.           value = actor.mdef
  49.         when 13  # 回避修正
  50.           value = actor.eva
  51.         end
  52.       end
  53.     when 5  # 敌人
  54.       enemy = $game_troop.enemies[@parameters[4]]
  55.       if enemy != nil
  56.         case @parameters[5]
  57.         when 0  # HP
  58.           value = enemy.hp
  59.         when 1  # SP
  60.           value = enemy.sp
  61.         when 2  # MaxHP
  62.           value = enemy.maxhp
  63.         when 3  # MaxSP
  64.           value = enemy.maxsp
  65.         when 4  # 力量
  66.           value = enemy.str
  67.         when 5  # 灵巧
  68.           value = enemy.dex
  69.         when 6  # 速度
  70.           value = enemy.agi
  71.         when 7  # 魔力
  72.           value = enemy.int
  73.         when 8  # 攻击力
  74.           value = enemy.atk
  75.         when 9  # 物理防御
  76.           value = enemy.pdef
  77.         when 10  # 魔法防御
  78.           value = enemy.mdef
  79.         when 11  # 回避修正
  80.           value = enemy.eva
  81.         end
  82.       end
  83.     when 6  # 角色
  84.       character = get_character(@parameters[4])
  85.       if character != nil
  86.         case @parameters[5]
  87.         when 0  # X 坐标
  88.           value = character.x
  89.         when 1  # Y 坐标
  90.           value = character.y
  91.         when 2  # 朝向
  92.           value = character.direction
  93.         when 3  # 画面 X 坐标
  94.           value = character.screen_x
  95.         when 4  # 画面 Y 坐标
  96.           value = character.screen_y
  97.         when 5  # 地形标记
  98.           value = character.terrain_tag
  99.         end
  100.       end
  101.     when 7  # 其它
  102.       case @parameters[4]
  103.       when 0  # 地图 ID
  104.         value = $game_map.map_id
  105.       when 1  # 同伴人数
  106.         value = $game_party.actors.size
  107.       when 2  # 金钱
  108.         value = $game_party.gold
  109.       when 3  # 步数
  110.         value = $game_party.steps
  111.       when 4  # 游戏时间
  112.         value = Graphics.frame_count / Graphics.frame_rate
  113.       when 5  # 计时器
  114.         value = $game_system.timer / Graphics.frame_rate
  115.       when 6  # 存档次数
  116.         value = $game_system.save_count
  117.       end
  118.     end
  119.     # 循环全部操作
  120.     for i in @parameters[0] .. @parameters[1]
  121.       # 操作分支
  122.       case @parameters[2]
  123.       when 0  # 代入
  124.         $game_variables[i] = value
  125.       when 1  # 加法
  126.         $game_variables[i] += value
  127.       when 2  # 减法
  128.         $game_variables[i] -= value
  129.       when 3  # 乘法
  130.         $game_variables[i] *= value
  131.       when 4  # 除法
  132.         if value != 0
  133.           $game_variables[i] /= value
  134.         end
  135.       when 5  # 剩余
  136.         if value != 0
  137.           $game_variables[i] %= value
  138.         end
  139.       end
  140.       # 检查上限
  141.       if $game_variables[i] > 99999999
  142.         $game_variables[i] = 99999999
  143.       end
  144.       # 检查下限
  145.       if $game_variables[i] < -99999999
  146.         $game_variables[i] = -99999999
  147.       end
  148.     end
  149.     # 刷新地图
  150.     $game_map.need_refresh = true
  151.     # 继续
  152.     return true
  153.   end
  154. end

未测试..
效果是变量操作代入的变量名称包含随机数这3个字符就改为代入随机数输入的数字转成变量编号
例如变量操作随机数输入1和3就是随机出变量1至变量3的数值..
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
3 小时
注册时间
2019-6-22
帖子
11
3
 楼主| 发表于 2019-6-23 18:59:21 | 只看该作者
soulsaga 发表于 2019-6-23 15:59
class Interpreter
#--------------------------------------------------------------------------
  #  ...

哇 感谢大佬  话说大佬你似乎是无处不在啊  记得之前你也回复了我一次hhh
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36437
在线时间
10798 小时
注册时间
2009-3-15
帖子
4814
4
发表于 2019-6-23 19:04:31 | 只看该作者
3294838368 发表于 2019-6-23 18:59
哇 感谢大佬  话说大佬你似乎是无处不在啊  记得之前你也回复了我一次hhh

不是大佬..是新萌..
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
3 小时
注册时间
2019-6-22
帖子
11
5
 楼主| 发表于 2019-6-23 19:13:35 | 只看该作者
soulsaga 发表于 2019-6-23 15:59
class Interpreter
#--------------------------------------------------------------------------
  #  ...

试了一下 似乎有点问题  我按照这样设立了事件  结果第一次给了1500块......

QQ图片20190623201026.png (6.8 KB, 下载次数: 23)

QQ图片20190623201026.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
3 小时
注册时间
2019-6-22
帖子
11
6
 楼主| 发表于 2019-6-23 19:17:21 | 只看该作者
soulsaga 发表于 2019-6-23 19:04
不是大佬..是新萌..

大佬总喜欢说自己是萌新hhh
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36437
在线时间
10798 小时
注册时间
2009-3-15
帖子
4814
7
发表于 2019-6-23 19:23:58 | 只看该作者
3294838368 发表于 2019-6-23 19:13
试了一下 似乎有点问题  我按照这样设立了事件  结果第一次给了1500块...... ...


你你你...掉转来输入?1000至100?什么鬼..
先100后1000才对啊..

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
3 小时
注册时间
2019-6-22
帖子
11
8
 楼主| 发表于 2019-6-23 19:35:03 | 只看该作者
soulsaga 发表于 2019-6-23 19:23
你你你...掉转来输入?1000至100?什么鬼..
先100后1000才对啊..

哦哦  可以了  感谢大佬。。还真没注意到这点 太致命了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 16:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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