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

Project1

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

探查技能加强

 关闭 [复制链接]

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

跳转到指定楼层
1
发表于 2008-1-27 16:17:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
其实也没什麽,也就是把这个脚本加强了功能而已

http://rpg.blue/web/htm/news935.htm

   加强部分:
   1. 敌人的属性为[王]的话,HP和SP不会显示,直到HP少於一半才会显示。
      [王]的属性ID为夹在自然属性和种族属性中间的属性
   2. 用变数做技能等级,可以直接用事件升级、降级。
   3. 可以设置不同能力所需要的等级。等级不够时显示为????。

原作者:绿发的Eclair


  1. #==============================================================================
  2. #   探查技能  BY绿发的Eclair
  3. #------------------------------------------------------------------------------  
  4. #   使用方法:在数据库中设定一个叫“探查”的状态(想要用别的名字在下面改啦~)
  5. #   然后把想要做成有探查效果的特技或物品附加这个状态。就这样简单~~
  6. #   修改自然属性的个数在第16行。
  7. #==============================================================================
  8. #   探查技能加强  BY snstar2006
  9. #------------------------------------------------------------------------------  
  10. #   加强部分:
  11. #   1. 敌人的属性为[王]的话,HP和SP不会显示,直到HP少於一半才会显示。
  12. #      [王]的属性ID为夹在自然属性和种族属性中间的属性
  13. #   2. 用变数做技能等级,可以直接用事件升级、降级。
  14. #   3. 可以设置不同能力所需要的等级。等级不够时显示为????。
  15. #==============================================================================
  16. $探查状态名 = "探查"         # 探查状态的名字
  17. $eye_level = 1               # 探查技能等级的变数ID

  18. # 探查能力的等级
  19. $eye_level_ability = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
  20. # 依次为:
  21. # 0->名称 、1->HP+SP、2->HP+SP Max、3->种族、
  22. # 4->经验 、5->金钱 、6->掉落物   、7->攻击、
  23. # 8->物防 、9->魔防 、10->力量    、11->灵巧、
  24. # 12->速度、13->魔力、14->属性有效度

  25. $text_4_unknown = "????" # 未知时的文字

  26. class Window_cateyes < Window_Base
  27.   def initialize
  28.     super(120,40,400,400)
  29.     self.contents = Bitmap.new(width - 32, height - 32)
  30.     self.visible = false
  31.     self.z = 9999
  32.     self.back_opacity = 160  #信息窗口的透明度
  33.     @element          = 8    #自然属性个数
  34.   end
  35.   def set_target(target)
  36.     self.contents.clear
  37.     self.visible = true
  38.     @target = target
  39.    
  40.     # 检验是否显示HP/SP
  41.     if @target.element_rate(@element+1) > 100
  42.       if (@target.hp)<=(@target.maxhp/2)
  43.         @show_hsp = true
  44.       else
  45.         @show_hsp = false
  46.       end
  47.     else
  48.       @show_hsp = true
  49.     end
  50.    
  51.     if $game_variables[$eye_level] >= $eye_level_ability[0]
  52.       self.contents.draw_text(10,10,360-32,32,"#{@target.name}",0)
  53.     else
  54.       self.contents.draw_text(10,10,360-32,32,$text_4_unknown,0)
  55.     end
  56.         
  57.     # 描绘HP
  58.     draw_actor_hp(@target,10,100 - 32 - 25,160)
  59.     # 描绘SP
  60.     draw_actor_sp(@target,10,100 - 32,160)
  61.    
  62.     # 描绘种族
  63.     self.contents.font.color = system_color
  64.     self.contents.draw_text(10,100,180,32,"种族",0)
  65.     self.contents.font.color = normal_color
  66.     for i in @element + 2..$data_system.elements.size - 1
  67.       if @target.element_rate(i) > 100
  68.         race = $data_system.elements[i]
  69.         break
  70.       end
  71.     end
  72.     if $game_variables[$eye_level] >= $eye_level_ability[3]
  73.       self.contents.draw_text(70,100,100,32,race,2)
  74.     else
  75.       self.contents.draw_text(70,100,100,32,$text_4_unknown,2)
  76.     end
  77.    
  78.     # 目标是敌方角色的场合
  79.     if @target.is_a?(Game_Enemy)
  80.       # 描绘经验
  81.       self.contents.font.color = system_color  
  82.       self.contents.draw_text(190,100 - 32 - 25,180-32,32,"经验",0)
  83.       self.contents.font.color = normal_color
  84.       if $game_variables[$eye_level] >= $eye_level_ability[4]
  85.         self.contents.draw_text(190,100 - 32 - 25,180 - 32,32,"#{@target.exp}",2)
  86.       else
  87.         self.contents.draw_text(190,100 - 32 - 25,180 - 32,32,$text_4_unknown,2)
  88.       end
  89.       # 描绘金钱
  90.       self.contents.font.color = system_color  
  91.       self.contents.draw_text(190,100 - 32 ,180-32,32,$data_system.words.gold,0)
  92.       self.contents.font.color = normal_color
  93.       if $game_variables[$eye_level] >= $eye_level_ability[5]
  94.         self.contents.draw_text(190,100 - 32,180-32,32,"#{@target.gold}",2)
  95.       else
  96.         self.contents.draw_text(190,100 - 32,180-32,32,$text_4_unknown,2)
  97.       end
  98.       # 描绘掉落物
  99.       self.contents.font.color = system_color  
  100.       self.contents.draw_text(190,100 ,180,32,"掉落",0)
  101.       self.contents.font.color = normal_color
  102.       if $game_variables[$eye_level] >= $eye_level_ability[6]
  103.         draw_item_name($data_items[@target.item_id],197,57 + 25 + 25 + 25) if @target.item_id > 0
  104.         draw_item_name($data_weapons[@target.weapon_id],197,57 + 25 + 25 + 25) if @target.weapon_id > 0
  105.         draw_item_name($data_armors[@target.armor_id],197,57 + 25 + 25 + 25) if @target.armor_id > 0
  106.       else
  107.         self.contents.draw_text(197,57 + 75,180-32,32,$text_4_unknown,2)
  108.       end
  109.     end
  110.    
  111.     # 描绘攻击
  112.     if $game_variables[$eye_level] >= $eye_level_ability[7]
  113.       draw_actor_parameter(@target, 10, 112 + 20, 0)
  114.     else
  115.       draw_actor_parameter_u(10, 112 + 20, 0)
  116.     end
  117.     # 描绘物理防御
  118.     if $game_variables[$eye_level] >= $eye_level_ability[8]
  119.       draw_actor_parameter(@target, 10, 144 + 20, 1)
  120.     else
  121.       draw_actor_parameter_u(10, 144 + 20, 1)
  122.     end
  123.     # 描绘魔法防御
  124.     if $game_variables[$eye_level] >= $eye_level_ability[9]
  125.       draw_actor_parameter(@target, 10, 176 + 20, 2)
  126.     else
  127.       draw_actor_parameter_u(10, 176 + 20, 2)
  128.     end
  129.     # 描绘力量
  130.     if $game_variables[$eye_level] >= $eye_level_ability[10]
  131.       draw_actor_parameter(@target, 10, 208 + 20, 3)
  132.     else
  133.       draw_actor_parameter_u(10, 208 + 20, 3)
  134.     end
  135.     # 描绘灵巧
  136.     if $game_variables[$eye_level] >= $eye_level_ability[11]
  137.       draw_actor_parameter(@target, 10, 240 + 20, 4)
  138.     else
  139.       draw_actor_parameter_u(10, 240 + 20, 4)
  140.     end
  141.     # 描绘速度
  142.     if $game_variables[$eye_level] >= $eye_level_ability[12]
  143.       draw_actor_parameter(@target, 10, 272 + 20, 5)
  144.     else
  145.       draw_actor_parameter_u(10, 272 + 20, 5)
  146.     end
  147.     # 描绘魔力
  148.     if $game_variables[$eye_level] >= $eye_level_ability[13]
  149.       draw_actor_parameter(@target, 10, 304 + 20, 6)
  150.     else
  151.       draw_actor_parameter_u(10, 304 + 20, 6)
  152.     end
  153.    
  154.     # 描绘属性抵抗度
  155.     self.contents.font.color = system_color
  156.     self.contents.draw_text(190,153 + 12,180,32,"属性抵抗",0)
  157.     self.contents.font.color = normal_color
  158.     num = @element_max == 0 ? $data_system.elements.size : @element_max
  159.     y = 0
  160.     weaker = ""
  161.     weak = ""
  162.     resist = ""
  163.     guard = ""
  164.     recover = ""
  165.     race = ""
  166.     for i in 1..@element
  167.       case @target.element_rate(i)
  168.       when 151..200
  169.         weaker += $data_system.elements[i]
  170.       when 101..150
  171.         weak +=   $data_system.elements[i]
  172.       when 1..99
  173.         resist += $data_system.elements[i]
  174.       when 0
  175.         guard += $data_system.elements[i]
  176.       when -200..-1
  177.         recover += $data_system.elements[i]
  178.       end
  179.     end
  180.     if $game_variables[$eye_level] >= $eye_level_ability[14]
  181.       if weaker != ""
  182.         weaker += "超弱"
  183.         self.contents.draw_text(190,153 + 32+ 12,180,32,weaker,0)
  184.         y += 1
  185.       end
  186.       if weak != ""
  187.         weak += "弱点"
  188.         self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,weak,0)
  189.         y += 1
  190.       end
  191.       if resist != ""
  192.         resist += "抵抗"
  193.         self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,resist,0)
  194.         y += 1
  195.       end
  196.       if guard != ""
  197.         guard += "无效"
  198.         self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,guard,0)
  199.         y += 1
  200.       end
  201.       if recover != ""
  202.         recover += "吸收"
  203.         self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,recover,0)
  204.       end
  205.     else
  206.       self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,$text_4_unknown,0)
  207.     end
  208.    
  209.   end
  210.   def draw_item_name(item, x, y)
  211.     if item == nil
  212.       return
  213.     end
  214.     bitmap = RPG::Cache.icon(item.icon_name)
  215.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  216.     self.contents.font.color = normal_color
  217.     self.contents.draw_text(x + 28, y, 150, 32, item.name)
  218.   end
  219.   
  220.   def draw_actor_parameter_u(x, y, type)
  221.     case type
  222.     when 0
  223.       parameter_name = $data_system.words.atk
  224.     when 1
  225.       parameter_name = $data_system.words.pdef
  226.     when 2
  227.       parameter_name = $data_system.words.mdef
  228.     when 3
  229.       parameter_name = $data_system.words.str
  230.     when 4
  231.       parameter_name = $data_system.words.dex
  232.     when 5
  233.       parameter_name = $data_system.words.agi
  234.     when 6
  235.       parameter_name = $data_system.words.int
  236.     end
  237.     self.contents.font.color = system_color
  238.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  239.     self.contents.font.color = normal_color
  240.     self.contents.draw_text(x + 120, y, 36, 32, $text_4_unknown, 2)
  241.   end
  242.   def draw_actor_hp(actor, x, y, width = 144)
  243.     # Draw "HP" text string
  244.     self.contents.font.color = system_color
  245.     self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
  246.     # Calculate if there is draw space for MaxHP
  247.     if width - 32 >= 108
  248.       hp_x = x + width - 108
  249.       flag = true
  250.     elsif width - 32 >= 48
  251.       hp_x = x + width - 48
  252.       flag = false
  253.     end
  254.     # Draw HP
  255.     self.contents.font.color = actor.hp == 0 ? knockout_color :
  256.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  257.     if $game_variables[$eye_level] >= $eye_level_ability[1] and @show_hsp
  258.       self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
  259.     else
  260.       self.contents.draw_text(hp_x, y, 48, 32, $text_4_unknown, 2)
  261.     end
  262.     # Draw MaxHP
  263.     if flag
  264.       self.contents.font.color = normal_color
  265.       self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
  266.       if $game_variables[$eye_level] >= $eye_level_ability[2] and @show_hsp
  267.         self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
  268.       else
  269.         self.contents.draw_text(hp_x + 60, y, 48, 32, $text_4_unknown)
  270.       end
  271.     end
  272.   end
  273.   def draw_actor_sp(actor, x, y, width = 144)
  274.     # Draw "SP" text string
  275.     self.contents.font.color = system_color
  276.     self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
  277.     # Calculate if there is draw space for MaxHP
  278.     if width - 32 >= 108
  279.       sp_x = x + width - 108
  280.       flag = true
  281.     elsif width - 32 >= 48
  282.       sp_x = x + width - 48
  283.       flag = false
  284.     end
  285.     # Draw SP
  286.     self.contents.font.color = actor.sp == 0 ? knockout_color :
  287.     actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  288.     if $game_variables[$eye_level] >= $eye_level_ability[1] and @show_hsp
  289.       self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
  290.     else
  291.       self.contents.draw_text(sp_x, y, 48, 32, $text_4_unknown, 2)
  292.     end
  293.     # Draw MaxSP
  294.     if flag
  295.       self.contents.font.color = normal_color
  296.       self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
  297.       if $game_variables[$eye_level] >= $eye_level_ability[2] and @show_hsp
  298.         self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
  299.       else
  300.         self.contents.draw_text(sp_x + 60, y, 48, 32, $text_4_unknown)
  301.       end
  302.     end
  303.   end
  304. end
  305. class Scene_Battle
  306.   alias update_phase4_step5_eclair2 :update_phase4_step5
  307.   def update_phase4_step5
  308.     for i in 1..$data_states.size - 1
  309.       if $data_states[i].name == $探查状态名
  310.         $探查状态ID = i
  311.         break
  312.       end
  313.     end
  314.     if (@active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].plus_state_set.include?($探查状态ID)) or (@active_battler.current_action.kind == 2 and $data_items[@active_battler.current_action.skill_id].plus_state_set.include?($探查状态ID))
  315.       @eye_window = Window_cateyes.new
  316.     for target in @target_battlers
  317.     target.damage = ""
  318.     @eye_window.set_target(target)
  319.     for i in 0...120
  320.     Input.update
  321.     @eye_window.update
  322.     Graphics.update
  323.     @spriteset.update
  324.     if Input.trigger?(Input::C) or Input.trigger?(Input::B)
  325.     $game_system.se_play($data_system.decision_se)
  326.     break  
  327.     end
  328.     end
  329.   end
  330.     @eye_window.dispose
  331.     @eye_window = nil
  332. end
  333.     update_phase4_step5_eclair2
  334.   end
  335. end  
  336. #==============================================================================
  337. #   探查技能  BY绿发的Eclair
  338. #   加強      BY snstar2006
  339. #==============================================================================
