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

Project1

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

[已经过期] 求助!帮忙看看这个脚本如何使用(点进来有脚本)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2015-9-13
帖子
14
跳转到指定楼层
1
发表于 2015-11-8 09:29:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
#==============================================================================
# 随机学技能的物品 by 沉影不器
#------------------------------------------------------------------------------
# 功能: 指定某些一次性物品附带技能,使用后随机学会物品附带的技能之一
# 说明: 第10行设定格式如下
#       带技能的物品id => [该物品所带技能id, 该物品所带技能id, ...]
#       例: SKILL_FROM_ITEM = {22=>[77,78,79]}
#           22号物品带77,78,79号三种技能
#==============================================================================
  SKILL_FROM_ITEM = {22=>[77,78,79], 23=>[80,81,82]}
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # ● 应用物品效果
  #     user : 物品使用者
  #     item : 物品
  #--------------------------------------------------------------------------
  def item_effect(user, item)
    clear_action_results
    unless item_effective?(user, item)
      @skipped = true
      return
    end
    skill_from_item(user, item)                   # 随机学技能
    if rand(100) >= calc_hit(user, item)          # 判断命中
      @missed = true
      return
    end
    if rand(100) < calc_eva(user, item)           # 判断回避
      @evaded = true
      return
    end
    hp_recovery = calc_hp_recovery(user, item)    # 计算回复量
    mp_recovery = calc_mp_recovery(user, item)
    make_obj_damage_value(user, item)             # 计算伤害
    @hp_damage -= hp_recovery
    @mp_damage -= mp_recovery
    make_obj_absorb_effect(user, item)            # 计算吸收效果
    execute_damage(user)                          # 反映伤害
    item_growth_effect(user, item)                # 应用成长效果
    if item.physical_attack and @hp_damage == 0   # 判断物理攻击无效
      return                                    
    end
    apply_state_changes(item)                     # 状态变化
  end
  #--------------------------------------------------------------------------
  # ● 随机学技能
  #     user : 物品使用者
  #     item : 物品
  #--------------------------------------------------------------------------
  def skill_from_item(user, item)
    # 物品对敌人无效 角色死亡无效
    if user.is_a?(Game_Actor) and !user.dead? and
      # 包含指定技能 id 的物品
      SKILL_FROM_ITEM.keys.include?(item.id)
      temp_skills = SKILL_FROM_ITEM[item.id]
      # 随机
      user.learn_skill temp_skills[rand(temp_skills.size-1)]
    end
  end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● 设定物品描述
  #--------------------------------------------------------------------------
  def set_item_description(item_id)
    text = ""
    temp_skills = SKILL_FROM_ITEM[item_id]
    for i in 0...temp_skills.size
      skill_id = temp_skills[i]
      skill = $data_skills[skill_id]
      if i == temp_skills.size - 2
        text += skill.name.to_s
      elsif i == temp_skills.size - 1
        text += "和" + skill.name.to_s
      else
        text += skill.name.to_s + "、"
      end
    end
    return "随机学会" + text + "的物品"
  end
end
#==============================================================================
# ■ Window_Item
#==============================================================================
class Window_Item < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 更新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    if item == nil
      text = ""
    elsif SKILL_FROM_ITEM.keys.include?(item.id)
      text = set_item_description(item.id)
    else
      text = item.description
    end
    @help_window.set_text(text)
  end
end
#==============================================================================
# ■ Window_ShopBuy
#==============================================================================
class Window_ShopBuy < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 更新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    if item == nil
      text = ""
    elsif SKILL_FROM_ITEM.keys.include?(item.id)
      text = set_item_description(item.id)
    else
      text = item.description
    end
    @help_window.set_text(text)
  end
end

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
5
发表于 2015-11-9 10:24:19 | 只看该作者
谁跟你说是写物品备注了?
SKILL_FROM_ITEM = {22=>[77,78,79], 23=>[80,81,82]}
这行不是脚本里面的吗啊?22号物品学哪几个,23号物品学哪几个,在后面再加啊。
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
4
发表于 2015-11-8 10:20:05 | 只看该作者
user.learn_skill temp_skills[rand(temp_skills.size-1)]
目测这行作者写错了,应该是
user.learn_skill temp_skills[rand(temp_skills.size)]

评分

参与人数 1星屑 +60 收起 理由
丿梁丶小柒 + 60 我很赞同

查看全部评分

聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
3
发表于 2015-11-8 10:10:32 | 只看该作者
SKILL_FROM_ITEM = {22=>[77,78,79], 23=>[80,81,82]}
自己看说明改这行咿咿咿...

点评

物品备注就写这个?  发表于 2015-11-8 15:35
聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2015-9-13
帖子
14
2
 楼主| 发表于 2015-11-8 09:34:27 | 只看该作者
这是使用物品学技能的脚本,我不知道物品备注栏写什么!急~@沉影不器  
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 14:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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