Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

Digefal, немного не то. Вот скажем, если Воробья убить, то его Бесшумный кольт будет в попользованном состоянии, а у Кузнецова пистолет всегда новый, я хочу узнать, почему. Изменено пользователем Morder07
Ссылка на комментарий

Morder07, мордер я уже тебе объяснил, если сделать тут

death_items_by_communities.ltx или на похожие то он должен быть поврежден, а если в профиль то будет цел(Если НПС с него не будет стрелять)

Ссылка на комментарий

Priboj37, да мне все равно, меня не это интересует. Меня интересует алгоритм, из за которого этот пистолет всегда новый. Хочу сделать так же для остальных модифных стволов.

 

Добавлено через 29 мин.:

Ура посоны я разобрался! В файле death generic есть строка [keep_items],а под ней список предметов, записал туда нужный ствол и вуаля. Только что новый мп-5 9х18 на свалке с трупа содрал. Всем спасибо:)

Ссылка на комментарий

Morder07, Priboj37, Digefal

Раз упомянут бы алгоритм то и следует именно его знать и понимать, а не методом тыка нащупывать иль погадалками заниматься.

1. Неписи, хотя и могут стрелять, но оружие от этого никак НЕ изнашивается.

2. Алгоритм менеджера лута (death_manager.script) таков:

- все предметы имеющиеся в трупе проверяются на наличие в секции [keep_items], и если имеются - обязательно остаются в трупе "как есть";

- все, которые не в секции подпадают или под обязательное или рандомное удаление;

- оружие в трупе, которое не в списке keep_items - проходит операцию разрядки и/или поломки (зависит от модов);

- по окончании итерации по имеющимся в трупе предметам, в труп спавнится лут, состав которого определяют различные death_items_by_ХХХ.ltx.

Т.о. не стоит удивляться поломкам/исчезновениям или появлениям тех или иных предметов в трупах.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Digefal, будешь подобным (невнятным) образом вопросы задавать и переспрашивать - врядли кто будет отвечать (кроме куратора или модератора).

 

1. Слот, которого нет на худе инвентаря в оригинале игры, добавить невозможно без существенных добавок (скрипты и соответственно xml-ки), что, судя по твоим постам тебе врядли самому на данном этапе осилить. (если все же заинтересовало - смотри, например, в SIMBION-моде или жди LA, в котором слоты добавлены на уровне движка)

2. Даже если скриптами добавить на худ доп.слот - двигать в/из него предметы из рюкзака в слот и обратно - не получится. Т.е. он будет отображать наличие предмета в cлоте и можно из слота выкинуть, но не более.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Решил добавить ремкомплекты, нашёл статью на вики как сделать, сделал всё как написано, но не работает.

Нажимаешь использовать, он просто исчезает, типа съел его. Может надо что ещё делать, или что не правильно здесь написано?

1. Для начала нам нужно создать сам ремонт комплект, то есть предмет, а уже потом вешать на него функцию при использование. Для этого в config\misc\items.ltx в конец добавляем конфиг нашего предмета:

[repair_kit_outfit]:identity_immunities

GroupControlSection = spawn_group

discovery_dependency =

$spawn = "food and drugs\repair kit outfit"

$prefetch = 32

class = II_ANTIR ;класс не трогаем!

cform = skeleton

visual = equipments\item_merger.ogf ;модель

description = enc_equipment_repair_kit_outfit ;ссылка на описание в config\text\rus\....xml

 

inv_name = repair_kit_outfit_name ;ссылка на название в config\text\rus\....xml

inv_name_short = repair_kit_outfit_name ;тоже самое, что и inv_name

inv_weight = 6.0 ;вес

 

inv_grid_width = 2 ;ширина иконки

inv_grid_height = 1 ;высота иконки

inv_grid_x = 8 ;координата x иконки

inv_grid_y = 18 ;координата y иконки

cost = 10000 ;цена

;всё ниже написанное не трогаем, оно нам и не нужно

eat_health = 0

eat_satiety = 0

eat_power = 0

eat_radiation = 0

wounds_heal_perc = 0

eat_portions_num = 1

animation_slot = 4

hud = wpn_vodka_hud

 

2. Теперь добавим название и описание. Для этого в файле config\text\rus\string_table_enc_equipment.xml в конец между </string> и </string_table> добавляем строки по аналогии с уже написсанными:

<string id="repair_kit_outfit_name">

<text>Ремонт комплект ДПК</text>

</string>

<string id="enc_equipment_repair_kit_outfit">

<text>Новинка от Вани Болта - ремонт комплект ДПК для быстрой и эффективной починки костюмов. При его создании были учтены все недочёты и, следовательно, удалены. Благодаря улучшенным инструментам и деталям, а также облегченному весу весьма ценен. С его помощью можно увеличить состояние костюма до 100%, если он повреждён не больше 30%. Незаменимая вещь во время вылазки.</text>

</string>

 

Отлично, с предметом закончили. Теперь приступим к самому главному - скриптам.

[править]

Работа со скриптами

 

1.Вешаем функцию починки при использовании нашего ремонт комплекта. Для этого в файле scripts\bind_stalker.script находим функцию:

 

function actor_binder:net_destroy() и после строки

 

self.object:set_callback(callback.take_item_from_box, nil) пишем:

 

self.object:set_callback(callback.use_object, nil))

 

И теперь находим функцию

 

function actor_binder:reinit() и после строки

 

self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self) пишем:

 

self.object:set_callback(callback.use_object, self.repair_outfit_start, self)

 

Теперь в папке scripts создаёте свой скриптовой фаил ваше_название_скрипта.script. Но! Название должно быть написано на английском языке и вместо пробелов должен стоять знак "_". Опять открываем bind_stalker.script и в самый конец добавляем эту функцию:

function actor_binder:repair_outfit_start(obj, who)

if obj then

if obj:section() == "repair_kit_outfit" then --здесь указываем предмет, при использование которого будет срабатывать функция ниже

ваше_название_скрипта.repair_outfit() --здесь указываем ссылку на функцию. Сначала скрипт, в котором она написана, потом название самой функции

end

end

end

 

2. Добавляем саму функцию ремонта. Для этого в файле ваше_название_скрипта.script пишем:

