赞 | 0 |
VIP | 8 |
好人卡 | 27 |
积分 | 58 |
经验 | 41413 |
最后登录 | 2012-10-21 |
在线时间 | 833 小时 |
Lv4.逐梦者 弓箭手?剑兰
- 梦石
- 0
- 星屑
- 5774
- 在线时间
- 833 小时
- 注册时间
- 2010-11-17
- 帖子
- 1140
|
本帖最后由 一箭烂YiJL 于 2011-10-14 23:03 编辑
随便写的。注:引用了沉影不器的脚本。main之上
- # 在物品、防具、武器的备注栏里面写下"getlimit = ???"
- # ??? 是个数字,就是上限。
- #==============================================================================
- # ■ [VX] 读取rmvx备注栏 2.02.1001 by 沉影不器
- #==============================================================================
- $fscript = {} if $fscript == nil
- $fscript["ReadNote"] = "2.02.1001"
- #==============================================================================
- # ■ RPG
- #==============================================================================
- module RPG
- #=============================================================================
- # □ ReadNote
- #=============================================================================
- module ReadNote
- def self.read(str, section, mismatch = nil)
- str.each_line do |line|
- ## 不希望忽略大小写,则删掉下一行最后一个i
- eval("#{line}; return #{section}") if line =~ /^\s*#{section}\s*=/i
- end
- return mismatch
- end
- end
- #=============================================================================
- # ■ BaseItem
- #=============================================================================
- class BaseItem
- #-------------------------------------------------------------------------
- # ○ 读取rmvx备注栏指定字段
- # section : 字段名
- # mismatch : 未匹配时的返回值
- #-------------------------------------------------------------------------
- def read_note(section, mismatch = nil)
- ReadNote.read(self.note, section, mismatch)
- end
- end
- #=============================================================================
- # ■ Enemy
- #=============================================================================
- class Enemy
- def read_note(section, mismatch = nil)
- ReadNote.read(self.note, section, mismatch)
- end
- end
- #=============================================================================
- # ■ State
- #=============================================================================
- class State
- def read_note(section, mismatch = nil)
- ReadNote.read(self.note, section, mismatch)
- end
- end
- end
- #==============================================================================
- # ■ Game_Party
- #==============================================================================
- class Game_Party < Game_Unit
- #--------------------------------------------------------------------------
- # ● 获得/损失物品
- # item : 物品
- # n : 数量
- # include_equip : 包括已装备的物品
- #--------------------------------------------------------------------------
- def gain_item(item, n, include_equip = false)
- number = item_number(item)
- limit = item.read_note("getlimit").to_i
- limit = 99 if item.read_note("getlimit").to_i == 0
- case item
- when RPG::Item
- @items[item.id] = [[number + n, 0].max, limit].min
- when RPG::Weapon
- @weapons[item.id] = [[number + n, 0].max, limit].min
- when RPG::Armor
- @armors[item.id] = [[number + n, 0].max, limit].min
- end
- n += number
- if include_equip and n < 0
- for actor in members
- while n < 0 and actor.equips.include?(item)
- actor.discard_equip(item)
- n += 1
- end
- end
- end
- end
- end
复制代码 ��� |
评分
-
查看全部评分
|