[CoP] Ковыряемся в файлах - Страница 281 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

[CoP] Ковыряемся в файлах


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

Всем привет. Вопрос - где мне "поковыряться", чтобы вернуть в игру "запаздывание оружия" при прицеливании через мушку при движении влево-вправо? Мод MISERY. Они сделали ствол неподвижным, как в ТЧ. Поиск ничего не дал.

 

 

"запаздывание оружия" при прицеливании через мушку при движении влево-вправо?

Удали файлы: strafe_left.anm и strafe_right.anm по адресу: \gamedata\anims\camera_effects\actor_move\

Доброго времени суток. Я знаю, как добавлять новые метки в КПК, но как ими управлять мне не известно. Поэтому не подскажите ли, как их "засвечивать" на карте и обратно "затемнять", или хотя бы просто включить метку в нужный момент игры?

Изменено пользователем ммихаилл

@ммихаилл, день добрый. 

level.map_add_object_spot_ser(object_id, icon, descr)
level.map_remove_object_spot(object_id, icon)

-- icon - иконка из configs/ui/map_spots.xml
-- descr - string текста

ммихаилл,В pda.script ищем функцию fill_sleep_zones(), смотрим её:

if(db.storage[obj_id].object:position():distance_to(db.actor:position())<=150 and level.map_has_object_spot(obj_id, "ui_pda2_actor_sleep_location")==0) then --Если дистанция меж ГГ и меткой меньше 150м, то
	level.map_add_object_spot(obj_id, "ui_pda2_actor_sleep_location", v.hint)  --Добавляем метку
elseif(db.storage[obj_id].object:position():distance_to(db.actor:position())>150 and level.map_has_object_spot(obj_id, "ui_pda2_actor_sleep_location")~=0) then --Если меньше 150м, то
	level.map_remove_object_spot(obj_id, "ui_pda2_actor_sleep_location") --Удаляем её
end

Проверка

level.map_has_object_spot(obj_id, "ui_pda2_actor_sleep_location")~=0)

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

 

Если хочешь включить метку после выдачи какого-либо инфопоршня, то используй такую проверку: 

(db.actor:has_info("имя_твоего_инфопоршня")

"Вот, собственно,  и всё." (с)

Наверное, каждый замечал, что в Зове Припяти сообщение о прекращении выброса приходит несколько раньше его действительного окончания.

В связи с этим вопрос - как это исправить?  :)

DarkSatellite, это из за того, что погода сменяется постепенно по секциям из конфигов. Более-менее простого способа не придумал, поэтому предлагаю смириться - чем плох плавный переход погоды?  ;)

  • Нравится 1

Сталкер Лом, тем, что приходит сообщение об окончании выброса, выходишь из укрытия, а вокруг всё полыхает и трясётся ещё пару минут...

Может alife.ltx "покрутить" на предмет течения времени?

DarkSatellite, там время регулируется на всё время игры, а не только на Выброс. В моде "Повелитель Зоны" есть инструменты регулирования времени - погляди, как сделано там. Но будет побочный эффект, сам понимаешь - на часах время будет бежать галопом, а не идти.

@Сталкер Лом,спасибо, хотя это и не совсем то, что я имел ввиду, но все-таки, спасибо.

Есть еще один вопрос с подковыркой: как при взаимодействии гг с туториалом пустить на экран картинку, из которой можно будет выйти через ескейт? Как сделать туториал я знаю и как с помощью него выйти в скрипты тоже, только какой скрипт требуется для решения этой проблемы?

какой скрипт требуется для решения этой проблемы?

Самая большая "подковырка" понять на каком языке ты пишешь - на русском, английском или смеси немецкого с нижегородским.

Остальное просто. Не знаю, что ты понимаешь под "туториалом", но картинку ты можешь вывести на HUD только через окно. А в скрипте окна есть метод 

 

OnKeyboard(dik, keyboard_action) --virtual function

 

в этом методе вставляешь условие

 

if dik == DIK_keys.DIK_ESCAPE then

-- здесь закрываешь свое окно. реализация зависит от версии движка (ТЧ или ЗП)

end

 

это всё.

Изменено пользователем Serge!

 

 

