赞 | 6 |
VIP | 22 |
好人卡 | 15 |
积分 | 13 |
经验 | 97563 |
最后登录 | 2022-11-26 |
在线时间 | 831 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1323
- 在线时间
- 831 小时
- 注册时间
- 2007-12-25
- 帖子
- 1558
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
注:该脚本的功能完全可以用事件脚本替代。只是为了方便制作而写。
若吐槽,请确认你吐得是真的槽。
纯文本
什么是动态变量呢。
比方说大家在做一个主角等级为XX级以上做什么,以下做什么的条件分歧的时候。
首先要用一个变量来记录角色等级,然后再对变量条件分歧。
这个大家都知道。
当然这是事件可以直接涉及到的地方。
然而实际制作过程当中经常遇到一些事件涉及不到的地方,必须要调用脚本了。
比如说XX装备的名称。XX武器的攻击力等等。这些都必须采用事件脚本了。
动态变量是直接用一个变量绑定一个脚本句子。如 $data_weapons[1].name 1号武器的名称。
将变量绑定以后,就可以直接访问这个值了。比如修改装备的名称,属性等等。
这个脚本配合这个脚本使用非常好用。
贴上脚本
- #================================================================
- # Game_Variables
- #----------------------------------------------------------------
- # 动态变量
- #================================================================
- =begin
- 今天突然发现RM变量名称可以设置40个字符,恩个人觉得这比较高兴地
- 动态变量实际上这个名字对不对都不知道。简单地说就是让变量持续跟随者
- 某一值这样以后用的时候就可以直接调用,怎么说呢???
- 算了!!往下看
- 设置变量名,前面可以是备注,以#隔开,后面的写脚本语句
- 1号角色的命中率#$game_acotrs[1].hit
- 那么你选择这个变量的时候,就等于选择了这个值。
- 当然,如果变量容许的话,是可以反操作的。这个
- 太专业了,我不知道怎么说了。
- =end
- #==============================================================================
- # ■ Game_Variables
- #------------------------------------------------------------------------------
- # 处理变量的类。编入的是类 Array 的外壳。本类的实例请参考 $game_variables。
- #==============================================================================
- class Game_Variables
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- @data = []
- end
- #--------------------------------------------------------------------------
- # ● 获取变量
- # variable_id : 变量 ID
- #--------------------------------------------------------------------------
- def [](variable_id)
-
- name = $data_system.variables[variable_id] #获取名称
- if name.include? "#"#如果含有#
- s = name.split("#")[1]
- begin
- n = eval(s)
- return n
- rescue
- p s+" 这个变量产生错误!"
- end
- else
- if @data[variable_id] == nil
- return 0
- else
- return @data[variable_id]
- end
- end
-
- end
- #--------------------------------------------------------------------------
- # ● 设置变量
- # variable_id : 变量 ID
- # value : 变量的值
- #--------------------------------------------------------------------------
- def []=(variable_id, value)
- name = $data_system.variables[variable_id] #获取名称
- if name.include? "#"#如果第一个字符是#
- s = name.split("#")[1]
- begin
- s = s + "= #{value}" #生成新的语句
- eval(s) #执行语句
-
- rescue #如果出错
- p s+" 这个变量产生错误!"#产生提示信息
- end
- else
- if variable_id <= 5000 #原有数据方法
- @data[variable_id] = value
- end
- end
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- end
- end
复制代码
虽然范例是VX版的,不过脚本XP也能使用(这是真的吗?)
|
|