Выпадение частей тел с монстров без надобности их обыска.
|
|
|
MODOSKEA
Четверг, 02.01.2014, 23:01 | Сообщение # 1
Статус: |
|
Новичок: |
|
Сообщений: |
211 |
Награды: |
1 |
Регистрация: |
06.07.2012 |
|
Выпадение частей тел с монстров без надобности их обыска. Автор: 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
В общем все вроде объяснил, остальным можно делать по аналогу. _________________________________________________________________________________
В ЗП еще надо добавить части монстров то есть их секции, модели, текстуры и описание.
Сообщение отредактировал MODOSKEA - Четверг, 02.01.2014, 23:02
|
|
Четверг, 02.01.2014, 23:01
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
06.07.2012 |
|
|
|
|
|
Модмейкер-одиночка
Статус: |
|
Опытный: |
|
Сообщений: |
2272 |
Награды: |
17 |
Регистрация: |
30.06.2012 |
|
|
|
Четверг, 02.01.2014, 23:04
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
30.06.2012 |
|
|
|
|
|
FantomICW
Четверг, 02.01.2014, 23:06 | Сообщение # 3
Проект Смерти Вопреки
Статус: |
|
Опытный: |
|
Сообщений: |
2259 |
Награды: |
8 |
Регистрация: |
06.01.2013 |
|
MODOSKEA, молодец! Спасибо, что комменты делаешь в скрипте и объясняешь. А не как половина туторов ("Копируй это, вставь туда, все готово")
|
|
Четверг, 02.01.2014, 23:06
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
06.01.2013 |
|
|
|
|
|
MODOSKEA
Четверг, 02.01.2014, 23:07 | Сообщение # 4
Статус: |
|
Новичок: |
|
Сообщений: |
211 |
Награды: |
1 |
Регистрация: |
06.07.2012 |
|
|
|
Четверг, 02.01.2014, 23:07
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
06.07.2012 |
|
|
|
|
|
Exclusion Zone Mod
Статус: |
|
Бывалый: |
|
Сообщений: |
600 |
Награды: |
12 |
Регистрация: |
26.08.2013 |
|
Порадовал, как-раз подобное искал
|
|
Четверг, 02.01.2014, 23:09
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
26.08.2013 |
|
|
|
|
|
MODOSKEA
Четверг, 02.01.2014, 23:10 | Сообщение # 6
Статус: |
|
Новичок: |
|
Сообщений: |
211 |
Награды: |
1 |
Регистрация: |
06.07.2012 |
|
|
|
Четверг, 02.01.2014, 23:10
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
06.07.2012 |
|
|
|
|
Пятница, 03.01.2014, 16:01
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
30.01.2013 |
|
|
|
|
|
MODOSKEA
Пятница, 03.01.2014, 16:13 | Сообщение # 8
Статус: |
|
Новичок: |
|
Сообщений: |
211 |
Награды: |
1 |
Регистрация: |
06.07.2012 |
|
|
|
Пятница, 03.01.2014, 16:13
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
06.07.2012 |
|
|
|
|
|
Снегирь
Пятница, 03.01.2014, 16:24 | Сообщение # 9
Статус: |
|
Бывалый: |
|
Сообщений: |
1021 |
Награды: |
7 |
Регистрация: |
24.04.2013 |
|
В одной модификации (Путь в Припять, если не ошибаюсь) получение частей монстров выглядело так: мутантов нельзя обыскать, однако, если подойти к ним, появится надпись "Срезать часть тела" (там по-другому было написано, но это не имеет значения). Может быть кто-нибудь знает как это реализовать самому? Я и многие другие будут благодарны, т.к. на мой взгляд это наиболее реалистичная система добывания частей тела.
|
|
Пятница, 03.01.2014, 16:24
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
24.04.2013 |
|
|
|
|
|
Mel
Пятница, 03.01.2014, 16:25 | Сообщение # 10
Anarchy Cell Mod
Статус: |
|
Бывалый: |
|
Сообщений: |
651 |
Награды: |
4 |
Регистрация: |
22.08.2013 |
|
MODOSKEA, отлично.
|
|
Пятница, 03.01.2014, 16:25
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
22.08.2013 |
|
|
|
|
|
Проект Смерти Вопреки
Статус: |
|
Опытный: |
|
Сообщений: |
2259 |
Награды: |
8 |
Регистрация: |
06.01.2013 |
|
Цитата Снегирь ( ) Может быть кто-нибудь знает как это реализовать самому? Я походу знаю. Сделаю может тутор.
|
|
Пятница, 03.01.2014, 16:29
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
06.01.2013 |
|
|
|
|
|
Снегирь
Пятница, 03.01.2014, 16:33 | Сообщение # 12
Статус: |
|
Бывалый: |
|
Сообщений: |
1021 |
Награды: |
7 |
Регистрация: |
24.04.2013 |
|
FantomICW, буду весьма признателен.
Сообщение отредактировал Снегирь - Пятница, 03.01.2014, 16:34
|
|
Пятница, 03.01.2014, 16:33
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
24.04.2013 |
|
|
|
|
|
Serg_I
Пятница, 03.01.2014, 16:41 | Сообщение # 13
Статус: |
|
Бывалый: |
|
Сообщений: |
961 |
Награды: |
1 |
Регистрация: |
25.09.2013 |
|
Вот для ЗП готовый мод срезания частей http://rghost.ru/private/51373188/b8974eda1874049c6a4d64a83592b871Добавлено (03.01.2014, 16:41) --------------------------------------------- MODOSKEA, Это они рядом что-ли лежать будут, не, так не интересно, если бы как в том моде что ссылкой выше, то здорово бы было. Там подошёл, собаку за хвост поднял, обрезал хвост
|
|
Пятница, 03.01.2014, 16:41
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.09.2013 |
|
|
|
|
|
Clear Sky - Remake
Статус: |
|
Опытный: |
|
Сообщений: |
1552 |
Награды: |
4 |
Регистрация: |
18.01.2013 |
|
Если бы это совместить с "умным выпадением частей мутантов", где кол-во частей и создание их зависит от того, по какой части тела стреляли мутанту. А так...
|
|
Пятница, 03.01.2014, 16:44
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
18.01.2013 |
|
|
|
|
|
Darkness
Статус: |
|
Опытный: |
|
Сообщений: |
1341 |
Награды: |
8 |
Регистрация: |
26.04.2013 |
|
Цитата Снегирь ( ) появится надпись "Срезать часть тела" После которой бы отыгрывалась соответствующая анимация отрезания части тела... Наподобие как в Far Cry 3... P.S. мысли вслух.
|
|
Пятница, 03.01.2014, 16:45
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
26.04.2013 |
|
|
|
|