查看: 3244|回复: 3

[已经过期] 如何设置指定地点的战斗背景

[复制链接]
梦石
0
星屑
50
在线时间
6 小时
注册时间
2017-6-5
回帖
4
发表于 2017-6-12 14:32:54 | 显示全部楼层 |阅读模式

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

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

×
比如在世界地图上行走
一些地方属于森林地带
战斗时背景要换成森林
可是敌群设置那里一换背景全部总类的敌群都会一起换
要怎么办才好
梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
回帖
162
发表于 2017-6-12 23:03:44 | 显示全部楼层
每次战斗前先进行一次公共事件判定,判定角色目前所在格子的地图区域是几(比如说世界地图中森林设定为区域1),然后事件指令中更改战斗背景,再进行战斗。这样设定只是略有点麻烦,而且应该可以满足楼主的需求。

当然,这种设置只适用于明雷战斗,而踩地雷遇敌战斗的话,就需要再找大神问问怎么在战斗前自动执行公共事件了。
回复

使用道具 举报

梦石
0
星屑
2306
在线时间
1010 小时
注册时间
2012-4-30
回帖
1455

开拓者

发表于 2017-6-12 23:15:57 | 显示全部楼层
本帖最后由 铅笔描绘的思念 于 2017-6-13 12:15 编辑

其实VA有类似脚本 我在想复刻来的不过懒了一手。。。
先占个坑吧


先提供一个事件脚本解决方法 事件框一圈起来全部是事件脚本
  1. $gameMap.changeBattleback(filename, filename);
复制代码
看看这样能实现效果嘛


桥豆麻袋。。事件本来就有这个设置啊 没必要用事件脚本 框一圈 接触触发 更改战斗背景图就好


搞定了  在地图备注中加[regionX 背景1文件名 背景2文件名]
然后用设定的X号涂个区域 里面发生的战斗就是背景1+背景2的样子啦
点击展开/收起[pre lang="javascript"]Game_Map.prototype.regionBattleBack = function(regionId) {
        var battleback1name = this.battleback1Name();
        var battleback2name = this.battleback2Name();
        $dataMap.note.split('\n').forEach(function(i){
            var data = i.split(/\[region| |\]/);
            var id = data[1];
            if(id == regionId){
                battleback1name = data[2];
                battleback2name = data[3];
            };
        });
        return [battleback1name,battleback2name];
    };
    Spriteset_Battle.prototype.battleback1Name = function() {
        if (BattleManager.isBattleTest()) {
            return $dataSystem.battleback1Name;
        }else if($gameMap.regionBattleBack($gamePlayer.regionId())){
            return $gameMap.regionBattleBack($gamePlayer.regionId())[0];
        } else if ($gameMap.battleback1Name()) {
            return $gameMap.battleback1Name();
        } else if ($gameMap.isOverworld()) {
            return this.overworldBattleback1Name();
        } else {
            return '';
        }
    };

    Spriteset_Battle.prototype.battleback2Name = function() {
        if (BattleManager.isBattleTest()) {
            return $dataSystem.battleback2Name;
        }else if($gameMap.regionBattleBack($gamePlayer.regionId())){
            return $gameMap.regionBattleBack($gamePlayer.regionId())[1];
        } else if ($gameMap.battleback2Name()) {
            return $gameMap.battleback2Name();
        } else if ($gameMap.isOverworld()) {
            return this.overworldBattleback2Name();
        } else {
            return '';
        }
    };[/pre]
回复

使用道具 举报

梦石
0
星屑
5170
在线时间
610 小时
注册时间
2017-10-21
回帖
321
发表于 2017-11-1 15:25:25 | 显示全部楼层
本帖最后由 微笑的迪妮莎 于 2017-11-1 15:30 编辑
铅笔描绘的思念 发表于 2017-6-12 23:15
其实VA有类似脚本 我在想复刻来的不过懒了一手。。。
先占个坑吧


大佬威武
另注明了作者
QQ图片20171101152833.png

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部