Материалы взяты с сайта http://roinfo.ru/ Домашняя страничка автора:
http://www.mirandablade.altervista.org/index.php?pg=mirai
Скачать нужно собственно само AI:
http://www.mirandablade.altervista.org/ai/mirai_v1_2_2.zip
И программу для удобной настройки:
http://www.mirandablade.altervista.org/ai....i_v1_2_ (en_de_it)_R3.zip (В гиперссылку почему-то не преобразовывается, прийдется копировать ручками)
Русский язык (от x4121t):
http://slil.ru/24264085
Русский язык (от Вэлентайн):
http://slil.ru/24876836
Установка:
1.Распаковываешь в папку AI\USER_AI сам Mir AI.
2.Потом туда же контрольную панель (у меня файл называется control_panel_for_mirai_v1_2_(en_de_it)_R3).
3.Запускаешь Config.exe, настраиваешь...
4.В игре прописываешь комманду /hoai. («управление компьютером» это конфиг от гравити, «управление игроком» конфиг игрока (мир))
5.Все
Добавлено (19.09.2008, 12:22)
---------------------------------------------
Моды:
1)Мод на автономное лечение Алхимика (Эписилон, Витата, Зелья)
Готовый файл для Mir AI:
http://slil.ru/24336764
Установка:
1)либо качаете файл,либо создаетё в блокноте AlchieHeal_Mod.lua, прописываете туда всё что ниже в коде
2)Запускаете МирАи
3)Выбираете вкладку Экстра
4)В ней выбираете AlchieHeal_Mod.lua
Code
-- Mir AI -> Alchie Heal/Aidpot
--------------------------------------------------
--[[
This mod will attempt to target the alchemist with aid pot/heal
depending on how you conf it
--]]
--------------------------------------------------
-- HOW TO ACTIVATE THIS MOD:
-- 1. open the Control Panel,
-- 2. choose the "Extra" Tab,
-- 3. and select AlchieHeal_Mod.lua
-- (if you don't use the control panel: open SelectMod.lua and replace "Standard_Mod" with "AlchieHeal_Mod")
--------------------------------------------------
-- Extra Globals
--------------------------------------------------
LastHeal = 0
-- [### CONFIG START]
HealTimeout = 30 * 1000 -- time out is 30 seconds
AlchieHP = 1500 -- alchemist HP, this is a hard number rather than a %
HealSkill = 28 -- This is either 28 (Heal) or 231 (Aid Pot)
HealSkillLevel = 3 -- dur.... figure it out for yourself...
-- [### CONFIG END]
--------------------------------------------------
function ModInit()
-- plugin initialization
--------------------------------------------------
-- Replace standard Mir AI's functions
StdOnIDLE_ST = OnIDLE_ST
OnIDLE_ST = SDnOnIDLE_ST
StdOnFOLLOW_ST = OnFOLLOW_ST
OnFOLLOW_ST = SDnOnFOLLOW_ST
StdOnCHASE_ST = OnCHASE_ST
OnCHASE_ST = SDnOnCHASE_ST
StdOnATTACK_ST = OnATTACK_ST
OnATTACK_ST = SDnOnATTACK_ST
StdOnEVADE_ST = OnEVADE_ST
OnEVADE_ST = SDnOnEVADE_ST
end
--------------------------------------------------
function HealCheck()
--------------------------------------------------
local AlchemistHP = GetV(V_HP, OwnerID)
if (AlchemistHP <= AlchieHP) and (LastHeal + HealTimeout <= GetTick())
then
-- our alchie needs our help!
SkillObject( MyID, HealSkillLevel , HealSkill , OwnerID)
LastHeal = GetTick()
end
end
--------------------------------------------------
function SDnOnIDLE_ST()
--------------------------------------------------
HealCheck()
StdOnIDLE_ST()
end
-------------------------------------- ------------
function SDnOnFOLLOW_ST()
--------------------------------------------------
HealCheck()
StdOnFOLLOW_ST()
end
---------------------------------- ----------------
function SDnOnCHASE_ST()
--------------------------------------------------
HealCheck()
StdOnCHASE_ST()
end
------------------------------------ --------------
function SDnOnATTACK_ST()
--------------------------------------------------
HealCheck()
StdOnATTACK_ST()
end
---------------------------------- ----------------
function SDnOnEVADE_ST()
--------------------------------------------------
HealCheck()
StdOnEVADE_ST()
end
Добавлено (19.09.2008, 12:23)
---------------------------------------------
2) "Танцующая атака"
Найти
Code
elseif (MyState == ATTACK_ST) then
OnATTACK_ST()
Заменить на
Code
elseif (MyState == ATTACK_ST) then
if GetV(V_SP, MyID) >= 30 then
local zx, zy = GetV( V_POSITION, MyEnemy )
OnATTACK_ST()
Move(MyID,zx+1,zy)
Move(MyID,zx-1,zy)
OnATTACK_ST()
Move(MyID,zx,zy+1)
Move(MyID,zx,zy-1)
else
OnATTACK_ST()
end
Этот код убирает анимацию атаки, за счет чего скорость атаки увеличивается в 2 раза. Но есть одна проблемма. При быстрой атаке не востанавливается сп и хп у гомы в бою. Востановление будет идти если гома не в бою и вы стоите на месте. В этом коде есть строчка:
Найти:
Code
if GetV(V_SP, MyID) >= 30 then
Она включает режим быстрой атаки, если сп гомункула равно или больше 30, если меньше, тогда гома переходит в обычный режим боя и востанавливает сп. Если все же хотите что бы гомункул постоянно атаковал очень быстро, просто измените значение сп на 0
Code
if GetV(V_SP, MyID) >= 0 then