Как создать свою группировку?

Создание новой группировки
Новая группировка
Сегодня мы создадим новую группировку. Назовем её, скажем, "Ветер". Не суть важно.
Практика:
Базовый уровень
1. Для начала в game_relations.ltx и в таблицу отношений группировок в конце и в заголовке добавляем название своей группировки и коэффициенты отношений к ней у других группировок. Также, не забываем прописать её собственное отношение к другим группировкам:
[communities_relations]
;|actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader|arena_enemy|wind|
;================================================= ================================================== ==============================
actor = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
actor_dolg = 0, 0, 0, 0, -5000, -500, -5000, 5000, 600, -5000, -5000, -5000, 0, 0, -5000
actor_freedom = 0, 0, 0, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, -5000, 0

stalker = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
monolith = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, 5000, 5000, -5000, 0, -5000, 0
military = -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, -5000, -5000, -5000, 0, 0, -5000, 0
killer = -5000, -5000, 0, -5000, -5000, -5000, 5000, -5000, -5000, -5000, 0, -5000, -5000, 0, -5000, 0
ecolog = 0, 600, -5000, 0, -5000, 1000, -5000, 5000, 500, -5000, -500, -5000, 0, 0, 0, 0
dolg = 0, 600, -5000, 0, -5000, -500, -5000, 5000, 5000, -5000, -5000, -5000, 0, 0, 0, 0
freedom = 0, -5000, 600, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, 0, 0
bandit = -5000, -5000, 0, -5000, -5000, -500, 0, -5000, -5000, 0, 0, -5000, -5000, 0, -5000, 0
zombied = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, 0
stranger = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -500, -5000, 0, 0, 0, 0
trader = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
arena_enemy = -5000, -5000, -5000, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, 0, 0, 0

wind = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
Также, изменим эту строку, добавив туда имя и номер группировки:
;названия группировок
communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10,
freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16, wind, 18,
Отсчет идет построчно начиная сверху. Хотя есть небольшой нюанс. У первых трех строк - нумерация начинается с нуля, с остальных группировок она идет как надо. Для wind выставили 18, так как мы эту группировку отделили от других.
Далее, в разделе [communities_sympathy] в конце добавляем свою группировку и коэффициент "впечатлительности" - чем он меньше, тем меньше отношение группировки будет меняться к вам в целом:
[communities_sympathy]
actor = 0.0
actor_dolg = 0.0
actor_freedom = 0.0
stalker = 0.0
monolith = 0.0
military = 0.0
killer = 0.0
ecolog = 0.0
dolg = 0.1
freedom = 0.1
bandit = 0.0
zombied = 0.0
trader = 0.0
stranger = 0.0
arena_enemy = 0.0
wind = 0.0
2. После этого в файле death_manager*****ipt ищем строку local community_list и в скобках добавляем название своей группировки:
function init_drop_settings()
local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith",
"arena_enemy", "actor_dolg", "wind" }
3. В файле death_items_by_communities.ltx пишем [x]:stalker (вместо x - название вашей группировки):
[...]
af_dummy_spring = 0
af_fuzz_kolobok = 0

;Еда
vodka = 0

[arena_enemy]
[actor_dolg]

