查看: 75|回复: 0

[转载发布] 多个背包函数脚本

[复制链接]
  • TA的每日心情
    开心
    7 天前
  • 签到天数: 37 天

    连续签到: 3 天

    [LV.5]常住居民I

    2028

    主题

    32

    回帖

    7260

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5184
    OK点
    16
    积分
    7260
    发表于 同元一千年八月四日(秋) | 显示全部楼层 |阅读模式
    啊,第一次做脚本,不知道有人发过类似的东西了没有……

    下面进入正题:

    因为这只是个函数脚本,没有窗口化什么的,如果要做成菜单界面的多背包的话就只是基础了……(还得大改估计)。
    这个脚本的功能主要解决游戏中的角色场景切换、而物品常在问题(如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



    拓展用法:
    一窝堆仓库:每次东西过多时取得物品并清除,调用仓库的时候一起拿走……

    冲突:
    数据类的脚本,因为从没改过、引用任何定义,所以冲突的概率不大。不过遇到类似随机装备这种对低层数据修改的就不大好说了……

    修改版在三楼,加了点不算太实用的功能……如果只是做到介绍中的效果的话,这个版本就已经足够了



    下面是脚本
    1. =begin===============================================================================  多个背包函数脚本……(请原谅我的语文水平)  作者:512195574  调用方法:  get_allthing(c,j,d)  give_allthing(c,j)  c:数参,取得物品上限,如果全部取得的话取数据库里的最大值就好了  j:数参,背包名称,因为是第一版所以只做了三个,适用范围1~3  d:布尔参,是否清空,true时可以在取得物品数据的同时清空取得的物品================================================================================enddef 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  endenddef 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  endend复制代码
    复制代码
                 本帖来自P1论坛作者512195574,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=314788  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-17 19:12 , Processed in 0.046497 second(s), 43 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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