Сталкер респаун что это

Обновлено: 04.07.2024

SoC. Respawn

Респаун, один из самых часто задаваемый вопросов на форумах. Вот, решил написать статью, дабы не втирать одно и тоже каждому, кто не может с этим разобраться.

Для создания респавна NPC, понадобится два файла: all.spawn и spawn_section.ltx.
Это минимальный набор. Для полной настройки респавнера, нужны ещё character_desc_simulation.xml и npc_profile.xml.

1. В all.spawn создаём секцию респавнера:

[10000]
; cse_abstract properties
section_name = respawn
name = имя респавнера
position = координаты (x,y,z)
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = гейм-вертекс
distance = 10
level_vertex_id = левел-вертекс
object_flags = 0xffffff3e
custom_data = <<END
[respawn]
respawn_section = esc_urody_respawn_1,12, esc_urody_respawn_2,9
max_count = 8
min_count = 4
max_spawn = 2
idle_spawn = medium
conditions = 100
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 1

; cse_alife_space_restrictor properties
restrictor_type = 0

Если используется программа XrSpawner, то копируем любую секцию "respawn"; меняем имя объекта, координаты, и в окошке "скрипт" прописываем:

[respawn]
respawn_section = esc_urody_respawn_1,12, esc_urody_respawn_2,9
max_count = 8
min_count = 4
max_spawn = 2
idle_spawn = medium
conditions = 100

Где:
respawn_section = id респавн-секций из файла spawn_section.ltx. Цифры после запятой, означают отношение одной секции к другой. Если планируется одинаковое колличество респавна из каждой секции, то цифры ставить не требуется.

max_count = колличество респавн-запросов за период времени, пока ГГ находится на локации. При переходе на другую локацию, счётчик max_count сбрасывается. (ставить не обязательно)

min_count = минимальное колличество нпс, для экстренного респавна. (ставить не обязательно)
max_spawn = колличество нпс за один цикл респавна.
idle_spawn = тип спавна. Известно три типа medium, often, seldom. Обычно, используется тип medium.

conditions =Условие респавна. Можно установить проверку условий (инфопоршень), где респавн будет происходить только при выполнении условия. Номер означает общий процент выполнения респавна. Например так:

conditions = 100, 0 где, респавн будет происходить со сто-процентной вероятностью, только при наличии установленного инфопоршна.

2. В файле spawn_section.ltx, создаём респавн-секции:

[esc_urody_respawn_1]:stalker
$spawn = "respawn\esc_urody_respawn_1"
character_profile = sim_urody_novice
spec_rank = novice
community = bandit

[esc_urody_respawn_2]:stalker
$spawn = "respawn\esc_urody_respawn_2"
character_profile = sim_urody_regular
spec_rank = regular
community = bandit

Где:
esc_urody_respawn_1 id респавн-секции.
sim_urody_novice и sim_urody_regular классы профайлов нпс.
novice и regular ранги нпс.
bandit группировка нпс.

3. В файле npc_profile.xml регистрируем классы sim_urody_regular и sim_urody_novice

4. Создаём профили, в файле character_desc_simulation.xml, с классами sim_urody_regular и sim_urody_novice и группировкой bandit.
Respawn монстров.

В принципе, респавн мутантов идентичен респавну нпс. Но с одним лишь отличием, которое его значительно упрощает. Вся настройка респавна мутантов, ограничивается секцией в файле "all.spawn". Вписываем секцию респавнера, как указано в -RESPAWN NPC-. Все настройки идентичны, кроме строки respawn_section = . В ней прописываем типы мутантов, из файла "se_respawn.script". Такие как flesh_weak, flesh_normal, dog_weak, boar_strong, и т.д..

Обязательные условия респавна:

1. На локации обязательно должен быть хоть один гулаг для респавнящихся NPC и мутантов, так как количество NPC для респавна, ориентируется по доступным местам в гулагах.

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

3. На каждой локации, респавн ограничен определёнными типами неписей. Данные ограничения установлены в файле misc\smart_terrain_presets.ltx. Чтобы сделать возможным респавн неписей, не предусмотренных на данной локации. Надо в указанном файле, в секции нужной локации, дописать требуемые типы неписей.

