这篇文是很早以前在yyro上发的。现在整理过来。
这个事情由来已久,其实很早前就遇到这个事,一直没重视,前段时间刚弄了下,给大家分享。
原理:
一般服务器都是放在同一个位置上增加一个:hpspall名字的npc,叠在一起。这样ok在计算路线、打开仓库等等的时候,就遇到麻烦了。解决办法很简单,把这个npc忽略过去就行了。
svn 1.9.1以上版本:
打开 src/corelogic.pm
1.6.9及其以下版本:
打开:src/functions.pl
搜索:debug "Target NPC
这样会找到这一段,加上蓝色部分的代码就可以了。
foreach my $npc (@npcsID) {
next if !$npc || $npcs{$npc}{'name'} eq '' || $npcs{$npc}{'name'} =~ /Unknown/i || $npcs{$npc}{'name'} =~ /hpspall/;
if ( $npcs{$npc}{'pos'}{'x'} eq $args->{pos}{'x'} &&
$npcs{$npc}{'pos'}{'y'} eq $args->{pos}{'y'} ) {
debug "Target NPC $npcs{$npc}{'name'} at ($args->{pos}{x},$args->{pos}{y}) found.\n", "ai_npcTalk";
附图是效果。
|| $npcs{$npc}{'name'} =~ /hpspall/这个里面的hpspall根据自己的情况改。
至于仓库NPC、重复名字的npc,原理大同小异,我没遇到,所以没研究,哈哈!!
原理:
一般服务器都是放在同一个位置上增加一个:hpspall名字的npc,叠在一起。这样ok在计算路线、打开仓库等等的时候,就遇到麻烦了。解决办法很简单,把这个npc忽略过去就行了。
svn 1.9.1以上版本:
打开 src/corelogic.pm
1.6.9及其以下版本:
打开:src/functions.pl
搜索:debug "Target NPC
这样会找到这一段,加上蓝色部分的代码就可以了。
foreach my $npc (@npcsID) {
next if !$npc || $npcs{$npc}{'name'} eq '' || $npcs{$npc}{'name'} =~ /Unknown/i || $npcs{$npc}{'name'} =~ /hpspall/;
if ( $npcs{$npc}{'pos'}{'x'} eq $args->{pos}{'x'} &&
$npcs{$npc}{'pos'}{'y'} eq $args->{pos}{'y'} ) {
debug "Target NPC $npcs{$npc}{'name'} at ($args->{pos}{x},$args->{pos}{y}) found.\n", "ai_npcTalk";
附图是效果。
|| $npcs{$npc}{'name'} =~ /hpspall/这个里面的hpspall根据自己的情况改。
至于仓库NPC、重复名字的npc,原理大同小异,我没遇到,所以没研究,哈哈!!

没有评论:
发表评论