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

Project1

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

[有事请教] 敌人技能bug

[复制链接]

Lv2.观梦者

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
帖子
51
跳转到指定楼层
1
发表于 2018-4-25 23:14:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
出现一个很奇怪的现象.......
除了一号敌人,,其他的敌人都不会使用“攻击”指令(就是默认1号技能位的那个)
我试过通过更改最大值来创建一个默认新敌人,自带技能攻击,实战不使用,直接跳过回合。。。
但唯独一号可以用,也检查过他和其他的并没有什么不同,直接复制一号敌人创造出来的敌人可以使用攻击指令。。。
有没有大佬知道怎么回事?

Lv4.逐梦者

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

开拓者

2
发表于 2018-4-25 23:33:51 | 只看该作者
敌人战斗中攻击技能是这里设置的
Game_Action.prototype.setEnemyAction = function(action) {
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
帖子
51
3
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
帖子
51
4
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

5
发表于 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代码,以后找起来方便。


你想学的话,我这个笔记可能对你有用
JAVASCRIPT 代码复制
  1. console.log()   #在控制台输出
  2. require('nw.gui').Window.get().showDevTools()   脚本呼叫控制台
  3. alert('输出');    #输出
  4. alert(JSON.stringify($gameParty._actors[0]));  #输出对象内容
  5.  
  6. //重复触摸OK
  7. TouchInput.isRepeated('ok')
  8.  
  9. //单次触摸OL
  10. TouchInput.isTriggered('ok')
  11.  
  12. //预载图片
  13. ImageManager.reserveFace(actor.faceName());
  14.  
  15. //当前界面
  16. SceneManager._scene
  17.  
  18.  
  19. //计算括号内的字符串,可包含JS代码
  20. eval(string)
  21.  
  22. //判断类型名字
  23. this.constructor.name
  24.  
  25. //深复制
  26. JsonEx.makeDeepCopy(
  27. var actor = JsonEx.makeDeepCopy(this._actor);
  28.  
  29. //是否在战斗中
  30. $gameParty.inBattle()
  31.  
  32. //删除精灵
  33. .removeChild();
  34.  
  35. //判断是否是字符串
  36. Object.prototype.toString.call(变量) === "[object String]"
  37.  
  38. this._direction    #事件面向
  39.  
  40. this.moveForward(); 事件向前移动
  41.  
  42. $gameTemp.setDestination(1, 1);   #主角自动寻路目的地
  43.  
  44. $gameMap.regionId(x,y)  #得到地图区域ID
  45.  
  46.  
  47. unique  #去掉数组重复
  48.  
  49. this._targetIndex  #技能对象的所在队伍index
  50. decideRandomTarget #决定随机目标
  51.  
  52. AudioManager.playBgm($dataMap.bgm); #播放BGM
  53. AudioManager.playBgs($dataMap.bgs);  #播放BGS
  54.  
  55. center  #居中对齐
  56. left     #左对齐
  57. right    #右对齐
  58.  
  59. actor.learnSkill(item.id); #学会技能
  60. actor.forgetSkill(item.id); #遗忘技能
  61.  
  62. .slice(0,0);   #复制数组,从00
  63.  
  64.  
  65. .splice(1,1)  #删除数组(1个位置,1个数)
  66.  
  67. Math.max(0, 1);  #数组中的最大数
  68.  
  69.  
  70. $gameSwitches._data[10]    #开关
  71. $gameVariables._data[10]   #变量
  72.  
  73. $gameParty.gainGold(1); #获得金钱
  74.  
  75. $gameParty.gainItem($dataItems[id], 数量);  #获得物品
  76.  
  77. if ($gameParty.numItems($dataItems[id]) > 0)   #判断道具数量
  78.  
  79. .toFixed(0)  #数字转字符串
  80. parseFloat("1000")  #字符串转数字
  81.  
  82. $gameParty.qiu_zhujiao()
  83.  
  84. length #数组中单元的个数
  85.  
  86. $gameMap.regionId(x, y);  #求地图区域ID
  87.  
  88. var c = q.concat( b );  #两个数组合并
  89.  
  90. $gameParty._items    #队伍道具
  91.  
  92. $gameParty._actors  #队伍角色,里面是ID,我改成是对象
  93.  
  94. $gameParty.members #队伍角色
  95. $gameActors.actor() #队伍角色
  96. $gameActors._data[actorId] #队伍角色
  97.  
  98. $gameParty.removeActor(this._params[0]);  #队友离开
  99. $gameParty.addActor(this._params[0]);    #队友加入
  100.  
  101. .addState(id)   #添加状态
  102. .removeState(id)   #解除状态
  103.  
  104. $gameMap.mapId()  #当前地图ID
  105.  
  106. .contains('LV0')   #包含
  107.  
  108. #循环 0-4
  109. for (var i=0; i<4; i++)
  110.   {
  111.  
  112. continue #下一个循环
  113. ##########
  114.  
  115. #前往新地图
  116. $gamePlayer.reserveTransfer(2, 1, 1);
  117.         this.fadeOutAll();
  118.         SceneManager.goto(Scene_Map);
  119. ################################################
  120.  
  121. Window.prototype.itemHeight = function() {    #设定选项的间距高

点评

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

评分

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

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

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

感谢大佬分享经验
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
489
在线时间
84 小时
注册时间
2018-4-16
帖子
51
7
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

Lv2.观梦者

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

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

点评

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

使用道具 举报

Lv2.观梦者

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



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




会了会了,感谢大佬指点!比心~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

10
发表于 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时用

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

结论就是,新手不要修改武器
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 07:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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