じ☆ve冰风 发表于 2024-4-19 21:51:39

多个背包函数脚本

啊,第一次做脚本,不知道有人发过类似的东西了没有……

下面进入正题:

因为这只是个函数脚本,没有窗口化什么的,如果要做成菜单界面的多背包的话就只是基础了……(还得大改估计)。
这个脚本的功能主要解决游戏中的角色场景切换、而物品常在问题(如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~3d:布尔参,是否清空,true时可以在取得物品数据的同时清空取得的物品================================================================================enddef get_allthing(c,j,d)if j == 1    @itempack1 = []    @weaponpack1 = []    @armorpack1 = []    for i in 0..c       @itempack1=$game_party.item_number(i)      @weaponpack1=$game_party.weapon_number(i)      @armorpack1=$game_party.armor_number(i)    endendif j == 2    @itempack2 = []    @weaponpack2 = []    @armorpack2 = []    for i in 1..c       @itempack2=$game_party.item_number(i)      @weaponpack2=$game_party.weapon_number(i)      @armorpack2=$game_party.armor_number(i)    endendif j == 3    @itempack3 = []    @weaponpack3 = []    @armorpack3 = []    for i in 0..c       @itempack3=$game_party.item_number(i)      @weaponpack3=$game_party.weapon_number(i)      @armorpack3=$game_party.armor_number(i)    endendif 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)   endendenddef give_allthing(c,j)if j == 1    for i in 0..c       $game_party.gain_item(i,@itempack1)       $game_party.gain_weapon(i,@weaponpack1)       $game_party.gain_armor(i,@armorpack1)   endendif j == 2    for i in 0..c       $game_party.gain_item(i,itempack2)       $game_party.gain_weapon(i,weaponpack2)       $game_party.gain_armor(i,armorpack2)   endendif j == 3    for i in 0..c       $game_party.gain_item(i,itempack3)       $game_party.gain_weapon(i,weaponpack3)       $game_party.gain_armor(i,armorpack3)   endendend复制代码
             本帖来自P1论坛作者512195574,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=314788若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 多个背包函数脚本