В готике 1 выступает ин экстремо, на группу Сколот с заменой лиц одежды и музыки, а лучше вставить туда новых персонажей.Торрез, что ты имеешь в виду под «заменить на другую группу»?
Если в версии снежков просто вставить туда(на сцену) людей, то на этой версии все будет нормально, а вот (наверно я не уверен) на версии русоубита там уже будет 2 группы ин экстремо и та которую я вставлюИ что значит «на двух версиях игры»?
Зачем тебе "вставлять" если можно поменять старые текстуры и музыку на новые?там уже будет 2 группы ин экстремо и та которую я вставлю
Вообще-то скрипты заменяются сразу целиком, так что конфликта быть не может.Если в версии снежков просто вставить туда(на сцену) людей, то на этой версии все будет нормально, а вот (наверно я не уверен) на версии русоубита там уже будет 2 группы ин экстремо и та которую я вставлю
Инструменты одинаковы)ЗЫ. С инструментами посложнее будет -
Хочу заменить Ин экстремо в г1 на другую группу как это сделать, что бы нормально реализовывалось на 2-х версиях игры?
Можно. Только что проверил, заменив датник от акелловской версии на датник от немецкой.HeDeDe, Нельзя. Датник и Оушник компилятся в одном распараллеленом процессе.
А теперь смотри что реализуемо, а что нет из твоего списка:Сейчас я работаю над дальнейшим развитием патча, исправляющего различные ошибки Г2 НВ версии 2.6. Очень хочется исправить в нём следующие ошибки ИИ:
1. Чтобы было нельзя проскочить с вытащенным оружием или заклинанием мимо NPC, охраняющих вход в запретные для ГГ зоны. Т.е. если ГГ сделает это до получения разрешения пройти, то немедленно подвергнется атаке стражи.
2. Чтобы NPC считали дракой безответное избиение замороженного оппонента. Сейчас они реагируют только на каст заморозки и отправку в нокаут избитого перса.
3. Чтобы передвижение прыжками или боком не считалось бесшумным - т.е. чтобы неписи просыпались, если ГГ вздумает попрыгать или побегать боком в их доме. Это сделает необходимым изучение навыка подкрадывания (сейчас он бесполезен).
4. Чтобы бандиты в Яркендаре тоже реагировали на угрозу со стороны ГГ оружием или магией. Сейчас они не обращают на это внимание до тех пор, пока не получат повреждение.
Поскольку я не силён в программировании ИИ, прошу помощи модостроителей.
Реализуемо просто выставить ВСЕМ стражникам восприятие на то что у гг расчехлено оружие/или подготовлена магия.1. Чтобы было нельзя проскочить с вытащенным оружием или заклинанием мимо NPC, охраняющих вход в запретные для ГГ зоны. Т.е. если ГГ сделает это до получения разрешения пройти, то немедленно подвергнется атаке стражи.
Чтото не до конца понял? в смысле не считают дракой? объясни подробнее.2. Чтобы NPC считали дракой безответное избиение замороженного оппонента. Сейчас они реагируют только на каст заморозки и отправку в нокаут избитого перса.
А вот это по моему не реализуемо, тк обрабатывается движком игры -> что можно забыть об этом, хотя теоретически и возможно... но скорее всего нужно ставить тригер на каждом доме который будет "вычеслять гг"3. Чтобы передвижение прыжками или боком не считалось бесшумным - т.е. чтобы неписи просыпались, если ГГ вздумает попрыгать или побегать боком в их доме. Это сделает необходимым изучение навыка подкрадывания (сейчас он бесполезен).
Аналогично первому.4. Чтобы бандиты в Яркендаре тоже реагировали на угрозу со стороны ГГ оружием или магией. Сейчас они не обращают на это внимание до тех пор, пока не получат повреждение.
Ок, только потом не удивляйся непонятным багам в игре.Можно. Только что проверил, заменив датник от акелловской версии на датник от немецкой.
Пример в спойлере не помешает.Реализуемо просто выставить ВСЕМ стражникам восприятие на то что у гг расчехлено оружие/или подготовлена магия.
Хорошо, вот пример. ГГ - наём или ОнД. Задача - отобрать ключ у пала, охраняющего склад в замке бывшего СЛ. Если просто начать бить этого пала, то ему на помощь придут другие палы и отлупят ГГ. Вдобавок придётся платить Гаронду крупный штраф за драку. Поэтому действуем так: кастуем заморозку на жертву (палы требут прекратить колдовать), подбегаем к замороженному палу, быстро вырубаем его и забираем ключ. Окружающие палы не вмешиваются в избиение и комментируют только отправку в нокаут собрата по оружию. Через некоторое время побитый пал встаёт ("Ох, моя голова..."), но при этом не обижается на избиение. Остальные палы тоже не называют ГГ грязным вором или бандитом, следовательно, не надо платить Гаронду штраф за устроенный мордобой.Чтото не до конца понял? в смысле не считают дракой? объясни подробнее.
Вроде бы в моде "Возвращение" версии 1.1 реализована эта фича. Правда, не знаю как именно.А вот это по моему не реализуемо, тк обрабатывается движком игры -> что можно забыть об этом, хотя теоретически и возможно... но скорее всего нужно ставить тригер на каждом доме который будет "вычеслять гг"
Посмотри там функцию ZS_Sleep и повешенные на нее восприятия.Вроде бы в моде "Возвращение" версии 1.1 реализована эта фича. Правда, не знаю как именно.
Dimus,
Посмотри там функцию ZS_Sleep и повешенные на нее восприятия.
Пример - 2 паладина около входа в верхний квартал.1. Чтобы было нельзя проскочить с вытащенным оружием или заклинанием мимо NPC, охраняющих вход в запретные для ГГ зоны. Т.е. если ГГ сделает это до получения разрешения пройти, то немедленно подвергнется атаке стражи.
2. Чтобы NPC считали дракой безответное избиение замороженного оппонента. Сейчас они реагируют только на каст заморозки и отправку в нокаут избитого перса.
3. Чтобы передвижение прыжками или боком не считалось бесшумным - т.е. чтобы неписи просыпались, если ГГ вздумает попрыгать или побегать боком в их доме. Это сделает необходимым изучение навыка подкрадывания (сейчас он бесполезен).
4. Чтобы бандиты в Яркендаре тоже реагировали на угрозу со стороны ГГ оружием или магией. Сейчас они не обращают на это внимание до тех пор, пока не получат повреждение.
func void SCRFUNC_TIMER()
{
var int MwReady;//1 или 0. Флаг для того, чтобы анимация проигрывалась 1 раз за 1 подготовку оружия.
if (Npc_HasReadiedMeleeWeapon(hero) == 1)//если у ГГ в руке оружие ближнего радиуса поражения
{
if (MwReady == 0)//и если флаг сброшен
{
MwReady = 1;//ставим флаг для предотвращения зацикливания анимации
AI_PlayAni(hero,"T_1HRUN_2_1HRUNL");//ГГ проигрывает анимацию
AI_StandUp(hero);
};
}
else
{
MwReady = 0;//сбрасываем флаг, чтобы проигрывание анимаций можно было использовать вновь
};
Wld_SendTrigger("TIMER_01");
};
func void Startup_[B]OldCamp[/B]()
{
SCRFUNC_TIMER();//вызов триггера первый раз
};
Ошыбочко у тебя=) Не в стартапе нада прописывать(тк он вызывается ТОЛЬКО ОДИН РАЗ во время первой загрузки локации)Да, чуть не забыл...
Нужно вставить в скриптах в StartUp.d строку вызова триггера, а то кто его будет запускать то? Вот примерно так:
Где OldCamp - это название локации, на которой расположен действующий триггер.Код:func void Startup_[B]OldCamp[/B]() { SCRFUNC_TIMER();//вызов триггера первый раз };