返回列表 发帖

[历史] 问个关于用改编程方法使丽芙主动攻击的问题

用了这里某位大大的方法~~~~就是如下的方法:


需要修改的文件是\RO\AI目录下的AI.LUA,一般未装任何编译器的情况下这个文件是没有打开方式的,推荐使用windows自带的写字板来打开。
打开文件后按下热键ctrl+f弹出查找窗口,输入关键字GetMyEnemy (myid)

光标会定位到语句段落如下

function GetMyEnemy (myid)
local result = 0
local type = GetV (V_HOMUNTYPE,myid)
if (type == LIF or type == LIF_H or type == AMISTR or type == AMISTR_H or type == LIF2 or type == LIF_H2 or type == AMISTR2 or type == AMISTR_H2) then
  result = GetMyEnemyA (myid)
elseif (type == FILIR or type == FILIR_H or type == VANILMIRTH or type == VANILMIRTH_H or type == FILIR2 or type == FILIR_H2 or type == VANILMIRTH2 or type == VANILMIRTH_H2) then
  result = GetMyEnemyB (myid)
end
return result
end

这里if语句后的括号中为防守反击的GetMyEnemyA类型
而elseif语句后的括号中为主动攻击的GetMyEnemyB类型
这里把他们括号内的内容替换一下,修改成如下

function GetMyEnemy (myid)
local result = 0
local type = GetV (V_HOMUNTYPE,myid)
if (type == FILIR or type == FILIR_H or type == VANILMIRTH or type == VANILMIRTH_H or type == FILIR2 or type == FILIR_H2 or type == VANILMIRTH2 or type == VANILMIRTH_H2) then
  result = GetMyEnemyA (myid)
elseif (type == LIF or type == LIF_H or type == AMISTR or type == AMISTR_H or type == LIF2 or type == LIF_H2 or type == AMISTR2 or type == AMISTR_H2) then
  result = GetMyEnemyB (myid)
end
return result
end

然后将被这样修改后的AI.LUA文件另存到\RO\AI\USER_AI目录中替换原有的文件。

这样进游戏的时候先是调用的默认的AI,也就是丽芙(lif),艾咪斯可鲁(amistr)为防守反击,飞里乐(filir),巴尼米乐斯(vanilmirth)为主动攻击
在游戏中输入/hoai后就变成丽芙(lif),艾咪斯可鲁(amistr)为主动攻击,飞里乐(filir),巴尼米乐斯(vanilmirth)为防守反击

上面而主动攻击GetMyEnemyA的设定为平时处于等待状态,主人主动攻击怪物或者受到攻击时,生命体会立刻上前协助主人。当他受到攻击时也会主动反击。

主动攻击GetMyEnemyB的设定为自动攻击狩猎范围内的怪物,范围可设定,主人主动攻击怪物或者受到攻击时,生命体会放弃当前目标协助主人。




但是用了这种方法后~虽然会主动攻击了~但是也开始抢怪了~~而且连植物什么都不放过....
听朋友说她以前的人工生命体不会抢怪的~但是现在开始抢怪了....

请问有什么办法使它不抢怪呢?还有不打植物什么的~~当然解决抢怪问题是最好的了~
麻烦大家了...鞠躬

先去我空间下载一个原版ai,然后按照上面的修改即可
渣渣!你们信誓旦旦的表忠心,却连工会激活码都不找喧哗要。 将功补过,快一人激活5个帐号先。哪个渣渣能够立下首功,就将得到yaloo的青睐。

TOP

那请问...要怎么去做呢??

TOP

你修改的ai不是重力社的原始ai才会这样,比如你原来用的是mirai
渣渣!你们信誓旦旦的表忠心,却连工会激活码都不找喧哗要。 将功补过,快一人激活5个帐号先。哪个渣渣能够立下首功,就将得到yaloo的青睐。

TOP

返回列表