复制代码

VA脚本开工中...
偷窃脚本1.0 - 已完成
头像被屏蔽

Lv1.梦旅人 (禁止发言)

Mars-火星机械

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-15
帖子
2713
2
发表于 2008-1-27 17:21:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

3
 楼主| 发表于 2008-1-27 17:49:12 | 只看该作者
是绿发的脚本没错(我可是有标明原作者喔!!)
我只是加了一些分岐,让它有等级的效果而已
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

Mars-火星机械

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-15
帖子
2713
4
发表于 2008-1-27 18:17:01 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

5
 楼主| 发表于 2008-1-27 19:32:19 | 只看该作者
多谢LS的提醒,已经修改好了
不过因为我正在把那个脚本和其他脚本整合在一起
所以晚些在贴上来
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

心无天使

梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-12-15
帖子
1016
6
发表于 2008-1-28 03:07:17 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

7
 楼主| 发表于 2008-1-28 03:43:38 | 只看该作者
哇~~原作者出现了{/qiao}

现在要战战兢兢的改了{/fendou}

我现在正在把这个脚本和另外一个稍微有冲突的脚本整合

呃~还有就是现在正在改绿发的另一个脚本{/tp}

飞飞…(消失中)
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

8
 楼主| 发表于 2008-1-30 07:55:59 | 只看该作者
