Project1

标题: 【插件】敌人战斗位置自动排列 [打印本页]

作者: 过眼云烟    时间: 2015-11-20 17:48
标题: 【插件】敌人战斗位置自动排列
群里有好友提出的需求,如果每个战斗队伍都去调整队列太麻烦,这个插件可以自动批量调整排列所有敌人的位置。
效果如下:
数据库中的样子:

实际战斗中的位置:

如有问题欢迎留言,enjoy it~~~
截图由我的好友Ryusa提供,我已经懒得截了,灰常灰常感谢~~

JAVASCRIPT 代码复制下载
  1. //=============================================================================
  2. // MrLiu_Enemylocation.js
  3. //=============================================================================
  4.  
  5. /*:
  6.  * @plugindesc 在RMMV游戏的横版战斗中让敌人自动排序
  7.  * @author MrLiu-过眼云烟
  8.  
  9.  * @param Front Position X
  10.  * @desc 第一个敌人的X坐标.
  11.  * 默认值: 200
  12.  * @default 200
  13.  *
  14.  * @param Front Position Y
  15.  * @desc 第一个敌人的y坐标.
  16.  * 默认值: 280
  17.  * @default 280
  18.  *
  19.  * @param Front Instance X
  20.  * @desc This formula determines the actor's home Y position.
  21.  * 默认值: 32
  22.  * @default 32
  23.  *
  24.  * @param Front Instance Y
  25.  * @desc This formula determines the actor's home Y position.
  26.  * 默认值: 48
  27.  * @default 48
  28.  * @help This plugin does not provide plugin commands.
  29.  */
  30. //-----------------------------------------------------------------------------
  31. // Window_MapName
  32. //
  33. // The window for displaying the map name on the map screen.
  34.  
  35.  
  36.  
  37.  
  38. var Imported = Imported || {};
  39. Imported.MrLiu_Enemylocation = true;
  40.  
  41. var Lmd = Lmd || {};
  42. Lmd.Parameters = PluginManager.parameters('MrLiu_Enemylocation');
  43. Lmd.Param = Lmd.Param || {};
  44.         Lmd.Param.x1 = Number(Lmd.Parameters['Front Position X']);
  45.     Lmd.Param.y1 = Number(Lmd.Parameters['Front Position Y']);
  46.         Lmd.Param.x2 = Number(Lmd.Parameters['Front Instance X']);
  47.         Lmd.Param.y2 = Number(Lmd.Parameters['Front Instance Y']);
  48.  
  49. (function() {
  50.  
  51.  
  52.  
  53.         Game_Enemy.prototype.screenX = function() {
  54.                 return Lmd.Param.x1 - this.index() * Lmd.Param.x2;//this._screenX;
  55.         };
  56.  
  57.         Game_Enemy.prototype.screenY = function() {
  58.                 return Lmd.Param.y1 + this.index() * Lmd.Param.y2;//this._screenY;
  59.         };
  60.  
  61.  
  62.  
  63. //var _Scene_Map_start = Scene_Map.prototype.start;
  64. //Scene_Map.prototype.start = function() {
  65. //   this._Scene_Map_start();
  66. //   this._mapStatusWindow.open();
  67. //};
  68. })();

MrLiu_Enemylocation.rar

795 Bytes, 下载次数: 1136


作者: dongdongdjh    时间: 2015-11-22 22:14
排列成一列是不是太鸡肋,加上行列的设定会不会更好,比如自动排列成2列
作者: ytqlovehjl    时间: 2015-12-5 20:26
楼主叼炸天。。
作者: Denis    时间: 2015-12-6 00:15
同求做成两行
作者: 1097811376    时间: 2016-1-17 01:21
简单的排成两行,把原脚本的
        Game_Enemy.prototype.screenY = function() {
                return Lmd.Param.y1 + this.index() * Lmd.Param.y2;//this._screenY;
        };

修改为
        Game_Enemy.prototype.screenY = function() {
                return Lmd.Param.y1 + (this.index()%4) * Lmd.Param.y2;//this._screenY;
        };


作者: 309988769    时间: 2016-2-18 18:36
1097811376 发表于 2016-1-17 01:21
简单的排成两行,把原脚本的
        Game_Enemy.prototype.screenY = function() {
                return Lmd.Param.y1 + this ...

你还修改了什么地方,才可以把第2排站在后面,我按你上面改了,但是第2排的敌人与第1排重叠了,怎么修改第2排的X坐标呢
作者: 小叮鈴    时间: 2016-2-18 19:48
如果敵人體積太大 會黏成一團吧
作者: txp357    时间: 2018-1-14 09:45
这个真是极好,还要感谢109桑的进一步完善优化。
作者: lll98120301    时间: 2018-3-1 14:50


  1.         Game_Enemy.prototype.screenX = function() {
  2.                 return Lmd.Param.x1 + this.index() * Lmd.Param.x2;//this._screenX;
  3.         };
  4.        
  5.         Game_Enemy.prototype.screenY = function() {
  6.                 return Lmd.Param.y1 - (this.index()%4) * Lmd.Param.y2;//this._screenY;
  7.         };
复制代码

换成这个可以让第二排敌人在前面 这样只有四个敌人看起来违和感没有那么强
默认值分别更改为 160 384 32 44  (按自己喜欢)
作者: 花糖兔子    时间: 2018-4-2 07:53
好东西就要顶
作者: qq1065526265    时间: 2018-5-21 13:41
好东西 谢谢分享
作者: lebujue    时间: 2018-10-23 16:14
和“YEP_X_AnimatedSVEnemies敌群战斗侧视图”不兼容。
敌人图像设置的无,俩插件一起使用的时候是空白的,应该是YEP_X_AnimatedSVEnemies没有用了。
作者: mjc2568103    时间: 2018-11-2 15:45
刚试了一下感觉还不错,谢谢分享
作者: Eevee伊布    时间: 2020-6-14 20:54
太好用了
作者: 凌應    时间: 2020-6-15 12:12
感谢楼主分享
作者: ddw6688    时间: 2020-7-31 09:16
感谢分享,正好需要。
作者: ddw6688    时间: 2020-8-1 16:31
正好需要,感谢分享
作者: qwe6301913    时间: 2020-8-11 14:23
本帖最后由 qwe6301913 于 2020-8-11 14:26 编辑
1097811376 发表于 2016-1-17 01:21
简单的排成两行,把原脚本的
        Game_Enemy.prototype.screenY = function() {
                return Lmd.Param.y1 + this ...


大佬  怎么修改成3行啊 每行3个怪物   感谢 像这种一样
作者: mengjiyao122    时间: 2021-8-20 21:21
多谢分享,九宫格战斗系统是不是能以这个作为基础呢?
作者: arindlu    时间: 2021-8-22 19:58
好东西就要顶
作者: 超凡入梦    时间: 2021-9-3 22:54
懒人的福音
作者: zyl147258    时间: 2022-5-15 15:24
辛苦楼主,这个很好用,只是不需要排列的敌人怎么办呢。有什么方法可以解决,试了下MrTS_EnemyPositions插件,好像不行。
作者: zhouhua2022    时间: 2022-7-6 10:17
6666666666
作者: RPG_6666    时间: 2023-4-28 14:05
666666666666
作者: luoyi1002    时间: 2023-4-28 15:15
感谢大佬分享
作者: sadhu4231    时间: 2023-5-6 06:47
这个横向排列的时候怎么自动以中心对齐开始排列




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