查看: 21221|回复: 28

[原创发布] 【插件】敌人战斗位置自动排列

[复制链接]
梦石
0
星屑
3677
在线时间
4468 小时
注册时间
2008-6-12
回帖
776
发表于 2015-11-20 17:48:10 | 显示全部楼层 |阅读模式

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

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

×
群里有好友提出的需求,如果每个战斗队伍都去调整队列太麻烦,这个插件可以自动批量调整排列所有敌人的位置。
效果如下:
数据库中的样子:
之前.jpg
实际战斗中的位置:
之后.jpg
如有问题欢迎留言,enjoy it~~~
截图由我的好友Ryusa提供,我已经懒得截了,灰常灰常感谢~~

[pre lang="javascript" file="MrLiu_Enemylocation.js"]//=============================================================================
// MrLiu_Enemylocation.js
//=============================================================================

/*:
* @plugindesc 在RMMV游戏的横版战斗中让敌人自动排序
* @author MrLiu-过眼云烟

* @param Front Position X
* @desc 第一个敌人的X坐标.
* 默认值: 200
* @default 200
*
* @param Front Position Y
* @desc 第一个敌人的y坐标.
* 默认值: 280
* @default 280
*
* @param Front Instance X
* @desc This formula determines the actor's home Y position.
* 默认值: 32
* @default 32
*
* @param Front Instance Y
* @desc This formula determines the actor's home Y position.
* 默认值: 48
* @default 48
* @help This plugin does not provide plugin commands.
*/
//-----------------------------------------------------------------------------
// Window_MapName
//
// The window for displaying the map name on the map screen.




var Imported = Imported || {};
Imported.MrLiu_Enemylocation = true;

var Lmd = Lmd || {};
Lmd.Parameters = PluginManager.parameters('MrLiu_Enemylocation');
Lmd.Param = Lmd.Param || {};
        Lmd.Param.x1 = Number(Lmd.Parameters['Front Position X']);
    Lmd.Param.y1 = Number(Lmd.Parameters['Front Position Y']);
        Lmd.Param.x2 = Number(Lmd.Parameters['Front Instance X']);
        Lmd.Param.y2 = Number(Lmd.Parameters['Front Instance Y']);
       
(function() {
       


        Game_Enemy.prototype.screenX = function() {
                return Lmd.Param.x1 - this.index() * Lmd.Param.x2;//this._screenX;
        };
       
        Game_Enemy.prototype.screenY = function() {
                return Lmd.Param.y1 + this.index() * Lmd.Param.y2;//this._screenY;
        };



//var _Scene_Map_start = Scene_Map.prototype.start;
//Scene_Map.prototype.start = function() {
//   this._Scene_Map_start();
//   this._mapStatusWindow.open();
//};
})();
[/pre]

MrLiu_Enemylocation.rar

795 Bytes, 下载次数: 1137

评分

参与人数 3星屑 +66 梦石 +2 赞 +2 收起 理由
ZICENI + 1
beiduo + 1
余烬之中 + 66 + 2 图书馆收录

查看全部评分

本人三无老人,请大神轻拍
梦石
0
星屑
4058
在线时间
836 小时
注册时间
2013-7-29
回帖
145

开拓者

发表于 2015-11-22 22:14:53 | 显示全部楼层
排列成一列是不是太鸡肋,加上行列的设定会不会更好,比如自动排列成2列

点评

可以的,后续版本考虑吧。这个插件最初的目的是帮助朋友做吞食天地的  发表于 2015-11-23 08:02
现在论坛上的少,有事联系
QQ:2287688663
回复

使用道具 举报

梦石
0
星屑
57
在线时间
103 小时
注册时间
2015-11-30
回帖
28
发表于 2015-12-5 20:26:19 | 显示全部楼层
楼主叼炸天。。
回复

使用道具 举报

笑问情缘

梦石
0
星屑
68
在线时间
238 小时
注册时间
2006-5-3
回帖
544
发表于 2015-12-6 00:15:13 来自手机 | 显示全部楼层
同求做成两行
回复

使用道具 举报

梦石
0
星屑
79
在线时间
112 小时
注册时间
2010-6-16
回帖
70
发表于 2016-1-17 01:21:05 | 显示全部楼层
简单的排成两行,把原脚本的
        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;
        };

LIANGPAI.PNG
回复 2 0

使用道具 举报

梦石
0
星屑
1225
在线时间
564 小时
注册时间
2014-11-30
回帖
126
发表于 2016-2-18 18:36:36 | 显示全部楼层
1097811376 发表于 2016-1-17 01:21
简单的排成两行,把原脚本的
        Game_Enemy.prototype.screenY = function() {
                return Lmd.Param.y1 + this ...

你还修改了什么地方,才可以把第2排站在后面,我按你上面改了,但是第2排的敌人与第1排重叠了,怎么修改第2排的X坐标呢

点评

x坐标是根据Front Instance X的值自动计算的,只要这个值不为0就不会叠在一起的,或者你的怪物图太大了  发表于 2016-2-20 21:02
回复

使用道具 举报

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
回帖
729
发表于 2016-2-18 19:48:04 | 显示全部楼层
如果敵人體積太大 會黏成一團吧
回复

使用道具 举报

梦石
0
星屑
840
在线时间
60 小时
注册时间
2018-1-10
回帖
84
发表于 2018-1-14 09:45:01 | 显示全部楼层
这个真是极好,还要感谢109桑的进一步完善优化。
回复

使用道具 举报

梦石
0
星屑
255
在线时间
75 小时
注册时间
2014-6-26
回帖
131
发表于 2018-3-1 14:50:47 | 显示全部楼层


  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  (按自己喜欢)
回复

使用道具 举报

梦石
0
星屑
54
在线时间
8 小时
注册时间
2018-4-2
回帖
20
发表于 2018-4-2 07:53:14 | 显示全部楼层
好东西就要顶
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部