完成!!
探查+偷窃+四格掉宝

可探查怪物身上所能偷窃的宝物,不能被偷窃的宝物用四格掉宝来掉

探查与偷窃部分是修改绿发的脚本
掉宝部分是修改SailCat大的脚本

探查部分:
  1. #==============================================================================
  2. #   探查技能  BY绿发的Eclair
  3. #------------------------------------------------------------------------------  
  4. #   使用方法:在数据库中设定一个叫“探查”的状态(想要用别的名字在下面改啦~)
  5. #   然后把想要做成有探查效果的特技或物品附加这个状态。就这样简单~~
  6. #   修改自然属性的个数在第16行。
  7. #==============================================================================
  8. #   探查技能加强  BY snstar2006
  9. #------------------------------------------------------------------------------  
  10. #   加强部分:
  11. #   1. 敌人的属性为[王]的话,HP和SP不会显示,直到HP少於一半才会显示。
  12. #   2. 用变数做技能等级,可以直接用事件升级、降级。
  13. #   3. 可以设置不同能力所需要的等级。等级不够时显示为????。
  14. #   4. 设置为四格掉宝内的宝物看不见。
  15. #==============================================================================
  16. $探查状态名 = "探查"         # 探查状态的名字
  17. $eye_level = 1               # 探查技能等级的变数ID

  18. $头目属性名 = "王"

  19. # 探查能力的等级
  20. $eye_level_ability = [0, 1, 2, 3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 13, 14]
  21. # 依次为:
  22. # 0->名称 、1->HP+SP、2->HP+SP Max、3->种族、
  23. # 4->经验 、5->金钱 、6->掉落物   、7->攻击、
  24. # 8->物防 、9->魔防 、10->力量    、11->灵巧、
  25. # 12->速度、13->魔力、14->属性有效度

  26. $text_4_unknown = "????" # 未知时的文字

  27. class Window_cateyes < Window_Base
  28.   def initialize
  29.     super(120,40,400,400)
  30.     self.contents = Bitmap.new(width - 32, height - 32)
  31.     self.visible = false
  32.     self.z = 9999
  33.     self.back_opacity = 160  #信息窗口的透明度
  34.     @element          = 8    #自然属性个数
  35.     @race             = 8
  36.   end
  37.   def set_target(target)
  38.     self.contents.clear
  39.     self.visible = true
  40.     @target = target
  41.    
  42.     if $game_variables[$eye_level] >= $eye_level_ability[0]
  43.       self.contents.draw_text(10,10,360-32,32,"#{@target.name}",0)
  44.     else
  45.       self.contents.draw_text(10,10,360-32,32,$text_4_unknown,0)
  46.     end
  47.         
  48.    
  49.     # 描绘种族
  50.     self.contents.font.color = system_color
  51.     self.contents.draw_text(10,100,180,32,"种族",0)
  52.     self.contents.font.color = normal_color
  53.     for i in @element + 1..@element+1+@race
  54.       if @target.element_rate(i) > 100
  55.         race = $data_system.elements[i]
  56.         break
  57.       end
  58.     end
  59.    
  60.     # 獲取是否為頭目
  61.     for i in @element + 2 + @race..$data_system.elements.size
  62.       unless $data_system.elements[i] == $头目属性名
  63.         # 检验是否显示HP/SP
  64.         if (@target.hp)<=(@target.maxhp/2)
  65.           @show_hsp = true
  66.         else
  67.           @show_hsp = false
  68.         end
  69.       else
  70.         @show_hsp = true
  71.       end
  72.     end
  73.    
  74.     # 描绘HP
  75.     draw_actor_hp(@target,10,100 - 32 - 25,160)
  76.     # 描绘SP
  77.     draw_actor_sp(@target,10,100 - 32,160)
  78.    
  79.    
  80.     if $game_variables[$eye_level] >= $eye_level_ability[3]
  81.       self.contents.draw_text(70,100,100,32,race,2)
  82.     else
  83.       self.contents.draw_text(70,100,100,32,$text_4_unknown,2)
  84.     end
  85.    
  86.     # 目标是敌方角色的场合
  87.     if @target.is_a?(Game_Enemy)
  88.       # 描绘经验
  89.       self.contents.font.color = system_color  
  90.       self.contents.draw_text(190,100 - 32 - 25,180-32,32,"经验",0)
  91.       self.contents.font.color = normal_color
  92.       if $game_variables[$eye_level] >= $eye_level_ability[4]
  93.         self.contents.draw_text(190,100 - 32 - 25,180 - 32,32,"#{@target.exp}",2)
  94.       else
  95.         self.contents.draw_text(190,100 - 32 - 25,180 - 32,32,$text_4_unknown,2)
  96.       end
  97.       # 描绘金钱
  98.       self.contents.font.color = system_color  
  99.       self.contents.draw_text(190,100 - 32 ,180-32,32,$data_system.words.gold,0)
  100.       self.contents.font.color = normal_color
  101.       if $game_variables[$eye_level] >= $eye_level_ability[5]
  102.         self.contents.draw_text(190,100 - 32,180-32,32,"#{@target.gold}",2)
  103.       else
  104.         self.contents.draw_text(190,100 - 32,180-32,32,$text_4_unknown,2)
  105.       end
  106.       # 描绘掉落物
  107.       self.contents.font.color = system_color  
  108.       self.contents.draw_text(190,100 ,180,32,"携带",0)
  109.       self.contents.font.color = normal_color
  110.       if $game_variables[$eye_level] >= $eye_level_ability[6]
  111.         if (target.item_id > 0 or target.weapon_id != 0 or target.armor_id != 0)
  112.           draw_item_name($data_items[@target.item_id],197,57 + 25 + 25 + 25) if @target.item_id > 0
  113.           draw_item_name($data_weapons[@target.weapon_id],197,57 + 25 + 25 + 25) if @target.weapon_id > 0
  114.           draw_item_name($data_armors[@target.armor_id],197,57 + 25 + 25 + 25) if @target.armor_id > 0
  115.         else
  116.           self.contents.draw_text(190,57+75,180-32,32,"无",2)
  117.         end
  118.       else
  119.         self.contents.draw_text(197,57 + 75,180-32,32,$text_4_unknown,2)
  120.       end
  121.     end
  122.    
  123.     # 描绘攻击
  124.     if $game_variables[$eye_level] >= $eye_level_ability[7]
  125.       draw_actor_parameter(@target, 10, 112 + 20, 0)
  126.     else
  127.       draw_actor_parameter_u(10, 112 + 20, 0)
  128.     end
  129.     # 描绘物理防御
  130.     if $game_variables[$eye_level] >= $eye_level_ability[8]
  131.       draw_actor_parameter(@target, 10, 144 + 20, 1)
  132.     else
  133.       draw_actor_parameter_u(10, 144 + 20, 1)
  134.     end
  135.     # 描绘魔法防御
  136.     if $game_variables[$eye_level] >= $eye_level_ability[9]
  137.       draw_actor_parameter(@target, 10, 176 + 20, 2)
  138.     else
  139.       draw_actor_parameter_u(10, 176 + 20, 2)
  140.     end
  141.     # 描绘力量
  142.     if $game_variables[$eye_level] >= $eye_level_ability[10]
  143.       draw_actor_parameter(@target, 10, 208 + 20, 3)
  144.     else
  145.       draw_actor_parameter_u(10, 208 + 20, 3)
  146.     end
  147.     # 描绘灵巧
  148.     if $game_variables[$eye_level] >= $eye_level_ability[11]
  149.       draw_actor_parameter(@target, 10, 240 + 20, 4)
  150.     else
  151.       draw_actor_parameter_u(10, 240 + 20, 4)
  152.     end
  153.     # 描绘速度
  154.     if $game_variables[$eye_level] >= $eye_level_ability[12]
  155.       draw_actor_parameter(@target, 10, 272 + 20, 5)
  156.     else
  157.       draw_actor_parameter_u(10, 272 + 20, 5)
  158.     end
  159.     # 描绘魔力
  160.     if $game_variables[$eye_level] >= $eye_level_ability[13]
  161.       draw_actor_parameter(@target, 10, 304 + 20, 6)
  162.     else
  163.       draw_actor_parameter_u(10, 304 + 20, 6)
  164.     end
  165.    
  166.     # 描绘属性抵抗度
  167.     self.contents.font.color = system_color
  168.     self.contents.draw_text(190,153 + 12,180,32,"属性抵抗",0)
  169.     self.contents.font.color = normal_color
  170.     num = @element_max == 0 ? $data_system.elements.size : @element_max
  171.     y = 0
  172.     weaker = ""
  173.     weak = ""
  174.     resist = ""
  175.     guard = ""
  176.     recover = ""
  177.     race = ""
  178.     for i in 1..@element
  179.       case @target.element_rate(i)
  180.       when 151..200
  181.         weaker += $data_system.elements[i]
  182.       when 101..150
  183.         weak +=   $data_system.elements[i]
  184.       when 1..99
  185.         resist += $data_system.elements[i]
  186.       when 0
  187.         guard += $data_system.elements[i]
  188.       when -200..-1
  189.         recover += $data_system.elements[i]
  190.       end
  191.     end
  192.     if $game_variables[$eye_level] >= $eye_level_ability[14]
  193.       if weaker != ""
  194.         weaker += "超弱"
  195.         self.contents.draw_text(190,153 + 32+ 12,180,32,weaker,0)
  196.         y += 1
  197.       end
  198.       if weak != ""
  199.         weak += "弱点"
  200.         self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,weak,0)
  201.         y += 1
  202.       end
  203.       if resist != ""
  204.         resist += "抵抗"
  205.         self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,resist,0)
  206.         y += 1
  207.       end
  208.       if guard != ""
  209.         guard += "无效"
  210.         self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,guard,0)
  211.         y += 1
  212.       end
  213.       if recover != ""
  214.         recover += "吸收"
  215.         self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,recover,0)
  216.       end
  217.     else
  218.       self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,$text_4_unknown,0)
  219.     end
  220.    
  221.   end
  222.   def draw_item_name(item, x, y)
  223.     if item == nil
  224.       return
  225.     end
  226.     bitmap = RPG::Cache.icon(item.icon_name)
  227.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  228.     self.contents.font.color = normal_color
  229.     self.contents.draw_text(x + 28, y, 150, 32, item.name)
  230.   end
  231.   
  232.   def draw_actor_parameter_u(x, y, type)
  233.     case type
  234.     when 0
  235.       parameter_name = $data_system.words.atk
  236.     when 1
  237.       parameter_name = $data_system.words.pdef
  238.     when 2
  239.       parameter_name = $data_system.words.mdef
  240.     when 3
  241.       parameter_name = $data_system.words.str
  242.     when 4
  243.       parameter_name = $data_system.words.dex
  244.     when 5
  245.       parameter_name = $data_system.words.agi
  246.     when 6
  247.       parameter_name = $data_system.words.int
  248.     end
  249.     self.contents.font.color = system_color
  250.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  251.     self.contents.font.color = normal_color
  252.     self.contents.draw_text(x + 120, y, 36, 32, $text_4_unknown, 2)
  253.   end
  254.   def draw_actor_hp(actor, x, y, width = 144)
  255.     # Draw "HP" text string
  256.     self.contents.font.color = system_color
  257.     self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
  258.     # Calculate if there is draw space for MaxHP
  259.     if width - 32 >= 108
  260.       hp_x = x + width - 108
  261.       flag = true
  262.     elsif width - 32 >= 48
  263.       hp_x = x + width - 48
  264.       flag = false
  265.     end
  266.     # Draw HP
  267.     self.contents.font.color = actor.hp == 0 ? knockout_color :
  268.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  269.     if $game_variables[$eye_level] >= $eye_level_ability[1] and @show_hsp
  270.       self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
  271.     else
  272.       self.contents.draw_text(hp_x, y, 48, 32, $text_4_unknown, 2)
  273.     end
  274.     # Draw MaxHP
  275.     if flag
  276.       self.contents.font.color = normal_color
  277.       self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
  278.       if $game_variables[$eye_level] >= $eye_level_ability[2] and @show_hsp
  279.         self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
  280.       else
  281.         self.contents.draw_text(hp_x + 60, y, 48, 32, $text_4_unknown)
  282.       end
  283.     end
  284.   end
  285.   def draw_actor_sp(actor, x, y, width = 144)
  286.     # Draw "SP" text string
  287.     self.contents.font.color = system_color
  288.     self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
  289.     # Calculate if there is draw space for MaxHP
  290.     if width - 32 >= 108
  291.       sp_x = x + width - 108
  292.       flag = true
  293.     elsif width - 32 >= 48
  294.       sp_x = x + width - 48
  295.       flag = false
  296.     end
  297.     # Draw SP
  298.     self.contents.font.color = actor.sp == 0 ? knockout_color :
  299.     actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  300.     if $game_variables[$eye_level] >= $eye_level_ability[1] and @show_hsp
  301.       self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
  302.     else
  303.       self.contents.draw_text(sp_x, y, 48, 32, $text_4_unknown, 2)
  304.     end
  305.     # Draw MaxSP
  306.     if flag
  307.       self.contents.font.color = normal_color
  308.       self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
  309.       if $game_variables[$eye_level] >= $eye_level_ability[2] and @show_hsp
  310.         self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
  311.       else
  312.         self.contents.draw_text(sp_x + 60, y, 48, 32, $text_4_unknown)
  313.       end
  314.     end
  315.   end
  316. end
  317. class Scene_Battle
  318.   alias update_phase4_step5_eclair2 :update_phase4_step5
  319.   def update_phase4_step5
  320.     for i in 1..$data_states.size - 1
  321.       if $data_states[i].name == $探查状态名
  322.         $探查状态ID = i
  323.         break
  324.       end
  325.     end
  326.     if (@active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].plus_state_set.include?($探查状态ID)) or (@active_battler.current_action.kind == 2 and $data_items[@active_battler.current_action.skill_id].plus_state_set.include?($探查状态ID))
  327.       @eye_window = Window_cateyes.new
  328.     for target in @target_battlers
  329.     target.damage = ""
  330.     @eye_window.set_target(target)
  331.     for i in 0...120
  332.     Input.update
  333.     @eye_window.update
  334.     Graphics.update
  335.     @spriteset.update
  336.     if Input.trigger?(Input::C) or Input.trigger?(Input::B)
  337.     $game_system.se_play($data_system.decision_se)
  338.     break  
  339.     end
  340.     end
  341.   end
  342.     @eye_window.dispose
  343.     @eye_window = nil
  344. end
  345.     update_phase4_step5_eclair2
  346.   end
  347. end  
  348. #==============================================================================
  349. #   探查技能  BY绿发的Eclair
  350. #   加強      BY snstar2006
  351. #==============================================================================
