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

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


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

 

Товарищи! 
Вопрос: в ТЧ в описании квеста можно было выставить таймер его выполнения строчкой time = 

В ЧН такая строка из описания квестов изъята, имеется wait_time, которая является отсрочкой запуска квеста.
Кто нибудь знает иные способы установки таймера на выполнение квеста? (исключая команду on_timer через спейс_рестриктор)

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

Не соответствует. N6260

@ZeeK можно сделать по аналогии, как в ЗП периодически отсыпали ништяки в личный ящик, используя глобальный таймер.
Вот глянь в ЗП скрипт bind_stalker.script, к примеру ищи по строке detective_achievement, в частности функцию actor_binder:check_detective_achievement()
Вот можно по таймеру выдать инфопорцию, которая провалит квест
P.S. А можно вообще модифицировать таск менеджер, добавив подобную штуку, чтоб было "универсально"

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

Хочу ускорить движение путем использования функции
 

		[DIK_keys.DIK_F1]={
		func=function()
		db.actor:set_actor_position(device().cam_pos:add(device().cam_dir:mul(35.0)))
		end

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

Всем привет. В Сталкер вики прочел такую инфу:

"Из-за опечаток в файлах игры, ящики лагерей в ангаре Яра ...(и т.д.)... никогда не наполняются предметами, даже если у соответствующей подлокации расположен отряд." Ну я решил это исправить. Проблема в том что я не могу понять как вообще работают ящики в ЧН. Вот например ящик на блокпосте: 

Скрытый текст

 

[6526]

; cse_abstract properties
section_name = inventory_box
name = esc_smart_terrain_3_16_box
position = -122.246948242188, -30.0499992370605, -391.723419189453
direction = 0, 0, 0
id = 65535
version = 124
script_version = 8
spawn_id = 2920

; cse_alife_object properties
game_vertex_id = 472
level_vertex_id = 25
object_flags = 0xffffff3f

; cse_visual properties
visual_name = dynamics\equipment_cache\equipment_box_02_case

 

но в smart_terrain_3_16 почему написана такая строчка: respawn = esc_equipment_box_02_base_3_16. Название разное. В связи с чем это может быть связано, может есть файл где названия респама привязаны к названию ящика? Но я такой не нашёл. И как я понял в ЧН ящики берут список генерируемых предметов из файлов death_.ltx, а не ph_box_.ltx

П.С. сейчас увидел что в смарте деревни новичков вообще нет строчки respawn =... хотя ящик там есть и рабочий. Как такое может быть?

11 часов назад, Lieutenant Novikov сказал:

Ну я решил это исправить. Проблема в том что я не могу понять как вообще работают ящики в ЧН

Посмотрите all.spawn в SRP моде там товарищ Decane уже все это исправил и оставил комментарии о причинах неисправности ящиков. 

  • Спасибо 1

Не соответствует. N6260

Товарищи, кто разъяснит за что отвечают указанные настройки контроллеров? 

tube_at_once        
tube_damage            

Не соответствует. N6260

@ZeeK Судя по комментариям и коду в [xrGame\ai\monsters\controller\controller.cpp] и […\controller_psy_hit.cpp], первый параметр – включение "захвата мозгов" (туннельное зрение / tube) без задержки наведения на цель, второй – сила удара, причем обычного, так как телепатический удар закомментирован.

 

void CControllerPsyHit::death_glide_end()

    //m_object->Hit_Psy        (Actor(), monster->m_tube_damage);

    m_object->Hit_Wound        (Actor(), monster->m_tube_damage,Fvector().set(0.0f,1.0f,0.0f),0.0f);

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

12 часов назад, Norman Eisenherz сказал:

без задержки наведения на цель

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

  • Полезно 1

Не соответствует. N6260

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

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

@Norman Eisenherz ого, всё так просто.
Я пытался удалить группировки с pda.script, но вылетало, наверное вызов откуда-то идёт, я не знаю.

Удивлён вообще что кто-то ответил, ЧН довольно мёртвая платформа, но да ладно.

Ещё пару вопросов.
Возникает вылет при нажатии на автосейв:
 

Скрытый текст

FATAL ERROR
 
[error]Expression    : I != levels().end()
[error]Function      : GameGraph::CHeader::level
[error]File          : e:\priquel\sources\engine\xrgame\game_graph_inline.h
[error]Line          : 153
[error]Description   : there is no specified level in the game graph : 0
 

stack trace:


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

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

Скрытый текст

ss-houdini-10-19-22-22-43-02-l01-rein.jp
ss-houdini-10-19-22-22-43-04-l01-rein.jp
ss-houdini-10-19-22-22-42-48-l01-rein.jp

На первом-втором скрине внимание на автобус, игрок догоняет тень, а на третьем - квадратные тени (внимание на дом).

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

На ЧН, как известно, самая деревянная система квестов.

 

Вопрос - как можно реализовать (с примером желательно, а то и вовсе готовую) систему разделения квестов на подквесты как в ТЧ/ЗП?

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

В ТЧ можно было спавнить и удалять предметы через стори ид и спавн ид.
 

Скрытый текст

function delete_pribor()
   local lc = alife():story_object(story_ids.dead_zapiska)
   alife():release(lc, true)
end

function spawn_pribor()
   local spawn_id = alife():spawn_id(spawn_story_ids.zapiska)
   alife():create(spawn_id)
end


В ЧН не работает.

Есть аналог какой?

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

Объект: Кордон, Сидорович, esc_trader, sid = 410, spawn_id = 3026.

Удаление по указанному выше шаблону: успешно.

Переспавн: нет реакции уже на стадии чтения spawn_id(sid). Более того, до перезагрузки сбиваются все последующие скрипты, привязанные на тот же триггер (в моем случае расход предмета).

При прямом вводе alife():create(3026) скрипты не сбиваются, но и спавна нет.

 

Проверка в ТЧ: story_id = 3, spawn_id = 2263, удаление успешно, переспавн работает только при прямом вводе значения spawn_id – при чтении spawn_id(sid) зависание скриптов.

 

Методы в ЧН точно не удалены и код в ТЧ/ЧН у них полностью одинаковый. Ждем следующего знатока…

Spoiler
[xrGame\alife_simulator_script.cpp]
void CALifeSimulator::script_register			(lua_State *L)
			.def("create",					&CALifeSimulator__create)
			
			.def("spawn_id",				&CALifeSimulator__spawn_id)
			

CSE_ALifeDynamicObject *CALifeSimulator__create	(CALifeSimulator *self, ALife::_SPAWN_ID spawn_id)
{
	const CALifeSpawnRegistry::SPAWN_GRAPH::CVertex	*vertex = ai().alife().spawns().spawns().vertex(spawn_id);
	THROW2								(vertex,"Invalid spawn id!");

	CSE_ALifeDynamicObject				*spawn = smart_cast<CSE_ALifeDynamicObject*>(&vertex->data()->object());
	THROW								(spawn);

	CSE_ALifeDynamicObject				*object;
	self->create						(object,spawn,spawn_id);

	return								(object);
}

ALife::_SPAWN_ID CALifeSimulator__spawn_id		(CALifeSimulator *self, ALife::_SPAWN_STORY_ID spawn_story_id)
{
	return								(((const CALifeSimulator *)self)->spawns().spawn_id(spawn_story_id));
}

 

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

57 минут назад, Norman Eisenherz сказал:

spawn_id = 3026

Что подразумевает под собой в твоём видении spawn_id?

Ибо в оригинале не используется файл game_spawn_story_id.ltx

Может ты сам назначил его, не знаю. Мало ли.

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

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

@Norman Eisenherz ну я имел ввиду тот, что назначается вручную. Думаю в них есть разница. Или нет. Не знаю.

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

Вот старый пост, в котором указан порядок "номер в [all.spawn], строковое обозначение в [game_spawn_story_ids.ltx]": https://www.amk-team.ru/forum/topic/7450-spravochnik-po-funkciyam-i-klassam/page/23/#comment-803687

 

У тебя в обоих местах новые spawn_id прописаны?

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

@Norman Eisenherz я по этому посту и делал эти функции.

Как понять в обоих местах?
Я записал номер в game_spawn_story_ids.ltx и назначил его предмету через СДК. Собрал спавн, закинул в игру да и всё собственно.

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

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

В архиве и в конфиге; по описанию у тебя так и есть. Может, формат записи в конфиге неправильный? Процитируй [game_spawn_story_ids.ltx].

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

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

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

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

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

Войти

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

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

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