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

Project1

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

[有事请教] 如何在等级和经验值的位置按队友显示不同的自定义变量

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1079
在线时间
208 小时
注册时间
2023-5-18
帖子
106
1
发表于 2024-3-17 15:12:22 | 显示全部楼层
给每个actor绑定不同的变量不就好了,比如id为0的actor使用id为0的变量,然后在下面的方法中判断当前actor的id,返回对应id的变量值
JAVASCRIPT 代码复制
  1. Window_Status.prototype.expTotalValue = function() {
  2.     if (this._actor.isMaxLevel()) {
  3.         return "-------";
  4.     } else {
  5.         return this._actor.currentExp();
  6.     }
  7. };
我的B站传送门
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1079
在线时间
208 小时
注册时间
2023-5-18
帖子
106
2
发表于 2024-3-17 21:11:12 | 显示全部楼层
本帖最后由 Arrose 于 2024-3-17 21:17 编辑
MichaelPolo 发表于 2024-3-17 20:31
大佬,我改了一下脚本如下,但是好像不对,判断没有起作用,是不是语法写错了,我不太会写脚本。
我希望 ...


=表示赋值,==会进行自动类型转换,然后才判断是否相等,===才是判断是否类型和值都相等,建议用===

还有你应该写成插件,而不是直接在MZ源码里修改,参考:https://rpgmakerofficial.com/product/mz/plugin/make/koushiki.html
我的B站传送门
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1079
在线时间
208 小时
注册时间
2023-5-18
帖子
106
3
发表于 2024-3-18 11:29:02 | 显示全部楼层
本帖最后由 Arrose 于 2024-3-18 11:30 编辑
MichaelPolo 发表于 2024-3-17 23:35
感谢指导,现在状态和技能详细里的年龄都可以分别用不同变量表示了,唯独menu界面还不行,找了半天没有头 ...


JAVASCRIPT 代码复制
  1. Window_StatusBase.prototype.drawActorLevel = function(actor, x, y) {
  2.     this.changeTextColor(ColorManager.systemColor());
  3.     this.drawText(TextManager.levelA, x, y, 48);
  4.     this.resetTextColor();
  5.     this.drawText(actor.level, x + 84, y, 36, "right");
  6. };
我的B站传送门
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1079
在线时间
208 小时
注册时间
2023-5-18
帖子
106
4
发表于 2024-3-18 14:32:00 | 显示全部楼层
本帖最后由 Arrose 于 2024-3-18 14:38 编辑
MichaelPolo 发表于 2024-3-18 13:49
我改的就是这里,但是只能让点状态选角色后或点技能选角色后的界面里的年龄改成不同变量,刚按esc出来的 ...


你别用this._actor啊,this._actor是不存在,你的if里的条件都是false,你这个函数不是自己传了actor参数进去了,你直接用actor,

我建议你应该先去看下js的基础语法再来改插件,特别是作用域及this对象指向。
我的B站传送门
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1079
在线时间
208 小时
注册时间
2023-5-18
帖子
106
5
发表于 2024-3-18 21:36:49 | 显示全部楼层
MichaelPolo 发表于 2024-3-18 21:10
感谢,我折腾了半天终于搞定了。
问题主要是出在我用了AltMenuScreen2MZ.js插件,这个插件管着主菜单界面 ...

用actor._actorId,actorId才是数据库的角色id,

JAVASCRIPT 代码复制
  1. Game_Actor.prototype.index = function() {
  2.     return $gameParty.members().indexOf(this);
  3. };


你写的actor.index()获得是队列位置,如果你的角色的id是10,你怎么判断
我的B站传送门
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-10 10:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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