Project1

标题: 有木有在游戏中不能显示但在脚本中可以用的字符 [打印本页]

作者: jiahui5592986    时间: 2014-2-5 19:20
标题: 有木有在游戏中不能显示但在脚本中可以用的字符
1.目的:我想做角色装备武器后更换战斗图的效果

2.系统:战斗系统是根据角色名字而改变战斗图形滴...

SO,我在角色装备武器的时候更改了角色名字,.......

例如,阿尔西斯..装备A武器,。名字变成阿尔西斯A..然后系统会更改战斗图形.【以阿尔西斯A为主,更改战斗图形】

3.效果:如果在游戏中把A给隐藏就OK了,,,

4.问题:有木有在游戏中不能显示但在脚本中可以用的字符可以取代“A”{:2_260:}
作者: 天地有正气    时间: 2014-2-6 04:22
没有吧..这种情况一般都用split取字符。
作者: 恐惧剑刃    时间: 2014-2-6 09:24
就事论事
  1. name = "阿尔西斯A"
  2. name.gsub!(/[A-Z]+/) {   }
  3. p name
复制代码
方法
默认390行左右
case @name
when ""
end
判断角色 ,  id就是当前装备武器的id
知道角色知道装备的什么武器
战斗图直接换
@battler_name = "" 就可以了

可以判断角色,又知道装备的是什么武器
作者: 芯☆淡茹水    时间: 2014-2-6 10:03
本帖最后由 芯☆淡茹水 于 2014-2-6 10:04 编辑

Game_Actor 有改变角色行走图和战斗图的方法。
比如:1,武器 把角色行走图文件命名为:角色名_武器名  (战斗图同理)
             比如阿尔西斯装备铜剑,在装备后改变行走图和战斗图:
                 weapon_name = @weapon_id != 0 $data_weapons[@weapon_id].name : ""
                         character_name = @name + "_" + weapon_name
                         battler_name = @name + "_" + weapon_name
                         set_graphic(character_name, @character_hue, battler_name, @battler_hue)


    2,角色名字就多种多样,不知道具体怎么改变。
作者: jiahui5592986    时间: 2014-2-6 10:12
芯☆淡茹水 发表于 2014-2-6 10:03
Game_Actor 有改变角色行走图和战斗图的方法。
比如:1,武器 把角色行走图文件命名为:角色名_武器名  (战 ...

那如果是装备A武器后,怎么触发一个公共事件的ID?
作者: 芯☆淡茹水    时间: 2014-2-6 10:30
不用触发,插入下面这段,把角色名行走图名和战斗图名取好,改变武器时自动改变行走图和战斗图
  1. #==============================================================================
  2. # 角色行走图和战斗图命名:角色名_武器名  
  3. #                         如果是没有装备武器的行走图,直接命名为角色名
  4. #==============================================================================
  5. class Game_Actor < Game_Battler
  6.   #--------------------------------------------------------------------------
  7.   def equip(equip_type, id)
  8.     case equip_type
  9.     when 0  # 武器
  10.       if id == 0 or $game_party.weapon_number(id) > 0
  11.         $game_party.gain_weapon(@weapon_id, 1)
  12.         @weapon_id = id
  13.         $game_party.lose_weapon(id, 1)
  14.       end
  15.     when 1  # 盾
  16.       if id == 0 or $game_party.armor_number(id) > 0
  17.         update_auto_state($data_armors[@armor1_id], $data_armors[id])
  18.         $game_party.gain_armor(@armor1_id, 1)
  19.         @armor1_id = id
  20.         $game_party.lose_armor(id, 1)
  21.       end
  22.     when 2  # 头
  23.       if id == 0 or $game_party.armor_number(id) > 0
  24.         update_auto_state($data_armors[@armor2_id], $data_armors[id])
  25.         $game_party.gain_armor(@armor2_id, 1)
  26.         @armor2_id = id
  27.         $game_party.lose_armor(id, 1)
  28.       end
  29.     when 3  # 身体
  30.       if id == 0 or $game_party.armor_number(id) > 0
  31.         update_auto_state($data_armors[@armor3_id], $data_armors[id])
  32.         $game_party.gain_armor(@armor3_id, 1)
  33.         @armor3_id = id
  34.         $game_party.lose_armor(id, 1)
  35.       end
  36.     when 4  # 装饰品
  37.       if id == 0 or $game_party.armor_number(id) > 0
  38.         update_auto_state($data_armors[@armor4_id], $data_armors[id])
  39.         $game_party.gain_armor(@armor4_id, 1)
  40.         @armor4_id = id
  41.         $game_party.lose_armor(id, 1)
  42.       end
  43.     end
  44.     name = @weapon_id != 0 ? @name+"_" +$data_weapons[@weapon_id].name : @name
  45.     set_graphic(name, @character_hue, name, @battler_hue)
  46.   end
  47. end
  48. #==============================================================================
复制代码

作者: jiahui5592986    时间: 2014-2-6 13:21
芯☆淡茹水 发表于 2014-2-6 10:30
不用触发,插入下面这段,把角色名行走图名和战斗图名取好,改变武器时自动改变行走图和战斗图 ...

楼上的方法很好,但是。由于游戏本身战斗系统不是默认,行走图取样也不是默认。

SO,这个方法在这里行不通{:2_264:}


问:如何让角色装备武器后触发一个公共事件{:2_278:}
作者: jiahui5592986    时间: 2014-2-6 13:30
@芯☆淡茹水
jiahui5592986 发表于 2014-2-6 13:21
楼上的方法很好,但是。由于游戏本身战斗系统不是默认,行走图取样也不是默认。

SO,这个方法在这里行不 ...
  1.   def equip(equip_type, id)
  2.     case equip_type
  3.     when 0  # 武器
  4.       if id == 0 or $game_party.weapon_number(id) > 0
  5.         $game_party.gain_weapon(@weapon_id, 1)
  6.         @weapon_id = id
  7.         $game_party.lose_weapon(id, 1)
  8.       end
  9.       #更换装备改变主角造型
  10.       #●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
  11.       #如果更换之前武器id为造型武器
  12.       if self.id == 1
  13.         if id == 0
  14.           $body_type = 1
  15.         elsif id > 0 and id < 11
  16.           $body_type = 2
  17.         elsif id == 13
  18.           $body_type = 3
  19.         elsif id == 12
  20.           $body_type = 4
  21.         elsif id == 11
  22.           $body_type = 5
  23.         elsif id == 15
  24.           $body_type = 6
  25.         elsif id == 16
  26.           $body_type = 7
  27.         elsif id == 14
  28.           $body_type = 8
  29.         end
  30.         common_event_id = 19
  31.         # 设置事件
  32.         common_event = $data_common_events[common_event_id]
  33.         $game_system.map_interpreter.setup(common_event.list, 0)
  34.         $game_system.map_interpreter.update
复制代码
这样写对不




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