Project1

标题: XAS 死亡之后 可以执行公共事件吗 [打印本页]

作者: j296196585    时间: 2016-11-7 00:22
标题: XAS 死亡之后 可以执行公共事件吗
本帖最后由 j296196585 于 2016-11-7 00:31 编辑

XAS 死亡之后 可以执行公共事件吗
  

玩家 死亡后游戏不会结束而是执行公共事件
请问大神 知道在哪里看 脚本╮(╯_╰)╭{:2_286:} {:2_248:}
RUBY 代码复制
  1. #==============================================================================#
  2. #............................[战斗人员配置设置]................................#
  3. #==============================================================================#                                            #
  4. #==============================================================================#
  5.  
  6. module XAS_ABS_SETUP
  7.  
  8. # 受到伤害/给对手造成伤害时是否弹窗显示.................................[是/否]
  9.   DAMAGE_POP = true
  10. # 设定伤害的最大值.....................................................[伤害值]
  11.   DAMAGE_LIMIT = 9999999
  12.  
  13. #==============================================================================#
  14. #...................................[防御].....................................#
  15. #==============================================================================#
  16.  
  17. # 当使用盾撞到敌人敌人是否后退?........................................[是/否]
  18.   SHIELD_BLOW =  false
  19. # 当防御成功的时候播放的音效.............................................[音效]
  20.   SHIELD_SE = RPG::AudioFile.new("097-Attack09", 80, 150)
  21. # 当防御成功的时候播放的动画...........................................[动画ID]
  22.   SHIELD_ANIMATION = 242
  23. # 当防御成功的时候显示的文字.............................................[文字]
  24.   SHIELD_TEXT = "格挡!"
  25. # 当防御被破坏的时候显示的文字...........................................[文字]
  26.   GUARD_BREAK_TEXT = "格挡失败"  
  27. # 当防御被破坏的时候播放的音效...........................................[音效]
  28.   GUARD_BREAK_SE = RPG::AudioFile.new("158-Skill02", 80, 150)
  29. # 开启防御系统?........................................................[是/否]
  30.   DEFENSE_SYSTEM_ACTIVE = true
  31. # 当你成功防御时显示的文字(侧面).......................................[文字]
  32.   DEFENSE_TEXT = "格挡!"
  33.  
  34. #=============================================================================#
  35. # 防御系统的类型                                                              #
  36. # 0 = 当按着防御键的时候就扣除CT                                              #
  37. # 1 = 当受到攻击的时候扣除CT                                                  #
  38. # 2 = 普通                                                                    #
  39. #=============================================================================#
  40.  
  41.   DEFENSE_COST_TYPE = 1
  42.  
  43. # 当使用盾时受到侧面攻击的话减少的伤害值...............................[伤害值]
  44.   SIDE_DEFENSE_PERC = 50  
  45. # 当使用盾时受到背后攻击的话减少的伤害值...............................[伤害值]  
  46.   BACK_DEFENSE_PERC = 0  
  47.  
  48. #==============================================================================#
  49.  
  50. # 当敌人逃跑的时候显示的文字.............................................[文字]
  51.   ESCAPE_TEXT = "摄退"
  52. # 受到伤害时震动窗口?..................................................[是/否]   
  53.   BATTLER_SHAKE_EFFECT = true
  54.  
  55. end
  56.  
  57. #=============================================================================#
  58. #..................................[敌人].....................................#
  59. #=============================================================================#
  60. # 格式: A=>B                                                                  #
  61. #                                                                             #
  62. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                 #
  63. # B = 开关的ID                                                                #
  64. #==============================================================================#
  65. #==============================================================================#
  66.  
  67. module XAS_BA_ENEMY
  68.  
  69.   DEFEAT_SWITCH_IDS = {
  70.   7=>57,   #大鸟  演示模式结束时的boss
  71.   18=>116, #大boss  (- -|)
  72.   26=>106, #德古拉   开门
  73.   27=>114, #米莉亚  演示模式结束时的boss
  74.   31=>131, #Mandra 击败
  75.   35=>135, #星星 击败
  76.   39=>139, #鬼墙 击败
  77.   42=>144, #真正的英雄 击败
  78.   40=>205, #Dartam
  79.   45=>202, #Dartam 左
  80.   46=>203, #Dartam 右
  81.   48=>241, #史莱姆
  82.   53=>253, #Tiamat 头部A
  83.   54=>254, #Tiamat 头部B
  84.   55=>255, #Tiamat 头部C
  85.   56=>272, #暗黑盖亚
  86.   57=>295  #爱丽丝
  87. }      
  88.  
  89. # 用来存储敌人的传感器(sensor)的变量ID.................................[变量]
  90.   DEFAULT_ENEMY_SENSOR_VARIABLE_ID = 10  
  91.  
  92. #==============================================================================#
  93. #...............................[敌人感应器]...................................#
  94. #==============================================================================#
  95. # 格式: A=>B                                                                   #
  96. #                                                                              #
  97. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  98. # B = 感应器                                                                   #
  99. #==============================================================================#
  100. #==============================================================================#
  101.  
  102.   ENEMY_SENSOR = {
  103.   7=> 25, #大鸟
  104.   15=>7 , #那加(Nadja)
  105.   16=>30, #暗黑骑士
  106.   22=>25, #危险老鼠
  107.   23=>25, #青蛙
  108.   26=>25, #德古拉
  109.   27=>25, #米莉亚(Miria)  
  110.   29=>20, #加尔(Garle)
  111.   31=>25, #曼德拉
  112.   35=>25, #星星
  113.   36=>25, #眼睛
  114.   39=>30, #鬼墙
  115.   40=>25, #Dartam
  116.   42=>25, #真正的英雄
  117.   43=>6,  #冰蝎
  118.   44=>20, #大鹏金翅鸟
  119.   45=>20, #Dartam 左
  120.   46=>20, #Dartam 右
  121.   47=>30, #陷阱怪X
  122.   52=>25, #Tiamat 身体
  123.   53=>25, #Tiamat 头部 A
  124.   54=>25, #Tiamat 头部 B
  125.   55=>25, #Tiamat 头部 C
  126.   56=>30, #暗黑盖亚
  127.   58=>25, #德古拉  
  128.   57=>35  #爱丽丝
  129.  
  130.   }     
  131.  
  132. #==============================================================================#
  133.  
  134. # 不能被伤害的敌人(陷阱).................................................[陷阱]  
  135.   ENEMY_OBJECT = [
  136. 1,     #陷阱
  137. 19,    #恶魔头部
  138. 36,    #眼睛
  139. 47,    #陷阱怪X
  140. 52     #Tiamat 身体
  141. ]
  142.  
  143. # 不显示伤害,但是计算伤害的敌人.........................................[物品]
  144. # 这个在设置场景中的互动物品(例如箱子 种子 罐子等)时使用。
  145.   ITEM_ENEMY =  [
  146. 20,         #箱子
  147. 21,         #电箱(mag box)
  148. 24,         #火焰
  149. 32,         #触角
  150. 49,         #箱式炸弹
  151. 50          #盒子箭(box arrow)
  152. ]
  153.  
  154. # 当HP达到最大HP的百分之多少的时候则被认定为HP低.......................[伤害值]
  155.   LOWHP = 30
  156.  
  157. #==============================================================================#
  158. # 格式: A=>B                                                                   #
  159. #                                                                              #
  160. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  161. # B = 动画的ID (顺序请参照数据库中敌动画的排序)                                #
  162. #==============================================================================#
  163.  
  164. # 当地人死的时候播放的动画ID.............................................[动画]
  165.   DEF_ANI = {
  166.   2=>235,     #史莱姆
  167.   3=>184,     #雄榫
  168.   4=>182,     #蝎子
  169.   5=>181,     #猎人
  170.   7=>100,     #大鸟
  171.   8=>235,     #G史莱姆
  172.   9=>235,     #膨胀史莱姆
  173.   10=>235,    #史莱姆王
  174.   11=>183,    #Harpia
  175.   12=>184,    #Coguna
  176.   13=>182,    #G毒蝎
  177.   14=>233,    #蝙蝠
  178.   15=>181,    #那加(Nadja)
  179.   16=>100,    #暗黑骑士
  180.   17=>181,    #吸血鬼
  181.   18=>100,    #大BOSS
  182.   20=>169,    #箱子(物品型敌人)
  183.   21=>170,    #磁性箱子(物品型敌人)
  184.   22=>184,    #雾
  185.   24=>182,    #火焰 (物品型敌人)
  186.   26=>181,    #德古拉
  187.   27=>100,    #米莉亚
  188.   28=>232,    #蜥蜴
  189.   30=>234,    #乌鸦
  190.   33=>230,    #狼
  191.   34=>181,    #赤壁恶魔(chibi devil)  
  192.   37=>183,    #Archer
  193.   38=>231,    #鬼魂
  194.   44=>100,    #Garuda
  195.   49=>169,    #B箱子(物品型敌人)
  196.   48=>235,    #史莱姆
  197.   50=>169,    #箱子 (物品型敌人)
  198.   51=>233,    #蝙蝠
  199.   58=>235     #樱花十郎  
  200.   }  
  201.  
  202. # 当死亡的时候会崩坏并且会垂直的变焦的敌人。
  203. COLLAPSE_ZOOM_A = [
  204. 11,     #Harpia
  205. 14,     #蝙蝠
  206. 17,     #吸血鬼
  207. 27,     #米莉亚
  208. 33,     #狼
  209. 43,     #冰蝎子
  210. 51      #蝙蝠
  211. ]  
  212.  
  213. # 当死亡的时候会崩坏并且会水平的的变焦的敌人。
  214. COLLAPSE_ZOOM_B = [
  215. 2,     #史莱姆
  216. 8,     #G史莱姆
  217. 9,     #膨胀史莱姆
  218. 10,    #史莱姆王
  219. 32,    #触角
  220. 48     #史莱姆
  221. ]  
  222.  
  223. # 当死亡的时候会崩坏并且会垂直+水平的变焦的敌人。
  224. COLLAPSE_ZOOM_C = [
  225. 22,   #危险老鼠
  226. 30,   #乌鸦
  227. 34,   #赤壁恶魔(chibi devil)
  228. 38    #鬼魂
  229.  
  230. ]
  231.  
  232. # 当死亡的时候会崩坏并且会负向变焦的敌人。
  233. COLLAPSE_ZOOM_D = [
  234. 20,     #箱子
  235. 21,     #魔法箱子
  236. 28,     #蜥蜴
  237. 41      #熔岩史莱姆
  238. ]  
  239.  
  240. #当死亡,崩坏和变焦的时候会改变道路的敌人。
  241. COLLAPSE_ZOOM_E = [
  242. 8,
  243. 18,    # 大BOSS
  244. 25,    # 邪恶之树
  245. 29,    # 加尔
  246. 31,    # 曼德拉
  247. 35,    # 星星
  248. 39,    # 鬼墙
  249. 40,    # Dartam
  250. 44,    # 大鹏金翅鸟
  251. 45,    # Dartam L
  252. 46,    # Dartam R
  253. 52,    #Tiamat 身体
  254. 53,    #Tiamat 头部 A
  255. 54,    #Tiamat 头部 B
  256. 55,    #Tiamat 头部 C
  257. 56     #暗黑盖亚
  258. ]  
  259.  
  260. # 敌人是否先跳起来再崩坏................................................[是/否]
  261. COLLAPSE_JUMP = false
  262.  
  263. #==============================================================================#
  264. #..............................[敌人防御系统]..................................#
  265. #==============================================================================#
  266. # 格式: A=>B                                                                   #
  267. #                                                                              #
  268. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  269. # B = 方向性的抵抗伤害:                                                        #
  270. # 2 = 前方防御                                                                 #
  271. # 4 = 左侧防御                                                                 #
  272. # 6 = 右侧防御                                                                 #
  273. # 8 = 后部防御                                                                 #
  274. #==============================================================================#
  275. #==============================================================================#
  276.  
  277.   SHILED_DIRECTIONS = {
  278.   1=>[2,4,6,8],   # 陷阱怪
  279.   13=>[2,4,6,8],  # G毒蝎
  280.   16=>[2,4,6,8],  # 暗黑骑士
  281.   18=>[2,4,6,8],  # 大BOSS
  282.   19=>[2,4,6,8],  # 恶魔之手
  283.   28=>[2],        # 蜥蜴
  284.   42=>[2,4,6,8],  # 真英雄
  285.   43=>[2],        # 冰蝎子
  286.   40=>[2,4,6,8],  # Dartam
  287.   47=>[2,4,6,8],  # 陷阱怪X
  288.   52=>[2,4,6,8],  # Tiamat 身体
  289.   56=>[2,4,6,8],  # 暗黑盖亚
  290.   57=>[2,4,6,8]   # 爱丽丝
  291.   }
  292.  
  293. #==============================================================================#
  294. # 格式: A=>[B,B,B,B,B...]                                                      #
  295. #                                                                              #
  296. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  297. # B = 不影响敌人的TOOL的ID                                                     #
  298. #==============================================================================#
  299. #==============================================================================#
  300.  
  301.    SHILED_ACTIONS = {
  302.    4=>[1,9,12,15,16,19,29,34,38,40,41,48,51,54,55,59,74],# 蝎子
  303.    7=>[19,24,29,34,38,40,41,48,51,54,55,59,74],# 大鸟
  304.    9=>[24,30,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78],# 膨胀史莱姆
  305.    10=>[30,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 史莱姆王   
  306.    15=>[24,30,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 那加(Nadja)
  307.    16=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,50,53,56,77,43,11], # 暗黑骑士
  308.    17=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,11], # 吸血鬼
  309.    18=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], # 大BOSS
  310.    19=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43], # 恶魔之手
  311.    20=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78],  #箱子(物品型敌人)
  312.    21=>[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,24,45,46,59,
  313.         29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,60,61,62,
  314.         63,64,65,66,67,68,69,70,71,76,78,129],  # 魔法箱子(物品型敌人)
  315.    22=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 危险老鼠
  316.    23=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 青蛙
  317.    24=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 火焰 (物品型敌人)
  318.    25=>[24,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 邪恶之树
  319.    26=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,11], # 德古拉
  320.    27=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11,44], # 米莉亚
  321.    29=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43], # 加尔
  322.    31=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43], # 曼德拉
  323.    35=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43], # 星星
  324.    38=>[24,30,45,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 鬼魂
  325.    39=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11],  # 鬼墙
  326.    40=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], #Dartam
  327.    42=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,11],  # 真正的英雄
  328.    43=>[24,30,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 冰蝎子
  329.    44=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78], # 大鹏金翅鸟
  330.    45=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], #Dartam 左   
  331.    46=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], #Dartam 右
  332.    49=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78],  #箱子 (物品型敌人)
  333.    50=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78],  #箱子 (物品型敌人)
  334.    52=>[24,30,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], #Tiamat 身体
  335.    53=>[129,24,30,44,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], #Tiamat 头A
  336.    54=>[129,24,30,44,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], #Tiamat 头B
  337.    55=>[129,24,30,44,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], #Tiamat 头C
  338.    56=>[129,24,30,44,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11], #暗黑盖亚
  339.    57=>[155,156,13,14,38,51,52,53,159,129,24,30,44,45,46,59,60,61,62,63,64,65,66,67,68,69,70,71,76,78,43,11]  #爱丽丝
  340.    }
  341.  
  342. # 无视防御的敌人
  343.   IGNORE_HERO_SHIELD = [
  344.   16,        #暗黑骑士
  345.   39,        #鬼墙
  346.   45,        #Dartam 左
  347.   46         #Dartam 右
  348. ]  
  349.  
  350. #==============================================================================#
  351. #....................................[反击系统]................................#
  352. #==============================================================================#
  353. # 格式: A=>B                                                                   #
  354. #                                                                              #
  355. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  356. # B = TOOL的ID                                                                 #
  357. #==============================================================================#
  358. #==============================================================================#
  359.  
  360.   COUNTER_ACTION = {
  361.   13=>[48],       #蝎子
  362.   16=>[104],      #暗黑盖亚
  363.   31=>[50,53,56], #曼德拉
  364.   42=>[80],       #真英雄
  365.   57=>[166]       #爱丽丝
  366. }
  367.  
  368. # 使用与挨打的TOOL相同的TOOL反击的敌人
  369.   COUNTER_SAME_ACTION = [
  370.   ]
  371. # 当动作被反击的时候显示的文字...........................................[文字]
  372.   COUNTER_TEXT = "反击"
  373. # 不能被反击的TOOL  
  374. NO_COUNTER_ACTION_SKILL = [
  375. ]      
  376. # 不能被敌人复制的TOOL
  377. NO_COUNTER_SAME_ACTION_SKILL = [
  378. 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
  379. 21,22,23,24,25,26,27,28,
  380. 29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,
  381. 44,45,46,47
  382. ]
  383.  
  384. #==============================================================================#
  385. #.........................[最终攻击系统(类似自爆)].............................#
  386. #==============================================================================#
  387. # 格式: A=>B                                                                   #
  388. #                                                                              #
  389. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  390. # B = TOOL的ID                                                                 #
  391. #==============================================================================#
  392. #==============================================================================#
  393.  
  394. # 敌人和对应的死亡的时候使用的TOOL的ID
  395.   ENEMY_FINAL_ATTACK = {
  396.   13=> [110],       #蝎子
  397.   15=> [106],       #那加
  398.   16=> [112],       #暗黑骑士
  399.   17=> [101],       #吸血鬼
  400.   38=> [125],       #鬼魂
  401.   41=> [123]        #熔岩史莱姆
  402.   }     
  403.  
  404. # 当地人使用最终技能的时候显示的文字.........................[文字]  
  405.   FINAL_ATTACK_TEXT = "最终技"
  406.  
  407. #==============================================================================#  
  408.  
  409. # 当受到攻击也不后退的敌人ID  
  410.   KNOCK_BACK_DISABLES = [
  411.   4,  # 蝎子
  412.   6,  # 恶魔之箱
  413.   7,  # 大鸟
  414.   10, # 史莱姆王
  415.   13, # G毒蝎
  416.   14, # 蝙蝠
  417.   16, # 暗黑骑士
  418.   17, # 吸血鬼
  419.   18, # 大Boss
  420.   19, # 恶魔之手
  421.   20, # 箱子 (物品型敌人)
  422.   21, # 魔法箱子 (物品型敌人)
  423.   22, # 危险老鼠
  424.   24, # 火焰 (物品型敌人)  
  425.   25, # 邪恶之树
  426.   26, # 德古拉
  427.   27, # 米莉亚
  428.   29, # 加尔
  429.   30, # 乌鸦  
  430.   31, # 曼德拉
  431.   32, # 触角
  432.   35, # 星星
  433.   39, # 鬼墙
  434.   40, # Dartam
  435.   41, # 熔岩史莱姆
  436.   42, # 真正的英雄
  437.   43, # 冰蝎子
  438.   44, # 大鹏金翅鸟
  439.   45, # Dartam 左
  440.   46, # Dartam 右
  441.   49, # 箱子炸弹
  442.   50, # 箱子箭
  443.   51, # 蝙蝠
  444.   52, # Tiamat 身体
  445.   53, # Tiamat 头部 A
  446.   54, # Tiamat 头部 B
  447.   55, # Tiamat 头部 C
  448.   56, # 暗黑盖亚
  449.   57  # 爱丽丝
  450.   ]
  451.  
  452. #==============================================================================#
  453. #...............................[敌人的无敌]...................................#
  454. #==============================================================================#
  455. # 格式: A=>B                                                                   #
  456. #                                                                              #
  457. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  458. # B = 敌人在受到伤害后的无敌时间(按帧数计算)                                   #
  459. #==============================================================================#
  460.  
  461.   INVICIBLE_DURATION_ENEMY = {
  462. # A  B
  463.   1=>1,    #陷阱怪
  464.   5=>140,  #猎人
  465.   15=>140, #那加
  466.   23=>1,   #青蛙
  467.   28=>70,  #蜥蜴
  468.   33=>20,  #狼
  469.   37=>20,  #弓箭手
  470.   51=>5,   #蝙蝠
  471.   53=>30,  #Tiamat 头部 A
  472.   54=>30,  #Tiamat 头部 B
  473.   55=>30   #Tiamat 头部 C
  474.   }     
  475.  
  476. # 默认的敌人在受到伤害后的无敌时间(按帧数计算) ..........................[帧数]
  477.   DEFAULT_INVICIBLE_DURATION_ENEMY = 45   
  478.  
  479. #==============================================================================#
  480.  
  481. # 受到伤害时不跳跃的敌人
  482.   JUMP_HIT_ENEMY_DISABLE = [  
  483.   4,     # 毒蝎
  484.   7,     # 大鸟   
  485.   13,    # G毒蝎
  486.   14,    # 蝙蝠
  487.   18,    # 大Boss
  488.   25,    # 邪恶之树
  489.   26,    # 德古拉
  490.   27,    # 米莉亚
  491.   29,    # 加尔
  492.   30,    # 乌鸦
  493.   31,    # 曼德拉
  494.   32,    # 触角
  495.   35,    # 星星
  496.   39,    # 鬼墙
  497.   40,    # Dartam
  498.   42,    # 真正的英雄
  499.   43,    # 冰蝎子
  500.   44,    # 大鹏金翅鸟
  501.   45,    # Dartam 左
  502.   46,    # Dartam 右
  503.   51,    # Bat
  504.   52,    # Tiamat 身体
  505.   53,    # Tiamat 头部 A
  506.   54,    # Tiamat 头部 B
  507.   55,    # Tiamat 头部 C
  508.   56,    # 暗黑盖亚
  509.   57     # 爱丽丝
  510.   ]   
  511.  
  512. # 模仿呼吸的变焦效果
  513. BREATH_EFFECT = [
  514.   29,   #加尔
  515.   31,   #曼德拉
  516.   35,   #星星
  517.   36,   #眼睛
  518.   40,   #Dartam
  519.   44,   #大鹏金翅鸟
  520.   45,   #Dartam 左
  521.   46,   #Dartam 右
  522.   52,   # Tiamat 身体
  523.   53,   # Tiamat 头部 A
  524.   54,   # Tiamat 头部 B
  525.   55,   # Tiamat 头部 C
  526.   56    # 暗黑盖亚
  527.    ]
  528.  
  529. # 根据敌人HP的变焦效果(下降).
  530. HP_ZOOM_IN_EFFECT = [
  531.   32, #触角
  532.   38  #鬼魂
  533.    ]
  534.  
  535. # 根据敌人HP的变焦效果(上升).
  536. HP_ZOOM_OUT_EFFECT = [
  537. 41 #熔岩史莱姆
  538.    ]         
  539.  
  540. #==============================================================================#
  541. #.........................[身体方形(BODY SQUARE)]............................#
  542. #==============================================================================#
  543. #格式: A=>B                                                                    #
  544. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  545. # B = 身体方形                                                                 #
  546. #==============================================================================#
  547. #==============================================================================#
  548.  
  549.   BODY_SQUARE = {
  550.   18=>1, # 大Boss
  551.   25=>1, # 邪恶之树
  552.   27=>1, # 米莉亚
  553.   29=>3, # 加尔
  554.   31=>3, # 曼德拉
  555.   35=>2, # 星星
  556.   39=>1, # 鬼墙
  557.   40=>10,# Dartam
  558.   44=>1, # 大鹏金翅鸟
  559.   45=>1, # Dartam 左
  560.   46=>1, # Dartam 右
  561.   53=>1, # Tiamat 头部 A
  562.   54=>1, # Tiamat 头部 B
  563.   55=>2, # Tiamat 头部 C
  564.   56=>5  # 暗黑盖亚
  565.   }
  566.  
  567. #==============================================================================#
  568. #...................................[多重掉宝].................................#
  569. #==============================================================================#
  570. # 格式: A=>[B,C,D]                                                             #
  571. #                                                                              #
  572. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  573. # B = 宝物的类别:                                                              #
  574. # 0 = 物品                                                                     #
  575. # 1 = 武器                                                                     #
  576. # 2 = 防具                                                                     #
  577. # C = 物品的ID, 武器的ID 或者 防具的ID                                         #
  578. # D = 掉宝的概率                                                               #
  579. #==============================================================================#
  580. #==============================================================================#
  581.  
  582. ENEMY_MULTI_TREASURE = {
  583. 5=>[0,10,20],      #猎人
  584. 8=>[[0,5,20],[0,12,25],[0,13,20]],     #史莱姆
  585. 9=>[[0,1,20],[0,10,10],[0,14,25],[0,15,20]],     #膨胀史莱姆
  586. 10=>[[1,1,60],[1,4,50]],     #史莱姆王
  587. 12=>[0,16,100],  #Coguna
  588. 13=>[0,7,100],   #G毒蝎
  589. 15=>[[0,4,20],[0,5,20]],    #那加
  590. 16=>[[2,9,20],[2,10,100]],     #吸血鬼
  591. 20=>[[0,12,50],[0,13,50],[0,14,50],[0,15,50]],  #箱子 (物品型敌人)
  592. 21=>[[0,1,50],[0,3,50],[0,7,50]],     #M魔法箱子 (物品型敌人)
  593. 24=>[[0,12,50],[0,13,50],[0,14,50],[0,15,50]],  #火焰 (物品型敌人)
  594. 33=>[[0,15,30]]    #狼
  595. }
  596.  
  597. # 限制对敌人造成的最大伤害值
  598. # 格式: A=>B                                                                 
  599. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                  
  600. # B = 一次攻击可以造成的最大伤害                                                            
  601.   ENEMY_DAMAGE_LIMIT = {
  602.   }   
  603.  
  604. #==============================================================================#
  605. #.................................[攻击设置]...................................#
  606. #==============================================================================#
  607. # 格式: A=>B                                                                   #
  608. #                                                                              #
  609. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                                  #
  610. # B = 按百分比计算的伤害                                                       #
  611. #==============================================================================#
  612.  
  613. # 根据主角的...计算伤害的敌人
  614.  
  615. # ...根据当前的HP.
  616. ATTACK_HP_PERC = {
  617. 1=>10
  618. }   
  619.  
  620. # ...根据最大HP.
  621. ATTACK_MAXHP_PERC = {
  622. 39=>20, #鬼墙
  623. 47=>5   #尖钉
  624. }  
  625.  
  626. # ...根据当前的SP.
  627. ATTACK_SP_PERC = {
  628. 9=> 5   #膨胀史莱姆
  629. }   
  630.  
  631. # ...根据最大SP.
  632. ATTACK_MAXSP_PERC = {
  633. 14=>5,  #蝙蝠
  634. 19=>5   #恶魔之手
  635. }   
  636.  
  637. #==============================================================================#
  638.  
  639. # 当攻击主角时给主角附加状态的敌人.
  640. # 格式: A=>B                                                                                                                                             
  641. # A = 敌人的ID (顺序请参照数据库中敌人的排序)                  
  642. # B = 状态的ID (顺序请参照数据库中状态的排序)                                    
  643. ATTACK_ADD_STATES = {
  644.   }   
  645.  
  646. # 当敌人攻击时使你后退的格子
  647.   ATTACK_BLOW_POWER = {
  648.   9=>2,      #膨胀史莱姆
  649.   13=>3,     #G毒蝎
  650.   16=>5,     #暗黑骑士
  651.   39=>5,     #鬼墙
  652.   42=>5,     #真正的英雄
  653.   45=>3,     #Dartam 左手
  654.   46=>3      #Dartam 右手
  655.   }   
  656. # 当使用近身TOOL攻击这种敌人的时候会受到伤害
  657.   ENEMY_HIT_DAMAGE_REACTION = {
  658.   10=>5,    #史莱姆王
  659.   23=>10     #青蛙
  660.   }  
  661.  
  662. # 当时用近身TOOL攻击这种敌人的时候会被附加状态
  663.   ENEMY_HIT_ADDSTATES_REACTION = {
  664.   10=>13    #史莱姆王
  665.   }
  666.  
  667. # 攻击你时只会把你击退但是不造成伤害的敌人
  668.   ONLY_BLOW_EFFECT = [
  669.   ]
  670.  
  671. end
  672.  
  673. #==============================================================================#
  674.  
  675. module XAS_BA
  676.  
  677. # 受到伤害时是否跳跃....................................................[是/否]  
  678.   JUMP_HIT_HERO = true
  679. # 当主角的HP为0的时候是否游戏结束.......................................[是/否]
  680.   AUTOGAMEOVER = true
  681. # 用来控制游戏结束的开关ID...............................................[开关]  
  682.   GAMEOVER_SWITCH_ID = 4
  683. # 当受到伤害时是否制造闪光效果..........................................[是/否]
  684.   BLINK_ON = false
  685. # 当受到伤害后的无敌时间(按帧数计算)...................................[帧数]
  686.   INVICIBLE_DURATION_HERO = 40
  687. # 受到伤害后无法移动的时间...............................................[帧数]
  688.   KNOCK_BACK_DURATION_HERO = 30  
  689. # 你和敌人被击退的速度.
  690.   KNOCK_BACK_SPEED = 3  
  691. # 当主角升级的时候显示的文字.............................................[文字]
  692.   LEVEL_UP_TEXT = "等级提升!"
  693. # 当主角升级的时候播放的动画.............................................[动画]
  694.   LEVEL_ANIMATION_ID = 229
  695. # 当主角升级的时候播放的音效.............................................[音效]
  696.   LEVEL_UP_SE = RPG::AudioFile.new("Level_UP", 130, 100)
  697. # 升级是否回复HP和SP....................................................[是/否]
  698.   LEVELUP_RECOVER = true
  699. # 当主角升级的时候可以减速..............................................[是/否]
  700.   LEVEL_SLOW_MOTION = true
  701.  
  702. end

