Меню сайта
HardLife addon
Статистика
Вход

Последнее в блоге
[02.10.2015]
О релизе в steam (14)
[17.06.2015]
Как всё начиналось (1)
Последние картинки
Суббота, 24.06.2017, 01:35
Приветствую Вас Гость

Блог

Главная » 2010 » Март » 18 » Трудовые будни разработчиков hla
14:51
Трудовые будни разработчиков hla
 Dancer (14:00:14 18/03/2010)
слушай, а можно заделать uf, которая бы запрещала сохранение в бою?
точнее, игнорировала бы его
 Xelat (14:00:55 18/03/2010)
можно
 Xelat (14:01:13 18/03/2010)
думаешь это хорошая идея? :)
 Xelat (14:01:39 18/03/2010)
а, хотя если УФ, это ж захотел - включил, захотел - выключил
 Dancer (14:01:43 18/03/2010)
есть же uf CombatMode(), которая возвращает идёт бой или нет
заделать uf SaveRestrict() - и включать её, когда cgl выше 5 и уровень сложности = hard
 Dancer (14:01:59 18/03/2010)
например
 Xelat (14:02:01 18/03/2010)
хех... задумка интересная
 Dancer (14:03:20 18/03/2010)
ну можно ещё в конфиг вывести вкл/выкл
думаю, хорошая вещь для любителей погорячее
 Dancer (14:03:33 18/03/2010)
hardlife, всё-таки
 Xelat (14:06:10 18/03/2010)
хех, ну ок. только давай это в очередь отложим. я счас хочу попробовать таки dll-ку подрубить со своими функциями. если это прокатит как надо - то реализация новых UF значительно ускорится
 Dancer (14:06:51 18/03/2010)
это сильно опциональная вещь...
 Xelat (14:08:57 18/03/2010)
слушай, а если загрузить автосэйв [начало боя], то тут же ещё один автосэйв не будет писаться?
 Dancer (14:09:56 18/03/2010)
нет, ещё один не делается
 Dancer (14:10:42 18/03/2010)
кстати, пригодился бы ещё эвент "бой начался"
 Dancer (14:11:07 18/03/2010)
как раз после автосейва если его поставить
 Xelat (14:11:59 18/03/2010)
> как раз после автосейва если его поставить
вот я о том и думаю
 Dancer (14:12:42 18/03/2010)
в принципе, есть какие-то эвенты, типа "ГГ атакован" можно на них завязаться
надо подумать
 Xelat (14:13:20 18/03/2010)
мож ГГ атакован - эт не то?
 Dancer (14:13:43 18/03/2010)
это тут сами квесты кидают
 Xelat (14:14:25 18/03/2010)
хотя как я себе представлял - отлов начала боя для уф-ки не нужен был бы. просто уф-ка проставляла бы некий флаг в памяти, а при попытке сохранения игры проверялся бы флаг, и если бы он был установлен - то выполнялась бы проверка, не идёт ли бой
 Dancer (14:15:57 18/03/2010)
аналогично юзестрингам, нужно юудет каждую загрузку игры восстанавливать флаг
 Xelat (14:16:40 18/03/2010)
> аналогично юзестрингам, нужно юудет каждую загрузку игры восстанавливать флаг
и чего плохого?
записать его в объект квеста - флаг будет отправляться в сэйв. и подтягиваться при каждой загрузке
 Dancer (14:18:05 18/03/2010)
нет
после каждой загрузки "game loaded" нужно будет вызывать call RestrictSave(param)
где param и будет объектом квеста
 Dancer (14:18:41 18/03/2010)
но! для корректной работы запрета нужно знать, что бой стартовал и автосейв есть
 Dancer (14:18:57 18/03/2010)
т.е. эвент всё же нужен
 Xelat (14:18:58 18/03/2010)
бррр
 Xelat (14:19:11 18/03/2010)
эвент Game loaded. конечно нужен!
 Xelat (14:19:32 18/03/2010)
но нам вовсе не  нужно знать, что бой стартовал и автосейв есть
 Xelat (14:19:44 18/03/2010)
на автосэйвы флаг не будет распостраняться
 Dancer (14:20:00 18/03/2010)
вот идёт мирная жизнь, сохраняйся сколько влезет, тут бац - бой
игрок жмёт ф5 и сохраняется - квесты не знали о начале боя и не поставили в объекты квеста запрет
 Xelat (14:20:10 18/03/2010)
О_о
 Xelat (14:20:14 18/03/2010)
ты походу не понял
 Dancer (14:20:30 18/03/2010)