Для проверки созданного респавнера, можно не ждать когда сработает системный респавн, а вызвать принудительно респавн в нужной секции. Для этого, прописываем в любой логике, вызов функции %=respawner_spawn(имя респавнера)%. Где, "имя респавнера" - имя секции, созданной в файле all.spawn. Скобки обязательны.

Например, можно создать рядом с зоной респавнера, временный рестриктор. И в кастом дате рестриктора, прописать вызов функции принудительного вызова респавна, в нужном респавнере, при входе ГГ в зону рестриктора:

[sr_idle@in]
on_actor_inside = %=respawner_spawn(имя респавнера)% sr_idle@out

Функция принудительного вызова респавна, находится в файле xr_effects.script.
Respawn предметов.

Респавн предметов в инвентарных ящиках, несколько отличается от способа респавна NPC.

1. Первое, что нам нужно сделать, это создать инвентарный ящик в файле "all.spawn":

[10000]
; cse_abstract properties
section_name = inventory_box
name = имя ящика
position = координаты x,y,z
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = гейм-вертекс
distance = 0
level_vertex_id = левел-вертекс
object_flags = 0xffffffba

story_id = стори ай-ди ящика

; cse_visual properties
visual_name = equipments\item_box_01

2. Затем, в файле game_story_id.ltx регистрируем story_id ящика. (выбираем любое свободное число).

3. Создаём респавнер в файле all.spawn. Координаты и размеры зоны респавнера, должны быть такими, чтоб инвентарный ящик поместился внутри зоны респавнера:

[10001]
; cse_abstract properties
section_name = respawn
name = имя_респавнера
position = координаты x,y,z
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = гейм-вертекс
distance = 2
level_vertex_id = левел-вертекс
object_flags = 0xffffff3e
custom_data = <<END
[respawn]
respawn_section = список вещей респавна
idle_spawn = -1
parent = стори ай-ди ящика
item_spawn = true
max_count = 7
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 0.5,0,0 ;(ширина зоны респавнера, по X)
shape0:axis_y = 0,0.5,0 ;(высота зоны респавнера)
shape0:axis_z = 0,0,1 ;(ширина зоны респавнера, по Z)
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

Где:
respawn_section = список вещей респавна, в виде их спавн - секций. Как и в респавнерах неписей, возможна прописка соотношений между вещами.
Например: respawn_section = wpn_pm,2, vodka,2, medkit,1, energy_drink,2, ammo_9x18_fmj,3

idle_spawn = тип спавна. Инвентарь не имеет типов спавна, поэтому ставится (-1).

parent = Story_id инвентарного ящика (из game_story_id.ltx), в котором производить респавн вещей .

item_spawn = (true\false) возможность включения и отключения респавна. Можно задавать условия, например инфопоршнем или функцией (разумеется прописанной в xr_conditions.script).

max_count = количество респав-циклов за определённый период времени. (Пока ГГ находится на локации. После перехода ГГ на другую локацию, счётчик сбрасывается).

4. Создаём вызов респавна. Обычно вызов производится из smart_terrain. В "custom_data" любого подходящего smart_terrain, под секцией [smart_terrain], вписываем вызов респавна:

[smart_terrain]
respawn = имя респавнера

И респавн будет производиться, при каждом пополнении нпс, под данным смартом.
Авторы статьи.

Singapur22
Pihan13 (дополнил и переоформил)


О сайте

Приветствую случайный посетитель, хотя, скорее, вы попали на этот сайт намеренно. И вот, что вы можете здесь отыскать: большую информационную базу по игре S.T.A.L.K.E.R., если быть конкретнее, то информация, размещенная на данном сайте, преимущественно касается разбора игры в качестве скриптовой платформы. Если быть проще, сайт посвящен модостроению. Надеюсь, вы останетесь довольны сайтом.

Сталкер респаун что это

Сталкер Народная Солянка ОП-2/2.1

Данила Кабанов

Данила Кабанов запись закреплена

Какой респаун по времени при частом, стандартном и редком респауне? Это ведь отвечает за места где обычно враги и мутанты отвечают, я правильно понимаю?

Матвей Щур

Стандартный респаун: 10-12 часов
Редкий в 2 раза дольше, Частый в 2 раза быстрее

Лично мне на частом нравится (но поставил при первом посещении Радара :D )

Информация о пользователе

Сталкер респаун что это

Stalker Online - Мастерская STAY OUT

Руслан Прокопенко

Руслан Прокопенко запись закреплена

