Случайная подборка модов
Связной
4.2
Холодная кровь
3.4
Время перемен v2.0
4.1
STCS Weapon Pack 2.6
4.3
Эпизоды жизни Мерка
3.0
История Конвона. Часть первая
3.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » Выпадение частей тел с монстров без надобности их обыска. (мини-урок)
Выпадение частей тел с монстров без надобности их обыска.
Российская Федерация  Rezon
Пятница, 03.01.2014, 17:00 | Сообщение # 16
Статус:
Бывалый:
Сообщений: 665
Награды: 2
Регистрация: 27.08.2013

Цитата MODOSKEA
Выпадение частей тел с монстров без надобности их обыска. Автор: Modoskea Платформа: ТЧ/ЧН(не проверял но должно работать)/ЗП(не проверял но должно работать) Описание: Выпадение будет про исходить рядом с телом убитого монстра, а не в его инвентаре. Для начала нам понадобиться скрипт - gamedata\scripts\bind_monster.script Откроем его, в нем ищем строку – function generic_object_binder:death_callback(victim, who) Данная строка проверяется только при смерти монстра, один раз! Так вот под ней и будем писать наш код. Под строку пишем: Кодlocal object = self.object -- берем локальную объекта монстра за object local ini = system_ini() -- берем класс system_ini и назначим ему локальную if not object:alive() and ini:line_exist(object:section(), "Spawn_Inventory_Item_Section") ~= nil and ini:line_exist(object:section(), "Spawn_Drop_Item_Probability") ~= nil and ini:line_exist(object:section(), "Spawn_Max_Item") ~= nil then    --[[    Если объект не жив и строка в нужной секцией не ровна не чему и строка в нужной секцией не ровна не чему и строка в нужной секцией не ровна не чему -]] local Item = ini:r_string(object:section(), "Spawn_Inventory_Item_Section") --[[ берем локальную за строку Spawn_Inventory_Item_Section в секции монстра -]] local Probability = ini:r_float(object:section(), "Spawn_Drop_Item_Probability") --[[ берем локальную за число Spawn_Drop_Item_Probability  в секции монстра -]] local Max_Item = ini:r_float(object:section(), "Spawn_Max_Item") --[[ берем локальную за число Spawn_Max_Item  в секции монстра в файле -]] if math.random(1,100) <= (Probability*100) then --[[ Если рандом от 1 до 100 выдаст меньше или равно локальной Probability умноженной на сто, то -]] for i=1,math.random(1,Max_Item) do    --[[ цикл от 1 до локальной Max_Item (даст максимальное количество частей монстра) -]] alife():create(Item,vector():set(object:position()),object:level_vertex_id(),object:game_vertex_id()) --[[ спавним объект строки локальной Item равна нужной секции на позиции монстра -]] end end end Дальше идем в конфигурации gamedata\config берем файл - gamedata\config\defines.ltx ищем строку секции - [monster_base]:common_ph_friction_params_on_npc_death в этом файле под ней пишем: КодSpawn_Inventory_Item_Section = mutant_dog_tail ;Часть монстра Spawn_Inventory_Item_Probability = 0 ;Вероятность выпадения в инвентарь монстра, делаем 0 что бы не было в инвентаре монстра вообще Spawn_Drop_Item_Probability = 0.00 ;Строка добавленная нами, вероятность выпадения из тела монстра. Spawn_Max_Item = 0 ;Максимальное число выпадения из тела монстра частей тела Все теперь если какому-то монстру не пропишем, он возьмет нужную строку из родительской секции то есть которой мы прописывали выше, теперь идем к монстрам: gamedata\config\creatures\файл_монстра.ltx и до прописываем на пример сей час покажу собаке и кабану. Пропишем собаке берем файл - gamedata\config\creatures\m_dog.ltx КодSpawn_Inventory_Item_Section = mutant_dog_tail ;эта строка была с ней нечего не делаем Spawn_Inventory_Item_Probability = 0;0.5 ;тут было 0.5 мы это за комментируем и напишем 0, что бы не выпадало из инвентаря, либо стереть так как есть в родительской секции Spawn_Drop_Item_Probability = 0.5 ; Прописываем вероятность выпадения из тела раньше не было мы пишем на пример как раньше было в инвентарь 0.5 Spawn_Max_Item = 1 ;Так как у собаки один хвост то максиму пишем может выпасть 1 Теперь кабану: берем файл - gamedata\config\creatures\m_boar.ltx Код Spawn_Inventory_Item_Section = mutant_boar_leg ;эта строка была с ней нечего не делаем Spawn_Inventory_Item_Probability = 0;0.2 ;тут было 0.2 мы это за комментируем и напишем 0, что бы не выпадало из инвентаря, либо стереть так как есть в родительской секции Spawn_Drop_Item_Probability = 0.2 ; Прописываем вероятность выпадения из тела раньше не было мы пишем на пример как раньше было в инвентарь 0.2 Spawn_Max_Item = 4 ;А тут отличие от собаки, так как у кабана 4 копыта а не 1-но как хвост собаки то максиму может выпасть 4 В общем все вроде объяснил, остальным можно делать по аналогу. _________________________________________________________________________________ В ЗП еще надо добавить части монстров то есть их секции, модели, текстуры и описание.

Чувак,спасибо,искал подобное.
  Злобная реклама
Пятница, 03.01.2014, 17:00
Статус:
Сообщений: 666
Регистрация: 27.08.2013
Российская Федерация  MODOSKEA
Пятница, 03.01.2014, 17:02 | Сообщение # 17
Статус:
Новичок:
Сообщений: 211
Награды: 1
Регистрация: 06.07.2012

Rezon, Спасибо :)
  Злобная реклама
Пятница, 03.01.2014, 17:02
Статус:
Сообщений: 666
Регистрация: 06.07.2012
Украина  Shtaket
Суббота, 01.10.2016, 03:39 | Сообщение # 18
Статус:
Неопытный:
Сообщений: 530
Награды: 7
Регистрация: 04.01.2015

Круто, а для людей такое можно сделать? типа что б лут выпадал
  Злобная реклама
Суббота, 01.10.2016, 03:39
Статус:
Сообщений: 666
Регистрация: 04.01.2015
Российская Федерация  ArdenGod
Воскресенье, 05.02.2017, 18:39 | Сообщение # 19
Статус:
Новичок:
Сообщений: 227
Награды: 3
Регистрация: 25.07.2016

Цитата Shtaket ()
Круто, а для людей такое можно сделать? типа что б лут выпадал

хочешь людям ноги с руками отрезать?
  Злобная реклама
Воскресенье, 05.02.2017, 18:39
Статус:
Сообщений: 666
Регистрация: 25.07.2016
Российская Федерация  Nik71rus
Понедельник, 22.06.2020, 09:56 | Сообщение # 20
Статус:
Опытный:
Сообщений: 3196
Награды: 3
Регистрация: 13.08.2016

Спасибо
  Злобная реклама
Понедельник, 22.06.2020, 09:56
Статус:
Сообщений: 666
Регистрация: 13.08.2016
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » Выпадение частей тел с монстров без надобности их обыска. (мини-урок)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: