Project1

标题: 随意摆放建筑物品EST插件教程 [打印本页]

作者: heise0711    时间: 2021-8-29 12:27
标题: 随意摆放建筑物品EST插件教程
本帖最后由 heise0711 于 2021-9-1 10:16 编辑

不好意思,第一次做教程可能有点讲的不好,本来想录制视频,发现自己驴一样的嗓子就算了.还是安排文字版的吧!
好了,不多哔哔了.下面开始吧!

首先呢!先感谢一下xiamumomo大佬,找到了这个插件,然后我查询了一下该插件的授权方式为

所以大家除了作者不能授权的,都可以自行食用,插件已经打包好,可自行下载,只收1星星哦!毕竟打字也很累的,
EST插件集合.zip (31.59 KB, 下载次数: 79, 售价: 1 星屑)
第一步,就是安排这5个插件的顺序,顺序如下,插件TDDP_MouseSystemEx.js的设置如下,其他的保持不变


就目前我个人再我自己的项目中测试,暂时没有发现插件冲突一说,要是有的也请多多包涵,毕竟俺也不会修改
下面再正式开始前,请大家先和我了解几个这个插件很重要的指令和脚本以及注释

1.注释指令<event_size: x x x x>
  xxxxx
  xxxxx
  xxoxx  
  这是一张房屋的占地面积图纸,X为不可通过区域,O为事件所在位置,具目前我自己测试发现貌似O的位置只能居中计算
  这个注释指令是可以限制人物的通行限制,该指令的解释为以事件为中心<event_size: 上 左 右 下>

2.脚本指令this.rmvDecoration()和插件指令remove_decor
  该脚本指令是指回收这个事件(可以通俗理解为回收该建筑,亲,这里是指的建筑,装饰物,家具等)

3.脚本指令this.decor_move(false,true,x)
  该脚本指令是指该事件摆放的区域ID,如参数中只有false那么没有区域限定可以随意摆放
  如果指令中带有true,x那么就限定该事件只能摆放再区域ID为x的地区
  对了,忘记说了false参数是必须写的

4.插件指令DMRegionLimit xDMMapLimit [x,x]
  该指令是限定物品或者装饰物所摆放的区域ID和地图ID,地图ID可以为单个或者多个
  (但是我没有测试这个指令和第三个指令有什么不同.大家可以自己试一下哦)

5.脚本指令transform_this_event x x
  该脚本指令是指复制事件仓库地图上的事件来覆盖当前事件,解释为transform_this_event 事件仓库地图ID 事件仓库里面的事件ID
  可以想象成为该事件做转向使用比如桌椅的旋转使用

6.物品备注栏中使用到的注释指令
  <decor_map: x>
  <decor_id: x>
  <decor_type: xxxx>

  这个注释指令比较重要,这个涉及到您的物品是什么类型.
  第一行,事件仓库地图ID
  第二行,事件仓库面的事件ID
  第三行,这个物品或说这个事件是什么类型,(类型分为Building,NPC,wall,furniture,tableware)翻译为:建筑,NPC,墙壁,家具,餐具

7.地图备注栏中国使用的注释指令<auto_save_event>
  该注释指令也是很重要的,它可以让您再这张地图上保存您刚刚随意摆放事件的位置,而不是让您切换地图后您的事件消失掉

8.插件指令DECOR_START_AUTO_MOVE
  该指令是指的您刚刚选择的事件可以随着您的鼠标进行移动(应该没解释错,嗯,应该没有)

9.插件指令decor_select xxxx
  该指令可以打开相对应物品类型存放窗口,xxxx分别对应的是Building,NPC,wall,furniture,tableware

好了,指令部分以及讲解完了.其实这个插件还有很多的指令我没有讲到,大家可以下载后自己查看.我所说的这些指令是我自己目前使用
到比较够用的指令,下面我们进行一些实际的操作流程.

第二步,重新建立一张新的地图,可以理解为用于存放建筑,装饰物,家具等的事件仓库地图,下面我们来新建一张地图以及一个新的事件


第三步,我们再数据库中建立一个物品


第四步,我们建立一张新的地图用来摆放我们的建筑物


第五步,好了准备工作全部做完了,我们开始进行摆放吧!
          先在刚刚建立的摆放物品的地图上放置一个事件NPC并在事件中让它给我一个我们刚刚建立好的建筑物物品,然后在给2条指令


好了,开始游戏吧!然后你就可以开心的摆放了.

我这里只是一个建筑类的物品摆放教程,其他类型的大体一致,大家可以自己琢磨一下
还有这个插件能实现的功能比我现在说的要多的很多很多,比如配合YEP_PictureCommonEvents插件和公共事件

说到最后,这是我第一次做教程,有什么讲的不对的地方,请大家见谅,也可以提出来我进行更正.祝大家开心每一天
额,终于写完了.好累.我要去恰饭,拜拜,下面提供一张官方给的建筑物行走图



哦了对,我把官方的范例也一起发上来,大家一起研究一起耍
链接:https://pan.baidu.com/s/1f5473nxLUWxc1kku9LZ36Q
提取码:wvcl

