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

Project1

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

[已经过期] 关于探查脚本的问题。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
150 小时
注册时间
2009-7-29
帖子
57
跳转到指定楼层
1
发表于 2010-12-20 00:01:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我的探查脚本不知道为什么一使用Game_Enemy的125行就报错

Lv3.寻梦者

梦石
0
星屑
1748
在线时间
485 小时
注册时间
2006-1-7
帖子
1073
2
发表于 2010-12-20 10:58:55 | 只看该作者
把你用的脚本,和出错的行,都拿出来
初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
150 小时
注册时间
2009-7-29
帖子
57
3
 楼主| 发表于 2010-12-20 12:15:47 | 只看该作者
本帖最后由 肥龙 于 2010-12-20 17:55 编辑

报错的
  1. #==============================================================================
  2. # ■ Game_Enemy
  3. #------------------------------------------------------------------------------
  4. #  处理敌人的类。本类在 Game_Troop 类 ($game_troop) 的
  5. # 内部使用。
  6. #==============================================================================

  7. class Game_Enemy < Game_Battler
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #     troop_id     : 循环 ID
  11.   #     member_index : 循环成员的索引
  12.   #--------------------------------------------------------------------------
  13.   def initialize(troop_id, member_index)
  14.     super()
  15.     @troop_id = troop_id
  16.     @member_index = member_index
  17.     troop = $data_troops[@troop_id]
  18.     @enemy_id = troop.members[@member_index].enemy_id
  19.     enemy = $data_enemies[@enemy_id]
  20.     @battler_name = enemy.battler_name
  21.     @battler_hue = enemy.battler_hue
  22.     @hp = maxhp
  23.     @sp = maxsp
  24.     @hidden = troop.members[@member_index].hidden
  25.     @immortal = troop.members[@member_index].immortal
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 获取敌人 ID
  29.   #--------------------------------------------------------------------------
  30.   def id
  31.     return @enemy_id
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● 获取索引
  35.   #--------------------------------------------------------------------------
  36.   def index
  37.     return @member_index
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● 获取名称
  41.   #--------------------------------------------------------------------------
  42.   def name
  43.     return $data_enemies[@enemy_id].name
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 获取基本 MaxHP
  47.   #--------------------------------------------------------------------------
  48.   def base_maxhp
  49.     return $data_enemies[@enemy_id].maxhp
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 获取基本 MaxSP
  53.   #--------------------------------------------------------------------------
  54.   def base_maxsp
  55.     return $data_enemies[@enemy_id].maxsp
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 获取基本力量
  59.   #--------------------------------------------------------------------------
  60.   def base_str
  61.     return $data_enemies[@enemy_id].str
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 获取基本灵巧
  65.   #--------------------------------------------------------------------------
  66.   def base_dex
  67.     return $data_enemies[@enemy_id].dex
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 获取基本速度
  71.   #--------------------------------------------------------------------------
  72.   def base_agi
  73.     return $data_enemies[@enemy_id].agi
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 获取基本魔力
  77.   #--------------------------------------------------------------------------
  78.   def base_int
  79.     return $data_enemies[@enemy_id].int
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● 获取基本攻击力
  83.   #--------------------------------------------------------------------------
  84.   def base_atk
  85.     return $data_enemies[@enemy_id].atk
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 获取基本物理防御
  89.   #--------------------------------------------------------------------------
  90.   def base_pdef
  91.     return $data_enemies[@enemy_id].pdef
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 获取基本魔法防御
  95.   #--------------------------------------------------------------------------
  96.   def base_mdef
  97.     return $data_enemies[@enemy_id].mdef
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 获取基本回避修正
  101.   #--------------------------------------------------------------------------
  102.   def base_eva
  103.     return $data_enemies[@enemy_id].eva
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ● 普通攻击 获取攻击方动画 ID
  107.   #--------------------------------------------------------------------------
  108.   def animation1_id
  109.     return $data_enemies[@enemy_id].animation1_id
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● 普通攻击 获取对像方动画 ID
  113.   #--------------------------------------------------------------------------
  114.   def animation2_id
  115.     return $data_enemies[@enemy_id].animation2_id
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 获取属性修正值
  119.   #     element_id : 属性 ID
  120.   #--------------------------------------------------------------------------
  121.   def element_rate(element_id)
  122.     # 获取对应属性有效度的数值
  123.     table = [0,200,150,100,50,0,-100]
  124.     result = table[$data_enemies[@enemy_id].element_ranks[element_id]]
  125.     # 状态能防御本属性的情况下效果减半
  126.     for i in @states
  127.       if $data_states[i].guard_element_set.include?(element_id)
  128.         result /= 2
  129.       end
  130.     end
  131.     # 过程结束
  132.     return result
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● 获取属性有效度
  136.   #--------------------------------------------------------------------------
  137.   def state_ranks
  138.     return $data_enemies[@enemy_id].state_ranks
  139.   end
  140.   #--------------------------------------------------------------------------
  141.   # ● 属性防御判定
  142.   #     state_id : 状态 ID
  143.   #--------------------------------------------------------------------------
  144.   def state_guard?(state_id)
  145.     return false
  146.   end
  147.   #--------------------------------------------------------------------------
  148.   # ● 获取普通攻击属性
  149.   #--------------------------------------------------------------------------
  150.   def element_set
  151.     return []
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 获取普通攻击的状态变化 (+)
  155.   #--------------------------------------------------------------------------
  156.   def plus_state_set
  157.     return []
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● 获取普通攻击的状态变化 (-)
  161.   #--------------------------------------------------------------------------
  162.   def minus_state_set
  163.     return []
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● 获取行动
  167.   #--------------------------------------------------------------------------
  168.   def actions
  169.     return $data_enemies[@enemy_id].actions
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # ● 获取 EXP
  173.   #--------------------------------------------------------------------------
  174.   def exp
  175.     return $data_enemies[@enemy_id].exp
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ● 获取金钱
  179.   #--------------------------------------------------------------------------
  180.   def gold
  181.     return $data_enemies[@enemy_id].gold
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 获取物品 ID
  185.   #--------------------------------------------------------------------------
  186.   def item_id
  187.     return $data_enemies[@enemy_id].item_id
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● 获取武器 ID
  191.   #--------------------------------------------------------------------------
  192.   def weapon_id
  193.     return $data_enemies[@enemy_id].weapon_id
  194.   end
  195.   #--------------------------------------------------------------------------
  196.   # ● 获取放具 ID
  197.   #--------------------------------------------------------------------------
  198.   def armor_id
  199.     return $data_enemies[@enemy_id].armor_id
  200.   end
  201.   #--------------------------------------------------------------------------
  202.   # ● 获取宝物出现率
  203.   #--------------------------------------------------------------------------
  204.   def treasure_prob
  205.     return $data_enemies[@enemy_id].treasure_prob
  206.   end
  207.   #--------------------------------------------------------------------------
  208.   # ● 取得战斗画面 X 坐标
  209.   #--------------------------------------------------------------------------
  210.   def screen_x
  211.     return $data_troops[@troop_id].members[@member_index].x
  212.   end
  213.   #--------------------------------------------------------------------------
  214.   # ● 取得战斗画面 Y 坐标
  215.   #--------------------------------------------------------------------------
  216.   def screen_y
  217.     return $data_troops[@troop_id].members[@member_index].y
  218.   end
  219.   #--------------------------------------------------------------------------
  220.   # ● 取得战斗画面 Z 坐标
  221.   #--------------------------------------------------------------------------
  222.   def screen_z
  223.     return screen_y
  224.   end
  225.   #--------------------------------------------------------------------------
  226.   # ● 逃跑
  227.   #--------------------------------------------------------------------------
  228.   def escape
  229.     # 设置击中标志
  230.     @hidden = true
  231.     # 清除当前行动
  232.     self.current_action.clear
  233.   end
  234.   #--------------------------------------------------------------------------
  235.   # ● 变身
  236.   #     enemy_id : 变身为的敌人 ID
  237.   #--------------------------------------------------------------------------
  238.   def transform(enemy_id)
  239.     # 更改敌人 ID
  240.     @enemy_id = enemy_id
  241.     # 更改战斗图形
  242.     @battler_name = $data_enemies[@enemy_id].battler_name
  243.     @battler_hue = $data_enemies[@enemy_id].battler_hue
  244.     # 在生成行动
  245.     make_action
  246.   end
  247.   #--------------------------------------------------------------------------
  248.   # ● 生成行动
  249.   #--------------------------------------------------------------------------
  250.   def make_action
  251.     # 清除当前行动
  252.     self.current_action.clear
  253.     # 无法行动的情况
  254.     unless self.movable?
  255.       # 过程结束
  256.       return
  257.     end
  258.     # 抽取现在有效的行动
  259.     available_actions = []
  260.     rating_max = 0
  261.     for action in self.actions
  262.       # 确认回合条件
  263.       n = $game_temp.battle_turn
  264.       a = action.condition_turn_a
  265.       b = action.condition_turn_b
  266.       if (b == 0 and n != a) or
  267.          (b > 0 and (n < 1 or n < a or n % b != a % b))
  268.         next
  269.       end
  270.       # 确认 HP 条件
  271.       if self.hp * 100.0 / self.maxhp > action.condition_hp
  272.         next
  273.       end
  274.       # 确认等级条件
  275.       if $game_party.max_level < action.condition_level
  276.         next
  277.       end
  278.       # 确认开关条件
  279.       switch_id = action.condition_switch_id
  280.       if switch_id > 0 and $game_switches[switch_id] == false
  281.         next
  282.       end
  283.       # 符合条件 : 添加本行动
  284.       available_actions.push(action)
  285.       if action.rating > rating_max
  286.         rating_max = action.rating
  287.       end
  288.     end
  289.     # 最大概率值作为 3 合计计算(0 除外)
  290.     ratings_total = 0
  291.     for action in available_actions
  292.       if action.rating > rating_max - 3
  293.         ratings_total += action.rating - (rating_max - 3)
  294.       end
  295.     end
  296.     # 概率合计不为 0 的情况下
  297.     if ratings_total > 0
  298.       # 生成随机数
  299.       value = rand(ratings_total)
  300.       # 设置对应生成随机数的当前行动
  301.       for action in available_actions
  302.         if action.rating > rating_max - 3
  303.           if value < action.rating - (rating_max - 3)
  304.             self.current_action.kind = action.kind
  305.             self.current_action.basic = action.basic
  306.             self.current_action.skill_id = action.skill_id
  307.             self.current_action.decide_random_target_for_enemy
  308.             return
  309.           else
  310.             value -= action.rating - (rating_max - 3)
  311.           end
  312.         end
  313.       end
  314.     end
  315.   end
  316. end
