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

Project1

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

如何让某个装备能减少角色的攻击等能力?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-4-2
帖子
51
跳转到指定楼层
1
发表于 2007-8-13 04:47:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-4-2
帖子
51
2
 楼主| 发表于 2007-8-13 04:47:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv2.观梦者

梦石
0
星屑
431
在线时间
125 小时
注册时间
2006-11-2
帖子
1200
3
发表于 2007-8-13 04:53:43 | 只看该作者
除了攻防 4样能力都是可以输入负值的
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
和记忆一起封存着的ID...
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-4-2
帖子
51
4
 楼主| 发表于 2007-8-13 04:59:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
122 小时
注册时间
2006-3-2
帖子
1012
5
发表于 2007-8-13 05:16:48 | 只看该作者
以下引用蓝色蝴蝶于2007-8-12 20:47:05的发言:


本贴悬赏额度如下:VIP:0   积分:100   好人卡:1

魔力宝贝里通常有这样的首饰装备:

减少攻击力,增加防御..或者是减少防御提高闪躲.

那么在RM里要如何实现,让装备能减少一部分能力?


这样的装备应该不多吧?

如果游戏里的角色也不多的话,可以考虑写并行事件判断~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
431
在线时间
125 小时
注册时间
2006-11-2
帖子
1200
6
发表于 2007-8-13 05:26:44 | 只看该作者
  1. module RPG
  2. class Armor
  3.    def name
  4.      name = @name.split(/,/)[0]
  5.      return name != nil ? name : ""
  6.    end
  7.    
  8.    def a_atk
  9.      name = @name.split(/,/)[1]
  10.      return name != nil ? name.to_i : 0
  11.    end
  12.    
  13.    def a_pdef
  14.      name = @name.split(/,/)[2]
  15.      return name != nil ? name.to_i : 0
  16.    end   
  17.    
  18.     def a_mdef
  19.      name = @name.split(/,/)[3]
  20.      return name != nil ? name.to_i: 0
  21.    end
  22.    
  23. end

  24. class Weapon
  25.    def name
  26.      name = @name.split(/,/)[0]
  27.      return name != nil ? name : ""
  28.    end
  29.    
  30.    def a_atk
  31.      name = @name.split(/,/)[1]
  32.      return name != nil ? name.to_i : 0
  33.    end
  34.    
  35.    def a_pdef
  36.      name = @name.split(/,/)[2]
  37.      return name != nil ? name.to_i : 0
  38.    end   
  39.    
  40.     def a_mdef
  41.      name = @name.split(/,/)[3]
  42.      return name != nil ? name.to_i: 0
  43.    end
  44.    
  45. end
  46. end
  47. class Game_Actor < Game_Battler
  48.    #--------------------------------------------------------------------------
  49.   # ● 获取基本攻击力
  50.   #--------------------------------------------------------------------------
  51.   def base_atk
  52.     weapon = $data_weapons[@weapon_id]
  53.     armor1 = $data_armors[@armor1_id]
  54.     armor2 = $data_armors[@armor2_id]
  55.     armor3 = $data_armors[@armor3_id]
  56.     armor4 = $data_armors[@armor4_id]
  57.     atk1 = weapon != nil ? weapon.a_atk : 0
  58.     atk2 = armor1 != nil ? armor1.a_atk : 0
  59.     atk3 = armor2 != nil ? armor2.a_atk : 0
  60.     atk4 = armor3 != nil ? armor3.a_atk : 0
  61.     atk5 = armor4 != nil ? armor4.a_atk : 0   
  62.     n = atk1 + atk2 + atk3 + atk4 + atk5
  63.     return weapon != nil ? weapon.atk + n > 0 ? weapon.atk + n : 0 : n > 0 ? n : 0
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 获取基本物理防御
  67.   #--------------------------------------------------------------------------
  68.   def base_pdef
  69.     weapon = $data_weapons[@weapon_id]
  70.     armor1 = $data_armors[@armor1_id]
  71.     armor2 = $data_armors[@armor2_id]
  72.     armor3 = $data_armors[@armor3_id]
  73.     armor4 = $data_armors[@armor4_id]
  74.     pdef1 = weapon != nil ? weapon.pdef : 0
  75.     pdef2 = armor1 != nil ? armor1.pdef : 0
  76.     pdef3 = armor2 != nil ? armor2.pdef : 0
  77.     pdef4 = armor3 != nil ? armor3.pdef : 0
  78.     pdef5 = armor4 != nil ? armor4.pdef : 0
  79.    
  80.     a_pdef1 = weapon != nil ? weapon.a_pdef : 0
  81.     a_pdef2 = armor1 != nil ? armor1.a_pdef : 0
  82.     a_pdef3 = armor2 != nil ? armor2.a_pdef : 0
  83.     a_pdef4 = armor3 != nil ? armor3.a_pdef : 0
  84.     a_pdef5 = armor4 != nil ? armor4.a_pdef : 0   
  85.    
  86.     n = pdef1 + pdef2 + pdef3 + pdef4 + pdef5 + a_pdef1 + a_pdef2 + a_pdef3 + a_pdef4 + a_pdef5
  87.     return n > 0 ? n : 0
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 获取基本魔法防御
  91.   #--------------------------------------------------------------------------
  92.   def base_mdef
  93.     weapon = $data_weapons[@weapon_id]
  94.     armor1 = $data_armors[@armor1_id]
  95.     armor2 = $data_armors[@armor2_id]
  96.     armor3 = $data_armors[@armor3_id]
  97.     armor4 = $data_armors[@armor4_id]
  98.     mdef1 = weapon != nil ? weapon.mdef : 0
  99.     mdef2 = armor1 != nil ? armor1.mdef : 0
  100.     mdef3 = armor2 != nil ? armor2.mdef : 0
  101.     mdef4 = armor3 != nil ? armor3.mdef : 0
  102.     mdef5 = armor4 != nil ? armor4.mdef : 0
  103.    
  104.     a_mdef1 = weapon != nil ? weapon.a_mdef : 0
  105.     a_mdef2 = armor1 != nil ? armor1.a_mdef : 0
  106.     a_mdef3 = armor2 != nil ? armor2.a_mdef : 0
  107.     a_mdef4 = armor3 != nil ? armor3.a_mdef : 0
  108.     a_mdef5 = armor4 != nil ? armor4.a_mdef : 0   
  109.     n = mdef1 + mdef2 + mdef3 + mdef4 + mdef5 + a_mdef1 + a_mdef2 + a_mdef3 + a_mdef4 + a_mdef5
  110.     return n > 0 ? n : 0
  111.   end
  112. end
