Перейти к содержимому


Фотография

(sfall) дополнения


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1246

#1101 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 03 декабря 2017 - 18:59

CODE
0000003C combat_state dd ?                           ; 1 - бой, 2 - враги вне зоны, 4 - убегает

Это для каждого криттера на карте нужно проверить его флаг 3С на значение 1. так — read(obj + 0x3c) ?


#1102 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 03 декабря 2017 - 19:12

QUOTE (Fakeman)
Это для каждого криттера на карте нужно проверить его флаг 3С на значение 1.
Нет, всё сложнее ;)


#1103 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 03 декабря 2017 - 19:57

Что сложнее, мне надо узнать может ли выйти игрок из боя или нет, как это проверить?
не нужны мне тут никакие combatai_want_to_join и п.р.


QUOTE
тут нужно прыгать на add esp, 8 или add esp тоже надо пропускать?
Второе.

Первое. :)

Отправлено: 3 дек 17 20:33
QUOTE
sneak_success

Потестил твое исправление — чето фигня какая-то, криво работает.
Пока не включишь/выключишь навык скрытность всегда будет показывать одно зависшее значение "success", можно выйти из укрытия и ходить под носом у криттера и функция будет возвращать всегда "success" (при включенном навыке в 20%) пока не передернешь) — короче багнутая функция в движке.

CODE
В F2 посложнее — проверка через минуту если предыдущий результат >= ROLL_SUCCESS, в противном случае там зависимость от скилла — чем выше скилл, тем чаще будет следующая проверка при неудаче в последней проверке (если скилл <= 80, то через минуту, а при скилле > 250 через 10 секунд).

Хм, минуту говоришь надо ждать? ) щас проверить...
Эм точно при 20% около 2х минут можно ходить под криттером и будет "success" :)
Как-то это неправильно, должно быть чем меньше скил тем быстрее проверка.

Это сообщение отредактировано Fakeman - 4 декабря 2017 | 12:30


#1104 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 03 декабря 2017 - 22:15

QUOTE (Fakeman)
не нужны мне тут никакие combatai_want_to_join и п.р.
Там нет переменной а-ля dude_can_end_combat — при попытке завершения боя (Enter или все трупики) движок проверяет всех персонажей, то же самое скриптово нужно сделать тебе, опустив вывод сообщения "Бой не может закончиться, если рядом есть враждебные существа." и установку флага выхода из боя.

QUOTE (Fakeman)
Первое. :)
Второе :-p Если убивать проверку по 0x452712 (заменив 0x740B на 0xEB1C). Первое, если (как видимо ты и сделал) по 0x45271E (0x9 -> 0xE).

QUOTE (Fakeman)
Пока не включишь/выключишь навык скрытность всегда будет показывать одно зависшее значение "success", можно выйти из укрытия и ходить под носом у криттера и функция будет возвращать всегда "success" (при включенном навыке в 20%)
Вообще не понимаю о чём речь и причём тут ходьба под носом у криттера :-p
sneak_success возвращает состояние активности скрытности.

Нажимая "1" ты включаешь скрытность, но это не значит что она активна — в момент нажатия делается roll_vs_skill(dude_obj, SKILL_SNEAK, 0) и при удаче (ROLL_SUCCESS или ROLL_CRITICAL_SUCCESS) скрытность становится активной на 1 минуту, а при неудаче неактивной на 1 минуту в F1 или на время в зависимости от уровня скрытности в F2 (чем выше скилл, тем быстрее будет новая проверка). Когда закончится время [не]активности будет сделана новая проверка с теми же последствиями. Само собой [не]активность скрытности влияет на видимость ГГ другими персонажами:
CODE
if sneak_success then begin // Если скрытность активна
 distance := distance / 4; // то расстояние видимости уменьшается в 4 раза
 if has_skill(target, SKILL_SNEAK) > 120 then distance := distance - 1; // и если скрытность > 120, то уменьшается ещё на 1 гекс
end else if using_skill(target, SKILL_SNEAK) then distance := distance * 2 / 3; // Если скрытность неактивна, но включена, то расстояние уменьшается на 1/3

В своё время я делал чтобы в индикаторе при включённой скрытности менялся цвет текста "СКРЫТНОСТЬ" на красный для неактивности и зелёный для активности, но это очень читерно (особенно с учётом возможности выключения/включения скрытности до получения нужного результата).