作者: yang1zhi    时间: 2016-11-7 01:31
本帖最后由 yang1zhi 于 2016-11-7 01:36 编辑

XAS - Defeat Process※
这个是你需要的


    if @battler_visible
      if @battler.damage == nil and @battler.dead?
        if @battler.is_a?(Game_Enemy) and
这里讲的是敌人的情况下。你可以再加个else判断不是敌人时。




执行公共事件:
$game_temp.common_event_id = 编号
作者: j296196585    时间: 2016-11-7 15:53
yang1zhi 发表于 2016-11-7 01:31
XAS - Defeat Process※
这个是你需要的

RUBY 代码复制
  1. #===============================================================================
  2. #===============================================================================
  3. # 击败过程/宝物/伤害弹窗
  4. #===============================================================================
  5. #===============================================================================
  6.  
  7.  
  8.  
  9. #===============================================================================
  10. # XAS - Character damage pop mechanism
  11. #===============================================================================
  12. module XRXS_DAMAGE_OFFSET
  13.  
  14.   #--------------------------------------------------------------------------
  15.   # 刷新
  16.   #--------------------------------------------------------------------------
  17.   def update
  18.     super
  19.     @damage_sprites   = [] if @damage_sprites.nil?
  20.     for damage_sprite in @damage_sprites
  21.       damage_sprite.x = self.x
  22.       damage_sprite.y = self.y
  23.     end
  24.   end
  25. end
  26.  
  27. #===============================================================================
  28. # Sprite_Character
  29. #===============================================================================
  30. class Sprite_Character < RPG::Sprite
  31.   include XRXS_DAMAGE_OFFSET
  32. end
  33.  
  34. #===============================================================================
  35. # module RPG
  36. #===============================================================================
  37. module RPG
  38.   class Sprite < ::Sprite   
  39.  
  40.   #--------------------------------------------------------------------------
  41.   # 崩坏
  42.   #--------------------------------------------------------------------------
  43.     def collapse
  44.       self.opacity = 255
  45.       @_collapse_duration = 70
  46.       @_whiten_duration = 0
  47.       @_appear_duration = 0
  48.       @_escape_duration = 0
  49.     end   
  50.   end
  51. end
  52.  
  53.  
  54. #===============================================================================
  55. # XRXS_CharacterDamagePop
  56. #===============================================================================
  57. module XRXS_CharacterDamagePop
  58.  
  59.   #--------------------------------------------------------------------------
  60.   # 崩坏效果刷新
  61.   #--------------------------------------------------------------------------
  62.   def collapse_effect_update
  63.      if @battler.is_a?(Game_Enemy) and
  64.         XAS_BA_ENEMY::ITEM_ENEMY.include?(@battler.id)
  65.         @character.opacity = 0
  66.      else
  67.         @character.opacity = 256 - (70 - @_collapse_duration) * 3
  68.         if @battler.is_a?(Game_Enemy) and
  69.            XAS_BA_ENEMY::COLLAPSE_ZOOM_A.include?(@battler.id)
  70.            self.zoom_x -= 0.02
  71.            self.zoom_y += 0.2
  72.         elsif @battler.is_a?(Game_Enemy) and
  73.            XAS_BA_ENEMY::COLLAPSE_ZOOM_B.include?(@battler.id)
  74.            self.zoom_x += 0.05
  75.            self.zoom_y -= 0.02              
  76.         elsif @battler.is_a?(Game_Enemy) and
  77.            XAS_BA_ENEMY::COLLAPSE_ZOOM_C.include?(@battler.id)         
  78.            self.zoom_x += 0.05
  79.            self.zoom_y += 0.05  
  80.         elsif @battler.is_a?(Game_Enemy) and
  81.            XAS_BA_ENEMY::COLLAPSE_ZOOM_D.include?(@battler.id)         
  82.            self.zoom_x -= 0.01
  83.            self.zoom_y -= 0.01  
  84.         elsif @battler.is_a?(Game_Enemy) and
  85.            XAS_BA_ENEMY::COLLAPSE_ZOOM_E.include?(@battler.id)         
  86.            if @_collapse_duration > 30
  87.               self.zoom_x += 0.04
  88.               self.zoom_y -= 0.02   
  89.            else
  90.               self.zoom_x -= 0.1
  91.               self.zoom_y += 0.5              
  92.            end                    
  93.         end   
  94.      end  
  95.   end      
  96.  
  97. #--------------------------------------------------------------------------
  98. # 声音刷新
  99. #--------------------------------------------------------------------------
  100. def voice_update
  101.    if @battler.is_a?(Game_Actor) and
  102.       $game_system.fly == false
  103.       #声音类型 -----------------------  
  104.       #击空
  105.       if @battler.damage == "Miss"
  106.             voice = XAS_VOICE::HEROMISS
  107.       #击败      
  108.       elsif @battler.damage.is_a?(Numeric) and
  109.             @battler.hp == 0
  110.             voice = XAS_VOICE::HERODEFEAT
  111.       #暴击
  112.       elsif @battler.critical == true and
  113.             voice = XAS_VOICE::HEROCRITICAL
  114.       #普通伤害     
  115.       elsif @battler.damage.is_a?(Numeric) and
  116.             @battler.damage.to_i > 0
  117.             voice = XAS_VOICE::HERODAMAGE
  118.       #升级      
  119.       elsif @battler.damage == XAS_BA::LEVEL_UP_TEXT
  120.             voice = XAS_VOICE::LEVEL_UP_VOICE
  121.       end  
  122.       #声音活跃 --------------------
  123.       if voice != nil
  124.          Audio.se_play("Audio/SE/" + voice[rand(voice.size)],130,100) rescue nil
  125.       end
  126.    else
  127.       #声音类型   
  128.       if @battler.critical == true and not
  129.          XAS_BA_ENEMY::ITEM_ENEMY.include?(@battler.id)
  130.          voice = XAS_VOICE::ENEMYCRITICAL
  131.       elsif @battler.damage.is_a?(Numeric) and
  132.             @battler.damage.to_i > 0 and
  133.             XAS_VOICE::ENEMY_DAMAGE.include?(@battler.id)   
  134.             voice = XAS_VOICE::ENEMY_DAMAGE[@battler.id]
  135.       end  
  136.       #声音活跃
  137.       if voice != nil
  138.             if voice != nil
  139.              Audio.se_play("Audio/SE/" + voice[rand(voice.size)],130,100) rescue nil
  140.             end  
  141.       end  
  142.    end      
  143. end  
  144.  
  145. #--------------------------------------------------------------------------
  146. # 刷新
  147. #--------------------------------------------------------------------------
  148.   def update
  149.     super   
  150.     if [url=home.php?mod=space&uid=133701]@battler[/url] == nil
  151.       return
  152.     end
  153.        @battler.hit_it -= 1 if @battler.hit_it > 0
  154.     if @character.collapse_duration != nil
  155.       if @character.collapse_duration > 0
  156.         collapse
  157.       end
  158.       @_collapse_duration = @character.collapse_duration
  159.     end   
  160.     @battler_visible = @character.battler_visible
  161.     @battler_visible = true if @battler_visible == nil   
  162.     if @battler.damage_pop
  163.        if XAS_ABS_SETUP::DAMAGE_POP == true
  164.        unless XAS_BA_ENEMY::ITEM_ENEMY.include?(@battler.id) or
  165.               @battler.no_damage == true         
  166.                if $xrxs_damage_pop != nil      
  167.                damage(@battler.damage, @battler.critical,@battler.state,@battler.item)
  168.                else
  169.                damage(@battler.damage, @battler.critical)
  170.                end     
  171.         end
  172.        end      
  173.        voice_update  
  174.        @battler.damage = nil
  175.        @battler.critical = false
  176.        @battler.damage_pop = false
  177.        if $xrxs_damage_pop != nil
  178.          @battler.state = false
  179.          @battler.item = false
  180.        end
  181.      end      
  182.     unless @battler_visible
  183.       if not @battler.hidden and not @battler.dead? and
  184.          (@battler.damage == nil or @battler.damage_pop)
  185.         appear
  186.         @battler_visible = true
  187.       end
  188.     end
  189.  
  190.     if @battler_visible
  191.       if @battler.damage == nil and @battler.dead?
  192.         if @battler.is_a?(Game_Enemy)
  193.           $game_system.se_play($data_system.enemy_collapse_se) if not XAS_BA_ENEMY::ITEM_ENEMY.include?(@battler.id)
  194.         else
  195.           $game_system.se_play($data_system.actor_collapse_se)
  196.         end
  197.         collapse
  198.         @battler_visible = false
  199.       end
  200.     else
  201.       if @_collapse_duration > 0
  202.          @_collapse_duration -= 1
  203.          collapse_effect_update
  204.         if @_collapse_duration == 0
  205.            @character.collapse_done = true
  206.         end
  207.       end
  208.     end
  209.     @character.collapse_duration = @_collapse_duration
  210.     @character.battler_visible   = @battler_visible
  211.   end
  212. end
  213.  
  214. #===============================================================================
  215. # Sprite_Character
  216. #===============================================================================
  217. class Sprite_Character < RPG::Sprite
  218.   include XRXS_CharacterDamagePop
  219. end
  220.  
  221. #===============================================================================
  222. # Game_Event
  223. #===============================================================================
  224. class Game_Event < Game_Character  
  225.  
  226. #--------------------------------------------------------------------------
  227. #敌人击败过程
  228. #--------------------------------------------------------------------------
  229.   def enemy_defeat_process(enemy)
  230.     last_level = $game_player.battler.level
  231.     $game_party.gain_exp(enemy.exp)
  232.     $game_party.gain_gold(enemy.gold)
  233.       if $mog_rgss_ap_parameter != nil
  234.       $game_party.gain_ap(enemy.ap)        
  235.       end      
  236.     if last_level < $game_player.battler.level
  237.       $game_system.se_play(XAS_BA::LEVEL_UP_SE)
  238.       $game_player.battler.damage = XAS_BA::LEVEL_UP_TEXT
  239.       $game_player.battler.damage_pop = true
  240.       $game_player.need_refresh = true
  241.       $game_player.animation_id = XAS_BA::LEVEL_ANIMATION_ID
  242.       $game_temp.ifw_text = "Level UP!!!   -   L " +  $game_player.battler.level.to_s
  243.       $game_temp.ifw_active = true   
  244.       $game_temp.slow_motion = 30 if XAS_BA::LEVEL_SLOW_MOTION == true
  245.       if XAS_BA::LEVELUP_RECOVER == true
  246.         actor = $game_party.actors[0]
  247.         actor.hp = actor.maxhp
  248.         actor.sp = actor.maxsp      
  249.       end
  250.     end
  251.     id = XAS_BA::DEFEAT_NUMBER_ID
  252.     $game_variables[id] += 1 if id != 0
  253.     switch_id = XAS_BA_ENEMY::DEFEAT_SWITCH_IDS[self.enemy_id]
  254.     jumpa(0,0,20) if XAS_BA_ENEMY::COLLAPSE_JUMP == true
  255.     if switch_id != nil
  256.       $game_switches[switch_id] = true
  257.       $game_map.refresh
  258.     end
  259.   end
  260. end
  261.  
  262. #===============================================================================
  263. # Game_Party
  264. #===============================================================================
  265. class Game_Party
  266.  
  267. #--------------------------------------------------------------------------
  268. # 获得经验
  269. #--------------------------------------------------------------------------
  270.   def gain_exp(exp)
  271.     for i in 0...$game_party.actors.size
  272.       actor = $game_party.actors[i]
  273.       if actor.cant_get_exp? == false
  274.         actor.exp += exp
  275.       end
  276.     end
  277.   end
  278. end
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285. #===============================================================================
  286. #===============================================================================
  287. #   宝物
  288. #===============================================================================
  289. #===============================================================================
  290.  
  291.  
  292.  
  293. #===============================================================================
  294. # XAS_BA_ItemDrop
  295. #===============================================================================
  296. module XAS_BA_ItemDrop
  297.  
  298.   #--------------------------------------------------------------------------
  299.   # 击败过程
  300.   #--------------------------------------------------------------------------
  301.   def defeat_process
  302.     super   
  303.     if self.battler.is_a?(Game_Enemy) and self.battler.dead? and
  304.       $game_map.passable?(self.x, self.y,2) and
  305.        terrain_tag != XAS::FALL_TERRAIN   
  306.       treasure = nil      
  307.       enemy = self.battler
  308.       if rand(100) < enemy.treasure_prob and
  309.         self.battler.steal == false        
  310.         if enemy.item_id > 0
  311.           treasure = $data_items[enemy.item_id]
  312.         end
  313.         if enemy.weapon_id > 0
  314.           treasure = $data_weapons[enemy.weapon_id]
  315.         end
  316.         if enemy.armor_id > 0
  317.           treasure = $data_armors[enemy.armor_id]
  318.         end
  319.       else  
  320.       # 多重掉落  
  321.       tesouro = XAS_BA_ENEMY::ENEMY_MULTI_TREASURE[enemy.id]
  322.       if tesouro != nil
  323.         item_2treasure = tesouro[rand(tesouro.size)]        
  324.       end     
  325.       if item_2treasure != nil
  326.          treasure_type = item_2treasure[0]
  327.          treasure_id = item_2treasure[1]
  328.          treasure_prob = item_2treasure[2]        
  329.          if rand(100) < treasure_prob
  330.             if treasure_type == 0
  331.                treasure = $data_items[treasure_id]   
  332.             end
  333.             if treasure_type == 1
  334.                treasure = $data_weapons[treasure_id]
  335.             end
  336.             if treasure_type == 2
  337.                treasure = $data_armors[treasure_id]
  338.             end           
  339.          end
  340.       end  
  341.      end           
  342.       if treasure != nil
  343.         item_se = XAS::ITEMDROP_SE
  344.         opecode = treasure.is_a?(RPG::Item) ? 126 :
  345.                   treasure.is_a?(RPG::Weapon) ? 127 :
  346.                   treasure.is_a?(RPG::Armor) ? 128 :
  347.                   nil
  348.         list = []
  349.         if opecode != nil
  350.           item_number = XAS::ITEM_NUMBER[treasure.id]   
  351.           if item_number != nil and treasure.is_a?(RPG::Item)
  352.           list[0] = RPG::EventCommand.new(opecode, 0, [treasure.id,0,0,item_number])
  353.           else
  354.           list[0] = RPG::EventCommand.new(opecode, 0, [treasure.id,0,0,1])
  355.           end
  356.           list[1] = RPG::EventCommand.new(250, 0, [item_se])
  357.           list[2] = RPG::EventCommand.new(116, 0, [])         
  358.         end
  359.         list.push(RPG::EventCommand.new)
  360.         command = RPG::MoveCommand.new
  361.         command.code = 14
  362.         command.parameters = [0,0]
  363.         route = RPG::MoveRoute.new
  364.         route.repeat = false
  365.         route.list = [command, RPG::MoveCommand.new]
  366.         page = RPG::Event::Page.new
  367.         page.move_type = 3
  368.         page.move_route = route
  369.         page.move_frequency = 6
  370.         page.always_on_top = true
  371.         page.trigger = 1
  372.         page.list = list
  373.         page.through = true
  374.         page.condition.variable_id = 10000
  375.         page.condition.variable_value = 100 + (40 * MOG::XAS_ICON_ERASE_TIME)
  376.         event = RPG::Event.new(self.x, self.y)
  377.         event.pages = [page]
  378.         token = Token_Event.new($game_map.id, event)
  379.         token.icon_name = treasure.icon_name
  380.         $game_map.add_token(token)
  381.         end
  382.     end
  383.   end
  384. end
  385.  
  386. #===============================================================================
  387. # Game_Event
  388. #===============================================================================
  389. class Game_Event < Game_Character
  390.   include XAS_BA_ItemDrop
  391. end
  392.  
  393. #===============================================================================
  394. # Game_Character
  395. #===============================================================================
  396. class Game_Character
  397.   attr_accessor :icon_name
  398. end
  399.  
  400.  
  401. #===============================================================================
  402. # Sprite_Character
  403. #===============================================================================
  404. class Sprite_Character < RPG::Sprite
  405.     attr_accessor :sprite_frames
  406.     attr_accessor :sprite_frames_refresh
  407.     attr_accessor :sprite_frames_blink  
  408.     attr_accessor :sprite_y
  409.  
  410. #--------------------------------------------------------------------------
  411. # 初始化
  412. #--------------------------------------------------------------------------
  413. def initialize(viewport, character = nil)
  414. super(viewport)
  415.     [url=home.php?mod=space&uid=2631396]@character[/url] = character
  416.     @sprite_frames = 0
  417.     @sprite_frames_refresh = 0
  418.     @sprite_frames_blink = 0
  419.     @sprite_y = 0
  420. end
  421.  
  422. #--------------------------------------------------------------------------
  423. # 浮动图标刷新
  424. #--------------------------------------------------------------------------
  425. def icon_float_update(icon_ch)
  426.   if MOG::XAS_ICON_FLOAT == true
  427.      self.sprite_y += 1
  428.      if self.sprite_y < 3
  429.           self.oy = icon_ch + 1
  430.         elsif self.sprite_y < 6
  431.           self.oy = icon_ch + 2
  432.         elsif self.sprite_y < 9
  433.           self.oy = icon_ch + 3
  434.         elsif self.sprite_y < 12
  435.           self.oy = icon_ch + 4
  436.         elsif self.sprite_y < 15
  437.           self.oy = icon_ch + 3
  438.         elsif self.sprite_y < 18
  439.           self.oy = icon_ch + 2
  440.         elsif self.sprite_y < 21
  441.           self.oy = icon_ch + 1
  442.         else
  443.           self.oy = icon_ch
  444.           self.sprite_y = 0
  445.         end
  446.     else
  447.       self.oy = icon_ch
  448.     end
  449. end
  450.  
  451. #--------------------------------------------------------------------------
  452. # 闪烁图标刷新
  453. #--------------------------------------------------------------------------
  454. def icon_blink_update
  455.   if MOG::XAS_ITEM_BLINK == true
  456.      self.sprite_frames_blink += 1
  457.      if self.sprite_frames_blink > 30
  458.         self.sprite_frames_blink = 0  
  459.      end
  460.      if self.sprite_frames_blink > 15
  461.         self.opacity = 255
  462.      else
  463.         self.opacity = 125  
  464.      end      
  465.   end  
  466. end
  467.  
  468. #--------------------------------------------------------------------------
  469. # 刷新
  470. #--------------------------------------------------------------------------
  471. alias xrxs_charactericon_update update
  472. def update
  473.     xrxs_charactericon_update
  474.     if @character.throw_on == true
  475.        self.z = $game_player.screen_z + 32 + $game_temp.extra_z
  476.     else  
  477.        self.z = @character.screen_z(@ch) + $game_temp.extra_z  
  478.     end            
  479.     if @character.is_a?(Game_Player)
  480.        if $game_system.fly == true
  481.           self.z = 999 + $game_temp.extra_z
  482.        else  
  483.           self.z = @character.screen_z(@ch) + $game_temp.extra_z
  484.        end
  485.     end  
  486.     if @character.icon_name != nil
  487.       @icon_name = @character.icon_name
  488.       self.bitmap = RPG::Cache.icon(@icon_name)
  489.       self.src_rect.set(0, 0, 24, 24)
  490.       self.ox = 12
  491.       self.oy = 24
  492.       self.z = 1
  493.     end
  494.     self.sprite_frames_refresh += 1   
  495.     if self.sprite_frames_refresh > MOG::XAS_ICON_REF
  496.        self.sprite_frames += 1
  497.        self.sprite_frames_refresh = 0
  498.     end   
  499.     if @character.icon_name != nil
  500.     @icon_name = @character.icon_name
  501.     self.bitmap = RPG::Cache.icon(@icon_name)
  502.     icon_cw = self.bitmap.width
  503.     icon_ch = self.bitmap.height
  504.     icon_react_x = self.bitmap.height * self.sprite_frames
  505.     if icon_react_x < icon_cw
  506.       self.src_rect.set(icon_react_x, 0, icon_ch, icon_ch)
  507.       else
  508.       self.src_rect.set(0, 0, icon_ch, icon_ch)  
  509.       self.sprite_frames = 0
  510.     end
  511.     self.ox = icon_ch / 2
  512.     icon_float_update(icon_ch)
  513.     icon_blink_update
  514.     end   
  515.     end
  516. end
  517.  
  518.  
  519. #===============================================================================
  520. # Interpreter
  521. #===============================================================================
  522.  
  523. class Interpreter
  524.  
  525. #--------------------------------------------------------------------------
  526. # Command_126 (物品)
  527. #--------------------------------------------------------------------------
  528. def command_126
  529.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  530.     $game_party.gain_item(@parameters[0], value)   
  531.     gold_effect = XAS::ITEM_GOLD_EFFECT[@parameters[0]]   
  532.     exp_effect = XAS::ITEM_EXP_EFFECT[@parameters[0]]
  533.     ap_effect = XAS::ITEM_AP_EFFECT[@parameters[0]]
  534.     condition_effect = XAS::ITEM_CONDITION_EFFECT[@parameters[0]]
  535.     recover_hp_perc_effect = XAS::ITEM_DAMAGE_HP_PERC_EFFECT[@parameters[0]]
  536.     recover_sp_perc_effect = XAS::ITEM_DAMAGE_SP_PERC_EFFECT[@parameters[0]]   
  537.     actor = $game_party.actors[0]  
  538.     if gold_effect != nil
  539.        damage_item = gold_effect.to_s + " " + $data_system.words.gold  
  540.        $game_party.gain_gold(gold_effect)
  541.        $game_party.lose_item(@parameters[0], value)
  542.     elsif exp_effect != nil
  543.        damage_item = "EXP" + " " + exp_effect.to_s
  544.        last_level = actor.level      
  545.        actor.exp += exp_effect
  546.        if last_level < actor.level
  547.           $game_system.se_play(XAS_BA::LEVEL_UP_SE)
  548.           $game_player.battler.damage = XAS_BA::LEVEL_UP_TEXT
  549.           $game_player.battler.damage_pop = true
  550.           $game_player.need_refresh = true
  551.           $game_player.animation_id = XAS_BA::LEVEL_ANIMATION_ID
  552.           $game_temp.ifw_text = "Level UP!!!   -   L " +  actor.level.to_s
  553.           $game_temp.ifw_active = true   
  554.           $game_temp.slow_motion = 30 if XAS_BA::LEVEL_SLOW_MOTION == true
  555.           if XAS_BA::LEVELUP_RECOVER == true
  556.               actor = $game_party.actors[0]
  557.               actor.hp = actor.maxhp
  558.               actor.sp = actor.maxsp      
  559.           end            
  560.         end  
  561.         $game_party.lose_item(@parameters[0], value)   
  562.     elsif ap_effect != nil and $mog_rgss_ap_parameter != nil
  563.        damage_item = ap_effect.to_s + " " + MOG::AP_NAME
  564.        $game_party.gain_ap(ap_effect)
  565.        $game_party.lose_item(@parameters[0], value)
  566.     elsif condition_effect != nil
  567.        damage_item = ""
  568.        actor.add_state(condition_effect)
  569.        $game_party.lose_item(@parameters[0], value)
  570.     elsif recover_hp_perc_effect != nil
  571.        damage = actor.maxhp * recover_hp_perc_effect / 100
  572.        damage_item = damage
  573.        actor.hp -= damage         
  574.        $game_party.lose_item(@parameters[0], value)
  575.     elsif recover_sp_perc_effect != nil
  576.        damage = actor.maxsp * recover_sp_perc_effect / 100
  577.        damage_item = $data_system.words.sp + " " + damage.to_s
  578.        actor.sp -= damage
  579.        $game_party.lose_item(@parameters[0], value)
  580.     end   
  581.        animation_item = XAS::ITEM_ANIMATION_ID[@parameters[0]]
  582.        @actor = $game_party.actors[0]      
  583.     unless $game_temp.message_window_showing or
  584.        @actor == nil   
  585.        item_name = load_data("Data/Items.rxdata")  
  586.        if damage_item != nil         
  587.           $game_player.battler.damage = damage_item
  588.           $game_player.battler.damage_pop = true  
  589.        elsif MOG::XAS_ITEM_NAME_POP == true         
  590.           $game_player.battler.damage = value.to_s + "   x   "+ item_name[@parameters[0]].name rescue nil
  591.           $game_player.battler.damage_pop = true rescue nil
  592.           $game_player.battler.item = true
  593.        end     
  594.        if $mog_rgss_active_hud != nil and
  595.           damage_item == nil            
  596.           $game_temp.hud_face_type = 1
  597.           $game_temp.hud_face_refresh = true
  598.           $game_temp.hud_face_time = 0
  599.           $game_temp.hud_face_time2 = 30
  600.        end        
  601.        if $mog_rgss_xas_action_name != nil
  602.           if damage_item == nil  
  603.            $game_temp.if_text = "Got  " +  value.to_s +  "   x   " + item_name[@parameters[0]].name
  604.            $game_temp.if_text_time = 40 * MOG::IFA_TIME
  605.            $game_temp.if_start = true     
  606.           elsif gold_effect != nil
  607.            $game_temp.if_text = "Got  " +  gold_effect.to_s + " " +$data_system.words.gold   
  608.            $game_temp.if_text_time = 40 * MOG::IFA_TIME
  609.            $game_temp.if_start = true               
  610.           end
  611.        end
  612.        if animation_item != nil
  613.           $game_player.animation_id = animation_item
  614.        end
  615.       end
  616.     return true
  617.   end  
  618.  
  619. #--------------------------------------------------------------------------
  620. # Command_127 (武器)
  621. #--------------------------------------------------------------------------
  622. alias mog_xas_ani_item_command_127 command_127
  623. def command_127
  624.    mog_xas_ani_item_command_127
  625.    @actor = $game_party.actors[0]
  626.    if @actor != nil   
  627.       if $mog_rgss_xas_action_name != nil
  628.          value = operate_value(@parameters[1], @parameters[2], @parameters[3])  
  629.          item_name = load_data("Data/Weapons.rxdata")
  630.          $game_temp.if_text = "Got  " +  value.to_s +  "   x   " + item_name[@parameters[0]].name
  631.          $game_temp.if_text_time = 40 * MOG::IFA_TIME
  632.          $game_temp.if_start = true     
  633.        end
  634.        if MOG::XAS_ITEM_NAME_POP == true
  635.           value = operate_value(@parameters[1], @parameters[2], @parameters[3])  
  636.           item_name = load_data("Data/Weapons.rxdata")
  637.           $game_player.battler.damage = value.to_s + " x "+ item_name[@parameters[0]].name rescue nil
  638.           $game_player.battler.damage_pop = true rescue nil
  639.           $game_player.battler.item = true rescue nil
  640.        end  
  641.     end
  642.   end  
  643.  
  644. #--------------------------------------------------------------------------
  645. # Command_128 (防具)
  646. #--------------------------------------------------------------------------
  647.   alias mog_xas_ani_item_command_128 command_128
  648.   def command_128
  649.     mog_xas_ani_item_command_128
  650.     @actor = $game_party.actors[0]
  651.     if @actor != nil
  652.        if $mog_rgss_xas_action_name != nil
  653.           value = operate_value(@parameters[1], @parameters[2], @parameters[3])  
  654.           item_name = load_data("Data/Armors.rxdata")
  655.           $game_temp.if_text = "Got  " +  value.to_s +  "   x   " + item_name[@parameters[0]].name
  656.           $game_temp.if_text_time = 40 * MOG::IFA_TIME
  657.           $game_temp.if_start = true     
  658.         end   
  659.         if MOG::XAS_ITEM_NAME_POP == true      
  660.            value = operate_value(@parameters[1], @parameters[2], @parameters[3])      
  661.            item_name = load_data("Data/Armors.rxdata")
  662.            $game_player.battler.damage = value.to_s + " x "+ item_name[@parameters[0]].name rescue nil
  663.            $game_player.battler.damage_pop = true rescue nil
  664.            $game_player.battler.item = true rescue nil
  665.         end  
  666.      end
  667.    end
  668.  
  669. end





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