Перейти к контенту

Рекомендуемые сообщения

_Призрак_, спасибо, твой вариант работает нормально. А я считал, что dont_has_info ипользуется только в скелете диалогов, а в скриптах not has_alife_info.

 

Изменено пользователем Jurok
Ссылка на комментарий

Jurok, загляни в тему "Справочник по функциям и классам", там четко указано, что и для скриптов есть такая функция.

Твой вариант

not has_alife_info("maior_barsakov_info")

работает так: функция has_alife_info возвращает true(да), при наличии у тебя инфопоршня maior_barsakov_info, а отрицанием not - ты меняешь его на false (нет).

А функция

dont_has_info("maior_barsakov_info")

сразу возвращает значение false(нет).

Поэтому это своего рода опримизация кода. :)

Изменено пользователем Куфзук
Ссылка на комментарий

Привет всем. Возможно я задаю смешной вопрос, но как отменить уже заспавненного непися, допустим, после какого-нибудь диалога?

Одна голова хорошо, две плохо, а три вообще труба!
Ссылка на комментарий

SLAVYANICH

...как отменить уже заспавненного непися...
Ну по всей видимости Ctrl+Z. :rofl2:

Ну а если серьезно, то тебе нужно перевести его в offline. Почитать об этом можешь здесь: Переход нпс в offline-online через скрипт

Ссылка на комментарий

Может немного не туда, но:

Я подключил Свалку к ЗП (проверил - работает), далее поставил НПС-торговца на вышку (та что около стоянки техники). Получил вылет:

 

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:941: bad argument #1 to 'gfind' (string expected, got nil)

 

Откуда он идёт, подскажите плиз?

Ссылка на комментарий

Здравствуйте.У меня вот какой вопрос-я сделал квест на убийство НПС-как сделать что бы у данного убитого НПС,ГГ не мог взять оружие?Или мог взять,но оно было испорчено и починке с продажей не подлежало.

Ссылка на комментарий

помогите составить такую схему:

 

при запуске игры запускается таймер (скрытый, скриптовый). он тупо считает время со своего запуска

при своём запуске функция ХХХ считывает, сколько игровых минут насчитал таймер. если это число больше 10 то она ничего не делает. если меньше 10, то функция обнуляет таймер (заставляет его считать заново с нуля).

 

в долгу не останусь!! очень надо!

Ссылка на комментарий

Кто-нибудь знает как заставить сквад ходить вместе, ждать друг друга?

В смарте каждому члену сквада выдаётся отдельная работа, можно ли выдать одну на сквад?

 

Ссылка на комментарий

Unmerklich Jo, ну лично я бы не торопился с выводами, а если и было сотню раз, то может ссылку даш... :ny_tongue:

 

znachara, теперь по делу! Хотя нет, для начала - с наступающим тебя!

Я бы не стал вешать на апдейт еще один таймер, ведь есть уже, почему бы им не воспользоваться!?

Очень сложно тебе помочь, не зная для чего тебе это нужно! Если это какае-то секретная разработка, то попробуй перефразировать назначение этой функции ХХХ. Если ты раскажешь ее суть, шансы на помощь возрастут!

И сразу скажу, что в твоем случае, если при первом запуске, таймер насчитает больше 10, то при всех остальных вызовах этой функции, это значение, так же будет больше 10 и ничего происходить не будет! Это так, на заметку.

Изменено пользователем Куфзук
Ссылка на комментарий

фишка в чём.

я хочу сделать эмулятор сна. в частности схема такая:

 

- сразу после запуска игры стартует таймер. примерно часов 6. пока он не истечёт, игрок не хочет спать. сон идёт через спальный мешок. то есть если до истчения 10 часов игрок попытается использовать мешок - то получит лишь сообщение с текстом "спать не хочу". как только 6 часов прошло, игрок может уже поспать. однако тут уже другая фишка - если он будет долго тянуть и не спать - то у игрока будут начинаться глюки (в виде постэффектов (с янтаря, например)). а если долго не спать - сон запускается автоматом. в последствии игрок не может спать несколько раз подряд (поспал - и хватит). а если долго не спит - плохо себя чувствует

 

не знаю, понятно ли написал))

Ссылка на комментарий