Сколько респавн у ящиков в подъездах (игровых и реальных)? У всех одинаково или по разному? Спавнятся все сразу или там определённая система (мб последовательность) и какой самый дорогой лут, который там выпадает?
(Расскажите плиз если не сложно, если можно в лс, зарание спасибо;))

Артур Иванов


Артур Иванов

Самый дорогой лут это наушники Гамма на данный момент.

Руслан Прокопенко


Руслан Прокопенко

Артур Иванов


Артур Иванов ответил Руслану

Комментарий удалён пользователем или руководителем страницы

Артур Иванов


Артур Иванов

Владислав, самый топ были узкие с.з. очки. в то время как Ермак был 1-1.5кк очки стабильно по 9кк улетали)

Артур Иванов


Артур Иванов

Владислав, на втором месте очки Авиаторы "Кобра" по 4.4кк, а Ермак 3е место было.

Артур Иванов


Артур Иванов ответил Владиславу

Владислав, узкие очки респались лишь в 1 подъезде)) И бывало по 2шт сразу.

Артур Иванов


Артур Иванов ответил Владиславу

Владислав, самый донный подъезд был однако. Там 2-3 коробки. И из них 1 сумка. В ней очки респались в основном.

Al Faruk

Артур Иванов


Артур Иванов

КД респа ящиков у каждого дома свой, но един для всех игроков. Если ящика нет, то его никто не видит, если он есть, то его могут залутать все.

Руслан Прокопенко


Руслан Прокопенко

Артур Иванов


Артур Иванов ответил Руслану

Руслан, примерно 10-15 мин все ящики кроме электроники. Электроника в 30-45 мин 1 респ приблизительно.

Михаил Салмин

Колобок, Мда, ты даже в подъездном бомжевании не шаришь)
1. 7-8 минут
2. раз в 1 час, при условии нахождения в этом подъезде. Выйдешь с подъезда раньше часа, тайминг слетит, респа электроники не будет.

Руслан Прокопенко


Руслан Прокопенко ответил Михаилу

Подскажи пожалуйста новичку в каких подъездах лучше лутать если не жалко, в лс)

Михаил Салмин

Не братан, давай уж сам. Люди часами, а то и днями сидят в подъездах, вычисляют тайминги, записывают. А тебе вынь и положь инфу)
Я и так выше лишнего взболтнул за электронику)

Руслан Прокопенко


Руслан Прокопенко ответил Михаилу

Эх, ну раз жалко.
Спасибо хоть за то, что тайминги сказал)

Александр Литвиненко


Александр Литвиненко ответил Руслану

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

Михаил Салмин

Новичку идти фармить на ведунах гравы без полной прокачки обыска, без нормального ствола, снаряги, где конкуренция?) Гениально) Чел, ты советчик от бога)

Александр Литвиненко


Александр Литвиненко ответил Михаилу

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

Михаил Салмин

Александр Литвиненко


Александр Литвиненко ответил Михаилу

Михаил Салмин

Ты думаешь что 8 досточно чтобы включить последний перк в обыске?)

Руслан Прокопенко


Руслан Прокопенко ответил Михаилу

Михаил Салмин

Руслан Прокопенко


Руслан Прокопенко ответил Михаилу

Я тебя щас недопонял, так что спрошу ещё разок:
а прокачку можно сбросить и перепрокачать заново?

Михаил Салмин

Сбросить можно раз в сутки. Потом выставить те которые тебе нужны. Там 3 динейки перков: Боевка, выживание и поддержка. Но ты не можешь с разных "линеек" перекидывать в другую. Другими словами, к примеру, ты не можешь с боёвки перекинуть очки в поддержку. У кажной линейки прокачки свои очки.

Александр Литвиненко


Александр Литвиненко ответил Михаилу

Сталкер респаун что это

И так, приступим:
Первое, что необходимо запомнить:
Респавнер срабатывает, при условиях:
1) Есть свободная работа в смарте.
2) Секции респавнера, совпадают с секциями смарта.
3) Соблюдены условия работы респавнера: conditions

[ number ]
; cse_abstract properties
section_name = smart_terrain
name = esc_boar_weak_smart ; имя смарта
position = -132.06704711914,-3.5775165557861,-79.952697753906 ; X,Y,Z
direction = 0,0,0
version = 118
script_version = 6

