Project1

标题: 如何使同一个防具让多人装备 [打印本页]

作者: UTO    时间: 2021-8-29 11:54
标题: 如何使同一个防具让多人装备
如题,虽然我可以把多来几个防具吧,但看上去不太美观,大佬们知道怎么使武器/防具装备时不消耗么?
作者: MH-Pride    时间: 2021-8-29 11:54


不清楚你会不会用
JS 代码复制
  1. Window_ItemList.prototype.drawItemNumber = function(item, x, y, width) {
  2.     if (this.needsNumber()) {      
  3.                 if(item.consumable===true){
  4.                         this.drawText(":", x, y, width - this.textWidth("00"), "right");
  5.                         this.drawText($gameParty.numItems(item), x, y, width, "right");
  6.                 }     
  7.     }
  8. };
  9. Game_Party.prototype.hasItem = function(item) {
  10.     if (this.numItems(item) > 0) {
  11.         return true;
  12.     } else if (this.isAnyMemberEquipped(item)) {
  13.         return true;
  14.     } else {
  15.         return false;
  16.     }
  17. };
  18. Game_Party.prototype.gainItem = function(item, amount, includeEquip) {
  19.     const container = this.itemContainer(item);
  20.         console.log(item)
  21.     if (container) {
  22.         const lastNumber = this.numItems(item);
  23.         const newNumber = lastNumber + amount;
  24.         container[item.id] = newNumber.clamp(0, this.maxItems(item));
  25.         if (container[item.id] === 0 && item.consumable===true) {
  26.             delete container[item.id];
  27.         }
  28.         if (includeEquip && newNumber < 0) {
  29.             this.discardMembersEquip(item, 0);                       
  30.         }               
  31.         $gameMap.requestRefresh();
  32.     }
  33. }
  34.  
  35. Game_Party.prototype.maxItems = function(item) {
  36.         if(item.consumable===true){
  37.                 return 99;
  38.         }
  39.     return 1;//武器和装备最大的上限
  40. };

作者: 1541531537    时间: 2021-8-29 15:59
其他大佬应该有这种插件
作者: UTO    时间: 2021-8-30 12:05
MH-Pride 发表于 2021-8-30 03:32
不清楚你会不会用

是写成插件么?
还有,这段是让一种装备不消耗,还是应用到所有装备上呀
作者: MH-Pride    时间: 2021-8-30 12:16
本帖最后由 MH-Pride 于 2021-8-30 12:20 编辑

是插件 事件我不会 当然是全部啊  装备武器不消耗 所有人都可以装备 只是方便就一个人穿
我没有设置数据库 所以只用一个人试




作者: MH-Pride    时间: 2021-8-30 12:19
UTO 发表于 2021-8-30 12:05
是写成插件么?
还有,这段是让一种装备不消耗,还是应用到所有装备上呀 ...

不肯能只写一件装备的 只是方便演示 一件多见一样的
作者: UTO    时间: 2021-8-30 12:19
MH-Pride 发表于 2021-8-30 12:16
是插件 事件我不会 当然是全部啊  装备武器不消耗 所有人都可以装备 只是方便就一个人穿
我没有设置数据库  ...

那大佬有没有方法只让一种类型的装备不消耗呢?
作者: MH-Pride    时间: 2021-8-30 12:24
可以啊 你要那个不消耗
作者: UTO    时间: 2021-8-30 12:26
MH-Pride 发表于 2021-8-30 12:24
可以啊 你要那个不消耗

第二类防具吧,总之先谢谢大佬了!
作者: MH-Pride    时间: 2021-8-30 12:39
本帖最后由 MH-Pride 于 2021-8-31 10:54 编辑
UTO 发表于 2021-8-30 12:26
第二类防具吧,总之先谢谢大佬了!


第二类防具是盾??
如果是衣服应该是4
方正把item.etypeId=== 的数字换成你想要的装备号码就可以了


Window_ItemList.prototype.drawItemNumber = function(item, x, y, width) {

    if (this.needsNumber()) {      

                if(item.etypeId !==4){

                        this.drawText(":", x, y, width - this.textWidth("00"), "right");

                        this.drawText($gameParty.numItems(item), x, y, width, "right");

                }     

    }

};

Game_Party.prototype.hasItem = function(item) {

    if (this.numItems(item) > 0) {

        return true;

    } else if (this.isAnyMemberEquipped(item)) {

        return true;

    } else {

        return false;

    }

};

Game_Party.prototype.gainItem = function(item, amount, includeEquip) {

    const container = this.itemContainer(item);

      

    if (container) {
               
        const lastNumber = this.numItems(item);
               
        const newNumber = lastNumber + amount;

        container[item.id] = newNumber.clamp(0, this.maxItems(item));

        if (container[item.id] === 0 &&item.etypeId!==4) {

            delete container[item.id];

        }

        if (includeEquip && newNumber < 0) {

            this.discardMembersEquip(item, 0);                        

        }               
        $gameMap.requestRefresh();

    }

}


Game_Party.prototype.maxItems = function(item) {

        if(item.etypeId!==4){

                return 99;

        }

    return 1;//武器和装备最大的上限

};




Capture.PNG (165.37 KB, 下载次数: 35)

Capture.PNG





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1