QUOTE (Fakeman)
Как-то легенда жаловалось на твой сфалл что ломает скрытность.
Аналогичная фигня — вообще не понимаю о чём речь :-p


#1105 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 03 декабря 2017 - 23:16

QUOTE
Вообще не понимаю о чём речь и причём тут ходьба под носом у криттера :-p
sneak_success возвращает состояние активности скрытности.
Нажимая "1" ты включаешь скрытность, но это не значит что она активна — в момент нажатия делается roll_vs_skill(dude_obj, SKILL_SNEAK, 0) и при удаче (ROLL_SUCCESS или ROLL_CRITICAL_SUCCESS) скрытность становится активной на 1 минуту

хех, теперь понял принцип работы, просто кидаем кубики-рубики и смотрим результат))
а я то думал это зависит от того видят ли тебя другие нпс и если не видят то SUCCESS.

QUOTE
Если убивать проверку по 0x452712

Ну ты не внимательный, это же первая проверка, в случае отсутствия такого файла будет выводится ошибка в лог, а я убрал второе то которое просто тупо пишет что звук проигран.


#1106 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 03 декабря 2017 - 23:52

QUOTE (Fakeman)
хех, теперь понял принцип работы, просто кидаем кубики-рубики и смотрим результат))
Дак прелесть же, все думают что включил скрытность и получил плюшку, а оказывается она ещё должна прокнуть для полного эффекта ;)


#1107 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 04 декабря 2017 - 00:21

QUOTE
при попытке завершения боя (Enter или все трупики) движок проверяет всех персонажей

Мне не нужна полная аналогия движковой проверки (не нужно проверять трупиков/в отключке и пр) мне нужно тупо проверить у криттера находятся ли он в бою. Какое значение я у него должен проверить? даже если он уже труп, мне этого будет достаточно.
за что отвечает pobj.combat_state, это то что мне надо, или нет?

QUOTE
Дак прелесть же, все думают что включил скрытность и получил плюшку

да вот это обломище, так обломище))

Это сообщение отредактировано Fakeman - 4 декабря 2017 | 00:46


#1108 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 04 декабря 2017 - 01:13

QUOTE (Fakeman)
мне нужно тупо проверить у криттера находятся ли он в бою.
Так то да — read_int(source+0x3C) bwand 1.
QUOTE (Fakeman)
даже если он уже труп
critter_state(source) bwand 1.
QUOTE (Fakeman)
мне этого будет достаточно.
Но не удивляйся если что-то пойдёт не так (убегающий нпс тоже находится в бою, но через Enter можно завершить бой) ;) Кстати, ещё есть terminate_combat и critter_stop_attacking(source) (всех в цикле).


#1109 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 04 декабря 2017 - 03:16

Спасибо.
Да мне просто нужно узнать атаковал ли игрок/или игрока НПС,
то что там нпс убегает это его личные проблемы, это Dude не волнует :)

Слушай а что может быть такое, в неваде сохраняю игру на твоей версии (1.8 / 1.7.31), меняю сфалл на ориг, и после загрузки игры на твоем сфале получаю краш игры, также наоборот сохраняю на оригинал сфале(3.8.4 / 4.0.1) меняю на твой и тоже после загрузки игра вываливается с крашем, причем на разных картах такое.
Че за несовместимость между сфалами такая в неваде?
Невада фоксовская сборка, единственное я для него в движке менял маркер(версию) для сохраненок, т.е. другие сохранки от ф2 не будут грузится будет писать "старая версия", но я что-то не думаю что из-за этого.
Это что за прикол такой ты там для невады ничего не менял?

Это сообщение отредактировано Fakeman - 4 декабря 2017 | 03:24


#1110 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 04 декабря 2017 - 04:44

QUOTE (Fakeman)
Да мне просто нужно узнать атаковал ли игрок/или игрока НПС,
то что там нпс убегает это его личные проблемы, это Dude не волнует :)
А как быть со случайками, когда одна группа нпс нападает на другую?
Ещё есть сфалловские get_last_attacker и get_last_target.
QUOTE (Fakeman)
Че за несовместимость между сфалами такая в неваде?
В ddraw.ini есть MultiPatches и DataLoadOrderPatch? Скорее всего достаточно включить только вторую переменную.
QUOTE (Fakeman)
Это что за прикол такой ты там для невады ничего не менял?
А чего сразу я? ;)


#1111 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 04 декабря 2017 - 04:58

QUOTE
А как быть со случайками, когда одна группа нпс нападает на другую?

