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

Project1

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

[已经解决] 关于装备附带技能

[复制链接]

Lv1.梦旅人

梦石
0
星屑
220
在线时间
135 小时
注册时间
2008-4-30
帖子
106
跳转到指定楼层
1
发表于 2012-6-18 20:07:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请问rmva有无类似脚本?
这是vx版的
#------------------------------------------------------------------------------

# ■ 装备附加技能(VX)

# by:Ultra

# /2010.10.6

# 使用方法:装备名字+@+技能ID

# 例如:巨剑@10

# 说明尾部显示附加技能信息开关

$sk_name = true

# 武器附加信息标识

$w_txt = "附技能:"

# 防具附加信息标识

$a_txt = "附技能:"

#------------------------------------------------------------------------------

class Game_Actor

  alias :orig_initialize :initialize

  def initialize(actor_id)

    orig_initialize(actor_id)

    inisk

  end

  #*# t:类型u:旧d:新

  def udsk(t,u,d)

    case t
    when 0

      data = $data_weapons

    when 1..4

      data = $data_armors

    end

    if u == 0 and d > 0

      learn_skill(data[d].sk) if data[d].sk != nil

    elsif u > 0 and d == 0

      forget_skill(data[u].sk) if data[u].sk != nil

    elsif u > 0 and d > 0

      if data[u].sk != nil and data[d].sk != nil

        learn_skill(data[d].sk)

        forget_skill(data[u].sk)

      elsif data[d].sk != nil

        learn_skill(data[d].sk)

      elsif data[u].sk != nil

        forget_skill(data[u].sk)

      elsif data[d].sk == data[u].sk

      end

    end

  end

  #*# 初始检测

  def inisk

    data = equips

    data.compact!

    for i in 0...data.size

      if data[i].sk != nil

        learn_skill(data[i].sk)

      end

    end

  end

  #*# 更改装备

  def change_equip(equip_type, item, test = false)

    last_item = equips[equip_type]

    unless test

      return if $game_party.item_number(item) == 0 if item != nil

      $game_party.gain_item(last_item, 1)

      $game_party.lose_item(item, 1)

    end

    item_id = item == nil ? 0 : item.id

    case equip_type

    when 0  # 武器

      udsk(equip_type,@weapon_id,item_id)#★

      @weapon_id = item_id

      unless two_hands_legal?            # 非双手装备的场合,自动卸下装备

        sk = equips[1].sk                #★

        forget_skill(sk) if sk != nil    #★

        change_equip(1, nil, test)

      end

    when 1  # 盾

      udsk(equip_type,@armor1_id,item_id)#★

      @armor1_id = item_id

      unless two_hands_legal?            # 非双手装备的场合,自动卸下装备

        sk = equips[0].sk                #★

        forget_skill(sk) if sk != nil    #★

        change_equip(0, nil, test)

      end

    when 2  # 头部防具

      udsk(equip_type,@armor2_id,item_id)#★

      @armor2_id = item_id

    when 3  # 身体防具

      udsk(equip_type,@armor3_id,item_id)#★

      @armor3_id = item_id

    when 4  # 装饰品

      udsk(equip_type,@armor4_id,item_id)#★

      @armor4_id = item_id

    end

  end

end

class Scene_Equip

  def update_status_window

    if @equip_window.active

      @status_window.set_new_parameters(nil, nil, nil, nil)

    elsif @item_window.active

      temp_actor = Marshal.load(Marshal.dump(@actor))

      temp_actor.change_equip(@equip_window.index, @item_window.item, true)

      new_atk = temp_actor.atk

      new_def = temp_actor.def

      new_spi = temp_actor.spi

      new_agi = temp_actor.agi

      @status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)

    end

    @status_window.update

  end

end

module RPG

  class Armor

    def description

      if sk != nil and $sk_name

        name = $a_txt + $data_skills[sk].name

      else

        name = ""

      end

      return @description + name

    end

  end

  class Weapon

    def description

      if sk != nil and $sk_name

        name = $w_txt + $data_skills[sk].name

      else

        name = ""

      end

      return @description + name

    end

  end

  class Armor

    def name

      name = @name.split(/@/)[0]

      return name != nil ? name : ""

    end

    def sk

      sk = @name.split(/@/)[1]

      return sk != nil ? sk.to_i : nil

    end

  end

  class Weapon

    def name

      name = @name.split(/@/)[0]

      return name != nil ? name : ""

    end

    def sk

      sk = @name.split(/@/)[1]

      return sk != nil ? sk.to_i : nil

    end

  end

end

Lv2.观梦者

梦石
0
星屑
378
在线时间
483 小时
注册时间
2011-12-16
帖子
212
2
发表于 2012-6-18 20:12:44 | 只看该作者
Lz是在说装备附带技能么?F9→武器→特性→技能→添加技能→选择技能

点评

第一次被别人夸.....挺激动的(看来以后要天天找问题回答)  发表于 2012-6-18 20:38
谢啦 我还一直傻傻的用脚本啊  发表于 2012-6-18 20:33

评分

参与人数 2星屑 +12 收起 理由
fangqing9 + 10 艾玛···我也傻傻找呢
Mic_洛洛 + 2 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

Assassin-K

梦石
0
星屑
3468
在线时间
2281 小时
注册时间
2012-5-23
帖子
4065

贵宾

3
发表于 2012-6-18 20:15:21 | 只看该作者
话说VA数据库里设置武器时可以添加技能的,亲~
如图:

点评

谢啦 我还一直傻傻的用脚本啊  发表于 2012-6-18 20:33

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
迷糊的安安 + 200 + 2 认可答案 附赠66RPG提供的精美好人卡一张^^.

查看全部评分


◆ROZONE◆
>洛子又要去流浪地球了……
>如果你看到我在线,又没动静,那只能说明我在挂机……
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
378
在线时间
483 小时
注册时间
2011-12-16
帖子
212
4
发表于 2012-6-18 20:30:45 | 只看该作者
还有...lz你至少得弄个悬赏吧,像咱们这些杂兵没经验很难升啊........

点评

乃莫慌~莫抱怨~ 乃答得不错!版主看到了会补上卡和经验的说~  发表于 2012-6-18 20:38
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
135 小时
注册时间
2008-4-30
帖子
106
5
 楼主| 发表于 2012-6-18 23:32:34 | 只看该作者
悬赏怎么弄?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 04:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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