[wind]: stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3
4. Если предусматривается респавн бойцов новой группировки, в se_respawn*****ipt прописываем в local simMaxCount = { после строчек с зомбированными сталкерами строку:
wind_novice = 20, wind_regular = 20, wind_veteran = 20, wind_master = 6,
5. Чтобы при убийстве непися новой группировки игра не вылетала в xr_statistic*****ipt,
после строки:
zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,
пишем
dark_stalker_novice = 1, dark_stalker_experienced = 2, dark_stalker_veteran = 3, dark_stalker_master = 4,

6. Ну а в character_desk_x.xml выбираем любого NPC (или группу) и меняем группировку на свою:


esc_wolf_name
ui_npc_u_stalker_neytral_balon_1
esc_wolf_bio

esc_wolf
wind
[...]
7. Чтобы у персонажа в графе "Группировка" отображалось не "wind", а "Ветер", зарегистрируем соответствующую строку в файле string_table_general.xml:



Ветер


Одиночка

[...]
8. Существует возможность создать для нашей новой группировки места, где они будут ходить (*_terrain брать из m_stalker.ltx):
То есть, к примеру, существует секция:
[stalker_terrain]
255,000,255,255
008,001,255,255 ;Разрешено ходить по опасным местам на баре
012,001,255,255 ;Разрешено ходить по опасным местам на Милитари
Тогда можно создать новую, по аналогии:
[wind_terrain]
255,000,255,255
008,001,255,255 ;Разрешено ходить по опасным местам на баре
012,001,255,255 ;Разрешено ходить по опасным местам на Милитари
010,001,255,255 ;Разрешено ходить по опасным местам на янтаре

Здесь, очевидно, указаны координаты самого уровня. Для каждого уровня существует своя начальная координата.
Продвинутый уровень:
Такой метод достаточно примитивен. Это не полноценная группировка. Нам нужны соответствующие диалоги, возможность получения квестов и вступления в группировку, уникальные NPC.
Квесты:
Добавим квесты, которые нужно выполнить для группировки. Пока - простые поручения распространенных типов.
Во-первых, пропишите в список диалогов персонажа следующие строки:
[что-нибудь]_dialog
[что-нибудь]_reward
Примеры названий: tm_trader_dialog, tm_wolf_dialog...
Внимание! Метод не проверен.
Этим мы добавили ему ветку диалога "Есть работа?", а также ветку для награды за квест/отказа от него. Теперь зарегистрируем в task_manager.ltx набор новых заданий. [list]

[...]

;--------Wind------------------------
;----------Kill Stalker----
wind_kill_stalker
;----------Find Item----
wind_find_item

[...]

;tasks for Wind

[wind_find_item]
type = find_item
community = actor
text = [ссылка на текст с рассказом заказчика о задании]
description = [ссылка на текст с описанием задания]
parent = [имя NPC-заказчика]
target = scientific_outfit
reward_money = 5000
reward_reputation = +5
reward_rank = 4
reward_item = wpn_sig_m1
time = 86400


[wind_kill_stalker]
type = kill_stalker
community = actor
text = [ссылка на текст с рассказом заказчика о задании]
description = [ссылка на текст с описанием задания]
parent = [имя NPC-заказчика]
target = sim_stalker_master_master
reward_money = 4000
reward_reputation = +5
reward_rank = 9
reward_item = ammo_5.56x45_ap, ammo_5.56x45_ap, ammo_5.56x45_ap
time = 86400
Не забудьте прописать описания заданий в текстовые массивы. Подробнее о редактировании task_manager.ltx читайте в уроке, посвященном однотипным квестам.
Да, и зарегистрируйте сами ветки диалогов в файле dialogs.xml. Вот пример того, как это сделано для заданий "Долга":

task_manager.init_dolg_task_dialog


task_manager.init_dolg_reward_dialog
task_manager.has_active_vendor_tas k

Соответственно, пройдем туда, куда указывает строка task_manager.init_dolg_task_dialog - в task_manager*****ipt:
function init_dolg_task_dialog(dlg)
get_random_task():init_task_dialog(dlg, "dolg")
По аналогии делаем и с нашим "Ветром".
Вступление в группировку:
Реализуем возможность вступления в группировку.
Прописываем в dialogs*****ipt такие action'ы:
-----------------------------------------------------------------------------------
-- Community
-----------------------------------------------------------------------------------

[...]

function actor_set_wind (actor, npc)
printf ("ACTOR NOW IN WIND COMMUNITY"
if db.actor then
db.actor:set_character_community ("actor_wind", 0, 0)
end
return true
end
После чего создадим диалог, и сделаем в нем фразу с action'ом вида actor_set_wind. Советую изучить урок, посвященный диалогам.
[править]
Новые NPC
Лучше всего всё вышеприведенное повесить на нового, уникального персонажа. Способ его спавна описан здесь.


Вычисляем координаты
Нашел на одном форуме, достаточно интересно.
Как получить координаты для спавна предмета или НПЦ. Скрипт сей найден на каком-то форуме, проверен и работает функция спавна имеет вид
alife():create(section,position,levelvertex,gameve rtex)
Где:
section - имя того/чего спавним
position,levelvertex,gamevertex - координаты, позиция вершины обьекта, и сектора карты.
Напишу подробно, как очень про100 их узнать:
Заходим, предварительно распаковав, в каталог gamedata/scripts/ И там в файле ui_main_menu*****ipt в конце дописываем это:
function main_menu:OnButton_credits_clicked()
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
Теперь в игре идём на то место (или ногами или деморекордом), где спавним обьект, выходим в меню игры, и жмём на клавишу СОЗДАТЕЛИ (CREDITS) - соответственно нашему взоры не предстаёт никакой список создателей, а мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку.

Комментарии: 53
Ваш комментарий

CТАЛКЕР ЕЛИТА
Точных гарантий нет. Создайте резервную копию файлов с игрой, если не уверены.

1

CТАЛКЕР ЕЛИТА
Отправьте урок в личные сообщения.

1

типо здорово только зачем можно конечно повеселиться и создать группу которая атакует всех и вся (типо монолита ) но их просто огромное количество и ходят по всем картам (предложение рассматривать со стороны хохмы в серьёз прошу не брать)

0

Я создавал все нормально создал у меня выкидывает!!!
А так да было бы не плохо создать свою группировку...

0

Наемник Шрам
На фига воровать чужие идеи?!

0

Одно и тоже взято со stalker-game

0

какя разница человек старался ну молодец

0

Ну копировать и я могу!!!
А так мне по барабану,хрен с ним!

0

Struck
ЭТО СДЕЛАНО ДЛЯ ТОГО ЧТОБЫ РАЗМНОЖИТЬ ИНФОРМАЦИЮ! Кто то наберет в поиске 'как создать группировку в сталкер зов припяти' и тот самый сайт с которого взяли эту инфу будет ГДЕ ТО ВНИЗУ! а тут рядом плейграунд

1

nikita657
ЗАТО НИГДЕ НЕТ ИНФЫ КАК СДЕЛАТЬ НОВУЮ ГРУППИРОВКУ НА СТАЛКЕР ЧИСТОЕ НЕБО. Вернее как ПРАВИЛЬНО сделать чтоб игра не ВЫЛЕТЕЛА когда ты открываешь PDA и заходишь в раздел статистика. Я уже молчу как сделать и логотип для своей группировки, что-бы не было чёрного прямоугольника при разговоре с нпс под его рангом.

0

Согласен а те кто может научить такие токсики что лучше будет самому разобраться

0

Работает если все праильно сделашь,возьми тот же Ветер иль Чисто небо создай,а тексты из билда возьмёшь!

0

Ты бы для вида написал, с какого сайта это стырил. Все это я уже видел.

0

у меня не работает!!!!!! я только диалоги не делал!!

0

кто сделал??скинте мне плиззз!!!

0

Ну впринципе прикольно)

0

Не знаю не знаю,а по моему мудрёно как-то и не очень полезно.

0

а я нормально создал.правда есть проблема с новыми npc но можно взять и старых.если че пишите

0

Я не домогаю где первый файл в какой папке ???

0

nikitiooz если ты про game_relations.ltx то он лежит по такому адресу: config\creatures

0

В учебниках все с ошибками написано( единицы статей написаны правильно

0

Итак, вы хотите создать новую группировку но не знаете как, тогда эта статья для вас.
1. Определитесь как вы хотите назвать свою группировку ну к примеру Анархисты.
2. В файле game_relations.ltx необходимо добавить свою группировку:
А) В таблицу отношений:

[communities_relations]
;|actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader|arena_enemy| anarhist |
;=====
actor = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
actor_dolg = 0, 0, 0, 0, -5000, -500, -5000, 5000, 600, -5000, -5000, -5000, 0, 0, -5000
actor_freedom = 0, 0, 0, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, -5000, 0

stalker = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
monolith = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, 5000, 5000, -5000, 0, -5000, 0
military = -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, -5000, -5000, -5000, 0, 0, -5000, 0
killer = -5000, -5000, 0, -5000, -5000, -5000, 5000, -5000, -5000, -5000, 0, -5000, -5000, 0, -5000, 0
ecolog = 0, 600, -5000, 0, -5000, 1000, -5000, 5000, 500, -5000, -500, -5000, 0, 0, 0, 0
dolg = 0, 600, -5000, 0, -5000, -500, -5000, 5000, 5000, -5000, -5000, -5000, 0, 0, 0, 0
freedom = 0, -5000, 600, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, 0, 0
bandit = -5000, -5000, 0, -5000, -5000, -500, 0, -5000, -5000, 0, 0, -5000, -5000, 0, -5000, 0
zombied = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, 0
stranger = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -500, -5000, 0, 0, 0, 0
trader = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
arena_enemy = -5000, -5000, -5000, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, 0, 0, 0

anarhist = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
б) ниже в communities:
;названия группировок
communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10,
freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16, anarhist, 18,
в) В разделе communities_sympathy добавить:
[communities_sympathy]
actor = 0.0
actor_dolg = 0.0
actor_freedom = 0.0
stalker = 0.0
monolith = 0.0
military = 0.0
killer = 0.0
ecolog = 0.0
dolg = 0.1
freedom = 0.1
bandit = 0.0
zombied = 0.0
trader = 0.0
stranger = 0.0
arena_enemy = 0.0
anarhist = 0.0
3) В death_manager.script ищем строку local community_list и добавляем свою группировкув скобки:
function init_drop_settings()
local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith",
"arena_enemy", "actor_dolg", " anarhist " }
4) В файле death_items_by_communities.ltx пишем:
af_dummy_spring = 0
af_fuzz_kolobok = 0

