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

Project1

 找回密码
 注册会员
搜索

求教,想做这样一个魔法系统

查看数: 2424 | 评论数: 9 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-2-10 18:31

正文摘要:

本帖最后由 Brushbrother 于 2014-2-15 23:21 编辑 就是角色装备上武器之后可以增加其属性值。比如:装备卧槽剑,火+5 然后这个属性值限定你可以使用的魔法(当然属性值越高可以用的魔法就越多) 然后魔法可以通 ...

回复

feizhaodan 发表于 2014-2-15 01:30:44
Brushbrother 发表于 2014-2-14 21:45
还有我用了你这个脚本之后
装备一个武器时,武器的数量-2
  1. class RPG::BaseItem
  2.   def get_addvar
  3.     temp = []
  4.     @note.each_line do |line|
  5.       case line
  6.       when /\<Var(\d+)([+-]\d+)\>/i
  7.         temp.push([$1.to_i,$2.to_i])
  8.       end
  9.     end
  10.     return temp
  11.   end
  12. end
  13. #==============================================================================
  14. # ■ Game_Actor
  15. #------------------------------------------------------------------------------
  16. #  管理角色的类。
  17. #   本类在 Game_Actors 类 ($game_actors) 的内部使用。
  18. #   具体使用请查看 Game_Party 类 ($game_party) 。
  19. #==============================================================================

  20. class Game_Actor < Game_Battler
  21.   #--------------------------------------------------------------------------
  22.   # ● 更换装备
  23.   #     slot_id : 装备栏 ID
  24.   #     item    : 武器/护甲(为 nil 时装备解除)
  25.   #--------------------------------------------------------------------------
  26.   alias equipchangevar_change_equip change_equip
  27.   def change_equip(slot_id, item)
  28.     preitem = @equips[slot_id].object
  29.     return if item && equip_slots[slot_id] != item.etype_id
  30.     equipchangevar_change_equip(slot_id,item)
  31.     if item && !item.get_addvar.empty?
  32.       item.get_addvar.each do |arr|
  33.         $game_variables[arr[0]+@actor_id] += arr[1]
  34.       end
  35.     end
  36.     if preitem && !preitem.get_addvar.empty?
  37.       preitem.get_addvar.each do |arr|
  38.         $game_variables[arr[0]+@actor_id] -= arr[1]
  39.       end
  40.     end
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 强制更换装备
  44.   #     slot_id : 装备栏 ID
  45.   #     item    : 武器/护甲(为 nil 时装备解除)
  46.   #--------------------------------------------------------------------------
  47.   alias equipchangevar_force_change_equip force_change_equip
  48.   def force_change_equip(slot_id, item)
  49.     preitem = @equips[slot_id].object
  50.     equipchangevar_force_change_equip(slot_id,item)
  51.     if item && !item.get_addvar.empty?
  52.       item.get_addvar.each do |arr|
  53.         $game_variables[arr[0]+@actor_id] += arr[1]
  54.       end
  55.     end
  56.     if preitem && !preitem.get_addvar.empty?
  57.       preitem.get_addvar.each do |arr|
  58.         $game_variables[arr[0]+@actor_id] -= arr[1]
  59.       end
  60.     end
  61.   end
  62. end
复制代码
修正。
eel 发表于 2014-2-13 19:40:27
Brushbrother 发表于 2014-2-13 18:02
谢谢大大。不过还有一个问题,我的魔法系统是想做成这样的:

给武器添加了这么一个备注,让它得到属性值 ...

公共事件再学一遍
feizhaodan 发表于 2014-2-13 01:25:37
Brushbrother 发表于 2014-2-12 15:07
简单但是怎么做。。。我过一会发一个详细一点的帖子


简单的做了一个脚本来让装备/拿下武器防具的时候让一个可以指定的变量增减。
在装备的备注栏内输入
  1. <VarnN>