Не знаю, что ты понимаешь под "туториалом"
получается, скорее, ты не знаком с языком "Сталкера" ;)

Надписи "открыть/закрыть дверь", "поднять предмет", "нажми ПРОБЕЛ чтобы прыгнуть", "нажми ТАКУЮ-ТО КНОПКУ чтобы взаимодействовать" и т.д. и т.п. в Сталкере называют ТУТОРИАЛАМИ.

[member=Dennis_Chikin], термин "туториал" понятен тем, кто работает с квестами, логикой и фичами с ней. Но, кажется, туториалы в ЗП намного более распространены, нежели в ТЧ.

@ммихаилл, по делу, значит, сначала составляешь сам туториал:


    <special_tutor>
        <global_wnd/>
        <item>
            <disabled_key>quit</disabled_key>
            <length_sec/>
            <action id="use" finalize="1">xr_effects.special_tutor_action</action>
            <guard_key>use</guard_key>
            <grab_input>0</grab_input>
            <main_wnd>
                <auto_static start_time="0" length_sec="5000" x="512" y="660" width="300" height="60" alignment="c" stretch="1"
la_cyclic="1" la_texture="1" la_alpha="1">
                    <text font="graffiti22" r="225" g="225" b="250" a="255" align="c">st_some_text</text>
                </auto_static>
            </main_wnd>
        </item>
    </special_tutor>

 

 

Здесь указывается запускаемая функция:

<action id="use" finalize="1">xr_effects.special_tutor_action</action>

Дальше пишем функцию в указанном файле:

function special_tutor_action()
    тут_запуск_гуи()
end

А вот гуи-окно - отдельная тема. Набери в гугле "Создание инвентарного Gui-комплекса". Основы там даны, включая функцию запуска гуи.

Также рекомендуется к просмотру:

http://www.amk-team.ru/forum/index.php?showtopic=8013

http://www.amk-team.ru/forum/index.php?showtopic=7450

Изменено пользователем FantomICW
  • Полезно 1

@FantomICW, я же писал, что все это мне известно, а вот как раз-таки последний пункт и вызывает затруднения. Ладно, спасибо, что посодействовали.

Каким скриптом можно осуществить передачу предметов из ящика (с учетом того, что список предметов неизвестен) гг?

 

 

Каким скриптом можно осуществить передачу предметов из ящика

transfer_item вестимо.

 

 

с учетом того, что список предметов неизвестен

если для чистого движка(не правленного) - то можно попробовать перебором всех игровых объектов, и сравнением их парент_ид с ид ящика.

Спавню предмет скриптом.

 

3188000.jpg
3188007.jpg

 

Т.е. если в СДК, предмет к тебе лицом, то он, в игре, будет лицом на юг. Если наоборот, то на север.

Возможно-ли, при спавне скриптом, менять направление морды предмета?

 

От блин. Вопрос для ТЧ. Прошу перенести.

Изменено пользователем neymeika

@neymeika, как-то так:


    local sobj = alife():create("объект", x, y, z, lvid, gvid) --тут нужно ввести свои координаты местоположения
    local obj_dir = vector():set(x, y, z) --тут нужно ввести свои координаты направления
    sobj.angle = vector():set( obj_dir.x, obj_dir.y, obj_dir.z ) 
Изменено пользователем FantomICW
  • Спасибо 1

Всем здравия. Как правильно регистрировать звуки для НПС?

Пробовал самостоятельно: взял звук, перевел его в формат СДК, далее в СДК настроил звук для сталкера, talk, и потом прописал звук по аналогии в скрипт_соунд, и соответственно прописал в логике НПС, но я получил лог на sound_theme, 225 строка. Что делать дальше?

AI additions для ЗП от 20.03.2010 Rulix aka Bak... "Бой с ножом. НПС умеют использовать нож". При активации оного, в луте у неписей появляются ножи. Вопрос - возможно ли убрать ножи из лута неписей без отключения функции боя с ножом ? Тема по этому моду на форуме закрыта и в архиве, потому задаю вопрос здесь.

Изменено пользователем Дормидонт

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

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

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

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

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

Войти

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

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

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