;Еда
vodka = 0

[arena_enemy]
[actor_dolg]

[anarhist]: stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3
5) Для респавна бойцов группировки в se_respawn.script пишем local simMaxCount = {после зомби:
anarhist_novice = 20, anarhist_regular = 20, anarhist_veteran = 20, anarhist_master = 6,
6) Чтобы при убийстве НПС новой группировки игра не вылетала в xr_statistic.script после строчек с зомби:
zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,
пишем:
anarhist _stalker_novice = 1, anarhist _stalker_experienced = 2, anarhist _stalker_veteran = 3, anarhist _stalker_master = 4,
6) Теперь в character_desk_x.xml выбираем любого НПС и в разделе:
stalker
Пишем:
anarhist
7) Чтобы группировка отображалась как Анархист зарегистрируем ее в в файле string_table_general.xml:
< string_table>
< string id="anarhist">
< text>Анархисты< /text>
< /string>
8) Ну и конечно же вступление в нашу новую группировку, для этого нужен скрипт dialogs.script, в нем пишем:
-----------------------------------------------------------------------------------
-- Community
-----------------------------------------------------------------------------------

[...]

function actor_set_anarhist (actor, npc)
printf ("ACTOR NOW IN [anarhist] COMMUNITY")
if db.actor then
db.actor:set_character_community ("actor_anarhist", 0, 0)
end
return true
end
Ну и вставить эту функцию в диалог.Все.