znachara, ты сейчас пытаешься сделать велосипед! АМК уже давно все сделала, причем в том же алгоритмы, разве что цифры отличаются. Вот тебе сон с рюкзаком на основе АМК файлов: >>Click me<<

Если что-то не понравиться можешь подправить с указанием авторов скрипта.

 

Ссылка на комментарий

спасибо)))

а как можно скриптом сделать, чтобы на радаре (но не на карте в пда) отображались красные точки мутантов? а сделать, чтобы НЕ отображались красные точки врагов (именно через скрипт)?

как сделать, чтобы если вынес военных под мостом на кордоне, то появлялись они там уже через пару часов, а не через полигры как в оригинале?

 

спасибо ещё раз заранее)))

 

Добавил чуть позже:

а как сделать такой таумер?:

при своём запуске он ждёт 10 игровых минут а потом выполняет функцию xxx.yyy. после всего этого таймер "исчезает". но если его потом запустить заново - действует заново

Изменено пользователем znachara
Ссылка на комментарий

znachara, есть мод, точного названия не помню, кажеться "Биорадар" или "Детектор жизненых форм". Там именно скриптами отображалося положение всех живых существ на радаре, подшаманив можно отключить отображение НПС.

По поводу военных, нужно глянуть в их гулаг под мостом или попробывать отредактировать частоту спавна НПС на локации.

 

а про добавленный вопрос?
Что, про добавленный выброс? :ny_unsure: Изменено пользователем Куфзук
Ссылка на комментарий

Здравтсвуйте! А кто-нибудь знает каким образом устоена работа приемника у Сидоровича? Каким образом сделать подобный приемник, не присваивая ему логику проигрывания?

Ссылка на комментарий
Byurrer, Заспавнить его?Набери в распакованом аллспавн секции а-лайф милитари к примеру в поиске priemnik gorizont и сделай так же
Ссылка на комментарий

Так народ) Всех с наступающим)

Ребят, как повесить на инфопоршень отыгрывание звука НПС'ом?

В моем случае у нпс есть диалог, в котором после первой фразы выдается инфопоршень, и я хочу дабы НеПиСь "озвучил" свою фразу.

Интересует сама форма записи, т.к. у меня игра ни на что не ругается, но и ничего не воспроизводит. Вот моя логика:

[logic]

active = remark@base

danger = danger_condition

meet = meet

 

[remark@base]

anim = hello_wpn

no_move = true

target = actor

meet = meet

on_info = {+first_phrase} ph_sound@esc_bridge_soldiers

...

 

 

Инфопоршень зарегистрирован, с ним проблем быть не может. Лично меня пугает ph_sound, мне кажется на его месте должна висеть другая функция.

Заранее спасибо!

 

Спасибо за мини туторчик, но меня беспокоит 1 вопрос - не прервется ли окно диалога? Ведь именно за ним я и гонюсь) В остальном, вся логика работает - персонаж ходит, говорит, отыгрывает анимации. Вот вся моя логика:

[logic]

active = remark@base

danger = danger_condition

meet = meet

 

[remark@base]

anim = hello_wpn

no_move = true

target = actor

meet = meet

on_info = {+first_phrase} snd = esc_bridge_soldiers

on_info2 = {+bar_dolg_propusk_have} remark@sit

 

[meet]

meet_state = 10|salut@wait| 5|salut@wait

meet_state_wpn = 10|salut@wait| 5|salut@wait

victim = 10|actor

victim_wpn = 10|actor

use = true

use_wpn = true

 

[remark@sit]

anim = zvuk

snd = mil_guard_to_max

no_move = true

target = actor

meet = no_meet

;on_actor_dist_le = 2| remark@raciya

;on_timer = 2000| remark@ raciya

on_signal = sound_end| remark@raciya

danger = danger_condition

 

[remark@raciya]

anim = terebit

snd = mil_pavlik_to_ara

no_move = true

target = actor

meet = no_meet

on_timer = 3000| remark@work

;on_actor_dist_ge = 6| remark@work

danger = danger_condition

 

[meet@raciya]

meet_state = 7|terebit@val_escort_guards| 5|terebit@mil_pavlik_to_ara