; cse_alife_object properties
game_vertex_id = 72 ; GV
distance = 3
level_vertex_id = 119229 ; LV
object_flags = 0xffffff3e
custom_data = <<END
[smart_terrain]
type = esc_boar_weak_smart ; имя смарта
cond = 100 ; тут указывается условии существования смарта.
capacity = 3 ; население смарта
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 1

; cse_alife_space_restrictor properties
restrictor_type = 0

Смарттерей, мы создали, добавим моба для этого смарта:

[ number ]
; cse_abstract properties
section_name = boar_weak
name = esc_boar_weak_test_0000
position = -126.9560546875,-4.6784887313843,-95.063812255859
direction = 0,0,0
version = 118
script_version = 6

; cse_alife_object properties
game_vertex_id = 72
distance = 3
level_vertex_id = 125542
object_flags = 0xffffffbf
custom_data = <<END
[smart_terrains]
esc_boar_weak_smart = true ; тут укажем к какому смрту принадлежит эта зверушка.
END

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 2
dynamic_out_restrictions =
dynamic_in_restrictions =

; se_monster properties
upd:health = 2
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -126.9560546875,-4.6784887313843,-95.063812255859
upd:o_torso = 0,0,0

[ esc_boar_weak_smart _ home ]
points = p0
p0:name = wp00
p0:position = -123.97886657715,-4.0969734191895,-92.151412963867
p0:game_vertex_id = 72
p0:level_vertex_id = 128790
N.B! Обратите внимание! Имя точки пути начинается с название смарта.

[logic@esc_boar_weak_smart_0000]
active = mob_home@esc_boar_weak_smart_0000

[mob_home@esc_boar_weak_smart_0000]
path_home = home ; ТУТ МЫ УКАЗЫВАЕМ ИМЯ ПУТИ, БЕЗ ИМЕНИ СМААРТА. esc_boar_weak_smart_ home
home_min_radius = 20
home_max_radius = 30

Логику, написали, теперь добавим условие. Создадим скрипт gulag_escape_test.script, зарегистрируем его в xr_gulag.script добавив в level_gulags =
В gulag_escape_test.script пропишем:

if type = then
t = < section ,
idle = 0,
prior = 5, state = ,
in_rest = "", out_rest = ""
>
table.insert(sj, t)
end
end

function load_states(gname, type)

if type = then
return function(gulag)
return 0
end
end
end

function load_ltx(gname, type)
return nil
end

function checkStalker(npc_community, gulag_type, npc_rank, se_obj)
end

function checkMonster(npc_community, gulag_type)

if gulag_type = then
return npc_community == "boar"
end

return false
end

Сделали. Тепрь у нас есть смарт с одной зверушкой. Давайте проверим, работате ли наш смарт?
Загрузим игру, и прогуляемся в сторону вагончика на предбаннике, рядом с раненым.
С кабанчиком познакомились, давайте добавим респавнер.
В alife_l01_escape_test.ltx
Добавим:

; cse_abstract properties
section_name = respawn
name = esc_boar_weak_respawner ; имя респавнера
position = -146.0726776123,-3.4645113945007,-73.943954467773
direction = 0,0,0

version = 118
script_version = 6

; cse_alife_object properties
game_vertex_id = 70
level_vertex_id = 104106
object_flags = 0xffffff3e
custom_data = <<END
[respawn]
respawn_section = boar_weak ; секции респавна
max_spawn = 1 ; Максимальное количиство мобов за один респавн.
idle_spawn = often ; тип респавнера, имеется в виду скорость срабатывания.
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 3.35619974136353

; cse_alife_space_restrictor properties
restrictor_type = 0

Респавнер, сделали. Теперь, было бы здорово, не ждать когда он сам сработает, а заставить сработать его, когда нам это надо. Для этого сделаем спейсрестриктор? Рядом с входом в бункер Сидоровича, который и вызовет респавнер:

; cse_abstract properties
section_name = space_restrictor
name = esc_boar_weak_restrictor
position = -250.60289001465,-19.588600158691,-127.29279327393
direction = 0,0,0
version = 118
script_version = 6

; cse_alife_object properties
game_vertex_id = 8
level_vertex_id = 9843
object_flags = 0xffffff3e
custom_data = <<END
[logic]
active = sr_idle@esc_boar_weak_restrictor_start