Статью написал Byurrer

0

Создал новую группировку
Всё спавнятся ходят и т д но при попытке говорить вылет
"вылет "


FATAL ERROR

[error]Expression : !phrase_dialog->m_PhraseVector.empty()
[error]Function : CPhraseDialog::SayPhrase
[error]File : D:\prog_repository\sources\trunk\xrGame\PhraseDialog.cpp
[error]Line : 146
[error]Description : No available phrase to say, dialog[hello_dialog]

0

Все это конечно хорошо. А можете мне все настроенное скинуть? Пожалуйста))

0

Larry76
По идее не написал диалог. Пропиши им в character_desc: < actor_dialog>hello_dialog</ actor_dialog>
Только убери пробелы.

0

где находится файл death_manager.script ??

0

эчто нужно все файли gamedata.db0 и до db9 всё вытащмть оттудого и поместить в папаку gamedata?
у меня просто лицензуха , язык английский

0

!!!!! Можете мне все настроенное скинуть я не нашел этих файлов!!!!

0

да ну мне нужно понять сам процесс создания группировок
можете обьяснить все файли gamedata.db0 и до db9 всё вытащмть оттудого и поместить в папаку gamedata

0

A.E.R.O.B.E.L.K.A. давай создадим свою группировку

0

A.E.R.O.B.E.L.K.A. я уже разобрался заходь в скайп придумаем название группировки

0

Хех!Я смотрю тут кружёк юного програмиста образовался!. +1

0

zOmbiRovany давайте создадим группировку название придумаем скину вам файлы если что и вы мне окей вот мой скайп ник steam-ruslan

0

Че её делать-то. Пару цифер написать и все.

0

game_relations.ltx блин где это находится?

0

character_desk_x.xmlгде это лежит?

0

Народ!Если у вас нету в папке gamedata нужных файлов,то пропишите их в блокноте,game_relations.ltx должен находится в папке config/creatures,character_desc_x.xml находится в папке script

0

