Project1

标题: 装备某个武器的时候提升变量 [打印本页]

作者: 游戏我的爱    时间: 2015-6-13 22:38
标题: 装备某个武器的时候提升变量
当装备 武器1 的时候 变量1 提升1
当卸载 武器1 的时候 变量1 变回之前的值(就是没有提升1的时候那个值)
需要怎么弄?
作者: kuerlulu    时间: 2015-6-13 22:51
本帖最后由 kuerlulu 于 2015-6-14 09:09 编辑
  1. class Game_Actor
  2.   alias 游戏你的爱_equip equip
  3.   def equip(equip_type, id)
  4.     $game_variables[1] += 1 if equip_type == 0 && id == 1 && @weapon_id != 1
  5.     $game_variables[1] -= 1 if equip_type == 0 && id != 1 && @weapon_id == 1
  6.     游戏你的爱_equip(equip_type, id)
  7.   end
  8. end
复制代码
即插即用
# 注释
$game_variables[1] += 1 if equip_type == 0 && id == 1 && @weapon_id != 1
变量1 自增 1 如果equip_type==0(装备类型为"武器") 待装备武器编号为1 当前武器为武器1

$game_variables[1] -= 1 if equip_type == 0 && id != 1 && @weapon_id == 1
变量1 自减 1 如果equip_type==0(装备类型为"武器") 待装备武器编号为1 当前武器为武器1

顺便发现了逻辑上一个问题 已修正
作者: 美丽晨露    时间: 2015-6-13 22:52
https://rpg.blue/thread-292650-1-1.html
大概就是熊叔说明的那样。虽然感觉有点Bug
作者: chd114    时间: 2015-6-13 23:13
本帖最后由 chd114 于 2015-6-13 16:39 编辑

参考套装属性计算套装部件数的办法呗···
  1. #--------------------------------------------------------------------------
  2.   # ● 变更装备
  3.   #     equip_type : 装备类型
  4.   #     id    : 武器 or 防具 ID  (0 为解除装备)
  5.   #--------------------------------------------------------------------------
  6.   def equip(equip_type, id)
  7.     case equip_type
  8.     when 0  # 武器
  9.       if id == 0 or $game_party.weapon_number(id) > 0
  10.         $game_party.gain_weapon(@weapon_id, 1)
  11.         @weapon_id = id
  12.         $game_party.lose_weapon(id, 1)
  13.       end
  14.     when 1  # 盾
  15.       if id == 0 or $game_party.armor_number(id) > 0
  16.         update_auto_state($data_armors[@armor1_id], $data_armors[id])
  17.         $game_party.gain_armor(@armor1_id, 1)
  18.         @armor1_id = id
  19.         $game_party.lose_armor(id, 1)
  20.       end
  21.     when 2  # 头
  22.       if id == 0 or $game_party.armor_number(id) > 0
  23.         update_auto_state($data_armors[@armor2_id], $data_armors[id])
  24.         $game_party.gain_armor(@armor2_id, 1)
  25.         @armor2_id = id
  26.         $game_party.lose_armor(id, 1)
  27.       end
  28.     when 3  # 身体
  29.       if id == 0 or $game_party.armor_number(id) > 0
  30.         update_auto_state($data_armors[@armor3_id], $data_armors[id])
  31.         $game_party.gain_armor(@armor3_id, 1)
  32.         @armor3_id = id
  33.         $game_party.lose_armor(id, 1)
  34.       end
  35.     when 4  # 装饰品
  36.       if id == 0 or $game_party.armor_number(id) > 0
  37.         update_auto_state($data_armors[@armor4_id], $data_armors[id])
  38.         $game_party.gain_armor(@armor4_id, 1)
  39.         @armor4_id = id
  40.         $game_party.lose_armor(id, 1)
  41.       end
  42.     end
  43.   end
复制代码
GameActor修改,以武器为例
  1.     when 0  # 武器
  2.       if id == 0 or $game_party.weapon_number(id) > 0
  3.         $game_party.gain_weapon(@weapon_id, 1)
  4.         @weapon_id = id
  5.         $game_party.lose_weapon(id, 1)
  6.       end
复制代码
在if id==0 or $game_party.weapon_number(id) > 0
下面加其他判断就好···
if id==x#如果要换上去的武器id是x号

如果你的角色一开始就装备(数据库设置了的话···)了这样的装备
  1. #--------------------------------------------------------------------------
  2.   # ● 设置
  3.   #     actor_id : 角色 ID
  4.   #--------------------------------------------------------------------------
  5.   def setup(actor_id)
复制代码
里面可以改···
  1.     @weapon_id = actor.weapon_id
  2.     @armor1_id = actor.armor1_id
  3.     @armor2_id = actor.armor2_id
  4.     @armor3_id = actor.armor3_id
  5.     @armor4_id = actor.armor4_id
复制代码
下面加新的判断
    if actor.weapon_id==x
貌似还有别的方法···
作者: 芯☆淡茹水    时间: 2015-6-14 09:30
Game_Actor 的初始化里的一句:@weapon_id = actor.weapon_id
后面接着加一句:$game_variables[1] = @weapon_id == 1 ? 1 : 0
作者: jiushiainilip19    时间: 2015-6-26 23:45
美丽晨露 发表于 2015-6-13 22:52
https://rpg.blue/thread-292650-1-1.html
大概就是熊叔说明的那样。虽然感觉有点Bug ...

看不到了!!!!想看啊




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1