[sr_idle@esc_boar_weak_restrictor_start]
on_actor_inside = sr_idle@esc_boar_weak_restrictor_out %=respawner_spawn(esc_boar_weak_respawner)%
; ф-ия =gulag_empty(name_smart) проверяет, пуст ли смарт.
; ф-ия =respawner_spawn(name_smart) вызывает принудительный респавн

[sr_idle@esc_boar_weak_restrictor_out]
on_actor_outside = sr_idle@esc_boar_weak_restrictor_start
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 3.35619974136353

; cse_alife_space_restrictor properties
restrictor_type = 3

Собираем all.spawn начинаем НИ, идём убиваем кабана, возвращаемся к входу в бункер, спускаемся по лестнице, и идём обратно, к смарту кабана.
Поздравляю, вы сделали респавнер.

Сделайте смарт для 3 кабанов, и респавнер для этого смарта.

И заспавнить 3 нпс, под мостом, рядом с вагончиком.
Координаты:

character_profile = sim_stalker_master
position = -35.753692626953,-10.425220489502,-72.881172180176
direction = 0,0,0
game_vertex_id = 111
distance = 3
level_vertex_id = 242232 character_profile = sim_stalker_veteran
position = -41.189788818359,-10.432260513306,-77.327095031738
direction = 0,0,0
game_vertex_id = 77
distance = 3
level_vertex_id = 237361 character_profile = sim_stalker_master
position = -41.189788818359,-10.432260513306,-77.327095031738
direction = 0,0,0
game_vertex_id = 77
distance = 3
level_vertex_id = 237361

Создать для этих нпс три логики walker. Имена путей, давайте, с учётом того, что потом эти нпс будут под смартом. Повторюсь:
N.B! Имя точки пути должны начинаться с название смарта.
Координаты:
way_1

position = -48.911376953125,-10.037826538086,-66.358123779297
game_vertex_id = 77
level_vertex_id = 230506 position = -47.987903594971,-10.038272857666,-63.149391174316
game_vertex_id = 77
level_vertex_id = 231168 position = -47.224723815918,-10.038061141968,-65.55248260498
game_vertex_id = 77
level_vertex_id = 232424 position = -47.987903594971,-10.038272857666,-63.149391174316
game_vertex_id = 77
level_vertex_id = 231168 position = -47.224723815918,-10.038061141968,-65.55248260498
game_vertex_id = 77
level_vertex_id = 232424 position = -50.319923400879,-10.042634963989,-63.688987731934
game_vertex_id = 77
level_vertex_id = 229168

и три kmap
координаты:
way_1_task

position = -48.911376953125,-10.037826538086,-66.358123779297
game_vertex_id = 77
level_vertex_id = 230506 position = -48.808933258057,-10.04080581665,-63.063709259033
game_vertex_id = 77
level_vertex_id = 230516 position = -47.224723815918,-10.038061141968,-65.55248260498
game_vertex_id = 77
level_vertex_id = 232424 position = -48.808933258057,-10.04080581665,-63.063709259033
game_vertex_id = 77
level_vertex_id = 230516 position = -47.224723815918,-10.038061141968,-65.55248260498
p0:game_vertex_id = 77
p0:level_vertex_id = 232424 position = -48.808933258057,-10.04080581665,-63.063709259033
game_vertex_id = 77
level_vertex_id = 230516

Протестируйте работу логики, на созданных нпс. Это поможет избежать ошибок в следующем уроке.

way_*_task -- место где будет сидеть нпс. Работает только под смартом.
way_*_fire -- куда будет смотреть.
Это используется, если нпс рассаживаются вокруг костра.
ЕСЛИ, ПОД КОСТРОМ НЕТ АИ СЕТКИ, ТО САМО СОБОЙ ВАЙПОИНТ ТУДА СТАВИТЬ НЕЛЬЗЯ!
В примере, под костром, нет АИ, по этому все fire заспавнены рядом с костром.

П.С. Следующий урок выложу через пару дней, что бы хватило время на "домашнее задание", если конечно он нужен.
Предпологается, что если вы задались вопросом о респавне, то вы уже имеете представление о работе смартов и логики. И знакомы с структурой папок и файлов.


Твоя система провальна, причем очень. Нужно создавать очень много рестрикторов, если ты очень много таких гулагов делать будешь. И не факт что респавн будет срабатывать, т.к. куда пойдет игрок предугадать невозможно.