作者: gxtsjs    时间: 2021-8-29 16:18
感谢大大
作者: ww984957002    时间: 2021-8-29 21:31
好像一点难
作者: heise0711    时间: 2021-8-29 21:36
ww984957002 发表于 2021-8-29 21:31
好像一点难

额,可能是我表达的不是很清楚,抱歉啊
作者: ABXY-Kenobi    时间: 2021-8-29 22:18
加油!你一定能写出最好的教程的!
作者: RyanYe    时间: 2021-8-29 22:27
这个其实是不是就是build and decor啊?
作者: heise0711    时间: 2021-8-29 22:33
RyanYe 发表于 2021-8-29 22:27
这个其实是不是就是build and decor啊?

是滴,完全正确
作者: 红十字    时间: 2021-8-30 08:07
他这个许可证的意思是只要不是黄油,商用也免费呗?
作者: xiamumomo    时间: 2021-8-30 08:12
红十字 发表于 2021-8-30 08:07
他这个许可证的意思是只要不是黄油,商用也免费呗?

嗯  是的      
作者: dst1996    时间: 2021-8-30 10:05
我用RMMV做开罗
作者: 超凡入梦    时间: 2021-9-26 00:53
有点复杂但是勉强能看懂
作者: Heiko    时间: 2021-10-4 11:41
挺好的,就是和YEP的物品核心有点小冲突,不过只要把YEP物品核心里的最大物品数量改成0就可以兼容,不然收回背包的东西没办法再摆出来。
作者: Heiko    时间: 2021-10-5 16:58
再次发现和Glav的种植系统有冲突,种植时选不了种子,直接就是空选项,佛了
作者: play337    时间: 2021-10-5 18:21
厲害啊! 大大~
作者: jellySteve    时间: 2021-10-19 08:41
我刚刚嘤纯事件完成了这个功能,然后一上论坛就发现有插件,嘤嘤嘤
作者: heise0711    时间: 2021-10-31 01:39
Heiko 发表于 2021-10-5 16:58
再次发现和Glav的种植系统有冲突,种植时选不了种子,直接就是空选项,佛了 ...

和 Glav种植系统目前我一直在使用 并没有发现有冲突 不清楚你那边到底是怎么设置的
作者: gxtsjs    时间: 2021-11-1 21:54
好耶~
感谢大大
作者: 无终    时间: 2021-11-12 14:52
本帖最后由 无终 于 2023-10-27 17:51 编辑

好像用了Build_And_decor以后,就不能使用事件中的  物品选择处理  了
物品带在身上也不显示出来。

--------------------------------------------------
解决了

解决方案:找到 EST_Build_and_decor_EX.js 的第571行,如下:
JAVASCRIPT 代码复制
  1. return $.Window_EventItem_includes(this,item);


然后将括号里的this.item修改为item   如下(修改后):

JAVASCRIPT 代码复制
  1. return $.Window_EventItem_includes(item);


-------------------------------------------------
2022.1.16

今天发现插件与Chronus时间插件冲突

具体报错信息没有记录,不过关键字有hasOwnProperty

解决方法是在Chronus插件的方法上加一段,如下:
JAVASCRIPT 代码复制
  1. var getMetaValue = function(object, name) {
  2.         var metaTagName = metaTagPrefix + (name ? name : '');
  3.                         if(object.meta == null){//这里增加一个null值判断.
  4.                                 return undefined;
  5.                         }
  6.         return object.meta.hasOwnProperty(metaTagName) ? object.meta[metaTagName] : undefined;
  7.     };


------------------------------------------------
另外,帮楼主补充一点
1,插件的种类是随意设置的,就是building/wall的那些,什么都可以,只要物品的注释和插件指令对应起来就可以
2,关于事件地图上的事件设置,第二页也就是独立开关C的那一页,当摆放物跟随鼠标指针的时候会运行,而第三页也就是独立开关B的那一页,是在选择了物品但并没有进行摆放的时候会运行,即取消摆放的时候。
如果没有第三页,会造成物品放到指针上以后无法取消。
即便如此,现在还是有BUG,物品放到指针上后可以继续点击屏幕上的按钮进行物品选择,而选择后,前一个物品会和第二个物品重叠(视觉效果),但摆放后,只有1个事件会保留下来,相当于丢失了一个物品。

------------------------------------------------
2023.10
发现跟YEP的EventCopier/EventSpawn也有冲突。
YEP的插件必须放在后面,否则YEP会失效。
另外目前我这里插件的物品体积判断有问题,有体积设置的物品无法摆放,暂时还没找出原因。
作者: 无终    时间: 2021-11-12 17:09
本帖最后由 无终 于 2021-11-12 17:23 编辑
Heiko 发表于 2021-10-5 16:58
再次发现和Glav的种植系统有冲突,种植时选不了种子,直接就是空选项,佛了 ...


怎么修复的能说一下嘛我也有这个问题,感觉是MV版本的问题。(已解决
作者: 云端城主    时间: 2023-12-23 16:50
摆放区域,新建游戏的居然识别不了?怎么回事?
作者: jianghe006    时间: 2024-1-22 18:48
顶一下,好找!




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