复制代码



5分钟  over
武器名为  铜剑,-10,-10,10
的武器效果 是 减10 攻 减10防 加10魔防
效果可正可负 防具同样有效。 注意逗号为半角。
和记忆一起封存着的ID...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
49 小时
注册时间
2006-5-7
帖子
526
7
发表于 2007-8-13 05:29:49 | 只看该作者
另一种方法...........

你可以弄一项属性,比如叫"防御减少",然后在脚本Game_Actor中判断,如果装备有这项属性防御力增量就变就负值
以防御减少的武器为例子,设置25号属性为“防御减少”,在武器属性里把这项钩上
armor.guard_element_set.include?(element_id)
找到
def base_pdef
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    pdef1 = weapon != nil ? weapon.pdef : 0
    pdef2 = armor1 != nil ? armor1.pdef : 0
    pdef3 = armor2 != nil ? armor2.pdef : 0
    pdef4 = armor3 != nil ? armor3.pdef : 0
    pdef5 = armor4 != nil ? armor4.pdef : 0
    return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
  end
在pdef1 = weapon != nil ? weapon.pdef : 0下面加上这么一句:
pdef1 *= -1 if weapon != nil and weapon.element_set.include?(25)
版主对此帖的认可:『呵呵,思路不错, but 防具是没有攻击力的框框的哦。{/hx}』,积分『+100』。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-4-2
帖子
51
8
 楼主| 发表于 2007-8-13 05:46:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-26
帖子
354
9
发表于 2007-8-13 06:33:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

传奇

梦石
0
星屑
50
在线时间
4 小时
注册时间
2007-4-10
帖子
427
10
发表于 2007-8-13 06:55:31 | 只看该作者
也可以用状态吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-6-27 04:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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