战网中国
标题:
求教大神,关于私服 BOT不认识新怪物怎么解决!
[打印本页]
作者:
匿名
时间:
2016-5-7 16:12
标题:
求教大神,关于私服 BOT不认识新怪物怎么解决!
现在很多私服里都添加了很多新的怪物,比如督瑞尔、巴尔复活后变成“意志的切割者”,BOT不认识,在知道怪物的代码的情况下,如何添加新怪物,这些怪物基本上都是750-1000
作者:
pengpeng
时间:
2016-5-7 16:35
。。。 需要查到新怪物的ID ,哈哈哈~~
作者:
36015646
时间:
2016-5-8 10:48
[quote=pengpeng,181467]。。。 需要查到新怪物的ID ,哈哈哈~~[/quote] 已经知道新怪物的ID了,但是不知道怎么添加
作者:
凌晨四点
时间:
2016-5-9 07:52
提示:
作者被禁止或删除 内容自动屏蔽
作者:
白色曼陀螺
时间:
2016-5-9 17:05
直接清场不就完了,管他什么id。
作者:
iamiori
时间:
2016-5-10 11:25
如果清场都无法解决. 或者kill指定id的怪都没有效果, 那说明. d2nt.dll已经写死了.
那么它虽然是写死的. 但是id库是来自\\mpqdata\\monstats.txt 这个文件.
除非你懂改mod,
我是不会的了. 看文件, 理论上添加上即可解决
问题是文本格式.
ps :每一个数据之间不是\"空格\" 而是\"tab\", 请注意
作者:
凌晨四点
时间:
2016-5-10 13:19
提示:
作者被禁止或删除 内容自动屏蔽
作者:
mymmiss
时间:
2016-5-12 00:09
[quote=iamiori,181579]如果清场都无法解决. 或者kill指定id的怪都没有效果, 那说明. d2nt.dll已经写死了.
那么它虽然是写死的. 但是id库是来自\\mpqdata\\monstats.txt 这个文件.
除非你懂改mod,
我是不会的了. 看...[/quote] 私聊过他,添加的是map的id。。。
作者:
36015646
时间:
2016-5-12 11:54
[quote=白色曼陀螺,181544]直接清场不就完了,管他什么id。[/quote] 就一个新BOSS,地图上不显示 ,不能攻击
作者:
36015646
时间:
2016-5-12 11:55
[quote=mymmiss,181620]私聊过他,添加的是map的id。。。[/quote] 我用八神BOT查看的怪物ID ,添加不起作用
作者:
qw32801
时间:
2016-6-5 17:23
直接修改monstats.txt文件,不管是用EXL还是TXT,修改后不对,
比如我删除了ID211督瑞尔,督瑞尔一样能识别,但是在211之后的怪都不能识别了
求解!
作者:
iamiori
时间:
2016-6-15 21:20
这问题已经解决,自己复制一份NTA_KillMonster(id)的函数,然后这个复制改名的函数,只要把里面的if _target.ableattack的条件去掉既可。具体单词名字忘记了,自己看看就知道了,并不需要去sdk添加什么怪物的新id
作者:
coolcood
时间:
2016-9-27 21:35
比如查的新怪的id为756,坐等白板、八神等大牛修改,本人修改为成功
作者:
coolcood
时间:
2016-9-27 21:35
比如查的新怪的id为756,坐等白板、八神等大牛修改,本人修改为成功
作者:
coolcood
时间:
2016-9-27 21:36
本帖最后由 coolcood 于 2016-9-28 21:03 编辑
比如查的新怪的id为756,坐等白板、八神等大牛修
function NTA_KillMonster(classid)
{
var _target;
if(NTConfig_AttackSkill[1] < 1)
return false;
_target = NTC_FindUnit(NTC_UNIT_MONSTER, classid, 5);
if(!_target)
return false;
if(_target.IsAttackable())
{
var _attackcount = 0;
while(_attackcount < 300 && NTA_IsValidMonster(_target))
{
if(NTA_Attack(_target, (_attackcount%30) == 0) < 2)
break;
_attackcount++;
}
}
return (_target.hp <= 0 || _target.mode == 0 || _target.mode == 12);
}
作者:
coolcood
时间:
2016-9-27 21:36
本帖最后由 coolcood 于 2016-9-28 21:03 编辑
比如查的新怪的id为756,坐等白板、八神等大牛修
function NTA_KillMonster(classid)
{
var _target;
if(NTConfig_AttackSkill[1] < 1)
return false;
_target = NTC_FindUnit(NTC_UNIT_MONSTER, classid, 5);
if(!_target)
return false;
if(_target.IsAttackable())
{
var _attackcount = 0;
while(_attackcount < 300 && NTA_IsValidMonster(_target))
{
if(NTA_Attack(_target, (_attackcount%30) == 0) < 2)
break;
_attackcount++;
}
}
return (_target.hp <= 0 || _target.mode == 0 || _target.mode == 12);
}
作者:
coolcood
时间:
2016-9-28 20:54
悬赏解决!!!!
作者:
iamiori
时间:
2016-9-30 02:10
看12楼,早已经解决
作者:
coolcood
时间:
2016-9-30 20:48
iamiori 发表于 2016-9-30 02:10
看12楼,早已经解决
按照八神大大说的 ,我修改后还是不行,八神能不能上传一个修改后的脚本,好像是在NTattack里面,能不能上传一个,你亲手修改过的脚本function NTA_KillMonster(id)
感激不尽
作者:
iamiori
时间:
2016-10-5 08:42
你复制 一个。 改好后。 你这个复制的比如叫
function NTA_KillMonster_new(id)
{
}
改好后
你的脚本。 就得 调用这个 NTA_KillMonster_new(xxx) 而不是用老的。
作者:
iamiori
时间:
2016-10-5 08:48
[attach]13373[/attach]
复制一份。叫另一个名字。
然后,这个新函数,里面这个条件去掉。
回到你的脚本。就调用这个函数杀boss即可。
作者:
xntjjy
时间:
2016-10-9 16:12
学习了,支持!
作者:
小希miss
时间:
2016-10-10 13:58
支持!谢谢分享!!
作者:
masters
时间:
2018-1-19 15:08
我是来学习的
作者:
masters
时间:
2018-1-19 15:08
我是来学习的
作者:
idi
时间:
2022-1-6 18:20
学习下修改逻辑
欢迎光临 战网中国 (http://battlecn.net/)
Powered by Discuz! X3.1