У меня своя система респавнеров уникальных гулагов, а так же система "псведосмартов", которая работает на одном таймере. Функции сами понимают куда и кого и в каком количестве им нужно доспавнить. Функционал в целом нормальный у моей функции, можно указывать логику, аут и ин рестрикторы, свои списки секций чуваков/зверей(если нужно). Получение количества для доспавнивания в смарт/псведосмарт по трем параметрам. В зависимости от уровня выбираются секции, если брать оригинал то это weak normal strong. На паре локаций довел жизнь до типа ЧН. Так же сейчас в доработке система контроля за всем живым в зоне, она обеспечивает нормальное наполнение локаций => геймплей.

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

Шутки из Зоны

Залетает разъяренный Меченый к Сидоровичу в бункер, достаёт АК и всаживает в него всю обойму, выбрасывает пустую, заряжает новую и снова высаживает её всю. так раз пять. затем останавливается, удивленно смотрит на Сидоровича, откидывает автомат и падает на колени, слезы текут с глаз:
- Вот он - Бог! - прошептал Меченый

Спорят как-то Меченый с Волком.
Меченый: Связка ломов, как правило, тонет.
Волк: Но в ртути прекрасно плавает.
Меченый: Но если ломы урановые, то и во ртути тонут.
Волк: сам топи урановые ломы в ртути.

- Гюльчатай, открой личико! Ну, открой же! - в который раз просил Петруха.
- Хреновы военные! Мало того, что надругались, так ещё издеваются, гады! - подумал про себя грустный снорк.

Заходит сталкер в бар:
- Бармен! - кричит он.
Выходит бармен, говорит:
- Извините, но бар закрыт, откроется только через час.
Сталкер, усаживаясь за столик:
- Ничего, я подожду!
Бармен: Может пока что-нибудь закажете?

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

Пришёл сталкер к Сахарову и говорит:
- Профессор, почему мной кровососы брезгуют?
- Молодой человек, я же вам говорил, что в вашем спирту крови не обнаружено!

Сталкер-новичок в первый раз пришёл в Бар. Просит меню, но вместо этого сразу получает тарелку с непонятной жратвой. Спрашивает:
- А я могу сам выбрать?
- Можешь, - ответил Бармен. - Хочешь - ешь, хочешь - не ешь.

Доктор:
- Посмотрел я ваши анализы, молодой человек, и должен огорчить: у вас глисты.
Пациент (браток):
- Да ну. Диагноз какой-то не пацанский. Братва меня засмеёт! Доктор:
- Не проблема! Напишем "очковые змеи".

Отношения сталкеров и военных.
Блокпост: Стой, кто идет?
Сталкер: Свои, с бутылкой!
Блокпост: Свои, проходи! Бутылка - стой!

- Представляешь, я вчера забыл на базе автомат!
- Ой-ой-ой. И когда ты про него вспомнил?
- К сожалению, только тогда, когда принёс торговцу щупальца кровососа.

Семья сталкера. Все сидят за столом, молча ужинают. Вдруг сын задевает бутылку с водкой локтём. Бутылка стремительно летит к полу. Но в сантиметре от пола сын успевает подхватить бутылку. Ставит на стол и обращается весело к отцу:
- Пап, приколи, бутылка была на волоске от смерти!
Сталкер прячет пистолет и говорит серьезным голосом:
- Ты тоже, сынок!

Молодой сталкер подбежал к псевдопсу и стал гладить его пышный хвост. Ветеран в испуге кричит:
- Что ты делаешь? Он же порвет тебя!
- Нет, чувак, с этого конца они не кусаются.

Поймал вояка сталкера на периметре:
- Щас я тебе покажу, как в Зону лазить!
- Ф-фух, слава Богу, а то меня уже 3-й раз ловят!

Сталкеры, не пейте палёную водку - кровососы травятся.

Стоят два наемника, ждут "заказанного" сталкера. Его все нет и нет. Один спрашивает другого:
- Что-то долго его нет. Может, случилось что?

Два сталкера:
- Ты с каждым днём всё больше становишься похож на алкаша.
- Это почему же?
- Да у тебя руки трясутся, когда ты ведро с водкой ко рту подносишь!

- Ты чего такой грустный?
- Да вот, пошли с мужиками на кабана охотиться. Кабан не пришел. Ну, мы и напились как свиньи. И тут пришел кабан.

