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

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


Halford

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

@dPlayer В файле system.ltx (по пути gamedata/config) найдите строчку slot_persistent_8  = true.

Измените true на false и в игре открыв, к примеру ящик, вы увидите этот ПДА.

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение
20 минут назад, Pir@t@s сказал:

рандомным координатам

Эту фразу не очень пойму. Вы хотите заспавнить тайник с заранее заданными координатами в нескольких вариантах? Ну например: 

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

local koord={
       {
           position={x=0,y=0,z=0},
           gv=0,
           lv=0
           },
       {
           position={x=0,y=0,z=0},
           gv=0,
           lv=0
           },
       {
           position={x=0,y=0,z=0},
           gv=0,
           lv=0
           }
 
}

function random_spawn()
       local a = koord[math.random(table.getn(koord))]
       local obj = alife():create("name_section", vector():set(a.position.x,a.position.y,a.position.z), a.lv, a.gv)
end

===========================================

Или в любой точке локации?

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

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

@Возрождённый Приветствую!

Этот вес правится в файле actor (gamedata/config/creatures/actor) строка max_item_mass = 50

Координаты иконки в диалоге ни в коем случае нельзя просто "вырезать". Есть такой вариант: поставьте во всех координатах (x/y/z) число 0.

Я так делал.

  • Полезно 1

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение
8 минут назад, Возрождённый сказал:

эти координаты передвинуть в инвентаре

Упс.. Не то имел ввиду. Координаты отображения веса находятся в файле inventory_item, строка <static_weight x="23" y="222" width="90" height="20" stretch="1">. А по поводу иконки персонажа в диалоге...

Может не тот параметр правите? По идее, поставив ноли в координатах, блок должен исчезнуть совсем.

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение
2 часа назад, vsk94 сказал:

Где и что еще нужно прописать

Так в конфиге оружия, у которого есть возможность ставить прицел нужно прописать имя прицела, который вы создали:  scope_name = wpn_addon_acog_c.

  • Согласен 1

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение
1 минуту назад, ed_rez сказал:

Она есть, но не отдается на руки

Не знаю как объяснить, но я добавлял...:az1000106:

Прописывал инклуд конфига оружия в другом файле, добавлял модели, текстуры, звуки. Затем прописывал торговцу, находясь при этом в середине игры.

 У этого товарища @vsk94  видимо не получается по причине отсутствия нового прицела в инвентаре. Хм... Как тогда вообще он собирался им пользоваться!?:biggrin:

А при добавлении новой секции в игру, естественно её нужно как-нибудь задействовать в игре.

  • Спасибо 1
  • Согласен 1

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение
8 минут назад, КрИвОй БоБ сказал:

Can't find variable Spawn_Inventory_Item_Section = mutant_chimera_kogot [chimera_weak]

В конфиге этого мутанта: [chimera_weak] проверьте эту строчку: Spawn_Inventory_Item_Section = mutant_chimera_kogot

И проверьте наличие в игре этой секции: mutant_chimera_kogot. В конфигах частей монстров должна быть эта секция.

  • Согласен 2

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

@КрИвОй БоБ Если ваши наработки не слишком велики размерах, то скиньте их сюда. Сам попробую поковыряться.

Или хотя бы одни конфиги вашего аддона.

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

@КрИвОй БоБ 

День добрый!

Сложно что-то сказать по одному лишь вашему описанию проблемы.

Но я предполагаю, что не работает проверка на использование пайка.

Проверьте в bind_stalker функцию actor_binder:on_use_object(obj).

Я, к сожалению не из числа телепатов. Это лишь догадка.

  • Спасибо 1
  • Смешно 1

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

@КрИвОй БоБ

Элементарно, Ватсон.

