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

Project1

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

[已经解决] 求XP版本的装备属性随机

[复制链接]

Lv2.观梦者

梦石
0
星屑
371
在线时间
120 小时
注册时间
2012-11-20
帖子
64
跳转到指定楼层
1
发表于 2013-12-1 04:32:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
发贴前先搜索的好习惯我还是有的
然后发现大部分都是VX,没细看  也不知道是否通用

XP版本的确实也见到了  是控制前缀的原理  使用不同的前缀来改变属性
但我自己弄得偏武侠古风一些

好比一把屠龙刀 = =  嗯 我就是举个栗子  其实没这玩意{:2_278:}
你非要加个破损的屠龙刀  会不会很诡异的感觉

说这么多 就是想找一个不改变装备名字的属性随机  用来做一个打造系统

现在游戏有个用条件分歧做的打造  随便一弄就是200多个武器数据

这还仅仅是一个级别的  本来还想做武器特技  套装系统

虽然这两个脚本好做  但是没有属性随机作为基础    数据都得好几千  累不爱了


求大神发我一个链接  

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
378 小时
注册时间
2013-10-14
帖子
215
2
发表于 2013-12-1 12:56:21 | 只看该作者
本帖最后由 batfjtn 于 2013-12-1 13:06 编辑

转自别人的武器和防具属性随机~~!!

武器只增加攻击里~!!

装备随机属性~~!!

可以自己更改~~!

RUBY 代码复制
  1. class Game_Party
  2.         #==========================================================================
  3.         # 武器
  4.         #==========================================================================
  5.         def gain_weapon(weapon_id, n)
  6.                 if weapon_id > 0
  7.                         # 装备栏中卸下的武器、物品栏里卸下的武器
  8.                         if $scene.is_a?(Scene_Equip) or $scene.is_a?(Scene_Shop)
  9.                                 @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
  10.                         else
  11.                                 # 随机浮动范围~
  12.                                 add_atk = rand(100) - 20
  13.                                 if add_atk == 0
  14.                                         @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
  15.                                 else
  16.                                         now = 0
  17.                                         # 判断数据库中是否已经有 相同属性的武器~
  18.                                         for i in weapon_id...$data_weapons.size
  19.                                                 if $data_weapons[i].atk == $data_weapons[weapon_id].atk+add_atk and
  20.                                                         ($data_weapons[i].name.split('+')[0] == $data_weapons[weapon_id].name or $data_weapons[i].name.split('-')[0] == $data_weapons[weapon_id].name)
  21.                                                         now = i
  22.                                                         break
  23.                                                 end
  24.                                         end
  25.                                         if now == 0
  26.                                                 # 无相同属性时则 重新生成~
  27.                                                 new_weapon = $data_weapons[weapon_id].clone
  28.                                                 new_weapon.id = $data_weapons.size
  29.                                                 case add_atk
  30.                                                 when 1..29
  31.                                                         new_weapon.name = "粗糙的 " + $data_weapons[weapon_id].name+"+"
  32.                                                 when 30..69
  33.                                                         new_weapon.name = "精良的 " + $data_weapons[weapon_id].name+"+"
  34.                                                 when 70..100
  35.                                                         new_weapon.name = "极品的 " + $data_weapons[weapon_id].name+"+"
  36.                                                 else
  37.                                                         new_weapon.name = "破烂的 " + $data_weapons[weapon_id].name+"-"
  38.                                                 end
  39.                                                 new_weapon.atk = $data_weapons[weapon_id].atk+add_atk
  40.                                                 $data_weapons.push(new_weapon)
  41.                                                 # 职业可装备武器数组更新~
  42.                                                 for i in 1...$data_classes.size
  43.                                                         if $data_classes[i].weapon_set.include?(weapon_id)
  44.                                                                 $data_classes[i].weapon_set.push(new_weapon.id)
  45.                                                         end
  46.                                                 end
  47.                                                 # 增加武器~
  48.                                                 @weapons[new_weapon.id] = [[weapon_number(new_weapon.id) + n, 0].max, 99].min
  49.                                         else
  50.                                                 # 有相同属性则直接 增加武器~
  51.                                                 @weapons[now] = [[weapon_number(now) + n, 0].max, 99].min
  52.                                         end
  53.                                 end
  54.                         end
  55.                 end
  56.         end
  57.         def lose_weapon(weapon_id, n)
  58.                 if weapon_id > 0
  59.                         @weapons[weapon_id] = [[weapon_number(weapon_id) - n, 0].max, 99].min
  60.                 end
  61.         end
  62.         #==========================================================================
  63.         # 防具
  64.         #==========================================================================
  65.         def gain_armor(armor_id, n)
  66.                 if armor_id > 0
  67.                         #
  68.                         if $scene.is_a?(Scene_Equip) or $scene.is_a?(Scene_Shop)
  69.                                 @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 99].min
  70.                         else
  71.                                 # 随机浮动范围~
  72.                                 add_rand = (0...6).inject([]){|a,i|a<<rand(50)-25}
  73.                                 # 生成对应属性
  74.                                 add_attribute = ["pdef", "mdef", "str_plus", "dex_plus", "agi_plus", "int_plus"]
  75.                                 # 6次随机数有属性一致几率很小,直接生成
  76.                                 new_armor = $data_armors[armor_id].clone
  77.                                 new_armor.id = $data_armors.size
  78.                                 # 迭代,增加属性
  79.                                 6.times{|i|eval("new_armor.#{add_attribute[i]} += #{add_rand[i]} if new_armor.#{add_attribute[i]} > 0")}
  80.                                 # 生成名称
  81.                                 for i in 0...add_rand.size
  82.                                         add_rand[i] = 0 unless eval("new_armor.#{add_attribute[i]} > 0")
  83.                                 end
  84.                                 case add_rand.inject(0){|a,b|a+b}
  85.                                 when -25*6...-10*6
  86.                                         new_armor.name ="破烂的 " + $data_armors[armor_id].name
  87.                                 when -10*6...0
  88.                                         new_armor.name ="粗糙的 " + $data_armors[armor_id].name
  89.                                 when     1...10*6
  90.                                         new_armor.name ="精良的 " + $data_armors[armor_id].name
  91.                                 when  10*6...25*6
  92.                                         new_armor.name ="极品的 " + $data_armors[armor_id].name
  93.                                 end
  94.                                 # 数据库生成数据
  95.                                 $data_armors << new_armor
  96.                                 ($data_classes.size-1).times{|i|$data_classes[i+1].armor_set.push(new_armor.id) unless $data_classes[i+1].armor_set.include?(new_armor)}
  97.                                 @armors[new_armor.id] = [[armor_number(new_armor.id) + n, 0].max, 99].min
  98.                         end
  99.                 end
  100.         end
  101.         def lose_armor(armor_id, n)
  102.                 if armor_id > 0
  103.                         @armors[armor_id] = [[armor_number(armor_id) - n, 0].max, 99].min
  104.                 end
  105.         end
  106. end