я хочу, чтобы этот запрет включался из квестовки
 Xelat (14:23:21 18/03/2010)
def object SaveRestrictor
begin
Attribute state
phrase enable()
      state = 1
      call RestrictSave(1)
end phrase
phrase disable()
      state = 0
      call RestrictSave(0)
end phrase
phrase update()
      call RestrictSave(state)
end phrase

  initial
    on event "Game loaded." callm SaveRestrictor.update() always
  end initial
end
 Xelat (14:24:41 18/03/2010)
состояние аттрибута в данном случае запишется в сэйв, и при загрузке игры отлично оттуда вытянется и проставится
 Xelat (14:24:51 18/03/2010)
и не надо ни о чём беспокоиться
 Dancer (14:25:06 18/03/2010)
я рад, но первый раз, когда стартовал бой - будет разрешено записываться
 Xelat (14:25:17 18/03/2010)
> я рад, но первый раз, когда стартовал бой - будет разрешено записываться
с чего?
 Dancer (14:25:41 18/03/2010)
а почему будет запрещено?
 Xelat (14:26:06 18/03/2010)
ну блин, ты же при повышении цгл будешь вызывать SaveRestrictor.enable()
 Dancer (14:26:07 18/03/2010)
в мирном режиме разрешено, так?
с переходом в боевой, кто запретит?
 Xelat (14:26:19 18/03/2010)
объясняю
 Dancer (14:26:48 18/03/2010)
а то, как восстанавливать флаги я прекрасно знаю
 Xelat (14:26:51 18/03/2010)
call RestrictSave(state) будет выставлять в памяти игры флаг, который будет использоваться при проверке в сохранении игры
 Dancer (14:27:03 18/03/2010)
да это понятно
 Dancer (14:27:18 18/03/2010)
как определить, что бой начался и нельзя сохраняться?
 Dancer (14:28:21 18/03/2010)
проверять кадую секнуду call CombatMode() ?
 Dancer (14:28:45 18/03/2010)
и если да, то       state = 0
 Xelat (14:29:01 18/03/2010)
объясняю ещё раз
в памяти игры есть флаг, пусть manual_save_disabled
когда игрок сохраняет игру выполняется условие:
if (save_type = stAutosave || !manual_save_disabled || !isCombat())
{
 ZApp::DoSave();
}
 Dancer (14:29:11 18/03/2010)
тьфу, еп
 Dancer (14:29:18 18/03/2010)
я про квесты, ты про ехе
 Xelat (14:29:42 18/03/2010)
всю квестовую часть я тебе привёл. нафига привязывать квестовые скрипты туда, где им не место?
 Dancer (14:29:55 18/03/2010)
чтобы связать со сложностью
 Xelat (14:30:06 18/03/2010)
ну блин, ты же при повышении цгл будешь вызывать SaveRestrictor.enable()
 Dancer (14:30:07 18/03/2010)
хотя, может ты и прав

 Dancer (14:32:00 18/03/2010)
просто я привык всё делать в квестах :(
вобщем, моя забота будет включать флаг при превышении cgl "детского уровня"
и если высокая сложность

а ехе уже будет отслеживать есть бой или нет

так?
 Xelat (14:32:44 18/03/2010)
да
 Dancer (14:33:21 18/03/2010)
я думал мне придётся всё отслеживать, а ехе будет смотреть только на флаг "разрешено ли"
теперь всё ясно
сори, что не вкурил сразу
 Xelat (14:34:13 18/03/2010)
да ничего
Просмотров: 818 | Добавил: Dancer | Рейтинг: 4.0/1
Всего комментариев: 3
3  
Действительно, игра порой складывается так, что пуля прилетает в голову вне зависимости от выбранной тактики и частоты сохранений. Поэтому автосейв каждые несколько минут кажется весьма логичным...

1  
У меня вопрос к уважаемым разработчикам. А возможно ли привязать появление и исчезновение флага, разрешающего сохранение к времени или к событию, периодически происходящему во время боя, то есть, чтобы во время боя можно было бы сохраняться ,допустим, через каждые 10-15 минут? Сохранился, и в течение некоторого времени не имеешь возможности сохраняться, а после определённого времени флаг сбрасывается до следующего нажатия кнопки "сохранить"...Было бы хорошо умерить пыл сейв-лоада, но и не заставлять по 10 раз проходить одно и тоже место.....иначе некоторые моменты игры на 1-й жизни будет проходить ооооочень тяжко. Мне просто интересно, реализуемо-ли это или невозможно?

2  
Чисто технически - думаю возможно.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]