设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1117|回复: 3
打印 上一主题 下一主题

[有事请教] 怎么样实现特殊商店,不能出售武器,只能出售道具

[复制链接]

Lv2.观梦者

梦石
0
星屑
820
在线时间
78 小时
注册时间
2013-12-22
帖子
49
跳转到指定楼层
1
发表于 2023-5-6 15:16:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
如题,我做了一个特殊商店,希望里面只能出售道具,武器和防具不能出售,怎么实现?

Lv4.逐梦者

梦石
0
星屑
5405
在线时间
386 小时
注册时间
2021-12-4
帖子
407
2
发表于 2023-5-6 17:31:01 | 只看该作者
我说说思路吧,首先商店界面Scene_Menu中有下面的函数负责显示所有的道具类别:
Scene_Shop.prototype.createCategoryWindow = function() {
    this._categoryWindow = new Window_ItemCategory();
    this._categoryWindow.setHelpWindow(this._helpWindow);
    this._categoryWindow.y = this._dummyWindow.y;
    this._categoryWindow.hide();
    this._categoryWindow.deactivate();
    this._categoryWindow.setHandler('ok',     this.onCategoryOk.bind(this));
    this._categoryWindow.setHandler('cancel', this.onCategoryCancel.bind(this));
    this.addWindow(this._categoryWindow);
};
而其中第一行的new Window_ItemCategory()则默认会生成【物品、武器、防具、重要物品】四类,也就是下面的函数:
Window_ItemCategory.prototype.makeCommandList = function() {
    this.addCommand(TextManager.item,    'item');
    if ($gameSwitches.value(1)) return; // 本行为新增内容,表示当开关1开启时不再执行下面三行
    this.addCommand(TextManager.weapon,  'weapon');
    this.addCommand(TextManager.armor,   'armor');
    this.addCommand(TextManager.keyItem, 'keyItem');
};
那么为了实现楼主想要的效果,可以在第二个函数中进行条件判断,比如某某开关打开的话则只生成【物品】不生成另外三个,然后在进入和退出这个特殊商店前后改变该开关。
第二个函数位于rpg_windows.js的第1888行左右。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
820
在线时间
78 小时
注册时间
2013-12-22
帖子
49
3
 楼主| 发表于 2023-5-10 12:06:11 | 只看该作者
小秋橙 发表于 2023-5-6 17:31
我说说思路吧,首先商店界面Scene_Menu中有下面的函数负责显示所有的道具类别:
Scene_Shop.prototype.crea ...

大神你说的我看懂了,但是我用的是Drill_SceneShop自定义商店插件,里面的这段代码被改掉了,这个怎么破?

Scene_Shop.prototype.createCategoryWindow = function() {
        var data = {
                "x": DrillUp.g_SSh_category_x,
                "y": DrillUp.g_SSh_category_y,
                "width": DrillUp.g_SSh_category_width,
                "height": DrillUp.g_SSh_category_height,
                "fontsize": DrillUp.g_SSh_category_fontsize,
               
                "slideMoveType": DrillUp.g_SSh_category_slideAnim['slideMoveType'],
                "slideTime": DrillUp.g_SSh_category_slideAnim['slideTime'],
                "slideDelay": DrillUp.g_SSh_category_slideAnim['slideDelay'],
                "slidePosType": DrillUp.g_SSh_category_slideAnim['slidePosType'],
                "slideX": DrillUp.g_SSh_category_slideAnim['slideX'],
                "slideY": DrillUp.g_SSh_category_slideAnim['slideY'],
                "slideAbsoluteX": DrillUp.g_SSh_category_slideAnim['slideAbsoluteX'],
                "slideAbsoluteY": DrillUp.g_SSh_category_slideAnim['slideAbsoluteY'],
               
                "layoutType": DrillUp.g_SSh_category_layout['layoutType'],
                "layoutX": DrillUp.g_SSh_category_layout['layoutX'],
                "layoutY": DrillUp.g_SSh_category_layout['layoutY'],
                "layoutSrc": DrillUp.g_SSh_category_layout['layoutSrc'],
                "layoutSrcFile": DrillUp.g_SSh_category_layout['layoutSrcFile'],
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
310
在线时间
38 小时
注册时间
2008-12-18
帖子
7
4
发表于 2023-12-8 00:41:15 | 只看该作者
drill插件里面物品自定义分类设置,在备注栏里设定开关。可以在商店里隐藏该类物品 实现你的功能。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-27 17:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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