设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1086|回复: 8
打印 上一主题 下一主题

[有事请教] 增加出战人数和改变角色站位问题(已解决)

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1126
在线时间
209 小时
注册时间
2023-7-14
帖子
86
跳转到指定楼层
1
发表于 2023-8-11 04:01:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 catxiaolang 于 2023-8-11 17:40 编辑

本人是召唤流爱好者,玩暗黑2和4都一定要选死灵法师招一堆骷髅去刷的那种。
所以执念的希望能够在自己的游戏中加入召唤流派。然而尝试了一些方法,得到的效果都不是很好。

设计是这样:
队伍角色上限为4人;
此外有4个额外的召唤物位置,排在4名角色前面;

理想的画面是这样的(图的P的)



和这样的

然而当我用Visu系插件Party System插件把最大出战人数修改到8后,得到的画面却是
这样的



甚至当队伍只有1人时画面是这样的

研究以后发现Party System插件只给了个修改每个角色的偏移量选项,不能从第几位开始另起一行。

随后又试图用MZ官方自带的Svactor插件修改坐标,得到的却是当角色普攻时游戏崩溃并出现一长串报错。
rmmz_managers.js:2036 TypeError: Cannot read property 'bitmap' of undefined
    at Sprite_Weapon.setPosition (SVActorPositionMZpro.js:458)
    at Sprite_Weapon.setup (SVActorPositionMZpro.js:453)
    at Sprite_Actor.<computed> [as forceWeaponAnimation] (VisuMZ_1_BattleCore.js:19985)
    at Game_Actor.Game_Battler.<computed>.startWeaponAnimation (VisuMZ_1_BattleCore.js:19985)
    at Game_Actor.<computed> [as performWeaponAnimation] (VisuMZ_1_BattleCore.js:19985)
    at Game_Actor.Game_Battler.requestMotion (VisuMZ_1_BattleCore.js:19985)
    at Game_Actor.performAttack (rmmz_objects.js:4656)
    at Game_Actor.Game_Battler.<computed>.<computed> [as performActionMotions] (VisuMZ_1_BattleCore.js:19985)
    at Game_Actor.<computed> [as performAction] (VisuMZ_1_BattleCore.js:19985)
    at Window_BattleLog.performAction (rmmz_windows.js:5517)
咱也不懂,问了ChatGPT它也说解决不了,叫我联系开发者。

又在以往的帖子里翻到了一个宠物召唤插件Pet Summon
https://rpg.blue/thread-493172-1-1.html
它的效果非常理想,可以选择把召唤物直接召唤到召唤者前面,也不用修改出战人数了,
但是我在自己的工程文件里却不知为何无法生效,
哪怕关了插件起个新工程文件也不行,很诡异,参考了原作者给的示例文件也没找到自己哪一步遗漏了。
在出处看到原作者似乎一直在努力试图解决与VS系列插件的兼容问题但不是很成功。

因为一些其它的设计需要,已经基本上绑定了Visu系列插件的框架。希望能够在兼容的前提下解决。
不知道有无大佬能指点迷津。

Lv3.寻梦者

梦石
0
星屑
2763
在线时间
330 小时
注册时间
2020-7-23
帖子
140
2
发表于 2023-8-11 08:09:15 | 只看该作者
花钱定制吧
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7165
在线时间
1314 小时
注册时间
2018-9-29
帖子
504
3
发表于 2023-8-11 08:51:33 | 只看该作者
我看你應該是用了VisuStella的戰鬥插件
很遺憾地跟你說
VisuStella的插件跟大多數的免費插件都不相容
所以你如果想要召喚系統只有發信建議VisuStella做一套

然後你再花錢買XD
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4189
在线时间
504 小时
注册时间
2011-3-26
帖子
110
4
发表于 2023-8-11 10:39:02 | 只看该作者
本帖最后由 rfvtgbzxc 于 2023-8-11 10:41 编辑

是不是使用了vs_battlecore?
站位算法在其插件参数中修改:


附一个每3人一行的站位算法:
JAVASCRIPT 代码复制
  1. // Declare Constants
  2. const sprite = this;
  3. const actor = this._actor;
  4. const index = arguments[0];
  5.  
  6. const columnIndex = parseInt(index / 3);
  7. const rowIndex = parseInt(index % 3);
  8. // Make Calculations
  9. const diffX = 16, columnDX = 64;
  10. let x = Math.round((Graphics.width / 2) + 250)
  11. x -= Math.floor((Graphics.width - Graphics.boxWidth) / 2);
  12. x += columnIndex * columnDX + rowIndex * diffX;
  13.  
  14. const columnDiffY = 20, rowDY = 64, columnMaxMembers = 3;
  15. let y = (Graphics.height - 120) - (columnMaxMembers * rowDY);
  16. y -= Math.floor((Graphics.height - Graphics.boxHeight) / 2);
  17. y += rowIndex * rowDY + (columnIndex % 2) * columnDiffY;
  18.  
  19. // Home Position Offsets
  20. const offsetNote = /<SIDEVIEW HOME OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i;
  21. const xOffsets = actor.traitObjects().map((obj) => (obj && obj.note.match(offsetNote) ? Number(RegExp.$1) : 0));
  22. const yOffsets = actor.traitObjects().map((obj) => (obj && obj.note.match(offsetNote) ? Number(RegExp.$2) : 0));
  23. x = xOffsets.reduce((r, offset) => r + offset, x);
  24. y = yOffsets.reduce((r, offset) => r + offset, y);
  25.  
  26. // Set Home Position
  27. this.setHome(x, y);


不过不清楚多了partysystem插件以后还能生效不
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1186
在线时间
147 小时
注册时间
2022-5-19
帖子
3
5
发表于 2023-8-11 15:23:17 | 只看该作者
这个我看了b站上有人出过visu改变站位的教程,你可以搜一下,具体是那个我忘了,这套插件不好用,会卡死的。
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1126
在线时间
209 小时
注册时间
2023-7-14
帖子
86
6
 楼主| 发表于 2023-8-11 17:13:03 | 只看该作者
rfvtgbzxc 发表于 2023-8-11 10:39
是不是使用了vs_battlecore?
站位算法在其插件参数中修改:

可行!谢谢你!

原来参数里就有只是不懂代码的我不理解它
正在让GPT教我怎么按需调整。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
72 小时
注册时间
2010-6-26
帖子
22
7
发表于 2023-8-27 23:11:07 | 只看该作者
ChangeMaxUnitBattleParty.js这个可解决

点评

已经找到Visu中的解决方法啦,不过还是谢谢!  发表于 2023-8-28 12:39
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1206
在线时间
561 小时
注册时间
2014-11-30
帖子
155
8
发表于 2023-9-19 18:59:48 | 只看该作者
rfvtgbzxc 发表于 2023-8-11 10:39
是不是使用了vs_battlecore?
站位算法在其插件参数中修改:

每个角色单独设置坐标数字,不用计算公式,该怎么写呢
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 22:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表