复制代码


掉宝部分:
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. # ============================================================================
  5. # 四格掉宝设定 by SailCat
  6. #          fix by snstar2006
  7. # ============================================================================
  8. # 脚本使用说明:
  9. # 1.复制后插入到Main前面
  10. # 2.数据库设定额外掉宝的概率,在敌人名称那里
  11. #   格式: 敌人名称,宝物1,宝物2,宝物3,宝物4
  12. #   宝物写法: (I|W|A)n 分别对应: n号道具,n号武器,n号防具 I W A必须大写
  13. #   例: Cockatrice,A5,I5,W3
  14. #       Fishman,I2,I3
  15. #   三栏中任一栏留空不写时,取前一格的设定,全都不写时,就没有宝物。
  16. # 3.186行是四格概率比设定,在那里填上4个数字就可以更改概率了,该行内容:
  17. #         rarity = [178, 51, 15, 12]
  18. # ============================================================================
  19. # 修改部分:
  20. # 1. 掉的宝物设置在敌人名称之後,设置4个
  21. # 2. 默认的宝物栏用来当作偷窃用的「携带物」,不会掉落。
  22. #--------------------------------------------------------------------------
  23. # □ RPG::Enemy
  24. #--------------------------------------------------------------------------
  25. module RPG
  26. class Enemy
  27.    def name
  28.      name = @name.split(/,/)[0]
  29.      return name != nil ? name : ""
  30.    end
  31.    def treasure1
  32.      treasure = @name.split(/,/)[1]
  33.      return treasure.to_s
  34.    end
  35.    def treasure2
  36.      treasure = @name.split(/,/)[2]
  37.      return treasure.to_s
  38.    end
  39.    def treasure3
  40.      treasure = @name.split(/,/)[3]
  41.      return treasure.to_s
  42.    end
  43.    def treasure4
  44.      treasure = @name.split(/,/)[4]
  45.      return treasure.to_s
  46.    end
  47. end
  48. end

  49. #==============================================================================
  50. # ■ Game_Enemy
  51. #------------------------------------------------------------------------------
  52. #  处理敌人的类。本类在 Game_Troop 类 ($game_troop) 的
  53. # 内部使用。
  54. #==============================================================================
  55. class Game_Enemy < Game_Battler
  56. #--------------------------------------------------------------------------
  57. # ● 获取物品 ID1
  58. #--------------------------------------------------------------------------
  59. def item1_id
  60.    if $data_enemies[@enemy_id].treasure1 == ""
  61.      return item_id
  62.    elsif $data_enemies[@enemy_id].treasure1[0,1] != "I"
  63.      return 0
  64.    else
  65.      return $data_enemies[@enemy_id].treasure1[/[0-9]+/].to_i
  66.    end
  67. end
  68. #--------------------------------------------------------------------------
  69. # ● 获取武器 ID1
  70. #--------------------------------------------------------------------------
  71. def weapon1_id
  72.    if $data_enemies[@enemy_id].treasure1 == ""
  73.      return weapon_id
  74.    elsif $data_enemies[@enemy_id].treasure1[0,1] != "W"
  75.      return 0
  76.    else
  77.      return $data_enemies[@enemy_id].treasure1[/[0-9]+/].to_i
  78.    end
  79. end
  80. #--------------------------------------------------------------------------
  81. # ● 获取防具 ID1
  82. #--------------------------------------------------------------------------
  83. def armor1_id
  84.    if $data_enemies[@enemy_id].treasure1 == ""
  85.      return armor_id
  86.    elsif $data_enemies[@enemy_id].treasure1[0,1] != "A"
  87.      return 0
  88.    else
  89.      return $data_enemies[@enemy_id].treasure1[/[0-9]+/].to_i
  90.    end
  91. end
  92. #--------------------------------------------------------------------------
  93. # ● 获取物品 ID2
  94. #--------------------------------------------------------------------------
  95. def item2_id
  96.    if $data_enemies[@enemy_id].treasure2 == ""
  97.      return item_id
  98.    elsif $data_enemies[@enemy_id].treasure2[0,1] != "I"
  99.      return 0
  100.    else
  101.      return $data_enemies[@enemy_id].treasure2[/[0-9]+/].to_i
  102.    end
  103. end
  104. #--------------------------------------------------------------------------
  105. # ● 获取武器 ID2
  106. #--------------------------------------------------------------------------
  107. def weapon2_id
  108.    if $data_enemies[@enemy_id].treasure2 == ""
  109.      return weapon_id
  110.    elsif $data_enemies[@enemy_id].treasure2[0,1] != "W"
  111.      return 0
  112.    else
  113.      return $data_enemies[@enemy_id].treasure2[/[0-9]+/].to_i
  114.    end
  115. end
  116. #--------------------------------------------------------------------------
  117. # ● 获取防具 ID2
  118. #--------------------------------------------------------------------------
  119. def armor2_id
  120.    if $data_enemies[@enemy_id].treasure2 == ""
  121.      return armor_id
  122.    elsif $data_enemies[@enemy_id].treasure2[0,1] != "A"
  123.      return 0
  124.    else
  125.      return $data_enemies[@enemy_id].treasure2[/[0-9]+/].to_i
  126.    end
  127. end
  128. #--------------------------------------------------------------------------
  129. # ● 获取物品 ID3
  130. #--------------------------------------------------------------------------
  131. def item3_id
  132.    if $data_enemies[@enemy_id].treasure3 == ""
  133.      return item2_id
  134.    elsif $data_enemies[@enemy_id].treasure3[0,1] != "I"
  135.      return 0
  136.    else
  137.      return $data_enemies[@enemy_id].treasure3[/[0-9]+/].to_i
  138.    end
  139. end
  140. #--------------------------------------------------------------------------
  141. # ● 获取武器 ID3
  142. #--------------------------------------------------------------------------
  143. def weapon3_id
  144.    if $data_enemies[@enemy_id].treasure3 == ""
  145.      return weapon2_id
  146.    elsif $data_enemies[@enemy_id].treasure3[0,1] != "W"
  147.      return 0
  148.    else
  149.      return $data_enemies[@enemy_id].treasure3[/[0-9]+/].to_i
  150.    end
  151. end
  152. #--------------------------------------------------------------------------
  153. # ● 获取防具 ID3
  154. #--------------------------------------------------------------------------
  155. def armor3_id
  156.    if $data_enemies[@enemy_id].treasure3 == ""
  157.      return armor2_id
  158.    elsif $data_enemies[@enemy_id].treasure3[0,1] != "A"
  159.      return 0
  160.    else
  161.      return $data_enemies[@enemy_id].treasure3[/[0-9]+/].to_i
  162.    end
  163. end
  164. #--------------------------------------------------------------------------
  165. # ● 获取物品 ID4
  166. #--------------------------------------------------------------------------
  167. def item4_id
  168.    if $data_enemies[@enemy_id].treasure4 == ""
  169.      return item3_id
  170.    elsif $data_enemies[@enemy_id].treasure4[0,1] != "I"
  171.      return 0
  172.    else
  173.      return $data_enemies[@enemy_id].treasure4[/[0-9]+/].to_i
  174.    end
  175. end
  176. #--------------------------------------------------------------------------
  177. # ● 获取武器 ID4
  178. #--------------------------------------------------------------------------
  179. def weapon4_id
  180.    if $data_enemies[@enemy_id].treasure4 == ""
  181.      return weapon3_id
  182.    elsif $data_enemies[@enemy_id].treasure4[0,1] != "W"
  183.      return 0
  184.    else
  185.      return $data_enemies[@enemy_id].treasure4[/[0-9]+/].to_i
  186.    end
  187. end
  188. #--------------------------------------------------------------------------
  189. # ● 获取防具 ID4
  190. #--------------------------------------------------------------------------
  191. def armor4_id
  192.    if $data_enemies[@enemy_id].treasure4 == ""
  193.      return armor3_id
  194.    elsif $data_enemies[@enemy_id].treasure4[0,1] != "A"
  195.      return 0
  196.    else
  197.      return $data_enemies[@enemy_id].treasure4[/[0-9]+/].to_i
  198.    end
  199. end
  200. end

  201. #==============================================================================
  202. # ■ Scene_Battle
  203. #------------------------------------------------------------------------------
  204. #  处理战斗画面的类。
  205. #==============================================================================
  206. class Scene_Battle
  207. #--------------------------------------------------------------------------
  208. # ● 开始结束战斗回合
  209. #--------------------------------------------------------------------------
  210. def start_phase5
  211.    # 转移到回合 5
  212.    @phase = 5
  213.    # 演奏战斗结束 ME
  214.    $game_system.me_play($game_system.battle_end_me)
  215.    # 还原为战斗开始前的 BGM
  216.    $game_system.bgm_play($game_temp.map_bgm)
  217.    # 初始化 EXP、金钱、宝物
  218.    exp = 0
  219.    gold = 0
  220.    treasures = []
  221.    # 循环
  222.    for enemy in $game_troop.enemies
  223.      # 敌人不是隐藏状态的情况下
  224.      unless enemy.hidden
  225.        # 获得 EXP、增加金钱
  226.        exp += enemy.exp
  227.        gold += enemy.gold
  228.        # 出现宝物判定
  229.        if rand(100) < enemy.treasure_prob
  230.          rarity = [178, 51, 15, 12]
  231.          case rand(rarity[0] + rarity[1] + rarity[2]+ rarity[3])
  232.          when 0..rarity[0] - 1
  233.            if enemy.item1_id > 0
  234.             treasures.push($data_items[enemy.item1_id])
  235.            end
  236.            if enemy.weapon1_id > 0
  237.             treasures.push($data_weapons[enemy.weapon1_id])
  238.            end
  239.            if enemy.armor1_id > 0
  240.              treasures.push($data_armors[enemy.armor1_id])
  241.            end
  242.          when rarity[0]..rarity[0] + rarity[1] - 1
  243.            if enemy.item2_id > 0
  244.              treasures.push($data_items[enemy.item2_id])
  245.            end
  246.            if enemy.weapon2_id > 0
  247.             treasures.push($data_weapons[enemy.weapon2_id])
  248.            end
  249.            if enemy.armor2_id > 0
  250.              treasures.push($data_armors[enemy.armor2_id])
  251.            end
  252.          when rarity[0] + rarity[1]..rarity[0] + rarity[1] + rarity[2] - 1
  253.            if enemy.item3_id > 0
  254.              treasures.push($data_items[enemy.item3_id])
  255.            end
  256.            if enemy.weapon3_id > 0
  257.             treasures.push($data_weapons[enemy.weapon3_id])
  258.            end
  259.            if enemy.armor3_id > 0
  260.              treasures.push($data_armors[enemy.armor3_id])
  261.            end
  262.          else
  263.            if enemy.item4_id > 0
  264.              treasures.push($data_items[enemy.item4_id])
  265.            end
  266.            if enemy.weapon4_id > 0
  267.             treasures.push($data_weapons[enemy.weapon4_id])
  268.            end
  269.            if enemy.armor4_id > 0
  270.              treasures.push($data_armors[enemy.armor4_id])
  271.            end
  272.          end
  273.        end
  274.      end
  275.    end
  276.    # 限制宝物数为 8 个
  277.    treasures = treasures[0..7]
  278.    # 获得 EXP
  279.    for i in 0...$game_party.actors.size
  280.      actor = $game_party.actors[i]
  281.      if actor.cant_get_exp? == false
  282.        last_level = actor.level
  283.        actor.exp += exp
  284.        if actor.level > last_level
  285.          @status_window.level_up(i)
  286.        end
  287.      end
  288.    end
  289.    # 获得金钱
  290.    $game_party.gain_gold(gold)
  291.    # 获得宝物
  292.    for item in treasures
  293.      case item
  294.      when RPG::Item
  295.        $game_party.gain_item(item.id, 1)
  296.      when RPG::Weapon
  297.        $game_party.gain_weapon(item.id, 1)
  298.      when RPG::Armor
  299.        $game_party.gain_armor(item.id, 1)
  300.      end
  301.    end
  302.    # 生成战斗结果窗口
  303.    @result_window = Window_BattleResult.new(exp, gold, treasures)
  304.    # 设置等待计数
  305.    @phase5_wait_count = 100
  306. end
  307. end


  308. #==============================================================================
  309. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  310. #==============================================================================
