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

Project1

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

[已经解决] 请问具体如何使用

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2391
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

跳转到指定楼层
1
发表于 2017-10-5 23:58:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 j296196585 于 2017-10-6 00:10 编辑

请问 路过的道友
这个到底怎么使用。。。
我想增加499号敌人血量$gameTroop.members().hp//生命
比方这样设置$gameTroop.members(90000)[499].hp//生命  好像是错误

$gameTroop.members()[499].hp//90000好像还是错

然后我想了想 $gameTroop.members(0)[499].hp//90000.。还是错误

求 教  如何使用。。

JAVASCRIPT 代码复制
  1. $gameTroop.members()[i].hp//生命
  2. $gameTroop.members()[i].mp//MP
  3. $gameTroop.members()[i].tp//TP
  4. $gameTroop.members()[i].atk//攻击力
  5. $gameTroop.members()[i].def//防御力
  6. $gameTroop.members()[i].gainHp(n);//增减生命
  7. $gameTroop.members()[i].gainMp(n);//增减MP
  8. $gameTroop.members()[i].gainTp(n);//增减TP
  9. $gameTroop.members()[i].addState(n);//增加状态
  10. $gameTroop.members()[i].removeState(n);//去除状态
  11. $gameTroop.members()[i].recoverAll();//完全恢复
  12. $gameTroop.members()[i].transform(n);//更换敌人



JAVASCRIPT 代码复制
  1. $gameTroop.members()[i].agi//敏捷
  2. $gameTroop.members()[i].mdf//魔防
  3. $gameTroop.members()[i].mat//魔攻
  4. $gameTroop.members()[i].luk//幸运




360截图20171005224408796.jpg (51.58 KB, 下载次数: 2)

360截图20171005224408796.jpg

360截图20171006001000198.jpg (60.16 KB, 下载次数: 2)

360截图20171006001000198.jpg
------落尽红樱君不见,轻绘梨花泪沾衣。~~~

Lv2.观梦者

无节操

梦石
0
星屑
607
在线时间
795 小时
注册时间
2009-2-6
帖子
3939

开拓者贵宾

2
发表于 2017-10-6 00:15:00 | 只看该作者
你应该使用gainhp
$gameTroop.members()[i].gainHp(n);//增减生命

另 // 代表着其之后到一行末尾的部分,仅为注释
以你的例子,实际使用是
$gameTroop.members()[499].gainHp(90000);

点评

不知道 为什么就是报错  发表于 2017-10-6 22:03
moy
$gameTroop.members()[i].hp 只用于获取某目标的当前HP,而非修改  发表于 2017-10-6 00:15
Brandnew day, Brandnew Life
                              实在  中
暂为素材区版主,版其  琢磨
应援一下~
RPG制作大师授权素材推广计划
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

3
发表于 2017-10-6 03:10:36 | 只看该作者

一般,数值的前面是有带_符号的。这样容易记
HP也就是_hp

点评

完全看不懂道友在讲什么。。  发表于 2017-10-6 22:02
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
620
在线时间
158 小时
注册时间
2009-7-21
帖子
60

开拓者

4
发表于 2017-10-6 09:17:10 | 只看该作者
$gameTroop.members()[499]._hp =90000
不过推荐你用2楼的方法
直接等于太粗暴
思路才是大脑
方法只是手脚
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2391
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

5
 楼主| 发表于 2017-10-6 21:55:02 | 只看该作者
本帖最后由 j296196585 于 2017-10-6 22:01 编辑
a02821145 发表于 2017-10-6 09:17
$gameTroop.members()[499]._hp =90000
不过推荐你用2楼的方法
直接等于太粗暴

不行 脚本错误 我想的是包括2楼的方法也不行
我只是想随意调动怪物属性 设置成