Идут два сталкера по дороге. Один спрашивает:
- А что делать, если меня кровосос схватит?
- Сопротивляйся подольше, чтобы я успел убежать!

Трусливые сталкеры в засаде:
- Почему же ты не стреляешь в этого кровососа?
- Ты разве не видишь, как бежит?! Может, бешеный, ну его к черту!

- Какая первая обязанность долговца на войне?
- Умереть за свою идею!
- Неправильно. Первая обязанность долговца - сделать так, чтобы свободовцы умерли за свою идею!

- Доктор, приходите скорей, у Меченого "белочка"!
- А что, собственно, случилось?
- По комнате скачут белые лошади, а он их не замечает!

Лукаш:
- Кто поедет зачищать заставу "Долга", два шага вперед.
Из строя выходят два бойца.
Лукаш:
- А остальные пойдут пешком. Гы-гы-гы.

Приснилось сталкеру его собственная могила - у дубка, на его родине. Тот, проснувшись, подумал, что это означает. И решил пока в Зоне отсидеться.

Идут занятия по уставу караульной службы в "Долге".
- Рядовой Петров! Вы стоите на посту и замечаете, что к вам подползает человек. Ваши действия?
- Отведу генерала Воронина в штаб.

Один сталкер другому:
- Я попадаю в крысу с расстояния ста шагов.
- Интересно, где ты найдешь таких крыс, которые ждут, пока ты отмеришь сто шагов?

Приходит Меченый к Болотному доктору:
- Доктор, меня мучает бессонница!
- Примите слабительное.
- И я от него усну?
- Нет, но, по крайней мере, вам будет чем заняться.

В гоpодке около Периметра женщина сообщает соседке:
- Вчера кто-то весь огород вытоптал.
- Может сталкеры?
- Да ну, какие сталкеры, следы-то человеческие.

Стоят два монолитовца и держат плакат. На плакате надпись: "Сверните со своего пути, неверные, или погибните!"
Мимо ехал на ниве Стрелок. Увидев надпись, он крикнул со всей злости: "Религиозные фанатики. " - и нажал на педаль газа. Через пару секунд послышался всплеск воды.
Один сектант говорит другому:
- Слушай, Фёдор, может нам нужно было попроще написать: "Мост поломан"?

Ты охренел фраер, ничего не попутал. Вали давай отсюда.

Сталкера ограбили на дороге бандиты.
- Почему же ты не мог дать им отпор? - удивились товарищи.
- А что я мог поделать? - Обиделся сталкер. - У меня были заняты руки: в правой был нож, а в левой - ружье.

База бандюков. Базарят два братка:
- Стало быть, надо тебе двадцать тыщь. Я их тебе дам, но какая гарантия, что ты их через месяц вернешь?
- Слово честного человека!
- Лады! Вот нынче вечером ты этого человека и приводи, поглядим.

Подходит, значит, сталкер к Монолиту. Тот ему:
- Загадывай желание.
- Хочу, чтоб Зона исчезла.
- Не, ну ты загнул. Попроси чё полегче.
- Ну, тогда сделай так, чтоб Сидорович при торговле не обманывал.
- Так что ты там насчёт Зоны говорил.

Новобранец блокпоста в Зоне присылает домой гранату с письмецом:
- Бабушка, если ты дёрнешь за это колечко, то я получу 3 дня отпуска.

Ползут два сталкера, пересекают периметр. Вдруг один вляпывается рукой в дерьмо. Второй начинает ржать. Первый (зажимая ему рот рукой):
- Тихо, военных встревожишь!

- А я свою девушку в армию вчера проводил. Я ее любить буду, я ее ждать буду, я ей ребёночка рожу маленького такого.
- Ты че? Ты же мужик! Большого рожай!

- Деда, а расскажи, как ты в Зоне два вертолета сбил!
- Ну-у-у. Не совсем сбил.. Скажем так: недозаправил!

Зашёл как-то Стрелок на базу бандитов. Продал то, что не надо, закупил, то что надо. И перед уходом говорит толпе бандитов, сидящих на выходе:
- Ну что, драконы, отдыхаете?-
Бандиты в непонятках: что за новое слово "Драконы"? Пошли они к своему бугру спросить. Тот им и отвечает:
- Драконы - это те же петухи, только у них гребешок во всю спину.

Читайте также: