Kail, не совсем всё верно. Вот эта проверка несколько не логичная:
Code
if (level.get_time_hours() >= 23) or (level.get_time_hours() >= 0 and level.get_time_hours() <= 3) then
Правильнее проверку на ночь сделать вот так:
Code
if level.get_time_hours() >= 23 and level.get_time_hours() < 6 then
Вот эта строка кода:
Code
db.actor:give_info_portion("new_2")
в твоей функции никогда не выполниться, поскольку в любом случае проверка, что написана выше, будет возвращать какое-то значение, тем самым прерывать работу функции. Проверку на хит, для второго НПС, тоже нужно прописывать в логике, ты этого не указал (на первой лекции по логике игровых объектов, я рассказывал как присвоить логику НПС заспавненого скриптом). Вот этот код:
Code
alife():release(se_obj, true)
не переведёт НПС в оффлайн, он его удалит из игры. Навсегда.
для квеста нада, уменя первый квест проникнуть на територии военого блокпоста и забрать ящик с документами что оставил курьер задание можно выполнить хорошо, а можно плохо, если игрока заметили то когда к сидоровичу прийдем появится диалог Меченый ты че там на делал теперь молись что бы военые сюда непришли
Сообщение отредактировал Kail - Суббота, 14.07.2012, 15:07
Akella-96, на мой взгляд, это никак не определит тот момент, что игрока кто-то заметил, это просто создаст зоны в которые входить не желательно, потому что приведёт к "плохой" ветке квеста. Kail, давай проанализируем, что значит "игрок был замечен". Как правило, когда игрока замечают вражеские НПС, то они начинают в него стрелять, т.е. срываются в бой. Для логических схем НПС есть секция combat, которая как раз и определят, что произойдёт с НПС, когда тот сорвётся воевать. Прописывает в логику следующим образом:
Code
[logic] active = какая-то схема on_combat = combat
[combat] on_info = {-infoportion} %+infoportion%
Подобную логику пишешь всем НПС-врагам, т.е. военным, и если они начнут стрелять в игрока, то будет выдан инфопоршень. Диалог же, точнее саму ветку "Плохо сделал", ставь прекондишеном на наличие этого инфопоршня.
P.S. Кстати о схемах НПС. Сегодня я буду рассказывать о них на второй лекции, так что кому интересно - записывайтесь.
Сообщение отредактировал ColR_iT - Суббота, 14.07.2012, 16:03
ну например можно сделать так возле поста же есть мины, если актер задел мину и она взорвалась, то военые там что взорвалось,кто то ходить,маер поднимай своих гоблинов и идите проверте, можно встать за дерево и недвигатся через несколько минут
военые типо да нету тут нефига никого идем назад, если игрок сорвался и побежал когда военые были рядом то когда прибежим к сидору появляется плохая ветка диалога меченый ты че там натворил полудурок
Сообщение отредактировал Kail - Суббота, 14.07.2012, 16:16
Kail, во-первых, без запятых понять, что же именно ты задумал, крайне сложно, я лично для себя несколько вариантов нашёл в твоём посте. Во-вторых, я тебе уже сказал, каким образом можно определить, что ГГ был замечен. Мины - сделаны на основе аномалий, отследить вхождение актора в аномалию может и можно, но я не задавался этим вопросом.
Кто знает, как сделать так, чтобы при использовании предмета начинали играть несколько песен подряд(не сразу все, а именно одна за другой)? Я смог сделать только чтобы играла одна:
Code
if so_obj:section_name()=="mp3_player" then local i=math.random(1,5) local snd=sound_object("music\\mp3\\mp3_"..i) local len=snd:length() if not snd:playing() then snd:play_no_feedback(db.actor,sound_object.s2d,0,vector():set(0,0,0),1.0) SpawnItemInInv("mp3_player_normal_energy") end
В ТЧ, в параметрах боеприпасов есть "k_pierce". Он влияет на пробивание броников? Если он отвечает только за преодоление физических преград то ПЫС облажался с баллистикой.
Потому-что в реале бронебойные патроны наносят незащищённым целям меньше урона, чем обычные патроны т.к. бронебойные проходят насквозь и не передают телу свою энергию. Поэтому в ТЧ у бронебойных патронов k_hit (коэффициент повреждения) должен быть меньше единицы, а он как правило равен 1.1
Сообщение отредактировал KazakHD5770 - Суббота, 14.07.2012, 17:48