В вашем bind_stalker на методе update нет проверки:

		if not has_alife_info("level_changer_icons") then
			self.object:give_info_portion("level_changer_icons")
               alife():create("paek_irp-p", db.actor:position(),
                    db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
               alife():create("paek_irp-b", db.actor:position(),
                    db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
		end

И как у вас может работать сухпаёк без этого?

Будьте внимательней!

Изменено пользователем Fenrir02
  • Согласен 2
  • Не согласен 1

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

 @КрИвОй БоБ

В этом же файле у вас несколько одинаковых функций, и вы вешаете сухпаёк на лишнюю, созданную, вероятно вами:

1d3c227b242251d553520a3b425dc025.jpg

Удалите лишнюю и вешайте на первую.

Для таких работ я бы порекомендовал почитать справочник по функциям, или лучше начальные сведения о скриптах.

Я же говорил:

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

Будьте внимательней!

Дык, для чего вторая, то функция?

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

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

@Han Sola

Привет!

Вот моя простенькая идея:

function condition_start_item(obj)
	if obj:section() == "novice_outfit" and not has_alife_info("condition_start_item") then
		obj:set_condition(0.5) --состояние куртки новичка 50%
		db.actor:give_info_portion("condition_start_item")
	end
end

Можно повесить эту функцию, например на actor_binder:on_item_take (obj) в bind_stalker.script и добавить инфопоршень.

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

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

@Han Sola

Тут ничего сложного.

Вот небольшая схемка:

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

function condition_start_item(obj)

	--Куртка новичка
	if obj:section() == "novice_outfit" and not has_alife_info("condition_start_item_1") then
		obj:set_condition(0.5) --состояние предмета 50%
		db.actor:give_info_portion("condition_start_item_1")
	end

	--Пистолет Макарова
	if obj:section() == "wpn_pm" and not has_alife_info("condition_start_item_2") then
		obj:set_condition(0.5) --состояние предмета 50%
		db.actor:give_info_portion("condition_start_item_2")
	end
end

 

Для других секций (предметов) просто копируем и вставляем это после предыдущей по образцу выше:

	if obj:section() == "wpn_pm" and not has_alife_info("condition_start_item_2") then
		obj:set_condition(0.5) --состояние предмета 50%
		db.actor:give_info_portion("condition_start_item_2")
	end

Здесь obj:set_condition(0.5) - это и есть уровень состояния предмета (0.5 - 50%). Соответственно в каждой проверки прописываем нужное нам состояние.

Ну а вместо "novice_outfit" и "wpn_pm" также указываем свои секции (предметы). ("condition_start_item_2") - это название инфопоршня. Для каждой проверки свой, но можно и одним обойтись по другой схеме.

  • Полезно 1

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

Подскажите, что могут означать эти строки в логе?

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

! r_tgt [0.000][0.000][-1.#IO][0.000]
! result [0.000][0.000][-1.#IO][0.000]
! r_tgt [0.000][0.000][-1.#IO][0.000]
! result [0.000][0.000][-1.#IO][0.000]

Появляются они когда помещаю любой артефакт на пояс. После такого всегда зависает биндер.

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

Доброго времени суток!

Скажите, где в файлах находится эта текстура инвентаря - http://i-fotki.info/23/80cdbb8aa6bf3c839d2104c4056c736455ad83323398612.jpg.html

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

@Houdini_one Предлагаю такую функцию - 

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

function delete_weapon()
	if db.actor:object("секция_предмета") then
		local item_in_slot_2 = db.actor:item_in_slot(2)
		if item_in_slot_2 then
			db.actor:drop_item(item_in_slot_2)
			local fake = alife():create(item_in_slot_2:section(), db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
			db.actor:transfer_item(item_in_slot_2,db.actor)
			alife():release(fake)
		end
	end
end

 

 

  • Спасибо 1

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

Можно ли скриптом обездвижить ГГ? Если можно, то как?

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение
2 минуты назад, Gogych сказал:

Нагрузи ему тонну веса

Это не подойдёт. Нужно, чтобы вес не учитывался в килограммах в инвентаре.

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

По какой причине НПС могут сидеть "криво" у костра - http://i-fotki.info/24/fb5800498c13e98730aec3ae2644dd6255ad83327297379.png.html

Сидят-то они возле костра, а могут смотреть куда угодно. Бывает, что вообще от него отворачиваются.

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение

Здравствуйте!
Скажите, существует ли способ выявить файлы (звуки, текстуры), которые никак не задействованы игрой? Задался этим вопросом, после того, как в папке с игрой накопилось много хлама.
Может есть какой-нибудь скрипт или программа?

Важнейшая задача цивилизации - научить человека мыслить.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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