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

Project1

 找回密码
 注册会员
搜索

能否把武器攻击力随机改成装备能力随机

查看数: 2770 | 评论数: 9 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2011-4-16 19:48

正文摘要:

本帖最后由 u566 于 2011-4-23 21:09 编辑 感觉夏娜大大的武器攻击力随机脚本很好,我想问问能不能把武器攻击力随机改成装备能力随机,品质就是新属性总和减旧属性总和,大于0精良,大于10极品等等。脚本知识有限 ...

回复

沙漠点灰 发表于 2011-4-24 16:31:27
本帖最后由 沙漠点灰 于 2011-4-25 17:29 编辑

回复 u566 的帖子

已修改:
  1. class Game_Party
  2.   def gain_armor(armor_id, n)
  3.     if armor_id > 0
  4.       #  装备栏中卸下的武器、物品栏里卸下的武器、合成的武器不进行随机处理~
  5.       if $scene.is_a?(Scene_Equip)or$scene.is_a?(Scene_Item)or$scene.is_a?(Scene_Combine)
  6.         @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 99].min
  7.       else
  8.         # 累计6次随机数 随机浮动范围~
  9.         add_rand = (0...6).inject([]){|a,i|a<<rand(50)-25}
  10.         # 生成对应属性,属性英语单词是什么...? "xxxx"代替!
  11.         add_xxxx = ["pdef", "mdef", "str_plus", "dex_plus", "agi_plus", "int_plus"]
  12.         # 6次随机数有属性一致几率很小,直接生成
  13.         new_armor = $data_armors[armor_id].clone
  14.         new_armor.id = $data_armors.size
  15.         # 迭代,增加属性
  16.         6.times{|i|eval("new_armor.#{add_xxxx[i]} += #{add_rand[i]} if new_armor.#{add_xxxx[i]} > 0")}
  17.         # 生成名称
  18.         for i in 0...add_rand.size
  19.           add_rand[i] = 0 unless eval("new_armor.#{add_xxxx[i]} > 0")
  20.         end
  21.         case add_rand.inject(0){|a,b|a+b}
  22.         when -25*6...-10*6
  23.           new_armor.quality = " 破烂"
  24.         when -10*6...0
  25.           new_armor.quality = " 粗糙"
  26.         when     1...10*6
  27.           new_armor.quality = " 精良"
  28.         when  10*6...25*6
  29.           new_armor.quality = " 极品"
  30.         end
  31.         # 数据库生成数据
  32.         $data_armors << new_armor
  33.         ($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)}
  34.         @armors[new_armor.id] = [[armor_number(new_armor.id) + n, 0].max, 99].min
  35.        end
  36.      end
  37.   end
  38.   def lose_armor(armor_id, n)   
  39.     if armor_id > 0
  40.       @armors[armor_id] = [[armor_number(armor_id) - n, 0].max, 99].min
  41.     end
  42.   end
  43. end
复制代码
ps. 问题真的好多...我今天肯定会出问题

点评

问题依然有....  发表于 2011-4-24 18:06
还有品质判定的问题,见帖子  发表于 2011-4-24 17:17
沙漠点灰 发表于 2011-4-24 15:33:13
本帖最后由 沙漠点灰 于 2011-4-24 15:34 编辑

回复 u566 的帖子

抱歉,忘记这儿了....请测试一下,我没有测试,可能有bug,话说自己学着学习一下脚本,很好学的,我就是慢慢
摸索出来的....脚本如下:
  1. class Game_Party
  2.   def gain_weapon(weapon_id, n)
  3.     if weapon_id > 0
  4.       #  装备栏中卸下的武器、物品栏里卸下的武器、合成的武器不进行随机处理~
  5.       if $scene.is_a?(Scene_Equip)or$scene.is_a?(Scene_Item)or$scene.is_a?(Scene_Combine)
  6.         @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
  7.       else
  8.         # 累计6次随机数 随机浮动范围~
  9.         add_rand = (0..6).inject([]){|a,i|a<<rand(50)-25}
  10.         # 生成对应属性,属性英语单词是什么...? "xxxx"代替!
  11.         add_xxxx = ["pdef", "mdef", "str_plus", "dex_plus", "agi_plus", "int_plus"]
  12.         # 6次随机数有属性一致几率很小,直接生成
  13.         new_weapon = $data_weapons[weapon_id].clone
  14.         new_weapon.id = $data_weapons.size
  15.         # 迭代,增加属性
  16.         6.times{|i|eval("new_weapon.#{add_xxxx[i]} += #{add_rand[i]}")}
  17.         # 生成名称
  18.         case add_rand.inject{|a,b|a+b}
  19.         when -25*6...-10*6
  20.           new_weapon.name += " 破烂"
  21.         when -10*6...0
  22.           new_weapon.name += " 粗糙"
  23.         when     1...10*6
  24.           new_weapon.name += " 精良"
  25.         when  10*6...25*6
  26.           new_weapon.name += " 极品"
  27.         end
  28.         # 数据库生成数据
  29.         $data_weapons << new_weapon
  30.         @weapons[new_weapon.id] = [[weapon_number(new_weapon.id) + n, 0].max, 99].min
  31.        end
  32.      end
  33.   end
  34.   def lose_weapon(weapon_id, n)   
  35.     if weapon_id > 0
  36.       @weapons[weapon_id] = [[weapon_number(weapon_id) - n, 0].max, 99].min
  37.     end
  38.   end
  39. end
复制代码

点评

问题已解决》。。  发表于 2011-4-25 19:24
你的动态光标移动和我的工程有冲突,不知道为什么  发表于 2011-4-24 16:59
求修改  发表于 2011-4-24 16:30
本人在学脚本了,你的脚本BUG好多,具体见我的帖子  发表于 2011-4-24 16:24
禾西 发表于 2011-4-24 02:29:18
搜索隨機裝備

点评

有啥不一樣?葉子和我都是按照夏娜這個基礎發展的  发表于 2011-4-24 10:57
随机装备生成和夏娜大大的效果不一样的说  发表于 2011-4-24 09:44
u566 发表于 2011-4-23 19:43:30
快一个星期了,还能自顶么
沙漠点灰 发表于 2011-4-17 16:33:23
参考F1的装备属性
武器
atk
攻击力。

pdef
物理防御。

mdef
魔法防御。

str_plus
力量+。

dex_plus
灵巧+。

agi_plus
速度+。

int_plus

防具自己看...
修改的话..把LZ给的脚本"所有"   atk    改为   上面的任意一个就好了,品质改不改你看Lz你的了,至于防具,
同理,不过要修改 gain_armor和lose_armor了

点评

所你说来向你求教了,这样实际改起脚本来太复杂,弄不好,囧  发表于 2011-4-17 17:04
就是求和呀,新属性的总和减旧属性的总和,再计算品质。另外你的方法我用了之后发现原来没有的属性也有增减而且事件里获得一个实际获得了六个  发表于 2011-4-17 17:01
关键是防具拥有多个属性,但只有一个品质,如何解决  发表于 2011-4-17 16:49
u566 发表于 2011-4-17 13:22:57
本帖最后由 u566 于 2011-4-17 13:23 编辑

自顶
超级无敌字数补丁.exe

点评

下次帮你,没时间了....  发表于 2011-4-17 17:35
我倒...(爬起)多个属性....怎么算品质...?求和...?再倒....(没爬起来了)  发表于 2011-4-17 16:54
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-25 00:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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