查看: 1700|回复: 8

[已经解决] 请问怎么更改敌人的能力

[复制链接]
梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
回帖
457
发表于 2013-3-21 22:10:40 | 显示全部楼层 |阅读模式

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

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

×
= = 请问谮么在战斗的过程中增减敌人的攻击力 防御力等= =如何实现 谢谢 (敌人变身就算了.... 那个方法999的最大敌人限制是不够用的..)
梦石
0
星屑
244
在线时间
584 小时
注册时间
2012-9-7
回帖
592
发表于 2013-3-21 22:25:44 | 显示全部楼层
战斗中修改……很简单,先设置好多个状态 比如物防150%,物防80%……………… 然后设置战斗中的事件,根据需要给敌人加上某个状态即可
FTM正式版已经发布,点击图片开启传送门
回复

使用道具 举报

梦石
0
星屑
34467
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2013-3-21 23:21:43 | 显示全部楼层
$data_enemies[敌人ID].atk = n      攻击力
$data_enemies[敌人ID].pdef = n     物防
$data_enemies[敌人ID].mdef = n    魔防
.
.
.
.

评分

参与人数 1星屑 +66 收起 理由
hys111111 + 66 感谢回答

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
回帖
457
 楼主| 发表于 2013-3-22 06:20:52 | 显示全部楼层
本帖最后由 小和尚 于 2013-3-22 06:27 编辑
芯☆淡茹水 发表于 2013-3-21 23:21
$data_enemies[敌人ID].atk = n      攻击力
$data_enemies[敌人ID].pdef = n     物防
$data_enemies[敌人 ...


比如我在战斗事件中 输入$data_enemies[5].atk = 100  这个脚本 那么在战斗中 敌人5 的攻击力就会变成100吗?
回复

使用道具 举报

梦石
0
星屑
244
在线时间
584 小时
注册时间
2012-9-7
回帖
592
发表于 2013-3-22 09:05:33 | 显示全部楼层
芯☆淡茹水 发表于 2013-3-21 23:21
$data_enemies[敌人ID].atk = n      攻击力
$data_enemies[敌人ID].pdef = n     物防
$data_enemies[敌人 ...

这个我测试过,在战斗中是不会立即生效的,必须等到下一场战斗才能够实现效果

点评

这个是立即生效的没错。  发表于 2013-3-28 15:19
FTM正式版已经发布,点击图片开启传送门
回复

使用道具 举报

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
回帖
457
 楼主| 发表于 2013-3-22 22:28:20 | 显示全部楼层
wingzeroplus 发表于 2013-3-22 09:05
这个我测试过,在战斗中是不会立即生效的,必须等到下一场战斗才能够实现效果 ...

就没有当次战斗就直接生效的方法吗= = 附加状态.. 那得做多少啊~= = 话说如果设置两个不同的状态 但效果都是力量变80% 那么同时附加这两个状态 力量变为原来的百分之几

点评

如果你想在乎细节,多下点功夫是必须的,一般一个大作来说 状态数不会低于100,就看你对自己游戏的定义了  发表于 2013-3-23 08:53
跟默认的属性一样都是乘法关系,自己算吧  发表于 2013-3-23 08:51
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2013-3-28 15:20:33 | 显示全部楼层
本帖最后由 亿万星辰 于 2013-3-28 22:27 编辑
小和尚 发表于 2013-3-22 22:28
就没有当次战斗就直接生效的方法吗= = 附加状态.. 那得做多少啊~= = 话说如果设置两个不同的状态 但效果 ...


如3楼可说,那个方法就可以实现。

也扔个简单到不能再简单的例子。


@wingzeroplus 你需要了解的是Game_Battler的atk方法是取了Game_Enemy中的base_atk方法,而Game_Enemy中的base_atk方法又是直接引用了数据库实例数组$data_enemies中元素的对应属性,你可以直接修改这些属性,在计算战斗伤害时引用atk方法时,自然会最终取到这个修改后的属性值。

Project1.zip

201.54 KB, 下载次数: 21

点评

你自己试试看~  发表于 2013-3-28 22:01
连原作者都说了不一定会立即生效http://www.66rpg.com/articles/2870,自己看。本人也亲自测试过,确实无法立即生效  发表于 2013-3-28 17:02

评分

参与人数 2星屑 +110 收起 理由
hys111111 + 100 认可答案
wingzeroplus + 10 我很赞同

查看全部评分

我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
回帖
457
 楼主| 发表于 2013-3-29 06:16:41 | 显示全部楼层
亿万星辰 发表于 2013-3-28 15:20
如3楼可说,那个方法就可以实现。

也扔个简单到不能再简单的例子。

恩恩 谢谢 谢谢各位~~ 嘻嘻{:2_275:}
回复

使用道具 举报

梦石
0
星屑
244
在线时间
584 小时
注册时间
2012-9-7
回帖
592
发表于 2013-3-29 09:11:41 | 显示全部楼层
亿万星辰 发表于 2013-3-28 15:20
如3楼可说,那个方法就可以实现。

也扔个简单到不能再简单的例子。

嗯,我错了,EXP又增长了(笑)
估计是因为之前我将敌人ID1-100复制到101-200,然后修改的时候以
循环y=100+x
$data_enemies[y].dex=$data_enemies[x].dex*2之类的
出现的敌人全部是101-200号的,为了不需要重复修改数据库之类的,另外加了一些其他的脚本,估计会有影响,我再去分析下原因
FTM正式版已经发布,点击图片开启传送门
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部