Гайд по написанию скриптов для гомункулусов
-
@"абракадавр":
Индусы. А сразу return true прописать религия не позволяет?
Посмотри код и скажи кто из нас индус :twisted: . После этой проверки идет еще проверка достаточно ли у нас СП, агрессивный гом или пассивный и проверка поставлены ли атакующие скилы на паузу (не помню зачем последняя нужна, но эта фича используется в каких-то рассчетах).
Кроме того моей целью было ввести возможность выбора для пользователя (хочу чтобы кастовал/не кастовал когда хим сидит), ибо:@"Zeno":
Просто удобно, сел и он не тратит зря сп.
А вообще индусы рулят, у них такой классный акцентAiko Star, скилы юзаются если хим сидит, проверено. "Некастование" это чисто фича Ремпеджа и введена видимо для того чтобы гом регенил СП когда хим сидит, или по каким-то мне не ясным причинам.
-
Интересует такой вопрос: у меня стоит Rampage AI rc6 - ничего в нем не правил - т.к. разбиратся долго и тяжело поэтому спрашиваю мэтров - что в нем поправить чтобы хом (ванилька) при начале атаки сразу же сплавлял все СП на болты и как только у него скопится сп во время боя с мобом он сразу же бил болтом на все что есть?) ато чот он у меня постоянно с полным СП ходит, и всегда умирает)
и еще вопрос - встречал на просторах сети RampageAI_v1.0_rc7_by_Nakayama стоит ли ставить его? он с какого то левого сайта... или лучше остановится на rc6 с его офа? -
iSe, для начала хотелось бы знать использует ли ванилька скилы самостоятельно. Другими словами: проблема в неиспользовании скилов, или слишком большом перерыве между скилами. Либо же в том, что при определенном уроне СП скилы перестают кастоваться скилы (СП не сливается полностью).
Все вопросы связаны с автоматическими кастами, вручную с панели они всегда работают.
С rc7 by Nakayama (если имеется ввиду этот) проблем никогда не было, кажись он даже рекомендовался самим Faithful (создателем скрипта). Какие именно были проведены изменения я правда не вникал.
-
поставил rc7 от Накаямы в принципе картина та же.. появляется не агрессивный моб в зоне видимости - ванилька кидает на него 1 болт (сама) и бежит в атаку и бьет обычными ударами при том что сп у нее еще 80-100% она все равно бьет обычными уларами, повторных попыток кинуться болтом ванилька не предпренимает.
Хочется чтобы было: ванилька видит отреспившегося моба - кидает на него болты пока есть сп и после кидается в бой с обычными ударами, пожже скопив СП еще на один болт - кидается опять болтом, сама, без постороннего вмешательства. На то ведь он и ИИ (искусственный интелект) чтобы самому за меня думать ^_^ -
iSe, проблема понятна, предполагаемое решение:
открываем файл:
"папка с игрой"\AI\USER_AI\Conf\Monsters.luaНаходим там (по идее в саааамом конце)
[code:38hbj47j]DefaultMonsterSettings = { многабукоф }[/code:38hbj47j]Где-то в скобках будет стоять
skMax=1 (вероятно 1, это число ограничивает количество кастов по одному стандартному мобу, -1 означает бесконечность)исправляем на
skMax=-1Сохраняем, перезапускаем гома (например чар селектом или Rest-Call) и по идее все должно быть в порядке. Если нет будем думать дальше.
Для пояснения: стандартными являются все мобы, которые не были определены отдельно (например грибочки, планты химов определены изначально отдельно). Отдельно можно определить любого другого моба, тогда поведения гомункула на нем будет отличаться от других (ну например более низкий приоритет, ограничение по количеству кастов, бить только с расстояния)
-
Спасибо, помогло, эффективность гома реско выросла) Спамит болтами как саг под брагой ^_^
-
замучалась ==
где (и как, и можно ли) в Рампейдже прописать, чтобы гом не атаковал нового моба, если у него, скажем, меньше 30% хп и 5% сп?
(та, я нупко = -
Нельзя. Нужен модификация. Например, у меня существуют такие параметры как atkHP и atkSP, для тех или иных монстров.
-
хм. а можно попросить вас выложить кусок этого скрипта?
как я понимаю, такая настройка возможна в мираи, но не для типа монстра. не очень хочется переходить снова на него =/
-
А я не помню где я это дописывал. Надо брать чистый и сравнивать, а потом из дифов вырезать нужные кусочки.
Пример:
[code:j4095g5f]{ 1881, prio=4, atkHP=50, atkSP=61 }, -- Lesavka[/code:j4095g5f] -
Зено, не жмотничай. Это идет в процедуре взятия инфы из таблицы прописанных мобов.
-
..\AI\USER_AI\MonSupport.lua 80
[code:sht2cj71]-- Verify monster settings
function VerifyMonSettings(t,defaultTable,id)
-- Parameter names
local argNames = { nil, "prio", "atk", "skLvl", "skDly", "skMax", "aSkLv", "aSkDl",
"aSkMx", "defOnly", "kite", "ffa", "hlBm", "mammo", "aTer", "aBmb", "atkHP", "atkSP" }[/code:sht2cj71]
..\AI\USER_AI\MonSupport.lua 235
[code:sht2cj71]-- Check if we are allowed to melee the monster
function MAttackAllowed(actor)
-- Get the monster's table
local t = MDBTable(actor)-- Check if it's not attaking us if (GetV(V_TARGET,actor) ~= OwnerID) and (GetV(V_TARGET,actor) ~= HomunID) then -- Check if HP or SP is higher than needed if (ActorHPPercent(HomunID) < t[17]) or (ActorSPAmount(HomunID) < t[18]) -- Check if skill is not paused or (t[4] > 0 and PauseAttackSkill) then return false end end -- Return the melee allowed value return t[3]
end[/code:sht2cj71]
..\AI\USER_AI\MonSupport.lua 377
[code:sht2cj71] -- Get the monster's table
local t = MDBTable(actor)-- Check if it's not attaking us if (GetV(V_TARGET,actor) ~= OwnerID) and (GetV(V_TARGET,actor) ~= HomunID) then -- Check if HP or SP is higher than needed if (ActorHPPercent(HomunID) < t[17]) or (ActorSPAmount(HomunID) < t[18]) then return false end end -- Check if level is greater than 0 and we haven't casted too often -- against them if t[4] > 0 and MSkillMaxCasts(actor) > ActorData[actor].Count.HomuSkill then return true end[/code:sht2cj71]
..\AI\USER_AI\Conf\Monsters.lua 97
[code:sht2cj71] - "atkHP" число HP в процентах ниже которого гомункул не будет проявлять
агрессию, если его или хозяина не бьют.- "atkSP" число SP при котором гомункул начнет атаковать.[/code:sht2cj71]
..\AI\USER_AI\Conf\Monsters.lua 211
[code:sht2cj71]DefaultMonsterSettings = { nil, prio=1, atk=true, skLvl=5, skDly=500, skMax=-1, aSkLv=5,
aSkDl=1000, aSkMx=-1, defOnly=false, kite=false, ffa=false,
hlBm=false, mammo=0, aTer=0, aBmb=0, atkHP=10, atkSP=0 }[/code:sht2cj71] -
а MirAI случайно никто не модифицировал?
не знаю как сделать, чтоб гомункул атаковал мобов другого гомункула
пример: в пати 2 хима, один гомункул танчит мобов мой их бьётсейчас мой гомункул не атакует моба, пока я бить не начну
ничейных мобов он нормально атакуетзаранее спасибо
-
М... поиграться с описанием друзей, имхо. Если оно есть в мирке.
-
Проверить есть ли сопосоставление гомункула с хозяином можно добавив хозяина в список друзей. В этом случае киллстил у гомукула этого "друга" будет разрешен, если сопоставление существует и работает. Иначе вам надо придумать и написать (или стырить) алгоритм сопоставления.
-
Откуда сопоставление? id у хозяев и покемонов разные должны быть. Надо тупо добавлять хомяка чужого в список друзей.
-
Гомункул может только то, на что способен ваш мозг, или то, на что вам удалось стырить.
-
Много букаф, не проще вместо всего написанного было выложить несколько готовых файлов?:)
-
Кто не хочет разбираться в этих букафах, тому хватит и немодифицированной мирки
-
Клиент выдаёт системное сообщение о том, что гомункул проголодался, когда показатель голода опускается до 10%. Можно ли сделать так, чтобы такое сообщение появлялось при достижении, скажем, 12%?