范例: 随机属性.rar (203.06 KB, 下载次数: 74)

评分

参与人数 2星屑 +70 +1 收起 理由
y967 + 1 塞糖
︶ㄣ牛排ぶ + 70 认可答案

查看全部评分

最简单的学习方法就是努力回答别人的问题...
任何教程都没有实践来的重要...
XP小问题都能自己解决了,剩下的就是脚本了...
╰⋛⋋⊱⋋๑角⊱☠c色๑⋌⊰⋌⋚╯
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

3
发表于 2013-12-1 14:41:57 | 只看该作者
搞20个前缀都叫“”,这样就是随机属性了。

点评

20个前缀是有20个随机属性还是怎样?  发表于 2013-12-3 02:30
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
371
在线时间
120 小时
注册时间
2012-11-20
帖子
64
4
 楼主| 发表于 2013-12-4 05:59:40 | 只看该作者
亿万星辰 发表于 2013-12-1 14:41
搞20个前缀都叫“”,这样就是随机属性了。

感谢版主 0.0 按照你说的方法用了一下确实没了前缀,只是那个 + - 号要怎么去掉
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
378 小时
注册时间
2013-10-14
帖子
215
5
发表于 2013-12-4 12:38:27 | 只看该作者
qq381055296 发表于 2013-12-4 05:59
感谢版主 0.0 按照你说的方法用了一下确实没了前缀,只是那个 + - 号要怎么去掉 ...

把new_weapon.name = "粗糙的 " + $data_weapons[weapon_id].name+"+"

修改成

new_weapon.name = "粗糙的 " + $data_weapons[weapon_id].name
最简单的学习方法就是努力回答别人的问题...
任何教程都没有实践来的重要...
XP小问题都能自己解决了,剩下的就是脚本了...
╰⋛⋋⊱⋋๑角⊱☠c色๑⋌⊰⋌⋚╯
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
371
在线时间
120 小时
注册时间
2012-11-20
帖子
64
6
 楼主| 发表于 2013-12-6 07:45:19 | 只看该作者
batfjtn 发表于 2013-12-4 12:38
把new_weapon.name = "粗糙的 " + $data_weapons[weapon_id].name+"+"

修改成

我之前用了一个显示获得装备信息的脚本,就是在显示脚本里面把获得武器后面加了一个,true。这个脚本和这一点冲突了,请问怎样修改可以兼容

点评

脚本也要贴出来看一下啊~~!?  发表于 2013-12-6 11:33
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
371
在线时间
120 小时
注册时间
2012-11-20
帖子
64
7
 楼主| 发表于 2013-12-7 08:53:10 | 只看该作者
batfjtn 发表于 2013-12-4 12:38
把new_weapon.name = "粗糙的 " + $data_weapons[weapon_id].name+"+"

修改成

  # ● 增减武器
  #--------------------------------------------------------------------------
  def command_127
    # 获取要操作的值
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    # 增减武器
    $game_party.gain_weapon(@parameters[0], value,true)
    command_106(15)
    # 继续
    return true
  end

嗯 第7行提示ArgumentError  wrong number of arguments(3 for 2)

点评

这个是事件调用脚本吧~!?  发表于 2013-12-7 13:31
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
161 小时
注册时间
2013-8-12
帖子
58
8
发表于 2014-4-6 11:53:35 | 只看该作者
存档再读档,装备会消失!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 14:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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