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

Project1

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

合成系统怎样一次性合出多件物品?

 关闭 [复制链接]

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

跳转到指定楼层
1
发表于 2009-1-9 07:17:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
脚本大概不用全发上来吧……
下面是原来某人改过的,有一定几率合出两件:具体是某某人不记得了……
def make
    if have
      if rand(100) < @craft_rand
        if rand(49) < (@craft_rand-10)/2 - 1
          result_number = 2
        else
          result_number = 1
        end

       case @result_type
        when 0
          $game_party.gain_item(@result, result_number)
          recipe_name=$data_items[@result].name
        when 1
          $game_party.gain_armor(@result, result_number)
          recipe_name=$data_armors[@result].name
        when 2
          $game_party.gain_weapon(@result, result_number)
          recipe_name=$data_weapons[@result].name
        end
        $game_system.se_play($data_system.save_se)
        $make_text = "提炼成功!得到『" + recipe_name + "』× #{result_number}"
      else
        $game_system.se_play($data_system.buzzer_se)
        $make_text = "提炼失败(><)!"
      end
      decrement
    end
  end
我的目的是想做到合成时可以根据合成成功率一次性合出多件物品,比如某包子的合成成功率是300,那么一次就能合出3个包子,就是这个意思,请问各位大虾,具体该怎么改呢? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
2
发表于 2009-1-9 19:30:21 | 只看该作者
改了一下,直接复制过去就可以了

  1. def make
  2.   if have
  3.      if rand(100) < @craft_rand  
  4.      n =  @craft_rand/100
  5.      n = n.to_i
  6.      result_number = n
  7.      result_number +=1 if rand(100) < (@craft_rand %100)
  8.       case @result_type
  9.        when 0
  10.          $game_party.gain_item(@result, result_number)
  11.          recipe_name=$data_items[@result].name
  12.        when 1
  13.          $game_party.gain_armor(@result, result_number)
  14.          recipe_name=$data_armors[@result].name
  15.        when 2
  16.          $game_party.gain_weapon(@result, result_number)
  17.          recipe_name=$data_weapons[@result].name
  18.        end
  19.        $game_system.se_play($data_system.save_se)
  20.        $make_text = "提炼成功!得到『" + recipe_name + "』× #{result_number}"
  21.      else
  22.        $game_system.se_play($data_system.buzzer_se)
  23.        $make_text = "提炼失败(><)!"
  24.      end
  25.      decrement
  26.    end
  27. end
复制代码


其中公式为 如果成功率为 250 ,那么就是50%得到2个  50% 3个
只有成功率 小于100%才可能失败
[具体东西就在前几行 概率/100 取整 +( 概率/100 取余) %
主要是你出了这么多分!

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

3
 楼主| 发表于 2009-1-12 06:17:28 | 只看该作者
不行呃,合成之后还是只有一件东西呃
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

4
 楼主| 发表于 2009-1-12 06:27:29 | 只看该作者
我自己建了个新工程发现可以呃,不知道是不是哪里有冲突了,不过这还真奇怪呃``
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-19 13:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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