meet_state_wpn = 7|terebit@mil_pavlik_to_ara

victim = 7|actor

victim_wpn = 7|actor

use = true

use_wpn = true

meet_dialog = escape_lager_guard_start_dialog

 

[remark@work]

anim = terebit

no_move = true

snd = mil_pavlik_to_ara

target = actor

on_timer = 1000| remark@work2

meet = no_meet

danger = danger_condition

 

[remark@work2]

anim = zvuk

no_move = true

snd = mil_pavlik_to_ara

target = actor

on_timer = 1000| walker

meet = no_meet

danger = danger_condition

 

[walker]

meet = no_meet

path_walk = big_walk

path_look = big_look

combat_ignore_cond = always

on_timer = 1600000| remark@dinner

 

[meet@zombied]

meet_state = 5|trans_0@hail

meet_state_wpn = 5|trans_1@hail

victim = 5|actor

victim_wpn = 5|actor

use = true

use_wpn = true

meet_dialog = escape_lager_guard_start_dialog

 

[remark@dinner]

anim = probe_1

no_move = true

target = 50000

meet = no_meet

danger = danger_condition

on_timer = 11000| remark@dynamite

 

[meet@dinner]

meet_state = 5|eat_bread@wait| 3|eat_energy@wait

meet_state_wpn = 5|eat_kolbasa@wait| 3|eat_vodka@val_escort_dead

use = true

use_wpn = true

meet_dialog = escape_lager_guard_start_dialog

 

[remark@dynamite]

meet = no_meet

path_walk = big_walk

path_look = big_look

on_timer = 1600000| remark@claim

 

[remark@claim]

anim = claim

snd = esc_wolf_thanks

target = actor

meet = meet@claim

danger = danger_condition

on_timer = 60000| remark@base

 

[meet@claim]

meet_state = 7|refuse@mil_collect_phrase5| 5|probe_2@mil_collect_phrase6

meet_state_wpn = 7|backoff@gar_dm_bandit_demand

victim = 7|actor

victim_wpn = 7|actor

use = true

use_wpn = true

meet_dialog = escape_lager_guard_start_dialog

 

 

 

Да, как я и подозревал. Теперь игра начала вылетать с логом на "неправильность" формата. (20я строчка _g.script)

Изменено пользователем ЙоЖеГ
Ссылка на комментарий

ЙоЖеГ,

Сколько тут не бываю, все продолжают выставлять ремарк в актив. Видимо, бесполезняк объяснять, чем это заканчивается :) Вот маленький тутор - вторая строчка - по ремарку, а в хвосте то, что Вам надо. Тутор составляли весьма профессиональные люди, хоть и кое о чём умолчали.

Схема remark

Схема используется для синхронизации\связки других схем.

 

[remark]

*snd_anim_synс = true либо false. По умолчанию false. Указывает на то необходимо ли синхронизировать звук с анимацией либо нет

*snd = звук ремарка, по умолчанию nil

*anim = анимация ремарка, по умолчанию wait

*target = Куда смотрит сталкер. Есть следующие варианты

story_id – числовое значение

actor – без комментариев

nil – позиция вычисленная АИ автоматически

<имя работы>,<имя гулага> смотреть на сталкера который находится на определенной работе под гулагом (второй параметр необязателен. В этом случае берется гулаг сталкера, для которого задана данная секция ремарка).

Пример:

target = logic@cit_killers_base_guard, cit_killers

<path_name>, <point_number> - можно указывать смотреть в вершину патрульного пути (<имя пути>, <имя точки>).

 

Внимание, теперь если значение не задано, то оно равно nil а не actor, как было раньше. То есть если вы хотите чтобы персонаж в ремарке смотрел на актера - необходимо явно прописывать это. Если задано значение nil, то персонаж развернется в позицию, которую посчитает АИ.

 

 

Стандартные сигналы для remark:

sound_end – по окончании проигрывания звуковой схемы

anim_end – по окончании проигрывания анимации

action_end – по окончании проигрывания и того и другого, если они синхронизированы

 

Пример синхронизации анимации и звука в схеме Remark:

[remark]

anim = анимация

snd = звук

snd_anim_sync = true

on_signal = action_end | следующая схема

 

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...