Как создавать новое оружие на основе уже существующего?
Например если вы хотите добавить в игру ак-47 на основе ак-74,необходимо взять файл ak74 из папки gamedata\config\weapons и править его по своему усмотрению обязательно переименовывая все секции ак74 на ак47. Потом необходимо вписать новое оружие в файл weapons по аналогии с другим оружием.Потом вписать ак47 в файл mp_ranks.

Потом в папку meshes\dynamics\weapons закинуть файл ак74 переименованный в ак47.Затем нужно переименовать саму модель и анимацию из ак74 в ак47. Потом вам понадобиться нех редактор с помощью которого вы переименуйте в самой моделе секции wpn_ak74 на wpn_ak47.
Впишем новый калаш в файл торговца по принципу других товаров.
Можно ещё сделать иконку в файле textures\ui\ui_icon_equipment.



Как сделать Логику НПС?
Во первых нужно с орентироваться на том, чем будет заниматься сталкер. 1- Нужно определить приписываем ли мы сталкеру Кастом дату либо мы прописываем ему логику по Гулагом (Смарт терайном.) 2- Создаём ли мы сами Гулаг либо берём уже существующий. 3- Определяем и вносим изменения в LTX.

Для того чтобы прописать логику через кастом дату нам понадобиться: 1- Файл ALL Spawn, LTX - 2 файла.
Так вот начнём с Файла ALL Spawn мы создали сталкера и теперь нам нужно прописать ему Логику. Это можно сделать двумя способами, это сделать логику в самом файле либо сделать ссылку на LTX файл.
Разберём первый способ: Вот простой пример Сталкера в Спавне.

[94]
; cse_abstract properties
section_name = stalker = Строчка отвечающая за тип объекта
name = esc_lager2 = Строчка отвечающая за имя объекта
position = -207.545303344727,-20.132755279541,-143.41960144043 = Позиция на карте
direction = 0.0524457320570946,-0.000378208060283214,0.00721459882333875 = указываеться только для Стоячих, без точки Path Look

; cse_alife_trader_abstract properties
money = 5000 = Денег в инвентори
character_profile = esc_stalker_novice = профиль в character_descr_******

; cse_alife_object properties
game_vertex_id = 61 = точка вертекс
distance = 7.69999980926514 = Дистанция спавна сталкера от точки вертекс
level_vertex_id = 45939 Точка левел вертекса
object_flags = 0xffffffbf = флаг объекта, пусть стоит стандартный.
custom_data = <<END = Вот и интересующая нас Строчка Кастом Дата.
[smart_terrains] Смарт под каторым находиться Сталкер.
esc_lager = true

[spawn] = То что спавниться у Сталкера в инвентори, если указкть другие вещи в Характере то они от туда удаляться.
bandage
END

; cse_visual properties
visual_name = actors\novice\green_stalker_10 = Визуалка сталкера, модель

; cse_alife_creature_abstract properties Тут идёт проверка того что объект именно типа Stalker а не другой.
g_team = 0
g_squad = 1 = Сквад
g_group = 5 = Группа
health = 1 = Живой ли объект 1-да 0-нет
dynamic_out_restrictions =
dynamic_in_restrictions =

upd:health = 1 = Проверка Мёртвый или живой.
upd:timestamp = 0x302e3120
upd:creature_flags = 0x2c
upd:position = -207.545303344727,-20.132755279541,-143.41960144043 = Проверка позиции
upd:o_model = 0
upd:o_torso = -0.000378208060283214,0.0524457320570946,0 = Проверка положения
upd:g_team = 0
upd:g_squad = 1 = Проверка сквада
upd:g_group = 5 = Проверка группы

; cse_alife_monster_abstract properties

upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0

; cse_alife_human_abstract properties
predicate5 = 0,2,1,2,2
predicate4 = 2,1,0,0

; cse_ph_skeleton properties

upd:start_dialog =

; se_stalker properties