复制代码
其中n是指定的变量ID,N是增减的数值并且要在前面输入加号或者减号。
然后变量ID也会根据装备/拿下武器防具的角色ID变化。
如1号角色装备上了备注栏上写着<Var10+5>的武器,那么第11号变量(指定的10加上角色ID1)就会多5。
拿下的时候会减去指定的数值。
以下是脚本
  1. class RPG::BaseItem
  2.   def get_addvar
  3.     temp = []
  4.     @note.each_line do |line|
  5.       case line
  6.       when /\<Var(\d+)([+-]\d+)\>/i
  7.         temp.push([$1.to_i,$2.to_i])
  8.       end
  9.     end
  10.     return temp
  11.   end
  12. end
  13. #==============================================================================
  14. # ■ Game_Actor
  15. #------------------------------------------------------------------------------
  16. #  管理角色的类。
  17. #   本类在 Game_Actors 类 ($game_actors) 的内部使用。
  18. #   具体使用请查看 Game_Party 类 ($game_party) 。
  19. #==============================================================================

  20. class Game_Actor < Game_Battler
  21.   #--------------------------------------------------------------------------
  22.   # ● 更换装备
  23.   #     slot_id : 装备栏 ID
  24.   #     item    : 武器/护甲(为 nil 时装备解除)
  25.   #--------------------------------------------------------------------------
  26.   alias equipchangevar_change_equip change_equip
  27.   def change_equip(slot_id, item)
  28.     preitem = @equips[slot_id].object
  29.     return unless trade_item_with_party(item, equips[slot_id])
  30.     return if item && equip_slots[slot_id] != item.etype_id
  31.     equipchangevar_change_equip(slot_id,item)
  32.     if item && !item.get_addvar.empty?
  33.       item.get_addvar.each do |arr|
  34.         $game_variables[arr[0]+@actor_id] += arr[1]
  35.       end
  36.     end
  37.     if preitem && !preitem.get_addvar.empty?
  38.       preitem.get_addvar.each do |arr|
  39.         $game_variables[arr[0]+@actor_id] -= arr[1]
  40.       end
  41.     end
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 强制更换装备
  45.   #     slot_id : 装备栏 ID
  46.   #     item    : 武器/护甲(为 nil 时装备解除)
  47.   #--------------------------------------------------------------------------
  48.   alias equipchangevar_force_change_equip force_change_equip
  49.   def force_change_equip(slot_id, item)
  50.     preitem = @equips[slot_id].object
  51.     equipchangevar_force_change_equip(slot_id,item)
  52.     if item && !item.get_addvar.empty?
  53.       item.get_addvar.each do |arr|
  54.         $game_variables[arr[0]+@actor_id] += arr[1]
  55.       end
  56.     end
  57.     if preitem && !preitem.get_addvar.empty?
  58.       preitem.get_addvar.each do |arr|
  59.         $game_variables[arr[0]+@actor_id] -= arr[1]
  60.       end
  61.     end
  62.   end
  63. end
复制代码
Brushbrother 发表于 2014-2-12 15:07:22
国产吃货 发表于 2014-2-10 23:04
如果你能说的更详细可能我就帮你

简单但是怎么做。。。我过一会发一个详细一点的帖子
Brushbrother 发表于 2014-2-12 10:34:29
国产吃货 发表于 2014-2-10 23:04
如果你能说的更详细可能我就帮你

问题的关键是在于怎么给武器定义属性值这一个参数

点评

这个简单  发表于 2014-2-12 10:48
国产吃货 发表于 2014-2-10 23:04:04
如果你能说的更详细可能我就帮你
zlpwb1666 发表于 2014-2-10 21:37:23
用变量吧,装备卧槽剑是 变量+5
然后分歧
当变量不小于5时,领悟火球术
当变量不小于10时,领悟XX技能

点评

请问怎么让装备卧槽剑时候变量+5?  发表于 2014-2-11 17:39
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-16 11:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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