-- Ремонт комплект для костюмов

function repair_outfit()

local item_s6 = db.actor:item_in_slot(6) --объявляем переменную (item_s6)

if item_s6 ~= nil and item_s6:condition() >=0.30 and item_s6:condition() ~=1 then --когда костюм можно чинить (состояние больше или равно 30%)

item_s6:set_condition(1)

local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_detach_addon]])

snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)

local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,0,255,0]Ремонт костюма завершен."

db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000)

elseif item_s6 == nil then --когда костюма нет

local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: нужно одеть коcтюм."

db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000)

alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id())

elseif item_s6:condition() <0.30 then --когда костюм нельзя чинить (состояние меньше 30%)

local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: костюм слишком сильно повреждён."

db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000)

alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id())

elseif item_s6:condition() ==1 then --когда костюм в отличном состояние

local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: %c[255,0,255,0]костюм в отличном состояние."

db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000)

alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id())

end

end

 

Всё! Теперь заходим в игру и наслаждаемся.

[править]

Небольшая заметка

 

1. Чтобы сделать ремонт комплект для оружия проделываем тоже самое, только переименовываем всё вместо outfit на weapon и в функцие починки ставим слот 1 или 2 (оружейные слота) вместо 6 (слот костюмов). Ещё нужно заменить переменную item_s6 например на item_s1 или item_s2.

 

2. Число 0.30 - минимальное состояние костюма, следовательно его можно менять на любое вам угодное. Простите за такое оформление, это моя вторая статья. В будущем, если будет больше свободного времени, постораюсь расписать все моменты подробно. Автор статьи: Бага. Данный метод создания ремонт комплектов не работает! (проверено) ЗЫ: StalkerNew2012 этот скрипт подправил теперь всё работает :)

 

 

Лучше бы вместо копи-паста статьи, описАл бы подробно, что сам делал.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

Доброго времени суток!

Я тут в начале года задавал вопрос по поводу сложившейся ситуации у меня с барменом, но потом как-то времени не было этим заниматься, сейчас к этому вернулся.

Подскажите еще, пожалуйста, прописал бармену в продажу броники, оружие, патроны и прочие нужные вещи. И у меня что-то непонятное получилось в игре

"скриншоты"

http://s017.radikal.ru/i435/1201/c4/cf6ef2ebbad1.jpg

http://s53.radikal.ru/i140/1201/b9/eb118de9111f.jpg

http://s017.radikal.ru/i410/1201/19/f8d9de4cfba2.jpg

Версия игры народная солянка с самым последним патчем для неё

Подскажите почему так получилось? И как это исправить?

мне ответили

van4e3, в твоем случае работает скрипт с НС (как и говорил Artos). В этом скрипте стоит ограничение на 350 кг. Все, что свыше этого, будет выбрасываться с рюкзака.

 

 

так вот у меня еще вопрос

скажите, пожалуйста, где находится этот скрипт, где править надо вес ??

Изменено пользователем ColR_iT
Компактнее, пожалуйста.
Ссылка на комментарий

Вопрос по спауну НПСа. ТЧ v 1.0005.

Добавленная секция в alife_l01_escape.ltx:

; cse_abstract properties
section_name = stalker_trader
name = escape_technic_name
position = -246.919998168945, -19.7299995422363, -143.419998168945
direction = 0.0445535257458687, -0.000645029998850077, 0.0144814234226942
version = 118
script_version = 6

; cse_alife_trader_abstract properties
money = 500000
trader_flags = 0
character_profile = escape_technic

; cse_alife_object properties
game_vertex_id = 5
distance = 1
level_vertex_id = 11351
object_flags = 0xffffff7b
custom_data = <<END
[spawn]
wpn_pm
wpn_bm16
ammo_9x18_fmj
ammo_12x70_buck
wpn_binoc
detector_simple
device_torch
conserva
bread

[logic]
cfg = scripts\esc_technic.ltx
END
story_id = 93

; cse_visual properties
visual_name = actors\novice\green_stalker_1

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 5
dynamic_out_restrictions = 
dynamic_in_restrictions = 

; cse_alife_monster_abstract properties

; cse_alife_human_abstract properties
equipment_preferences = 1, 1, 1, 2, 2
main_weapon_preferences = 0, 1, 0, 0
smart_terrain_id = 65535

; cse_ph_skeleton properties

; se_stalker properties
upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -246.919998168945, -19.7299995422363, -143.419998168945
upd:o_torso = -0.000645029998850077, 0.0445535257458687, 0
upd:g_squad = 1
upd:g_group = 5

; cse_alife_human_stalker properties
upd:start_dialog =

 

содержимое esc_technic.ltx:

[smart_terrains]
none = true

[logic]
trade = misc\trade_technic.ltx
active = kamp
meet = meet
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[remark]
anim = wait
no_move = true

[kamp]
center_point = esc_lager_camp_center;
path_walk = esc_lager_camp_center_task;
soundgroup = esc_lager
on_info = {+escape_player_search_tools_complete} camper
meet = meet

[camper]
path_walk = technic_walk 
path_look = technic_look
def_state_moving = walk
combat_ignore_cond = always
meet = meet

[meet]
use = true
use_wpn = true
meet_talk_enabled = true

 

После начала новой игры, НПС спаунится в назначенной точке. Но вместо того, чтоб отработать первую назначенную ему секцию логики "kamp", тупо стоит на месте спауна. Вывести его из ступора можно, пробовал уходить подальше от него, или бросал гранату, так чтоб его не задело, но он среагировал - иногда он растормаживается и начинает идти в точку "center_point", где усаживается к костру и нормально отрабатывает секцию "kamp".

В чем причина может быть ? Пробовал разные значения object_flags (свои не выдумывал, взял те что использовали ПЫС для других НПСов), не помогает.

Изменено пользователем ColR_iT
Ссылка на комментарий
van4e3, ded_moroz.script там сам разберешся, и вообще для таких моментов есть читспаунер, а то что ты ему прописал вообще все что только есть в игре негативно скажется на производительности, пару минут будет этот бармен грузиться если вообще не вылетит игра Изменено пользователем Saruman

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий

