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

Project1

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

[已经解决] 怎么计算武器所附带的所有属性的个数

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
跳转到指定楼层
1
发表于 2013-4-7 21:11:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 木许许 于 2013-4-22 00:21 编辑

计算某件武器一共有多少属性,然后把个数代入一个变量

Lv5.捕梦者

梦石
0
星屑
33512
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2013-4-8 20:48:05 | 只看该作者
应LZ要求写了下面这段脚本。

说明:假如是某件武器,它的增加人物力量的属性大于 0,(也就是该项存在,有效)。指定的变量会加 1 。如果该武器的附加状态的属性存在的话,指定变量
          会加  该武器附加状态的个数  。 其他的  攻击力,增加四项属性,属性攻击,,,,等,都一样。武器的属性项目越多,变量值越大。
          防具同上。

使用方法:复制下面脚本,插入到 main 前。
                 要代入变量某武器或防具的属性项目数,在事件 ——》脚本,输入:1,武器:$game_party.weapon_property(weapon_id, var_id)
                                                                                                                           2,防具:$game_party.armor_property(armor_id, var_id)


                  括号里,逗号前面写入想要代入项目数的武器/防具ID;逗号后写入代入的变量ID。
  1. #===============================================================================
  2. class Game_Party
  3.   #----------------------------------------------------------------------------
  4.   def weapon_property(weapon_id, var_id)
  5.     weapon = $data_weapons[weapon_id]
  6.     $game_variables[var_id] += weapon.atk      > 0 ? 1:0
  7.     $game_variables[var_id] += weapon.pdef     > 0 ? 1:0
  8.     $game_variables[var_id] += weapon.mdef     > 0 ? 1:0
  9.     $game_variables[var_id] += weapon.str_plus > 0 ? 1:0
  10.     $game_variables[var_id] += weapon.dex_plus > 0 ? 1:0
  11.     $game_variables[var_id] += weapon.agi_plus > 0 ? 1:0
  12.     $game_variables[var_id] += weapon.int_plus > 0 ? 1:0
  13.     $game_variables[var_id] += weapon.element_set != nil ?
  14.                                weapon.element_set.size : 0
  15.     $game_variables[var_id] += weapon.plus_state_set != nil ?
  16.                                weapon.plus_state_set.size : 0
  17.     $game_variables[var_id] += weapon.minus_state_set != nil ?
  18.                                weapon.minus_state_set.size : 0
  19.     return $game_variables[var_id]
  20.   end
  21.   #----------------------------------------------------------------------------
  22.   def armor_property(armor_id, var_id)
  23.     armor = $data_armors[armor_id]
  24.     $game_variables[var_id] += armor.pdef     > 0 ? 1:0
  25.     $game_variables[var_id] += armor.mdef     > 0 ? 1:0
  26.     $game_variables[var_id] += armor.str_plus > 0 ? 1:0
  27.     $game_variables[var_id] += armor.dex_plus > 0 ? 1:0
  28.     $game_variables[var_id] += armor.agi_plus > 0 ? 1:0
  29.     $game_variables[var_id] += armor.int_plus > 0 ? 1:0
  30.     $game_variables[var_id] += armor.auto_state_id > 0 ? 1:0
  31.     $game_variables[var_id] += armor.guard_element_set != nil ?
  32.                                armor.guard_element_set.size : 0
  33.     $game_variables[var_id] += armor.guard_state_set != nil ?
  34.                                armor.guard_state_set.size : 0
  35.     return $game_variables[var_id]
  36.   end
  37. end
  38. #===============================================================================
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
帖子
518
4
发表于 2013-4-8 12:41:46 | 只看该作者
我有一个事件的办法..但是很麻烦.. 首先武器的属性在数据库中应该是已经定好的.. 所以= = 通过变量一个一个的计.. 然后需要时直接调用..如果游戏过程中属性数量有变化 那就在变化完在相应的变量后加上变化值
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
3
 楼主| 发表于 2013-4-8 10:19:08 | 只看该作者
芯☆淡茹水 发表于 2013-4-7 22:35
是属性项目数还是属性值?

是项目数
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33512
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2013-4-7 22:35:39 | 只看该作者
是属性项目数还是属性值?
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-3 00:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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