赞 | 0 |
VIP | 19 |
好人卡 | 4 |
积分 | 1 |
经验 | 13972 |
最后登录 | 2017-7-16 |
在线时间 | 192 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 192 小时
- 注册时间
- 2010-8-23
- 帖子
- 161
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 512195574 于 2014-4-6 22:05 编辑
啊,第一次做脚本,不知道有人发过类似的东西了没有……
下面进入正题:
因为这只是个函数脚本,没有窗口化什么的,如果要做成菜单界面的多背包的话就只是基础了……(还得大改估计)。
这个脚本的功能主要解决游戏中的角色场景切换、而物品常在问题(如OZ中由PET切换到snow,或者梦境中,前者或平时的道具还能使用的情况)
使用之后就可以用这个脚本保存以前有的物品了,换新人物时物品清零,而原主角加入后再将物品得到
条用方法:注释中有了,我在这复制一下= =
事件中执行脚本调用,或者脚本中也是同样的方法
get_allthing(c,j,d)
取得物品的数据
c:数参,取得物品ID上限,如果全部取得的话取数据库里的最大值就好了
j:数参,背包名称,因为是第一次所以只做了三个,适用范围1~3
d:布尔参,true/false,是否清空,true时可以在取得物品数据的同时清空取得的物品
give_allthing(c,j)
给予玩家背包物品
c:数参,给予物品ID上限,如果全部给予的话取数据库里的最大值就好了
j:数参,取得j号背包中的东西,同上只做了三个,适用范围1~3
拓展用法:
一窝堆仓库:每次东西过多时取得物品并清除,调用仓库的时候一起拿走……
冲突:
数据类的脚本,因为从没改过、引用任何定义,所以冲突的概率不大。不过遇到类似随机装备这种对低层数据修改的就不大好说了……
修改版在三楼,加了点不算太实用的功能……如果只是做到介绍中的效果的话,这个版本就已经足够了
下面是脚本
- =begin
- ===============================================================================
- 多个背包函数脚本……(请原谅我的语文水平)
- 作者:512195574
- 调用方法:
- get_allthing(c,j,d)
- give_allthing(c,j)
- c:数参,取得物品上限,如果全部取得的话取数据库里的最大值就好了
- j:数参,背包名称,因为是第一版所以只做了三个,适用范围1~3
- d:布尔参,是否清空,true时可以在取得物品数据的同时清空取得的物品
- ===============================================================================
- =end
- def get_allthing(c,j,d)
- if j == 1
- @itempack1 = []
- @weaponpack1 = []
- @armorpack1 = []
- for i in 0..c
- @itempack1[i]=$game_party.item_number(i)
- @weaponpack1[i]=$game_party.weapon_number(i)
- @armorpack1[i]=$game_party.armor_number(i)
- end
- end
- if j == 2
- @itempack2 = []
- @weaponpack2 = []
- @armorpack2 = []
- for i in 1..c
- @itempack2[i]=$game_party.item_number(i)
- @weaponpack2[i]=$game_party.weapon_number(i)
- @armorpack2[i]=$game_party.armor_number(i)
- end
- end
- if j == 3
- @itempack3 = []
- @weaponpack3 = []
- @armorpack3 = []
- for i in 0..c
- @itempack3[i]=$game_party.item_number(i)
- @weaponpack3[i]=$game_party.weapon_number(i)
- @armorpack3[i]=$game_party.armor_number(i)
- end
- end
- if d == true
- for i in 0..c
- $game_party.gain_item(i,-99)
- $game_party.gain_weapon(i,-99)
- $game_party.gain_armor(i,-99)
- end
- end
- end
- def give_allthing(c,j)
- if j == 1
- for i in 0..c
- $game_party.gain_item(i,@itempack1[i])
- $game_party.gain_weapon(i,@weaponpack1[i])
- $game_party.gain_armor(i,@armorpack1[i])
- end
- end
- if j == 2
- for i in 0..c
- $game_party.gain_item(i,itempack2[i])
- $game_party.gain_weapon(i,weaponpack2[i])
- $game_party.gain_armor(i,armorpack2[i])
- end
- end
- if j == 3
- for i in 0..c
- $game_party.gain_item(i,itempack3[i])
- $game_party.gain_weapon(i,weaponpack3[i])
- $game_party.gain_armor(i,armorpack3[i])
- end
- end
- end
复制代码 |
评分
-
查看全部评分
|