普通怪物
  • $gameTroop.members()[i.agi//敏捷1000
  • $gameTroop.members()[i.mdf//魔防1000
  • $gameTroop.members()[i.mat//魔攻1000
  • $gameTroop.members()[i.luk//幸运1000


勇士怪物
  • $gameTroop.members()[i.agi//敏捷10000
  • $gameTroop.members()[i.mdf//魔防10000
  • $gameTroop.members()[i].mat//魔攻10000
  • $gameTroop.members()[i.luk//幸运10000


王者怪物

  • $gameTroop.members()[i.agi//敏捷100000
  • $gameTroop.members()[i.mdf//魔防100000
  • $gameTroop.members()[i.mat//魔攻100000
  • $gameTroop.members()[i.luk//幸运100000

英雄怪
  • $gameTroop.members()[i.agi//敏捷1000000
  • $gameTroop.members()[i.mdf//魔防1000000
  • $gameTroop.members()[i.mat//魔攻1000000
  • $gameTroop.members()[i.luk//幸运100000

  
英雄怪物
这样的属性 而已不清楚为什么不能生效

JAVASCRIPT 代码复制
  1. =begin
  2.  
  3.  
  4. $data_enemies[敌人ID].maxhp = 数值
  5. $data_enemies[敌人ID].maxsp = 数值
  6. $data_enemies[敌人ID].str = 数值
  7. $data_enemies[敌人ID].dex = 数值
  8. $data_enemies[敌人ID].agi = 数值
  9. $data_enemies[敌人ID].int = 数值
  10. $data_enemies[敌人ID].atk = 数值
  11. $data_enemies[敌人ID].pdef = 数值
  12. $data_enemies[敌人ID].mdef = 数值
  13. $data_enemies[1].exp=3000000 经验
  14. $data_enemies[1].gold=3000000价钱
  15.  
  16. =end



能不能想XP那样设置 好不容易找到一个居然不会用












360截图20171006124417095.jpg (69.32 KB, 下载次数: 8)

360截图20171006124417095.jpg

点评

是序号,不是ID,就是1,2,3,4,5,6,7,8  发表于 2017-10-6 23:16
不管如何,你要进入战斗才能修改敌人HP。$gameTroop.members()[敌人序号]._hp  发表于 2017-10-6 23:15
最下面的是 XP 超级脚本  发表于 2017-10-6 23:10
而且[]里面也不ID,是序号  发表于 2017-10-6 23:05
$gameTroop.members()是当前战斗队伍的敌人数据。你没进入战斗是没有的  发表于 2017-10-6 23:04
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
620
在线时间
158 小时
注册时间
2009-7-21
帖子
60

开拓者

6
发表于 2017-10-6 22:06:54 | 只看该作者
本帖最后由 a02821145 于 2017-10-6 22:31 编辑
j296196585 发表于 2017-10-6 21:55
不行 脚本错误 我想的是包括2楼的方法也不行
我只是想随意调动怪物属性 设置成

额,那就只有更粗暴的方法了
$dataEnemies[499].params[0] = 90000
不过,此方法是直接修改json配置
会在重启游戏后重置为原生属性,并且在本次战斗结束后
不关闭游戏的情况下再次遇到这个怪物还是修改之后的属性
params数组对应的属性类别分别是:最大HP、最大MP、攻击力、防御力、魔法攻击、魔法防御、敏捷、幸运
例如$dataEnemies[499].params[2]返回的就是攻击力

多解释一下$gameTroop把,我也是没过脑子就直接回复了一下
这个方法必须在战斗中才能获取到正在对战的怪物列表,所以直接赋值怪物ID是肯定不行。
如果想要修改$gameTroop里面的怪物,那么你就必须知道正在触发的dataTroop(敌群数据)的ID是哪个。
然后根据你在这个敌群ID下放置怪物的顺序,分别赋予这些怪物在dataTroop这个配置当中的ID值
简单举个例子


这个怪物在敌人配置为:$dataEnemies[3](其实就是3号敌人)
如果在敌群中想要获取他为:$dataTroops[3].members[0](即3号敌群配置中用于存放怪物列表members数组的第一个值,也就是在编辑器中操作这个数据时放入的第一个敌人)
如果在战斗中遇到了这个敌群,获取他应该这样写:$gameTroop._enemies[0] 或 $gameTroop.members()[0](当前敌群数据中用于存放怪物列表的_enemies数组的第一个敌人,也就是编辑器操作这个数据时放入的第一个敌人
不过这里建议使用第二种方式,即$gameTroop.members()[0]


为了加深理解,我在这个敌群里面在放入一个敌人


这个怪物在敌人配置为:$dataEnemies[4](其实就是4号敌人)
如果在敌群中想要获取他为:$dataTroops[3].members[1](即3号敌群配置中用于存放怪物列表members数组的第二个值,也就是在编辑器中操作这个数据时放入的第二个敌人)
如果在战斗中遇到了这个敌群,获取他应该这样写:$gameTroop.members()[1](当前敌群数据中用于存放怪物列表的_enemies数组的第二个敌人,也就是编辑器操作这个数据时放入的第二个敌人


综上所述,如果你想要在战斗开始前使用$gameTroop那是不可能的。因为那个时候战斗尚未发生。这个对象里面没有敌人列表。
你也可以尝试在战斗中进行修改,那时是可以获取到数据的。



点评

云里雾里。。大哥  发表于 2017-10-6 22:44

评分

参与人数 1+1 收起 理由
j296196585 + 1 摸了半天,总算懂了

查看全部评分

思路才是大脑
方法只是手脚
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2391
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

7
 楼主| 发表于 2017-10-6 23:05:47 | 只看该作者
本帖最后由 j296196585 于 2017-10-6 23:14 编辑
a02821145 发表于 2017-10-6 22:06
额,那就只有更粗暴的方法了
$dataEnemies[499].params[0] = 90000
不过,此方法是直接修改json配置

第一个理解了
第二个不理解
不知道 新加入第二个怪物  怎么理解
$dataEnemies[499].params[0] = 90000

360截图20171006230218571.jpg (75.63 KB, 下载次数: 11)

360截图20171006230218571.jpg

点评

,,,在XP 这个我最懂了。。到了MV 居然又成了小白  发表于 2017-10-6 23:17
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2391
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

8
 楼主| 发表于 2017-10-6 23:37:56 | 只看该作者
j296196585 发表于 2017-10-6 21:55
不行 脚本错误 我想的是包括2楼的方法也不行
我只是想随意调动怪物属性 设置成

$gameTroop.members()[499]._hp 9000
这样设置吗?
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
620
在线时间
158 小时
注册时间
2009-7-21
帖子
60

开拓者

9
发表于 2017-10-7 00:16:19 | 只看该作者
j296196585 发表于 2017-10-6 23:37
$gameTroop.members()[499]._hp 9000
这样设置吗?

不是
$gameTroop这个方法是当前正在和你进行战斗的敌群
$gameTroop.members()是当前正和你进行战斗的敌人列表
这个列表最多8个,也就是编辑器内放置敌人数量的上限。
也就是说最大值为$gameTroop.members()[7],就是编辑器内放入的第8个敌人
敌人表内ID为499号的敌人,可以是在$gameTroop.members()的0-7号任意位置,处于什么位置看你在编辑过程中放入的顺序
第一个放进入,那就是$gameTroop.members()[0];第三个放进去就是$gameTroop.members()[2]
并且可以放置多个相同ID(如果基础概念没理解透这部分我就不多说了)按照你7楼举例的图,当你正在和这组敌人对战时
$gameTroop.members()[1] = $dataEnemies[1]
当前战斗的敌人列表第二个敌人 = 敌人配置表中1号敌人的数据
如果在战斗中设置这个敌人的血量:$gameTroop.members()[1] ._hp = 90000
如果在战斗前设置这个敌人的血量:$dataEnemies[1].params[0] = 90000
最后我再列一下
$gameTroop.members()[0]  当前敌人列表中第1个敌人
$gameTroop.members()[1]  当前敌人列表中第2个敌人
$gameTroop.members()[2]  当前敌人列表中第3个敌人
$gameTroop.members()[3]  当前敌人列表中第4个敌人
$gameTroop.members()[4]  当前敌人列表中第5个敌人
$gameTroop.members()[5]  当前敌人列表中第6个敌人
$gameTroop.members()[6]  当前敌人列表中第7个敌人
$gameTroop.members()[7]  当前敌人列表中第8个敌人
敌人的顺序由编辑器内依次添加的顺序

点评

谢谢 可惜了 没有XP好  发表于 2017-10-7 01:00

评分

参与人数 2星屑 +150 +2 收起 理由
余烬之中 + 150 + 1 认可答案
j296196585 + 1 认可答案

查看全部评分

思路才是大脑
方法只是手脚
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-4 23:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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