复制代码


偷窃部分:
  1. #==============================================================================
  2. #  简易偷盗系统 By 绿发的Eclair
  3. #------------------------------------------------------------------------------
  4. #  在数据库中设定一个叫“偷盗”的属性,让想要做偷盗效果的技能附带这个属性
  5. #  就可以了*^_^*
  6. #  
  7. #  $偷盗属性名 :       数据库中偷盗属性的名字
  8. #  $偷盗几率修正:      偷盗成功率修正
  9. #  $不可偷盗敌人:      在这个数组中的敌人不能被偷盗,用于一些掉落唯一物品的敌人。
  10. #  数组中两个元素间要用英文半角逗号隔开~~~
  11. #  $偷盗失败损失P比例:偷盗失败时角色HP的减少量和最大HP的比例,为0就是不减少。
  12. #==============================================================================
  13. #==============================================================================
  14. #  简易偷盗系统加強 By snstar2006
  15. #------------------------------------------------------------------------------
  16. #  加强部分
  17. #  1. 偷盗後物品就会归零。
  18. #  2. 四格掉宝设置的宝物无法偷盗。
  19. #  3. 用探查技能可以看见能够偷得到的宝物。
  20. #  4. 增加偷取金钱的功能。
  21. #  5. 金钱只能偷取一次,偷窃後便无法在战斗结束时获得。
  22. #  6. $偷盗金钱的机率:偷取时所得到的是物品还是金钱的机率。
  23. #  7. 不想被偷的掉落物就用四格掉宝来掉落。
  24. #     数据库设置的掉落物不会掉落。
  25. #  8. 增加了修改敌人掉落物品时的方法,调用$game_enemy.item_id、.weapon_id、
  26. #     .armor_id 和 .gold 时要注意。
  27. #  这是考虑到像仙剑的
  28. #==============================================================================

  29. $偷盗属性名 = "偷盜"
  30. $偷盗几率修正 = 0.5
  31. $不可偷盗敌人 = [2]
  32. $偷盗失败损失HP比例 = 0.01
  33. $偷盗金钱的机率 = 50      # 百分比
  34. class Game_Party
  35.   attr_accessor :items
  36.   attr_accessor :weapons
  37.   attr_accessor :armors
  38. end
  39. class Scene_Battle
  40.   attr_accessor :help_window
  41.   #改名法重定义特技效果
  42.   alias update_phase4_step5_Eclairsteal :update_phase4_step5
  43.   def update_phase4_step5
  44.     if @active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].element_set.include?($data_system.elements.index($偷盗属性名)) and @active_battler.is_a?(Game_Actor)
  45.       for target in @target_battlers
  46.         next if target.is_a?(Game_Actor)
  47.         target.damage = "" if target.damage == "Miss"
  48.         if (target.item_id == 0 and target.weapon_id == 0 and
  49.           target.armor_id == 0 and target.gold == 0) or ($不可偷盗敌人.include?(target.id))
  50.           #帮助窗口显示"没有可偷盗的物品",对齐方式为中间对齐
  51.           @help_window.set_text("没有可偷盗的物品",1)
  52.           for i in 0...20
  53.             Graphics.update
  54.             @help_window.update
  55.             @spriteset.update
  56.           end
  57.           #直接结束
  58.           next
  59.         end
  60.         final = (@active_battler.dex.to_f + @active_battler.agi.to_f) / (target.dex.to_f + target.agi.to_f)
  61.         final *= target.treasure_prob
  62.         final *= $偷盗几率修正
  63.         final = final.round
  64.         
  65.         if rand(100) < final
  66.           if (rand(100) < $偷盗金钱的机率)
  67.             if target.item_id != 0
  68.               $game_party.gain_item(target.item_id,1)
  69.               text = "偷得:" + $data_items[target.item_id].name
  70.               target.item_id = 0
  71.             end
  72.             if target.weapon_id != 0
  73.               $game_party.gain_weapon(target.weapon_id,1)
  74.               text = "偷得:" + $data_weapons[target.weapon_id].name
  75.               target.weapon_id = 0
  76.             end
  77.             if target.armor_id != 0
  78.               $game_party.gain_armor(target.armor_id,1)
  79.               text = "偷得:" + $data_armors[target.armor_id].name
  80.               target.armor_id = 0
  81.             end
  82.           else
  83.             if target.gold != 0
  84.               $game_party.gain_gold(target.gold)
  85.               text = "偷得:" + target.gold.to_s + " " +$data_system.words.gold
  86.               target.gold = 0
  87.             end
  88.           end
  89.           @help_window.set_text(text,1)
  90.           for i in 0...20
  91.             Graphics.update
  92.             @help_window.update
  93.             @spriteset.update
  94.           end
  95.         else  
  96.           @help_window.set_text("偷盗失败",1)
  97.           @active_battler.hp -= (@active_battler.maxhp * $偷盗失败损失HP比例).round
  98.           for i in 0...20
  99.             Graphics.update
  100.             @help_window.update
  101.             @spriteset.update
  102.           end
  103.         end
  104.       end
  105.     end
  106.     update_phase4_step5_Eclairsteal
  107.   end
  108. end
  109. class Game_Enemy < Game_Battler
  110.   def item_id=(id)
  111.     $data_enemies[@enemy_id].item_id = id
  112.   end
  113.   def weapon_id=(id)
  114.     $data_enemies[@enemy_id].weapon_id = id
  115.   end
  116.   def armor_id=(id)
  117.     $data_enemies[@enemy_id].armor_id = id
  118.   end
  119.   def gold=(g)
  120.     $data_enemies[@enemy_id].gold = g
  121.   end
  122. end
  123. #==============================================================================
  124. # 简易偷盗系统 By 绿发的Eclair
  125. #==============================================================================
复制代码
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

冰の红苹果的小狗狗

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-15
帖子
2539
9
发表于 2008-1-30 20:39:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

雷欧纳德的宠物

梦石
0
星屑
50
在线时间
769 小时
注册时间
2006-8-6
帖子
3778

贵宾

10
发表于 2008-4-4 11:01:35 | 只看该作者
发布完毕。
vip+4
http://rpg.blue/web/htm/news1037.htm
打酱油的- -b
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 15:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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