Все посты %s в %S - AMK Team
Перейти к контенту

[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]

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

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


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

@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 пользователей

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