Доброго времени суток, господа. Пролистал всю тему, ничего не нашел. Гугл молчит. У меня проблема, суть такова:

 

1) Нужно убрать миникарту. Вообще.

2) Как изменить высоту обычного и низкого приседания? Хочется, чтобы персонаж мог свободно проползать под какими-нибудь трубами, например, под которыми он даже в режиме низкого приседания не пролезает.

3) Ну и спрошу напоследок. Существуют ли моды, добавляющие очень-очень много аномалий? Везде. И чтобы аномалии были разными и периодически менялись. Чтобы чуть ли не каждый шаг приходилось обдумывать.

Изменено пользователем Bitardow
Ссылка на комментарий

Привет всем у меня вопрос такой. В тч есть аномалии которые порождают артефакты, но артефакты появляются не рядом с аномалией, а в другом месте . Бывает даже на другом конце карты. Пытался разобраться и понял что в каком месте заспавнится артефакт зависит от этой строки :

artefact_position_offset = 0x1d75

 

Но настроить как мне нужно у меня не получилось. А теперь собственно вопрос : Как работает эта строка? И как зделать так чтобы артефакты спавнились всегда около аномалии?

Ссылка на комментарий

У меня проблема, над которой бьюсь уже немало времени. Сделал квест на зачистку Скадовска от мутантов (мод на ТЧ), в качестве примера приведу зомби. Сделал так, чтобы при убийстве выдавалась инфа. Вот что я прописал зомби в файле all.spawn:

[20027]

; cse_abstract properties

section_name = zombie_normal

name = zombie_scadovsk_1

position = 125.83,-7.32,187.06

direction = 0,0,0

 

; cse_alife_object properties

game_vertex_id = 3686

distance = 3.1000003814697

level_vertex_id = 1182903

object_flags = 0xffffffbf

custom_data = <<END

[logic]

on_death = death

 

[death]

on_info = %+zombie_killed_1%

 

[spawner]

cond = {+spoke_glavar}

END

 

; cse_visual properties

visual_name = monsters\zombi\zombi_1

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 0

g_group = 0

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

 

upd:health = 1

upd:timestamp = 0x2d2d2d2d

upd:creature_flags = 0x2d

upd:position = 125.83,-7.32,187.06

upd:o_model = 0

upd:o_torso = 0,0,0

upd:g_team = 0

upd:g_squad = 0

upd:g_group = 0

 

; 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_ph_skeleton properties

 

; cse_alife_monster_base properties

 

; se_monster properties

Но при убийстве вылет:

: fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ....К.Е.Р. - Последний поход\gamedata\scripts\_g.script:1150: bad argument #2 to 'format' (string expected, got nil)

 

У кого было что-то подобное, кто знает, как исправить помогите. Заранее спасибо.

 

Погугли на тему отсутствия информации в логе по ошибке "_g.script:XXX:" и предоставь именно информацию, а не факт о вылете.

И посмотри на тему вывода в лог полезной для модмейкера информации!

Скорее всего, просто инфопоршень не зарегистрировал в игре или обрабатываешь его получение криво ... --/Artos

Изменено пользователем Artos
Ссылка на комментарий

korshyn-3

Строка с параметром artefact_position_offset работает довольно просто, это данные о координатах спавна (смещении от координат). Но сами координаты прописаны в section2.bin инструментария по правке которого по сути нет. Так что хочешь менять координаты спавна аномалией артифакта - делай это в SDK, которые и пишет нужные цифирьки в том числе и в artefact_position_offset.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Прописал НПС такую логику, но он запутывается в путях идет куда надо, потом обратно. Почему?

[smart_terrains]

none = true

 

[logic]

active = walker@chernov_stop

combat_ignore = combat_ignore

danger = danger_condition@chernov_stop

 

[walker@chernov_stop]

path_walk = chernov_stop_walk

path_look = chernov_stop_look

combat_ignore_cond = always

meet = meet

danger = danger_condition@chernov_stoped

on_info = {+dialog_ugrum} walker@chernov1

 

[walker@chernov1]

path_walk = chernov1_walk

meet = no_meet

combat_ignore_cond = always

danger = danger_condition@chernov_stoped

on_info = {+krovozone0} remark@chernov2

 

[remark@chernov2]

path_walk = chernov2_walk

meet = no_meet

combat_ignore_cond = always

danger = danger_condition@chernov_stoped

on_info = {+krovozone1} walker@chernov3

 

[walker@chernov3]

path_walk = chernov3_walk

meet = no_meet

combat_ignore_cond = always

danger = danger_condition@chernov_stoped

on_info = {+krovozone2} walker@chernov4

 

[walker@chernov4]

path_walk = chernov4_walk

meet = no_meet

combat_ignore_cond = always

danger = danger_condition@chernov_stoped

on_info = {+krovozone3} remark

 

[remark]

combat_ignore_cond = always

anim = hello

target = actor

meet = meet

 

[danger_condition@chernov_stop]

ignore_distance = 2

ignore_distance_corpse = 2

 

[danger_condition@chernov_stoped]

ignore_distance = 0

ignore_distance_corpse = 0

 

[meet]

use = true

use_wpn = true

meet_talk_enabled = true

 

[combat_ignore]

 

К20

Ссылка на комментарий

Стрелоk, если не понятно, как ходит твой НПС, значит разбирай пути по которым он ходит, к тому же совсем не понятно, что означает "запутывается", да и как ты определил это.

На заметку, у тебя схема remark@chernov2 не правильно описана. Загляни вот сюда: Настройки логики, если ещё не был.

Ссылка на комментарий

Почему у меня движок отредактировал во время игры мой файл

ВОт что получилось:

function kroshilovo()
alife():create("burer1",vector():set(180.96896362305,0.037591189146042,62.862808227539),45118,1185
)
end

function wpn(first_speaker, second_speaker) 
   dialogs.relocate_item_section(second_speaker, "wpn_ak74u", "in")
end

function patron(first_speaker, second_speaker) 
   dialogs.relocate_item_section(second_speaker, "ammo_5.45x39_fmj", "in")
end

function arti(first_speaker, second_speaker) 
   dialogs.relocate_item_section(second_speaker, "mega_heart", "in")
end