复制代码
探查的

  1. #==============================================================================
  2. #   探查技能  BY绿发的Eclair
  3. #------------------------------------------------------------------------------  
  4. #   使用方法:在数据库中设定一个叫“探查”的状态(想要用别的名字在下面改啦~)
  5. #   然后把想要做成有探查效果的特技或物品附加这个状态。就这样简单~~
  6. #   修改自然属性的个数在第16行。
  7. #==============================================================================
  8. $探查状态名 = "识破"         #探查状态的名字
  9. class Window_cateyes < Window_Base
  10.   def initialize
  11.     super(120,40,400,400)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     self.visible = false
  14.     self.z = 9999
  15.     self.back_opacity = 160  #信息窗口的透明度
  16.     @element          = 8    #自然属性个数
  17.   end
  18.   def set_target(target)
  19.     self.contents.clear
  20.     self.visible = true
  21.     @target = target
  22.     self.contents.draw_text(10,10,360-32,32,"#{@target.name}",0)
  23.     draw_actor_hp(@target,10,100 - 32 - 25,160)
  24.     draw_actor_sp(@target,10,100 - 32,160)
  25.     self.contents.font.color = system_color
  26.     self.contents.draw_text(10,100,180,32,"种族",0)
  27.     draw_actor_parameter(@target, 10, 112 + 20, 0)
  28.     draw_actor_parameter(@target, 10, 144 + 20, 1)
  29.     draw_actor_parameter(@target, 10, 176 + 20, 2)
  30.     draw_actor_parameter(@target, 10, 208 + 20, 3)
  31.     draw_actor_parameter(@target, 10, 240 + 20, 4)
  32.     draw_actor_parameter(@target, 10, 272 + 20, 5)
  33.     draw_actor_parameter(@target, 10, 304 + 20, 6)
  34.     if @target.is_a?(Game_Enemy)
  35.     self.contents.font.color = system_color  
  36.     self.contents.draw_text(190,100 - 32 - 25,180-32,32,"经验",0)
  37.     self.contents.font.color = normal_color
  38.     self.contents.draw_text(190,100 - 32 - 25,180 - 32,32,"#{@target.exp}",2)
  39.     self.contents.font.color = system_color  
  40.     self.contents.draw_text(190,100 - 32 ,180-32,32,$data_system.words.gold,0)
  41.     self.contents.font.color = normal_color
  42.     self.contents.draw_text(190,100 - 32,180-32,32,"#{@target.gold}",2)
  43.     self.contents.font.color = system_color  
  44.     self.contents.draw_text(190,100 ,180,32,"掉落",0)
  45.     self.contents.font.color = normal_color
  46.     draw_item_name($data_items[@target.item_id],197,57 + 25 + 25 + 25) if @target.item_id > 0
  47.     draw_item_name($data_weapons[@target.weapon_id],197,57 + 25 + 25 + 25) if @target.weapon_id > 0
  48.     draw_item_name($data_armors[@target.armor_id],197,57 + 25 + 25 + 25) if @target.armor_id > 0
  49.     end
  50.     self.contents.font.color = system_color
  51.     self.contents.draw_text(190,153 + 12,180,32,"属性抵抗",0)
  52.     self.contents.font.color = normal_color
  53.     num = @element_max == 0 ? $data_system.elements.size : @element_max
  54.     y = 0
  55.     weaker = ""
  56.     weak = ""
  57.     resist = ""
  58.     guard = ""
  59.     recover = ""
  60.     race = ""
  61.     for i in 1..@element
  62.       case @target.element_rate(i)
  63.       when 151..200
  64.       weaker += $data_system.elements[i]
  65.       when 101..150
  66.       weak +=   $data_system.elements[i]
  67.       when 1..99
  68.       resist += $data_system.elements[i]
  69.       when 0
  70.       guard += $data_system.elements[i]
  71.       when -200..-1
  72.       recover += $data_system.elements[i]
  73.       end
  74.     end
  75.     if weaker != ""
  76.     weaker += "超弱"
  77.     self.contents.draw_text(190,153 + 32+ 12,180,32,weaker,0)
  78.     y += 1
  79.     end
  80.     if weak != ""
  81.     weak += "弱点"
  82.     self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,weak,0)
  83.     y += 1
  84.     end
  85.     if resist != ""
  86.     resist += "抵抗"
  87.     self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,resist,0)
  88.     y += 1
  89.     end
  90.     if guard != ""
  91.     guard += "无效"
  92.     self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,guard,0)
  93.     y += 1
  94.     end
  95.     if recover != ""
  96.     recover += "吸收"
  97.     self.contents.draw_text(190,153 + 32+ 12 + 32 * y,180,32,recover,0)
  98.   end
  99.     for i in @element + 1..$data_system.elements.size - 1
  100.      if @target.element_rate(i) > 100
  101.       race = $data_system.elements[i]
  102.       break
  103.     end
  104.   end
  105.     self.contents.font.color = normal_color
  106.     self.contents.draw_text(70,100,100,32,race,2)
  107.   end
  108.   def draw_item_name(item, x, y)
  109.     if item == nil
  110.       return
  111.     end
  112.     bitmap = RPG::Cache.icon(item.icon_name)
  113.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  114.     self.contents.font.color = normal_color
  115.     self.contents.draw_text(x + 28, y, 150, 32, item.name)
  116.   end
  117. end
  118. class Scene_Battle
  119.   alias update_phase4_step5_eclair2 :update_phase4_step5
  120.   def update_phase4_step5
  121.     for i in 1..$data_states.size - 1
  122.       if $data_states[i].name == $探查状态名
  123.         $探查状态ID = i
  124.         break
  125.       end
  126.     end
  127. if (@active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].plus_state_set.include?($探查状态ID))
  128.       @eye_window = Window_cateyes.new
  129.     for target in @target_battlers
  130.     target.damage = ""
  131.     @eye_window.set_target(target)
  132.     for i in 0...120
  133.     Input.update
  134.     @eye_window.update
  135.     Graphics.update
  136.     @spriteset.update
  137.     if Input.trigger?(Input::C) or Input.trigger?(Input::B)
  138.     $game_system.se_play($data_system.decision_se)
  139.     break  
  140.     end
  141.     end
  142.   end
  143.     @eye_window.dispose
  144.     @eye_window = nil
  145. end
  146.     update_phase4_step5_eclair2
  147.   end
  148. end  
  149. #==============================================================================
  150. #   探查技能  BY绿发的Eclair
  151. #==============================================================================
复制代码


肥龙于2010-12-22 23:25补充以下内容:
帮帮忙啊~


肥龙于2010-12-22 23:56补充以下内容:
[attachimg]40194[/attachimg]附加图片


肥龙于2010-12-22 23:58补充以下内容:
[attachimg]40195[/attachimg]

点评

请用代码发...  发表于 2010-12-20 13:28
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-19 13:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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