Так вот теперь нам нужно добавить объекту логику, ну скажем что нашему сталкеру нужно перейти с Лагеря новичков в Лагерь на окраине кордона и там он должен будет пить и жрать водку.
Так вот что там нужно сделать.

Найти строчки
; cse_alife_object properties
game_vertex_id = 61 = точка вертекс
distance = 7.69999980926514 = Дистанция спавна сталкера от точки вертекс
level_vertex_id = 45939 Точка левел вертекса
object_flags = 0xffffffbf = флаг объекта, пусть стоит стандартный.
custom_data = <<END = Вот и интересующая нас Строчка Кастом Дата.
[smart_terrains] Смарт под каторым находиться Сталкер.
esc_lager = true

и заменить строку custom_data = <<END
на допустим такую custom_data = scripts\naw_lagersmart

А что нам нужно сделать в этом файле файле naw_lagersmart, помните этот файл лежит в папке config в папке script.

а в этом файле нам нужно написать такие строки.

[logic]
active = walker

[walker]
path_walk = значения приписаные в смарте, это вэй-поинт
path_look = значения приписаные в смарте, это вэй-поинт
on_info = {+dialog_speak_stalker} walker2@new_zone

[walker2@new_zone]
path_walk = значения приписаные в смарте, это вэй-поинт
path_look = значения приписаные в смарте, это вэй-поинт

Либо можно сделать под гулаговую работу.

В логике писать.

[smart_terrains]
esc_lager = true
esc_new_lager = true

esc_lager = {-dialog_speak_stalker}
esc_new_lager = {+dialog_speak_stalker}

где dialog_speak_stalker = Это инфопоршин дающий герою, во время диалога или получения задания, или при в ходе в рестриктор или при ввыходе из него.



Как Менять диалоги? :cool:
gamedata/config/text/rus и найди dialogs_escape (или наоборот escape_dialogs )
открывай блокнотом и сможешь редактировать текст диалогов которые на кордоне.
Так же и по остальным разобраться легко=)
Приятной игры!=)



Как сделать, чтобы Волк был в экзоскелете?
В файле:
gamedata\config\gameplay\character_desc_escape.xml
В параметрах Волка находим строки:
<!---------------------------------------esc_wolf----------------------------------------------------->
Код:
<icon>ui_npc_u_stalker_neytral_balon_1</icon>

<visual>actors\neytral\stalker_neytral_balon_1</visual>

И меняем их на эти:
Код:
<icon>ui_npc_u_stalker_neytral_exoskeleton</icon>

<visual>actors\neytral\stalker_neytral_exoskeleton</visual>



Как увеличить скорость бега?
Файл <Диск>:\<Каталог установки>\STALKER\gamedata\config\creatures\actor.ltx отвечает за параметры нашего игрока. В нем есть строка

Код:
sprint_k=75;150;185;180;200; ;коэффициент на "sprint" бег (умножается walk_power, walk_weight_power)

Она отвечает за то насколько быстро персонаж устает при беге. Если поставить значение не 75, ну а скажем 5, то он практически не будет уставать.



Как сделать, чтобы сталкеры играли на губной гармошке?
В файле gamedata\scripts\xr_kamp.script находим:
  -- играть на гармошке
-- if npc:object("harmonica_a") then
-- self.npc[npc_id].states["play_harmonica"] = true
-- self.npc[npc_id].states["wait_harmonica"] = true
-- self.kamp_states["pre_harmonica"] = true
-- self.kamp_states["harmonica"] = true
-- self.kamp_states["post_harmonica"] = true
-- else
Раскоментируем эти строки, для этого удалим --. Внимание! Удалять нужно только те --, которые здесь отмечены красным.
Затем нужно добавить музыку. Например сталкерам, открываем папку gamedata\sounds\characters_voice\human_01\stalker\music и добавляем туда свою музыку. Имя файла должно быть harmonica_* (где *, 1, 2, 3 и т.д.). Формат файла должен быть *.ogg. Таким же образом добавляем музыку остальным группировкам.