function pistolet(first_speaker, second_speaker) 
   dialogs.relocate_item_section(second_speaker, "wpn_desert_eagle", "in")
   dialogs.relocate_item_section(second_speaker, "wpn_colt1911", "in")
   dialogs.relocate_item_section(second_speaker, "wpn_beretta", "in")
   dialogs.relocate_item_section(second_speaker, "wpn_fort", "in")
   dialogs.relocate_item_section(second_speaker, "wpn_hpsa", "in")
   dialogs.relocate_item_section(second_speaker, "wpn_usp", "in")
   dialogs.relocate_item_section(second_speaker, "wpn_pb", "in")
   dialogs.relocate_item_section(second_speaker, "wpn_walther", "in")
   dialogs.relocate_item_section(second_speaker, "wpn_raging_bull", "in")
end

function osoznan(task, info)
   if (db.actor:has_info("dead_os1") and db.actor:has_info("dead_os2") and db.actor:has_info("dead_os3") and db.actor:has_info("dead_os4") and db.actor:has_info("dead_os5")) then
   return db.actor:give_info_portion("osoznan_destroy") 
end

return false end 

-- Квест Хронометра

function respawn()
alife():create("spawn_r1",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r2",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r3",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r4",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r5",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r6",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r7",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r8",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r9",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
alife():create("spawn_r10",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
end

function spawn_r10()
local obj=alife():create("spawn_r10",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
local params=amk.read_stalker_params(obj)
params.custom="[logic]\ncfg = scripts\\r10_logic.ltx"
params.sid=10002
amk.write_stalker_params(params,obj)
end

function spawn_r9()
local obj=alife():create("spawn_r9",vector():set(-176.52522277832,-20.24348449707,-148.40008544922),74069,45)
local params=amk.read_stalker_params(obj)
params.custom="[logic]\ncfg = scripts\\r9_logic.ltx"
params.sid=10003
amk.write_stalker_params(params,obj)
end

function brurer(task, info)
   if (db.actor:has_info("dead_n1") and db.actor:has_info("dead_n2") and db.actor:has_info("dead_n3") and db.actor:has_info("dead_n4") and db.actor:has_info("dead_n5") and db.actor:has_info("dead_n6") and db.actor:has_info("dead_n7") and db.actor:has_info("dead_n8") and db.actor:has_info("dead_n9")) then
   return db.actor:give_info_portion("brurer_destroy") 
end

return false end 

function naymik_respawn()
alife():create("nime1",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
alife():create("nime2",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
alife():create("nime3",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
alife():create("nime4",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
alife():create("nime5",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
alife():create("nime6",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
alife():create("nime7",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
alife():create("nime8",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
alife():create("nime9",vector():set(366.71435546875,33.604259490967,36.991455078125),1575115,3691
)
end

function zombiko(task, info)
   if (db.actor:has_info("dead_r1") and db.actor:has_info("dead_r2") and db.actor:has_info("dead_r3") and db.actor:has_info("dead_r4") and db.actor:has_info("dead_r5") and db.actor:has_info("dead_r6") and db.actor:has_info("dead_r7") and db.actor:has_info("dead_r8") and db.actor:has_info("dead_r9") and db.actor:has_info("dead_r10")) then
   return db.actor:give_info_portion("zoomby") 
end

return false end 

function noy_respawn()
alife():create("os1",vector():set(160.37846374512,-6.9781603813171,164.37057495117),1240719,3684)
alife():create("os2",vector():set(164.71530151367,-6.4819102287292,165.98471069336),1247964,3684)
alife():create("os3",vector():set(166.72521972656,-4.8769106864929,162.48231506348),1251530,3684)
alife():create("os4",vector():set(164.7652130127,-6.0029392242432,158.4063873291),1247953,3684)
alife():create("os5",vector():set(159.57727050781,-5.2214207649231,159.09680175781),1240713,3684)
end

function jup_respawn()
alife():create("tem",vector():set(334.21157836914,27.542961120605,-382.9241027832),1249502,3745)
alife():create("tem",vector():set(342.53140258789,29.358640670776,-391.91394042969),1262136,3745)
alife():create("tem",vector():set(346.11596679688,27.943849563599,-388.634765625),1267392,3745)
alife():create("tem",vector():set(346.11596679688,27.943849563599,-388.634765625),1267392,3745)
alife():create("tem",vector():set(345.13244628906,27.816596984863,-386.37265014648),1266360,3745)
alife():create("tem",vector():set(345.13244628906,27.816596984863,-386.37265014648),1266360,3745)
alife():create("tem",vector():set(345.13244628906,27.816596984863,-386.37265014648),1266360,3745)
end

function kop_respawn()
alife():create("german",vector():set(-336.47589111328,4.8642082214355,260.6921081543),146745,3701)
alife():create("sceleton_bio_2",vector():set(-316.52642822266,-3.0026288032532,237.77886962891),180326,3704)
alife():create("sceleton_bio_2",vector():set(-316.52642822266,-3.0026288032532,237.77886962891),180326,3704)
alife():create("sceleton_bio_2",vector():set(-316.52642822266,-3.0026288032532,237.77886962891),180326,3704)
alife():create("sceleton_bio_4",vector():set(-322.03387451172,-2.6925973892212,253.69053649902),170941,3704)
alife():create("sceleton_bio_4",vector():set(-322.03387451172,-2.6925973892212,253.69053649902),170941,3704)
alife():create("sceleton_bio_4",vector():set(-322.03387451172,-2.6925973892212,253.69053649902),170941,3704)
end

function ruka_have()
    return sak.have_item_namber("mutant_zombie_hand",10) ~= false
end

function give_ruka(first_speaker, second_speaker)
    sak.out_item_namber("mutant_zombie_hand", 10)
end

function btrt()
alife():create("bol_vehicle_btr",vector():set(-75.41487121582,2.7795128822327,243.16589355469),980598,4385)
end

function bazuka()
alife():create("wpn_rpg7",vector():set(-56.853866577148,6.00896692276,235.8776550293),1021564,4385)
alife():create("ammo_og-7b",vector():set(-56.853866577148,6.00896692276,235.8776550293),1021564,4385)
alife():create("ammo_og-7b",vector():set(-56.853866577148,6.00896692276,235.8776550293),1021564,4385)
alife():create("ammo_og-7b",vector():set(-56.853866577148,6.00896692276,235.8776550293),1021564,4385)
alife():create("ammo_og-7b",vector():set(-56.853866577148,6.00896692276,235.8776550293),1021564,4385)
end

function info(first_speaker, second_speaker)
    news_manager.send_tip(db.actor, "%c[255,255,128,128]Болотный Доктор:\n%c[default]Стрелок! Около моего дома БТР. Беги в сгоревший домик рядом с моим домом. Там бери базуку!", nil, nil, 30000)
end

function bazuka_have()
    return sak.have_item_namber("wpn_rpg7",1) ~= false
end

function del_mutant()
local sim = alife()
local se_obj = sim:story_object(110028)
if se_obj then
sim:release(se_obj, true)
end
end

function spawn_sweta()
local obj = alife():create("sweta",vector():set(-12.827515602112,7.3860278129578,96.19164276123),343203,3630)
amk.add_spot_on_map(obj.id,"green_location","Света")
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\sweta.ltx"
params.sid = 110052
amk.write_stalker_params(params,obj)
end

function yat_respawn()
alife():create("myt",vector():set(-217.73187255859,-3.5583276748657,82.268074035645),348418,3708)
end

function raskolbas(first_speaker, second_speaker)
    news_manager.send_tip(db.actor, "%c[255,255,128,128]Выброс:\n%c[default]Внимание! Приближается выброс. Срочно ищите надёжное укрытие, если жить охота!", nil, nil, 30000)
end

function spawn_gavaec()
local obj = alife():create("gavaec",vector():set(-58.3828125,3.4793410301208,200.83305358887),622741,3717)
amk.add_spot_on_map(obj.id,"green_location","Гаваец")
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\gavaec.ltx"
params.sid = 110060
amk.write_stalker_params(params,obj)
end

function time()
    return level.get_time_hours() >= 22 or level.get_time_hours() < 1
end

function snipers(task, info)
   if (db.actor:has_info("dead_ka1") and db.actor:has_info("dead_ka2") and db.actor:has_info("dead_ka3") and db.actor:has_info("dead_ka4") and db.actor:has_info("dead_ka5") and db.actor:has_info("dead_ka6")) then
   return db.actor:give_info_portion("snipers_dead") 
end

return false end 

function karier_respawn()
alife():create("ka1",vector():set(221.33476257324,-9.2363786697388,157.04806518555),1098706,3732)
alife():create("ka2",vector():set(224.31991577148,-9.7025489807129,161.1902923584),1099905,3732)
alife():create("ka3",vector():set(211.43531799316,-22.257596969604,161.02377319336),1096301,3732)
alife():create("ka4",vector():set(211.96148681641,-29.935245513916,141.63098144531),1079015,3732)
alife():create("ka5",vector():set(209.83346557617,-29.934383392334,128.5290222168),1075374,3740)
alife():create("ka6",vector():set(202.66618347168,-29.700832366943,115.73868560791),1063252,3740)
end

function no_zomb1()
    local npc = level_object_by_sid(500005)
    npc:set_character_community("stalker", 0, 0)
end

function no_zomb2()
    local npc = level_object_by_sid(500006)
    npc:set_character_community("stalker", 0, 0)
end

function no_zomb3()
    local npc = level_object_by_sid(500007)
    npc:set_character_community("stalker", 0, 0)
end

function no_zomb4()
    local npc = level_object_by_sid(500008)
    npc:set_character_community("stalker", 0, 0)
end

function no_zomb5()
    local npc = level_object_by_sid(500009)
    npc:set_character_community("stalker", 0, 0)
end

function skeleton_give(first_speaker, second_speaker) 
   dialogs.relocate_item_section(second_speaker, "exo_svoboda_outfit", "in")
end

function minigan_give(first_speaker, second_speaker) 
   dialogs.relocate_item_section(second_speaker, "wpn_minigun", "in")
end

function nato_give(first_speaker, second_speaker) 
   dialogs.relocate_item_section(second_speaker, "ammo_5.56x45_ss190", "in")
end

function spawn_arts()
alife():create("af_dummy_mushroom",vector():set(146.09970092773,4.9057579040527,-174.35464477539),375740,3765)
alife():create("af_dummy_ball_lifes",vector():set(128.73712158203,0.51743221282959,-41.794422149658),355711,3766)
alife():create("af_dummy_heart1",vector():set(168.44665527344,12.247731208801,20.66795539856),398210,3768)
alife():create("af_dummy_coal",vector():set(75.045318603516,5.3079686164856,172.71607971191),295001,3761)
alife():create("af_dummy_indilian",vector():set(-63.75609588623,4.5009179115295,100.10202789307),126029,3755)
end

local t_wpn = {"af_dummy_mushroom", "af_dummy_ball_lifes", "af_dummy_heart1", "af_dummy_coal", "af_dummy_indilian"}
function artefacts_have()
    local gg = db.actor
    if gg then
        for i=1,#t_wpn  do
            if not gg:object(t_wpn[i]) then
                return false
            end
        end
        gg:give_info_portion("arts_have")
        return true
    end
return false
end

function stalker_nayd(task, info)
   if (db.actor:has_info("tolk_dukalis") and db.actor:has_info("tolk_cheh") and db.actor:has_info("tolk_kalan")) then
   return db.actor:give_info_portion("vsex_nashli") 
end

return false end 

function del_dukalis()
local sim = alife()
local se_obj = sim:story_object(100500)
if se_obj then
sim:release(se_obj, true)
end
end

function del_chehov()
local sim = alife()
local se_obj = sim:story_object(500009)
if se_obj then
sim:release(se_obj, true)
end
end

function del_kalancha()
local sim = alife()
local se_obj = sim:story_object(500007)
if se_obj then
sim:release(se_obj, true)
end
end

function spawn_1mon()
local obj = alife():create("mon_call",vector():set(44.662322998047,4.9753909111023,69.696334838867),1243760,4388
)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon1.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_2mon()
local obj = alife():create("mon_call",vector():set(53.119495391846,5.0067911148071,66.075180053711),1262422,4388
)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon2.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_3mon()
local obj = alife():create("mon_call",vector():set(51.225044250488,5.0727987289429,63.817611694336),1257754,4388
)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon3.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_4mon()
local obj = alife():create("mon_call",vector():set(47.77214050293,5.0658044815063,63.781936645508),1249974,4388)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon4.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_5mon()
local obj = alife():create("mon_call",vector():set(38.331077575684,5.1514530181885,62.320671081543),1229789,4388
)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon5.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_6mon()
local obj = alife():create("monolith_resp",vector():set(17.8326587677,5.1278276443481,62.650550842285),1183672,4388)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon6.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_7mon()
local obj = alife():create("monolith_resp",vector():set(12.174954414368,5.032105922699,63.585716247559),1171505,4388)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon7.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_8mon()
local obj = alife():create("monolith_resp",vector():set(6.5270118713379,5.0319137573242,66.632400512695),1159165,4388
)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon8.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_9mon()
local obj = alife():create("monolith_resp",vector():set(-0.82939112186432,5.0070381164551,62.054447174072),1143694,4388)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon9.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_10mon()
local obj = alife():create("monolith_resp",vector():set(-1.9232819080353,4.7286658287048,74.418510437012),1140607,4388)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon10.ltx"
amk.write_stalker_params(params,obj)
end

function spawn_11mon()
local obj = alife():create("monolith_resp",vector():set(-8.5799140930176,4.7070512771606,74.520462036133),1126642,4388)
local params = amk.read_stalker_params(obj)
params.custom = "[logic]\ncfg = scripts\\gorizont\\startmon11[14125]
; cse_abstract properties
section_name = climable_object
name = clmbl#0
position = 116.028877258301,-3.37270927429199,205.186187744141
direction = -0.100707858800888,2.53576755523682,1.65534245967865

; cse_alife_object properties
game_vertex_id = 3660
distance = 0
level_vertex_id = 293223
object_flags = 0xffffffbf

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 0.657885551452637,0,0
shape0:axis_y = 0,0.0307350158691406,0
shape0:axis_z = 0,0,0.373100280761719
shape0:offset = 0,0,0


[14126]
; cse_abstract properties
section_name = climable_object
name = clmbl#1
position = 411.464263916016,-4.38793659210205,214.9931640625
direction = 0.000176913847099058,3.14159274101257,1.57079637050629

; cse_alife_object properties
game_vertex_id = 3660
distance = 0
level_vertex_id = 293223
object_flags = 0xffffffbf

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 1.36271703243256,0,0
shape0:axis_y = 0,0,0
shape0:axis_z = 0,0,0.46026611328125
shape0:offset = 0,0,0


[14127]
; cse_abstract properties
section_name = climable_object
name = clmbl#2
position = 407.036560058594,-7.26436471939087,245.392059326172
direction = 0,3.14159274101257,1.57116723060608

; cse_alife_object properties
game_vertex_id = 3660
distance = 0
level_vertex_id = 293223
object_flags = 0xffffffbf

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 1.63793325424194,0,0
shape0:axis_y = 0,0.0006103515625,0
shape0:axis_z = 0,0,0.46002197265625
shape0:offset = 0,0,0


[14128]
; cse_abstract properties
section_name = climable_object
name = clmbl#3
position = 415.095153808594,-7.26436471939087,211.630950927734
direction = 0,-2.99234318733215,-1.57079637050629

; cse_alife_object properties
game_vertex_id = 3660
distance = 0
level_vertex_id = 293223
object_flags = 0xffffffbf

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 1.63793325424194,0,0
shape0:axis_y = 0,0.454910278320313,0
shape0:axis_z = 0,0,0.0684051513671875
shape0:offset = 0,0,0


[14129]
; cse_abstract properties
section_name = climable_object
name = clmbl#4
position = -313.605865478516,11.6702728271484,412.825439453125
direction = -0.000816924322862178,-0.0860950276255608,1.57071304321289

; cse_alife_object properties
game_vertex_id = 3660
distance = 0
level_vertex_id = 293223
object_flags = 0xffffffbf

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 1.76762437820435,0,0
shape0:axis_y = 0,0.643951416015625,0
shape0:axis_z = 0,0,0.0570068359375
shape0:offset = 0,0,0


[14130]
; cse_abstract properties
section_name = climable_object
name = clmbl#5
position = 159.948287963867,5.70505428314209,-140.003051757813
direction = -0.0143335480242968,0.0394393876194954,1.22812533378601

; cse_alife_object properties
game_vertex_id = 3660
distance = 0
level_vertex_id = 293223
object_flags = 0xffffffbf

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 4.05154991149902,0,0
shape0:axis_y = 0,0.0244369506835938,0
shape0:axis_z = 0,0,0.582077026367188
shape0:offset = 0,0,0


[14131]
; cse_abstract properties
section_name = climable_object
name = clmbl#6
position = 155.057601928711,14.7953319549561,-140.842544555664
direction = -4.12369954574388e-005,-3.12032890319824,-1.57079541683197

; cse_alife_object properties
game_vertex_id = 3660
distance = 0
level_vertex_id = 293223
object_flags = 0xffffffbf

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 5.3371787071228,0,0
shape0:axis_y = 0,0.467010498046875,0
shape0:axis_z = 0,0,0.0101470947265625
shape0:offset = 0,0,0


[14132]
; cse_abstract properties
section_name = climable_object
name = clmbl#7
position = 201.043441772461,4.92507839202881,31.5082111358643
direction = -1.03873453554115e-005,3.12812781333923,1.570796251297

; cse_alife_object properties
game_vertex_id = 3660
distance = 0
level_vertex_id = 293223
object_flags = 0xffffffbf
life_object properties
game_vertex_id = 2886
distance = 0
level_vertex_id = 174696
object_flags = 0xffffff3a

; cse_visual properties
visual_name = physics\stul\lavochka_02

; cse_ph_skeleton properties

; cse_alife_object_physic properties
physic_type = 0x3
mass = 10


[319]
; cse_abstract properties
section_name = physic_object
name = aver_physic_object_0004
position = 133.690277099609,-4.27887868881226,-301.421539306641
direction = 0,-1.55520069599152,0

; cse_alife_object properties
game_vertex_id = 2886
distance = 0
level_vertex_id = 174696
object_flags = 0xffffff3a

; cse_visual properties
visual_name = physics\stol\stol_4

; cse_ph_skeleton properties

; cse_alife_object_physic properties
physic_type = 0x3
mass = 10


[320]
; cse_abstract properties
section_name = physic_destroyable_object
name = aver_physic_destroyable_object_0001
position = 140.441696166992,-3.4474663734436,-309.677001953125
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 2886
distance = 0
level_vertex_id = 174696
object_flags = 0xffffff3a
custom_data = <<END
[drop_box]
community = def_box
items = me

 

Тоже самое и с файлом game_tasks.xml?

 

rofl.gif Какой "движок"? Что на копи-пастил, то и получил.

ColR_iT

 

Добавлено через 224 мин.:

Объясняю ещё раз. Я зашел в мод, протестировать. Игра намертво зависла, пришлось делать экстренную перезагрузку, запустил игру и получил вылет

FATAL ERROR

 

[error]Expression : false

[error]Function : CXml::Init

[error]File : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp

[error]Line : 87

[error]Description : XML file:gameplay\avs_infoportion.xml value: errDescr:Error document empty.

 

 

stack trace:

 

Открыл файл avs_infoportion.xml, а там некоторые секции из all.spawn

[576]

; cse_abstract properties

section_name = climable_object

name = clmbl#0

position = 121.055786132813,-13.5404500961304,-63.8432579040527

direction = 0.00665149092674255,-3.13052296638489,-1.57088696956635

 

; cse_alife_object properties

game_vertex_id = 3851

distance = 0

level_vertex_id = 1480

object_flags = 0xffffffbf

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 5.81202077865601,0,0

shape0:axis_y = 0,0.453422546386719,0

shape0:axis_z = 0,0,0.0293540954589844

shape0:offset = 0,0,0

 

 

[577]

; cse_abstract properties

section_name = climable_object

name = clmbl#1

position = 24.8291683197021,20.5156402587891,32.5839004516602

direction = 0,-0.0019743237644434,1.57079637050629

 

; cse_alife_object properties

game_vertex_id = 3851

distance = 0

level_vertex_id = 1480

object_flags = 0xffffffbf

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 4.7212119102478,0,0

shape0:axis_y = 0,0.000181198120117188,0

shape0:axis_z = 0,0,0.428354263305664

shape0:offset = 0,0,0

 

 

[578]

; cse_abstract properties

section_name = climable_object

name = clmbl#2

position = 98.8035659790039,-13.5704174041748,10.2329063415527

direction = -1.05053061361104e-006,0.0013467981480062,1.57079637050629

 

; cse_alife_object properties

game_vertex_id = 3851

distance = 0

level_vertex_id = 1480

object_flags = 0xffffffbf

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 5.78411388397217,0,0

shape0:axis_y = 0,0.000614166259765625,0

shape0:axis_z = 0,0,0.45313549041748

shape0:offset = 0,0,0

 

 

[579]

; cse_abstract properties

section_name = climable_object

name = clmbl#3

position = 71.6004028320313,-10.8213796615601,100.012725830078

direction = -7.29032035451382e-006,-3.12969017028809,-1.570796251297

 

; cse_alife_object properties

game_vertex_id = 3851

distance = 0

level_vertex_id = 1480

object_flags = 0xffffffbf

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 5.16824436187744,0,0

shape0:axis_y = 0,0.363880157470703,0

shape0:axis_z = 0,0,0.00374984741210938

shape0:offset = 0,0,0

 

 

[580]

; cse_abstract properties

section_name = climable_object

name = clmbl#4

position = 61.5065803527832,-6.26539897918701,100.012588500977

direction = -0.000537375686690211,3.11794137954712,-1.57040131092072

 

; cse_alife_object properties

game_vertex_id = 3851

distance = 0

level_vertex_id = 1480

object_flags = 0xffffffbf

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 0.615123510360718,0,0

shape0:axis_y = 0,0.370550155639648,0

shape0:axis_z = 0,0,0.0091094970703125

shape0:offset = 0,0,0

 

 

[581]

; cse_abstract properties

section_name = climable_object

name = clmbl#5

position = 22.4792766571045,3.90706062316895,75.0760345458984

direction = -0.0128448437899351,3.13959336280823,1.51752245426178

 

; cse_alife_object properties

game_vertex_id = 3851

distance = 0

level_vertex_id = 1480

object_flags = 0xffffffbf

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 4.45759010314941,0,0

shape0:axis_y = 0,0.00169754028320313,0

shape0:axis_z = 0,0,0.504436492919922

shape0:offset = 0,0,0

 

 

[582]

; cse_abstract properties

section_name = climable_object

name = clmbl#6

position = 107.724624633789,-4.73736524581909,-21.8282165527344

direction = 3.76499770027294e-006,0.780170142650604,1.57079243659973

 

; cse_alife_object properties

game_vertex_id = 3851

distance = 0

level_vertex_id = 1480

object_flags = 0xffffffbf

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 2.53008556365967,0,0

shape0:axis_y = 0,0.533708572387695,0

shape0:axis_z = 0,0,0.00280380249023438

shape0:offset = 0,0,0

 

 

[583]

; cse_abstract properties

section_name = climable_object

name = clmbl#7

position = 107.754669189453,-4.73736572265625,-27.1466903686523

direction = -1.48627595990547e-005,2.3642430305481,-1.57078051567078

 

; cse_alife_object properties

game_vertex_id = 3851

distance = 0

level_vertex_id = 1480"></info_portion>

<info_portion id="my6"></info_portion>

<info_portion id="my7">

<task>rls_ecolog_start_find</task>

</info_portion>

<info_portion id="rls_start_kvest_complete"></info_portion>

<info_portion id="veteran_cs_info_start"></info_portion>

-----------Уничтожить_военных_на_Затоне------------------

<info_portion id="zat_sul_action_start">

<action>avs_mod.zat_sul_action_news</action>

</info_portion>

<info_portion id="zat_ws_prishli">

</info_portion>

<info_portion id="zat_sul_action_complete">

<action>avs_mod.zat_sul_action_complete_news</action>

</info_portion>

<info_portion id="zat_ws_soldier_death">

<article>avs_story_zat_1</article>

<action>avs_mod.zat_ws_info_news</action>

</info_portion>

---------Торговец_на_Затоне---------------------------------

<info_portion id="zat_test_kvest_start">

<task>zat_test_kvest</task>

</info_portion>

<info_portion id="zat_test_kvest_have"></info_portion>

<info_portion id="zat_test_kvest_done"></info_portion>

<info_portion id="zat_actor_dead_st"></info_portion>

<info_portion id="zat_pda_kvest_spawn">

<action>avs_mod.zat_pda_trade_spawn</action>

</info_portion>

-------------Путь_в_Припять---------------------------------

<info_portion id="jup_z_sold_put_start">

<article>avs_story_jup_1</article>

<action>avs_mod.jup_put_naiden_news</action>

</info_portion>

------------Охотник_на_Юпитере------------------------------

<info_portion id="jup_hunt_kvest_start">

<action>avs_mod.jup_hunt_kvest_news</action>

</info_portion>

<info_portion id="jup_hunt_npc_start"></info_portion>

<info_portion id="jup_tunnel_prishli">

<action>avs_mod.jup_hunt_tunnel_news</action>

</info_portion>

<info_portion id="jup_hunt_kvest_complete"></info_portion>

----------Артефакт_в_Оазисе----------------------------------

<info_portion id="jup_crazy_find">

<action>avs_mod.jup_crazy_find_news</action>

</info_portion>

<info_portion id="jup_crazy_speak_start">

<action>avs_mod.jup_crazy_speak_news</action>

</info_portion>

<info_portion id="jup_voron_walk_start">

<action>avs_mod.jup_voron_walk_news</action>

</info_portion>

<info_portion id="jup_voron_vhod_doshli">

<action>avs_mod.jup_voron_talk_news</action>

</info_portion>

<info_portion id="jup_voron_fo_back">

<action>avs_mod.jup_oazis_find</action>

</info_portion>

<info_portion id="jup_eco_dialog_start">

<action>avs_mod.sl_eco_news</action>

</info_portion>

<info_portion id="jup_oserskiy_talk_start">

<action>avs_mod.talk_ozer_news</action>

</info_portion>

<info_portion id="jup_oazis_find_complete">

</info_portion>

----------------Азот---------------------------------------------

<info_portion id="jup_doc_find_start">

<task>jup_doc_find</task>

</info_portion>

<info_portion id="jup_doc_have">

</info_portion>

<info_portion id="jup_doc_find_done">

</info_portion>

<info_portion id="jup_bandos_spawn">

<action>avs_mod.spawn_bandos_to_jup_rz</action>

</info_portion>

-------------Мертвый_Патрульный------------------------------------

<info_portion id="jup_patrol_kvest_start">

<action>avs_mod.jup_sv_gl_speak_news</action>

</info_portion>

<info_portion id="jup_patrol_find_start">

<task>jup_dead_find</task>

</info_portion>

<info_portion id="jup_patrol_dead_find">

</info_portion>

<info_portion id="jup_patrol_find_done">

</info_portion>

-----------------Квест_Долга_на_Юпитере------------------------

<info_portion id="dolg_have_message_avs">

<action>avs_mod.dolg_have_message_news</action>

</info_portion>

<info_portion id="dolg_kvest_start_avs">

<action>avs_story.spawn_jup_kvest_soldier</action>

</info_portion>

<info_portion id="jup_dolg_kvest_walk_start">

<action>avs_mod.jup_dolg_kvest_walk_news</action>

</info_portion>

<info_portion id="jup_us_soldier_death">

<action>avs_story.spawn_jup_kvest_us_kpk</action>

</info_portion>

<info_portion id="jup_dolg_kvest_walk_complete"></info_portion>

<info_portion id="jup_dolg_kvest_complete"></info_portion>

<info_portion id="jup_kvest_us_kpk_have">

<action>avs_mod.jup_kvest_us_kpk_have_news</action>

</info_portion>

-----------------Дегтярев в Припяти------------------------

<info_portion id="my4">

<task>pri_deg_find</task>

</info_portion>

<info_portion id="vp_deg_walk_start"></info_portion>

<info_portion id="vp_deg_walk_complete"></info_portion>

<info_portion id="vp_deg_say_start"></info_portion>

---------------Брат в Припяти-------------------------

<info_portion id="pri_start_wounded_message">

<task>pri_brat_find</task>

</info_portion>

<info_portion id="vp_dead_stalker_spawn"></info_portion>

<info_portion id="vp_find_dead_stalker_complete"></info_portion>

<info_portion id="vp_find_dead_stalker_done"></info_portion>

---------------Подстава в Припяти-------------------------

<info_portion id="pri_loc_mis_start">

<action>avs_mod.pri_loc_mis_news</action>

</info_portion>

<info_portion id="pri_loc_walk_start">

<task>pri_podstava_start</task>

</info_portion>

<info_portion id="pri_loc_mis_complete"></info_portion>

<info_portion id="pri_band_talk_start"></info_portion>

<info_portion id="pri_bandugan_death"></info_portion>

---------------Убить Кровососа-------------------------

<info_portion id="crazy_hunter_help_start">

<task>crazy_hunter_help</task>

</info_portion>

<info_portion id="mt_krovosos_death"></info_portion>

<info_portion id="crazy_hunter_help_done"></info_portion>

<info_portion id="dialog_ugrum">

<task>chernov_task</task>

</info_portion>

<info_portion id="krovozone0">

<action>avs_mod.new0_krovozone</action>

</info_portion>

 

<info_portion id="krovozone1">

<action>avs_mod.new1_krovozone</action>

</info_portion>

 

<info_portion id="krovozone2">

<action>avs_mod.new2_krovozone</action>

</info_portion>

 

<info_portion id="krovozone3">

<action>avs_mod.new3_krovozone</action>

</info_portion>

<info_portion id="anom_wpn_have"></info_portion>

 

</game_information_portions>

 

 

Что тут непонятного?

Изменено пользователем Стрелоk

К20

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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