查看: 8247|回复: 31

[有事请教] 敌人技能bug

[复制链接]
梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
回帖
43
发表于 2018-4-25 23:14:02 | 显示全部楼层 |阅读模式

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

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

×
出现一个很奇怪的现象.......
除了一号敌人,,其他的敌人都不会使用“攻击”指令(就是默认1号技能位的那个)
我试过通过更改最大值来创建一个默认新敌人,自带技能攻击,实战不使用,直接跳过回合。。。
但唯独一号可以用,也检查过他和其他的并没有什么不同,直接复制一号敌人创造出来的敌人可以使用攻击指令。。。
有没有大佬知道怎么回事?
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-4-25 23:33:51 | 显示全部楼层
敌人战斗中攻击技能是这里设置的
Game_Action.prototype.setEnemyAction = function(action) {
回复

使用道具 举报

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
回帖
43
 楼主| 发表于 2018-4-26 17:05:06 | 显示全部楼层
yang1zhi 发表于 2018-4-25 23:33
敌人战斗中攻击技能是这里设置的
Game_Action.prototype.setEnemyAction = function(action) { ...

不懂QAQ怎么具体设置呢,是在哪里加上这段话么= =

点评

你说你改了,敌人,我以为你会一点脚本呢QAQ  发表于 2018-4-26 22:39
回复

使用道具 举报

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
回帖
43
 楼主| 发表于 2018-4-26 22:47:59 | 显示全部楼层
yang1zhi 发表于 2018-4-25 23:33
敌人战斗中攻击技能是这里设置的
Game_Action.prototype.setEnemyAction = function(action) { ...

emmmm......只是从编辑器里改而已......学过c++但没学过js,想问个问题,如果想要知道一些操作的脚本(比如id x 的角色 穿上 id y 的装备)应该从哪里看,系统文件么= =但是那么多怎么找

点评

学过C++那这个也能自学。MV的JS不难。主要是你可以照着他的套路写。  发表于 2018-4-26 22:52
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-4-26 22:57:18 | 显示全部楼层
本帖最后由 yang1zhi 于 2018-4-26 23:04 编辑
jgf1000 发表于 2018-4-26 22:47
emmmm......只是从编辑器里改而已......学过c++但没学过js,想问个问题,如果想要知道一些操作的脚本(比 ...


要找装备。装备的英文是equip,所以首先是用脚本编辑器打开所有脚本。然后按CTRL+F在里面查找equip。
角色就是actor
敌人就是enemy
数据库就是$dataActors,$dataEnemies
地图界面就是Scene_Map
要建个笔记本,用来记下觉得有用的一些MV代码,以后找起来方便。


你想学的话,我这个笔记可能对你有用
[pre lang="javascript"]
console.log()   #在控制台输出
require('nw.gui').Window.get().showDevTools()   脚本呼叫控制台
alert('输出');    #输出
alert(JSON.stringify($gameParty._actors[0]));  #输出对象内容

//重复触摸OK
TouchInput.isRepeated('ok')

//单次触摸OL
TouchInput.isTriggered('ok')

//预载图片
ImageManager.reserveFace(actor.faceName());

//当前界面
SceneManager._scene


//计算括号内的字符串,可包含JS代码
eval(string)

//判断类型名字
this.constructor.name

//深复制
JsonEx.makeDeepCopy(
var actor = JsonEx.makeDeepCopy(this._actor);

//是否在战斗中
$gameParty.inBattle()

//删除精灵
.removeChild();

//判断是否是字符串
Object.prototype.toString.call(变量) === "[object String]"

this._direction    #事件面向

this.moveForward(); 事件向前移动

$gameTemp.setDestination(1, 1);   #主角自动寻路目的地

$gameMap.regionId(x,y)  #得到地图区域ID


unique  #去掉数组重复

this._targetIndex  #技能对象的所在队伍index
decideRandomTarget #决定随机目标

AudioManager.playBgm($dataMap.bgm); #播放BGM
AudioManager.playBgs($dataMap.bgs);  #播放BGS

center  #居中对齐
left     #左对齐
right    #右对齐

actor.learnSkill(item.id); #学会技能
actor.forgetSkill(item.id); #遗忘技能

.slice(0,0);   #复制数组,从0到0


.splice(1,1)  #删除数组(第1个位置,1个数)

Math.max(0, 1);  #数组中的最大数


$gameSwitches._data[10]    #开关
$gameVariables._data[10]   #变量

$gameParty.gainGold(1); #获得金钱

$gameParty.gainItem($dataItems[id], 数量);  #获得物品

if ($gameParty.numItems($dataItems[id]) > 0)   #判断道具数量

.toFixed(0)  #数字转字符串
parseFloat("1000")  #字符串转数字

$gameParty.qiu_zhujiao()

length #数组中单元的个数

$gameMap.regionId(x, y);  #求地图区域ID

var c = q.concat( b );  #两个数组合并

$gameParty._items    #队伍道具

$gameParty._actors  #队伍角色,里面是ID,我改成是对象

$gameParty.members #队伍角色
$gameActors.actor() #队伍角色
$gameActors._data[actorId] #队伍角色

$gameParty.removeActor(this._params[0]);  #队友离开
$gameParty.addActor(this._params[0]);    #队友加入

.addState(id)   #添加状态
.removeState(id)   #解除状态

$gameMap.mapId()  #当前地图ID

.contains('LV0')   #包含

#循环 0-4
for (var i=0; i<4; i++)
  {
}

continue #下一个循环
##########

#前往新地图
$gamePlayer.reserveTransfer(2, 1, 1);
        this.fadeOutAll();
        SceneManager.goto(Scene_Map);
################################################

Window.prototype.itemHeight = function() {    #设定选项的间距高[/pre]

点评

不知道代码的时候就百度查找,一般的都能找到  发表于 2018-4-26 22:58

评分

参与人数 1赞 +1 收起 理由
jgf1000 + 1 塞糖

查看全部评分

回复 1 0

使用道具 举报

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
回帖
43
 楼主| 发表于 2018-4-26 23:10:11 | 显示全部楼层
yang1zhi 发表于 2018-4-26 22:57
要找装备。装备的英文是equip,所以首先是用脚本编辑器打开所有脚本。然后按CTRL+F在里面查找equip。
角 ...

感谢大佬分享经验
回复

使用道具 举报

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
回帖
43
 楼主| 发表于 2018-5-10 15:32:08 | 显示全部楼层
yang1zhi 发表于 2018-4-26 22:57
要找装备。装备的英文是equip,所以首先是用脚本编辑器打开所有脚本。然后按CTRL+F在里面查找equip。
角 ...

现在大致会了一点,现在基本上就是用F8看看数据存在那里然后直接赋值更改的水平(T . T),但因为很多都是用数组存的,大佬知道怎么给其加一项么?

点评

要说给数组加的话就是 .push(什么) 来加到数组最后,删的话就是.splice(位置,删几个) 就删掉了  发表于 2018-5-10 16:01
也就是赋值一下。没赋值的是不存在的,赋值后就加进去了  发表于 2018-5-10 16:00
写上 .什么什么 = 什么什么 就加进去了  发表于 2018-5-10 15:59
回复

使用道具 举报

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
回帖
43
 楼主| 发表于 2018-5-10 16:04:27 | 显示全部楼层
yang1zhi 发表于 2018-4-26 22:57
要找装备。装备的英文是equip,所以首先是用脚本编辑器打开所有脚本。然后按CTRL+F在里面查找equip。
角 ...

emmmm.....这个我是知道的,我的意思是,比如一开始编辑器里设定的敌人技能只有两个,我看数据时里面的action就是只有两项的数组,每个对应着一个技能,虽然我现在可以修改这两个技能,但我加不了第三个技能,就是怎么把这个数组项数加一...

点评

敌人是没有技能列表的,只是随机选择数据库内的,你要给他们技能就要自己建立一个变量来放技能  发表于 2018-5-10 16:28
回复

使用道具 举报

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
回帖
43
 楼主| 发表于 2018-5-10 16:16:09 | 显示全部楼层
本帖最后由 jgf1000 于 2018-5-10 16:18 编辑
yang1zhi 发表于 2018-4-26 22:57
要找装备。装备的英文是equip,所以首先是用脚本编辑器打开所有脚本。然后按CTRL+F在里面查找equip。
角 ...


QQ截图20180510161345.png
现在是这么个样子...应该怎么样加和之前一样格式的呢= =
原谅我这个小萌新....




会了会了,感谢大佬指点!比心~
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-5-10 16:33:11 | 显示全部楼层
本帖最后由 yang1zhi 于 2018-5-10 16:35 编辑
jgf1000 发表于 2018-5-10 16:16
现在是这么个样子...应该怎么样加和之前一样格式的呢= =
原谅我这个小萌新....


data是数据库内容,你不能改数据库内容,那只是个参照表,你要改的应该是游戏中生成的内容。而武器默认是没有独立的,你想添加特性还要把他独立出来。那是个非常麻烦的事情。不建议新手去做。
原理就是用
var wuqi = JsonEx.makeDeepCopy($dataWeapons[3]);
这样把武器数据从数据库复制一个出来,由于使用了 JsonEx.makeDeepCopy深复制,这个wuqi变量就和数据库没关联了。
然后你再把这个wuqi变量存到你想存的变量里去就可以了
之后你再调用这个新的变量里的这个wuqi,对它进行修改

然后你游戏中使用的武器应该全部都是新变量里的wuqi而不是数据库了。
数据库只在一开始生成这个wuqi时用

--------------------

结论就是,新手不要修改武器
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部