Народ! блин, перечитал всё что можно по группировкам, но при создании ни хрена не выходит. Либо сразу краш игры, либо краш, когда к ним подходишь.
Тестили на 1.004 и на 1.006 версиях. и на лицухе и на пиратках - итог один.
Может кому не жалко просто прислать эти файлы уже готовые(для любой версии)? Очень хочу сделать женский аналог Монолита, который уничтожает всех и вся на Дикой территории и в Припяти (плюс ЧАЭС). Перепробовал всё, не помогает. :(

0

CТАЛКЕР ЕЛИТА
Файл скинуть не могу. Вот инструкция по созданию.

0

turokxxx

Спойлер

Наше группировка будет называться "Охотник", в скрипте "hunter".
Делать по аналогии.
Заходим в gamedata\scripts
Файл death_manager.script

function init_drop_settings()
local community_list = { "stalker", "dolg", "freedom", "bandit", "army", "zombied", "ecolog", "killer", "monolith", "hunter" }

Файл dialogs.script
Создаем новую секцию:

function npc_hunter(first_speaker, second_speaker)
local npc = who_is_npc(first_speaker, second_speaker)
return character_community(npc) == "hunter"
end

Файл sim_board.script
После simulation_activities = { прописываем новую секцию:

hunter = {
squad = nil,
smart = { base = { prec = function(squad, target) return in_time_interval(18,8) and not xr_conditions.surge_started() and not travel_manager.check_squad_for_enemies(squad) and (target:name() == "zat_stalker_base_smart" or target:name() == "jup_a6" or target:name() == "pri_a16") end },
surge = { prec = function() return xr_conditions.surge_started() end },
territory= { prec = function() return in_time_interval(8,18) and not xr_conditions.surge_started() end },
resource = { prec = function(squad, target) return in_time_interval(8,18) and not xr_conditions.surge_started() end } -- and squad:has_detector()
},
actor = nil
},

Файл _g.script
После squad_community_by_behaviour = { добавляем секцию:

["hunter"] = "hunter",

Дополнительная пропись в sound_theme.script по желанию.

Заходим в gamedata\configs\creatures
Делаем по аналогии.
Файл game_relations.ltx

communities = actor, 0, bandit, 1, dolg, 2, ecolog, 3, freedom, 4, killer, 5, army, 6, monolith, 7, monster, 8, stalker, 9, zombied, 10, hunter, 11

Таблицу [communities_relations] дополняем:

digger = 0, -5000, 0, 0, 0, -5000, -5000, -5000, -5000, 0, -5000 0

Таблицу [communities_sympathy] дополняем:

hunter = 0.0

Заходим в gamedata\configs\misc
Делаем по аналогии.
Файл death_items_by_communities.ltx
В конце создаем секцию:

[hunter]:stalker

Файл dialog_manager.ltx
Списки дополняем:

dm_help_12
dm_help_13

И

dm_hello_18
dm_hello_19
dm_hello_20

И дополняем секции:

[dm_help_12]
category = hello
npc_community = hunter
level = all
wounded = true

[dm_help_13]
category = hello
npc_community = hunter
level = all
wounded = true

И

[dm_hello_18]
category = hello
npc_community = hunter
level = all

[dm_hello_19]
category = hello
npc_community = hunter
level = all

[dm_hello_20]
category = hello
npc_community = hunter
level = all

Файл squad_behaviours.ltx
Создаем новую секцию:

[hunter]:default_behaviour

Заходим в gamedata\configs\text\rus
Любой text документ. Создаем секции:


Зрав будь, охотник.


Эх, зверье уже не то, что раньше.


Ну, как дичь?


Сталкер... помоги... аптечку...


Зверье совсем озверело!


Охотник

0

CТАЛКЕР ЕЛИТА
Попробуйте отредактировать уже действующих НПС, параметры редактирования могу отправить в личные сообщения.

0

А как после создания вступить в неё?

0

Я имел ввиду не сразу прописать её себе, а именно вступить, после скажем диалога/задания

0

люди помогите я начальний модостойтель не могу сделать групировку кому не лень зделайте мне уже готовую групировку буду очень признателен для тч !!!!!!!!!!!!!!

-1

turokxxx а метод проверенний щоб я смог увидететь нпс групировки чтоби не викедало?
turokxxx и еще так ти не сможеж скинуть мне уже готовую групировку?

-1

turokxxx слушай я все делал по уроку михаила на другом сайте а своих созданих нпс я не увидел и групировки тоже може чем поможеж ???? Если тебе нада скину в личку тот урок

-1