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

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


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

Возникла следующая проблема. В инвентаре при обыске контейнеров/трупов надпись на кнопке "Take all" вместо "Взять все". Русская дисковая лицензия, старфорс, все дела, пропатчена до 1.0004. В папку с игрой распаковал игровые архивы gamedata для ковыряния, но сделать еще ничего не успел, а надпись уже была на английском. Есть подозрение, что это проявляется только на широкоформатных мониторах, т.к. если склероз не изменяет, на старом мониторе все было как надо. Собственно вопрос: как исправить? Перерыл кучу файлов, особенно с пометкой "16" в названии. Даже скачал прогу для просмотра текстур. Но нигде не нашел где хранится сам текст, который выводится на кнопки. Поиск по форуму тоже не помог.

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

@Lethifold, config\ui\carbody_new_16.xml, текст

text align="c" font="graffiti22" r="238" g="153" b="26">Take All</text>

заменить на

text align="c" font="graffiti22" r="238" g="153" b="26">Взять всЁ</text>

Изменено пользователем nasar75
  • Спасибо 1
  • Полезно 1

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  правки Золотой Шар

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

@nasar75, Спасибо огромное! А то коробило жутко.

 

А это вообще что-то новенькое: перед назначенными клавишами с какого-то перепугу появилась нестираемая буква "k". Например клавиши движения теперь выглядят так: kW, kS, kA, kD. А при взгляде на сундук/предмет появляется не "Нажмите (F)", а "Нажмите (kF)". Удалял вручную из user.ltx но это не помогло. А еще все настройки клавиш сбросились на дефолтные. Что это может быть и как с этим бороться?

Ссылка на комментарий
4 hours ago, fracture_strong said:

ибо в скриптах сам не особо

Вот в этом то и проблема. А так, ничего сложного. Из use callback-а регистрируешь свой обработчик для апдейта актора и запускаешь таймер на икс секунд. Обработчик с определенной частотой проверяет наличие кровотечения и если имеется, лечит раны. Как таймер дотикает, убирает обработчик с апдейта актора. Вот примерно и все.

  • Нравится 2
  • Полезно 1
Ссылка на комментарий
10 часов назад, dsh сказал:

Из use callback-а регистрируешь свой обработчик для апдейта актора и запускаешь таймер на икс секунд. Обработчик с определенной частотой проверяет наличие кровотечения и если имеется, лечит раны. Как таймер дотикает, убирает обработчик с апдейта актора.

Можно привести пример проверки на наличие кровотечения и саму функцию лечения?

Ссылка на комментарий
1 час назад, dPlayer сказал:

Што-то я забуксовал. Как удалить предмет, ну скажем условный

Наверно только задать стори ид Вашим булкам, и уж отседова делать итерацию инвентори имхо.

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

Точно также, как и в поле нечистом: alife():release( obj, true )

Получить - local obj = alife():object( ид или имя )

 

Перед началом действа убедиться, что с ним кто-нибудь не делает что-нибудь странное, и если по имени - что нет дубликатов.

  • Спасибо 1
  • Согласен 1
Ссылка на комментарий

@Dennis_Chikin, точно, спсибо!

А почему вот это:

if has_alife_info("info")
			then
				level_tasks.add_location(025, "green_location", "tutorial_secret_place1")
			else
				return false
		end

не сохраняет отметку при сейвлоаде или переходе на другой уровень?

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

"level_tasks.add_location" - по тому что телепаты опять в отпуск свалили.

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

@Dennis_Chikin, это из оригинала.

function add_location(sid, location, hint)
	local sim = alife()
	if sim then
		local obj = sim:story_object(sid)
		
		if obj then
			if hint then
				level.map_add_object_spot(obj.id, location, hint)
			else
				level.map_add_object_spot(obj.id, location, "")
			end
		end
	end
end

 

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

level.map_add_object_spot(obj.id, location, hint)

 

Ну, собственно, как задумано - так и работает. Установка метки на время текущего сеанса, до любой перезагрузки.

Ссылка на комментарий
6 часов назад, dPlayer сказал:

level.map_add_object_spot

Эта ф-ция ставит метку на клиентский объект, по этому метка пропадает при сэйв\лоад. Используй level.map_add_object_spot_ser.

  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

@fracture_strong, db.actor:get_bleeding() возвращает величину этого самого кровотечения

db.actor:heal_wounds( 0.0000001 ) заживляет раны на указанную величину. Вероятно это работает только в x-ray extensions или других движках.

 

  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

@AndreySol, а, ну я его и использовал, но там было через одно место сделано, а не 3 строками)

Спасибо ОГСМ, допер как удалить предмет из инвентаря. По крайне мере там использован ещё вызов ф-ции из

db.actor:iterate_inventory(ф-ция,db.actor)

 

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

Приветствую, уважаемые Форумчане подскажите плиз, как избавиться от (тараканов) застревания шкалы опасности в пике (баг какой-то с ними или ихними фантомами?) будучи атакованным пси-псевдопсами, просто сейв-лоад оно понятно конечно, но не метод это имхо. Если есть решение, то поделитесь реализацией.:dash2:

  • Согласен 1
Ссылка на комментарий
В 23.05.2018 в 14:50, Lethifold сказал:

А это вообще что-то новенькое: перед назначенными клавишами с какого-то перепугу появилась нестираемая буква "k". Например клавиши движения теперь выглядят так: kW, kS, kA, kD. А при взгляде на сундук/предмет появляется не "Нажмите (F)", а "Нажмите (kF)". Удалял вручную из user.ltx но это не помогло. А еще все настройки клавиш сбросились на дефолтные. Что это может быть и как с этим бороться?

Нашел решение. В файле gamedata\config\text\rus\ui_st_keybinding.xml  везде убрал префикс "kb_"  Т.е. вместо "kb_always_run"  получилось просто "always_run" и т.д. Вроде все работает, в игре отображается как нужно(без префикса "k").

  • Полезно 3
Ссылка на комментарий

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

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

e6d4a6726eeeb427b1d55ec8f37c8001.jpeg

Ну и хотелось бы разобраться с инвентарем. Как сделать активными 2 нижние строчки(т.е. чтобы при нажатии на предметы в них появлялись надписи "выбросить", "использовать" и т.д.) я разобрался. В файле \gamedata\config\ui\inventory_new.xml Нужно найти строку bag_static x="11" y="240" width="400" height="400"  И height увеличить примерно до 480. По крайней мере у меня так. Но осталась проблема с тем, что инвентарь "недопрокручивается" Т.е. нижние ячейки остаются частично скрыты и ползунок прокрутки дальше не идет. Вот как это выглядит.

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

f06d183d226d8ad55fcd98e9e4b21819.jpeg

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

Ссылка на комментарий
25 минут назад, Lethifold сказал:

нижние ячейки остаются частично скрыты и ползунок прокрутки дальше не идет.

Попробуй в этом же файле поиграться со строкой <dragdrop_bag x="22" y="46" width="295" height="415". Конкретно со значением height="415"

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

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

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

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

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

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

Войти

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

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

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