Т.е. у них не будет установлено то значение? — это даже хорошо, ибо если бы оно установилось была бы новая большая проблема :)

QUOTE
В ddraw.ini есть MultiPatches и DataLoadOrderPatch?

Я таких и не знаю, есть только в 4.0 вроде, а я сохранялся в 3.8.4
можешь сам попробовать скачай сборку, там твой стоит 1.8 по умолчанию, начни игру и сохранись, потом поменяй сфалл.
Я даже не знаю может это лично у меня такой глюк.

Это сообщение отредактировано Fakeman - 4 декабря 2017 | 05:02


#1112 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 04 декабря 2017 - 05:07

QUOTE (Fakeman)
Т.е. у них не будет установлено то значение? — это даже хорошо, ибо если бы оно установилось была бы новая большая проблема :)
Будет, о том и речь — они в бою, но ГГ не их враг.

QUOTE (Fakeman)
Я таких и не знаю, есть только в 4.0 вроде, а я сохранялся в 3.8.4
Их добавили ещё в 3.7.4 если верить ридми. И конечно я проверил ( только на новой игре), ну и добавив и включив в ини эти две переменные (без них краш, что вполне логично).


#1113 Foxx

Foxx

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 120 сообщений

Отправлено 20 декабря 2017 - 12:10

Crafty
Можешь данный баг поправить?


#1114 Foxx

Foxx

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 120 сообщений

Отправлено 21 декабря 2017 - 00:43

Похоже этот баг и перка "Прицел ночного видения" тоже касается.

Это сообщение отредактировано Foxx - 21 декабря 2017 | 22:23


#1115 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 24 декабря 2017 - 23:24

Кстати баг решается простым передергиванием кнопки пип-боя (те открыть/закрыть) ;p


#1116 Foxx

Foxx

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 120 сообщений

Отправлено 25 декабря 2017 - 02:24

Fakeman
У перка "Прицел ночного видения", тоже баг решается. У 10мм пистолета с фонариком в Неваде, даже в описание добавили:
QUOTE
Правда, иногда он не горит — нужно потрясти.

Можно активную руку сменить на неактивную и обратно. Но хотело бы без лишних телодвижений)))


#1117 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 04 января 2018 - 19:09

Крафти выложи пожалуйста к замороженной верии исходники.


#1118 nsnnsh

nsnnsh

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 04 января 2018 - 19:45

Для Fallout 2

Расширенный самоделкин для GLMod by Akella для любителей покрафтить и побродить по Пустоши.
Особенности:
- более 150 рецептов;
- все рецепты видны сразу (при профильных навыках от 0);
- уменьшен вес предметов (у копченого мяса вес убран), т.к. оригинальный GLMod для бесцельного брождения по Пустоши не подходит совсем;
- изменены характеристики некоторых предметов: убраны стрелы для арбалета (переведен на ВВ) и патроны 9мм (переведен на 10мм), изменены некоторые пушки, уменьшено количество патронов в обоймах (по сравнению с оригинальным Follout2), инъекторы из разбившегося шатла добавляют по 25 переноски и 5 сопротивления радиации.

Установка:
1. Установить Fallout 2.
2. Установить GLMod (скопировать содержимое архива в корневую папку).
3. Удалить patch000 (в корневой папке).
4. Профит!

Ссылки (*.rar):
1. Fallout 2: http://oldgames.ru/game/439.html
2. GLMod by Akella с расширенным самоделкиным: https://yadi.sk/d/StLMx5K13RCEqX
3. Расширенный самоделкин без GLMod (если уже установлен): https://yadi.sk/d/oxam2Eyx3RCEvJ


#1119 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 12 января 2018 - 23:45

У тебя в новых сфалах баг в работе функции: party_member_list(0) //макрос party_member_list_critters
Пропускает некоторых партийцев и возвращает нули в массиве.
CODE
Lookup Party. num: 5
Party:36704520 Name: Bucho
Party:0 Name: Bucho
Party:0 Name: Bucho
Party:35231816 Name: Vic
Party:35208536 Name: Cassidy

с party_member_list_all проблем нет, возвращает всех.

Это сообщение отредактировано Fakeman - 12 января 2018 | 23:56


#1120 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 16 января 2018 - 02:05

Крафти как раз морозишься ) сделай еще отключалку твоих правок для obj_can_hear_obj из-за нее появляются нежелательные нападения на игрока.




Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных

Рейтинг@Mail.ru