Пользователей: 0
Гостей: 1255
Всего: 1255

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
02-12-2010 23:30 GMT3 час. #1392363   
RENTGEN_4444
Ну типа так: :-)
_http://narod.ru/disk/721355001/script_anomaly.7z.html


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
02-12-2010 23:49 GMT3 час. #1392369   
Вопрос теоретического характера. Скрипт-файл _g.script подгружается игрой практически первым. Почему же тогда функции которые часто употребляются (например функцию на спавн в инвентарь) ни разработчики, ни модмейкеры не написали в _g скрипте? Вызов функций тогда станет легче ибо не придется писать имя скрипта


Знание assembler, C/C++, Pascal, Lua.
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
03-12-2010 00:36 GMT3 час. #1392377   
Ma$ter
Если так судить, то давай все функции свалим в один этот файл и заставим тебя потом разбираться откуда ноги растут =)
Вот для того и придумали модули, чтобы "разделять и властвовать".
Каждый файл *.script является модулем, а название модуля (имя файла) есть имя переменной, определяющей таблицу со всеми данными из этого файла, в глобальном окружении _G.
Скорость доступа к элементам таблицы в Luа хоть немного и уступает скорости в С/С++, но всё равно настолько высока, что Luа глубоко плевать - обращаться ли к объекту в самой таблице _G, или по ключу к тому же объекту, находящемуся в таблице, которая в свою очередь является объектом таблицы _G.


Не стань номинантом премии Дарвина.
RENTGEN_4444
    
Посты: 48
Откуда:
Возраст:
03-12-2010 14:14 GMT3 час. #1392467   
erlik,скачал архив,открываю.
Ошибка.
Архив поврежден или имеет неизвестный формат.(7zip читает,я проверял)


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
03-12-2010 14:29 GMT3 час. #1392474   
RENTGEN_4444
У тебя прога фиговая - я упаковываю через PeaZip 2.1 - она все архивы распаковывает и пакует как в zip так и 7z - нормально.
вот ссылка без архивирования - просто файл script
_http://narod.ru/disk/744920001/script_anomaly.script.html

добавлено спустя 15 минут

PS в первом архиве была мелкая ошибочка
в конец function actor_binder:load(reader) вызов load_sid() нужно вписать так script_anomaly.load_sid(reader) , а не script_anomaly.load_sid(packet)
Исправил.

отредактировал(а) erlik: 03-12-2010 14:45 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
RENTGEN_4444
    
Посты: 48
Откуда:
Возраст:
03-12-2010 15:15 GMT3 час. #1392494   
Скачал фаил .script вот приведу часть из него:







Яндекс.Народ







----------
Явно не то =) Сейчас качаю твой reazip 2.1
----------
Скачал.Он тоже не открывает.


batment
    
Посты: 267
Откуда: Киев
Возраст: 30
03-12-2010 15:19 GMT3 час. #1392497   
у меня проблема: у Сидоровича все диалоги появятся когда выполниш квест с АТП так? Но так как я этот квест убрал то не появляются диалоги которые создал я как убрать это самое ограничение ?


-=NSM=-
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
03-12-2010 16:50 GMT3 час. #1392532   
Решил сделать в гулаге работу уже не для монсряков (их уже достаточно, все работает, они респавнятся), а для монолитовцев.
Состряпал следующее...

в уже используемом файле gulag_generators.scripts
добавил уже для снайперов куда надо.......
--------------------------------------------


--' Снайпер1
if type == "gen_sniper_1" then
t = { section = "logic@gen_sniper_1_aes_Monolit_sniper",
idle = 0,
prior = 9, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end

--' Снайпер2
if type == "gen_sniper_2" then
t = { section = "logic@gen_sniper_2_aes_Monolit_sniper",
idle = 0,
prior = 9, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end


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

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


if gulag_type == "gen_sniper_1" then
return npc_community == "monolith"

end

if gulag_type == "gen_sniper_2" then
return npc_community == "monolith"

end

далее добавил логику в файл misc/gulag_generators
[logic@gen_sniper_1_aes_Monolit_sniper]
active = camper@gen_sniper_1_aes_Monolit_sniper

[camper@gen_sniper_1_aes_Monolit_sniper]
path_walk = walk
path_look = look
sniper = true


[logic@gen_sniper_2_aes_Monolit_sniper]
active = camper@gen_sniper_1_aes_Monolit_sniper

[camper@gen_sniper_2_aes_Monolit_sniper]
path_walk = walk
path_look = look
sniper = true


в спавне...
alife_generators

[658]
; cse_abstract properties
section_name = respawn
name = gen_sniper_1_respawn
position = -230.2018737793,28.93123626709,-370.17947387695
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 3078
distance = 70.90000009536743
level_vertex_id = 70687
object_flags = 0xffffff3e
custom_data = < [respawn]
conditions = 100
respawn_section = pri_monolith_respawn_1
;max_count = 1
;min_count = 1
max_spawn = 7
idle_spawn = medium
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

; se_respawn properties


[659]
; cse_abstract properties
section_name = smart_terrain
name = gen_sniper_1
position = -230.2018737793,28.93123626709,-370.17947387695
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 3078
distance = 0
level_vertex_id = 70687
object_flags = 0xffffff3e
custom_data = < [smart_terrain]
type = gen_sniper_1
capacity = 1
END


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

; cse_alife_space_restrictor properties
restrictor_type = 3

; se_smart_terrain properties

[660]
; cse_abstract properties
section_name = respawn
name = gen_sniper_2_respawn
position = -230.2018737793,28.93123626709,-370.17947387695
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 3078
distance = 70.90000009536743
level_vertex_id = 70687
object_flags = 0xffffff3e
custom_data = < [respawn]
conditions = 100
respawn_section = pri_monolith_respawn_1
;max_count = 1
;min_count = 1
max_spawn = 7
idle_spawn = medium
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

; se_respawn properties


[661]
; cse_abstract properties
section_name = smart_terrain
name = gen_sniper_2
position = -230.2018737793,28.93123626709,-370.17947387695
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 3078
distance = 0
level_vertex_id = 70687
object_flags = 0xffffff3e
custom_data = < [smart_terrain]
type = gen_sniper_2
capacity = 1
END


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

; cse_alife_space_restrictor properties
restrictor_type = 3

; se_smart_terrain properties

way_generators
[gen_sniper_1_walk]
points = p0
p0:name = wp00
p0:position = 170.6598815918,38.288845062256,-445.60650634766
p0:game_vertex_id = 3133
p0:level_vertex_id = 533861

[gen_sniper_1_look]
points = p0,p1
p0:name = wp00
p0:position = 187.3890838623,29.358694076538,-417.73220825195
p0:game_vertex_id = 3136
p0:level_vertex_id = 553105
p0:links = p1(1)

p1:name = wp01
p1:position = 122.48438262939,32.285762786865,-408.70620727539
p1:game_vertex_id = 3123
p1:level_vertex_id = 478426


[gen_sniper_2_walk]
points = p0
p0:name = wp00
p0:position = 195.63327026367,38.120704650879,-493.86151123047
p0:game_vertex_id = 3139
p0:level_vertex_id = 561725

[gen_sniper_2_look]
points = p0,p1
p0:name = wp00
p0:position = 229.14134216309,28.834604263306,-477.5793762207
p0:game_vertex_id = 3146
p0:level_vertex_id = 601224
p0:links = p1(1)

p1:name = wp01
p1:position = 220.35653686523,29.705244064331,-528.84838867188
p1:game_vertex_id = 3146
p1:level_vertex_id = 590710



в файле smart_terrain_presets была и есть такая картина

[generators]
stalker = novice, experienced, veteran, master
monolith = novice, experienced, veteran, master
military = novice, experienced, veteran, master
killer = novice, experienced, veteran, master
ecolog = novice, experienced, veteran, master
dolg = novice, experienced, veteran, master
freedom = novice, experienced, veteran, master
bandit = novice, experienced, veteran, master
zombied = novice, experienced, veteran, master

boar = weak, normal, strong
bloodsucker = weak, normal, strong
flesh = weak, normal, strong
dog = weak, normal, strong
pseudodog = weak, normal, strong
giant = weak, normal, strong
zombie = weak, normal, strong
burer = weak, normal, strong
controller = weak, normal, strong
poltergeist = weak, normal, strong
snork = weak, normal, strong
tushkano = weak, normal, strong
giant = weak, normal, strong
chimera = weak
fracture = weak, normal, strong
pseudo_gigant= weak, normal, strong


все я сделал, изменил аллспавн. начинаю новою игру ииии....

в результате при загрузки новой игры вот такая вот ошибка

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...\stalker - Зона поражения\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)


обращаюсь я потому, что не могу понять в чем дело. Вроде все правильно.

монолитовец в спавн секции уже был.
[pri_monolith_respawn_1]:stalker
$spawn = "respawn\pri_monolith_respawn_1"
character_profile = sim_monolith_regular
spec_rank = regular
community = monolit
h


RENTGEN_4444
    
Посты: 48
Откуда:
Возраст:
03-12-2010 17:17 GMT3 час. #1392553   
erlik, я скачал фаил который называется script_anomaly.script он открывается блокнотом,я привел тебе начало,а оно и правда похоже на хмтл...щас найду чтонить на сврипт похожее...
-------
Хм весь фаил "пропитан" ссылками,какимито хтмл тегами и всякой фигней(но присутствуют надписи function,class ).Но фаил НЕ формата html это ТОЧНО.Сейчас я его открыл браузером.Комп чуть не взоравался,открывая его.Открыл чтото похожее на страницу закачки на яндекс народе,но скачать с этой штуковины точно нельзя.Попробуй перезалить архив,только заархивируй РАРом.


Silver Raven
    
Посты: 415
Откуда:
Возраст:
03-12-2010 19:03 GMT3 час. #1392611   
Artos

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

отредактировал(а) Stalker_Alex333: 03-12-2010 19:14 GMT3 час.

Artos
    
Посты: 4176
Откуда:
Возраст: 65
03-12-2010 19:48 GMT3 час. #1392628   
Stalker_Alex333
Обычно или берут готовое и портируют к себе (выбросы есть во многих модах) или 'перелопачивают' коды (используюя стороннее как основу) или пишут 'заново'.
По 'кускам' искать проблемы в любом случае бессмысленно, т.к. в твоем случае ты используешь не только собственно сам 'выброс', но и схемы поведения для неписей при выбросе. Т.к. эти коды затрагивают немало точек в других скриптах - разбираться нужно со всем 'в комплексе'.

Если у тебя НЕ срабатывает выброс после 'принудительной побудки' ГГ перед выбросом - ищи причину несрабатывания таймера выброса, т.е. в менеджере самих выбросов.
Что у тебя там не подсвечивается в КПК (укрытия) - мне неведомо, т.к. не имею твоего мода/кодов. а в оригинале ничего подобного нет.

Переносить 'время выброса' на конец сна ГГ - неразумно и/или нелогично. ГГ спит N-часов, выброс не привязан к его концу и может наступать и в начале сна. С какого-такого барабана выбросу дожидаться когда ГГ проспиться? ;-)
(Ошибки нужно исправлять, а не подстраиваться под них!)

Ошибка со спальником у блок-поста - наложение 'обычной' ошибки 'any vertex in patrol path', присущей многим модам с увеличенным спавном неписей и свободными путями ... Просто за время сна ГГ (это часы!) кто-то куда-то не туда забрел ... Ошибка или рандомна или, если повторима - правивь пути для непися иль удаляй его из проблемной области карты.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Silver Raven
    
Посты: 415
Откуда:
Возраст:
03-12-2010 20:09 GMT3 час. #1392646   
Artos

Дело в том, что спавн неписей я не коим образом не увеличивал, свободные пути им не задвал. Удаление всех НПС в этом районе - врядли правильный ход, т.к. железнодорожный мост на Кордоне "охранять" попрасту больше некому. Что касается правки путей, то здесь мои знания, на данный момент заканчиваются...

Что касается проблемы со спальным мешком, то здесь - мне совершенно не понятно, как игра может пропускать таймеры выброса, ведь они стоят после функции остановки сна ГГ. Поначалу, я пробовал поставить непосредственно сам выброс при пробуждении ГГ (это таймер bl2), но тогда вся функция выброса оказывалась неработоспособна.

З.Ы. Хотелось бы выслушать ваше мнение, по поводу модификации. Если у вас найдется время\желание взглянуть на мои скромные труды и прокомментировать их, я был бы очень рад.:-)


batment
    
Посты: 267
Откуда: Киев
Возраст: 30
03-12-2010 21:22 GMT3 час. #1392693   
у меня проблема с квестом: после выполнения моего квеста пишет что: потерян предмет Кровь Камня
но на самом деле он остается у меня в рюкзаке и деньги не передаются
вот скрипт передачи денег:
код:
function transfer_money (npc, actor)
dialogs.relocate_money(stalker, 8000, "in")
end

function otday_af_blood (npc, actor)
dialogs.relocate_item_section(npc, "af_blood", "out")
end

function have_a_af_blood (stalker, player)
return stalker:object ("af_blood") ~= nil
end

как исправить ?


-=NSM=-
win win
    
Посты: 258
Откуда: о_О
Возраст: 12
03-12-2010 21:29 GMT3 час. #1392697   
Сколько всего костей должно быть в сталкере новичке?


Мои модельки NEW!
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
03-12-2010 22:24 GMT3 час. #1392712   
batment
1)Ты деньги никому не передаешь - stalker - это кто у тебя? Никто. Переменная равна nil.
2) Сам себе трансферишь. У тебя в аргументе npc передается юзердата ГГ . Экшен на чьей фразе то стоит у тебя? На фразе ГГ. А надо на ком? На NPC. В диалогах первым аргументом всегда передается юзердата собеседника на фраза которого стоит action.
oSpeaker1, oSpeaker2, sDlgId, idPhrase - полный список аргументов метода AddAction
sDlgId - строковое айди(имя) диалога, idPhrase - номер фразы.
3) Если делать по уму - то следует использовать прямые методы, а не функции "обертки".


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
batment
    
Посты: 267
Откуда: Киев
Возраст: 30
03-12-2010 22:31 GMT3 час. #1392715   
erlik
function transfer_money (npc, actor)
dialogs.relocate_money(escape_trader, 8000, "in")
end

function otday_af_blood (npc, actor)
dialogs.relocate_item_section(npc, "af_blood", "out")
end

function have_a_af_blood (escape_trader, player)
return escape_trader:object ("af_blood") ~= nil
end

а так правильно ?

вот еще диалог

art_done


Сидорович помнишь ты чтото обещал ?
1


Ах...да точто, у меня появилсязаказ на Артефакт Кровь Камня. Возьмешся ?
2
4
5


art_start
Возьмусь куда я денусь
art_start
3


ну тогда значит искать надо примерно возле заброшеного електровоза. Понял ?
dialogs.break_dialog


На держи
escape_dialog.have_a_af_blood
escape_dialog.otday_af_blood
7


art_start
Извини, Сидрыч, я пока еще не раздобыл, терпи..
6


Ну где артефакт ?... а ну марш отсюда
8


Ну спасибо выручил
art_start
escape_dialog.transfer_money
8


Ну тебя в пень...




-=NSM=-
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
03-12-2010 22:55 GMT3 час. #1392730   
batment
Я же написал - action по передаче арта должен стоять на фразе NPC
Либо(ес


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
batment
    
Посты: 267
Откуда: Киев
Возраст: 30
03-12-2010 23:15 GMT3 час. #1392748   
у меня с этим квестом две проблемы
1. он не активируется (нету сообщения типа "принести артефакт"
2. после выполнения он не уберается, хотя я и вписал art_done
как мне это все исправлять ?


-=NSM=-
Deathdoor
    
Посты: 906
Откуда: Москва
Возраст: 48
04-12-2010 09:47 GMT3 час. #1392815   
нет анимации с названием empty_r у того оружия, которое, скорей всего, сейчас в руках у вамшего персонажа. суффикс R указывает на пистолет


До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
04-12-2010 12:43 GMT3 час. #1392880   
Artos, можете сказать, чем отличаются эти строки?:
ret.addon_flags = stpk:r_u8()
ret.upgrades = readvu32stringZ(stpk)

Первый, как я понимаю передает цифровое значение, т.е. флаги напяленных аддонов. Второй, мне кажется, передает стринговое значение, т.е. секции напяленных аддонов. Я правильно понимаю?


Хочешь работать нормально, работай один!
Artos
    
Посты: 4176
Откуда:
Возраст: 65
04-12-2010 18:35 GMT3 час. #1393005   
SkyLoader
1-ый - получает/присваивает переменной/элементу 'addon_flags' в таблице 'ret' целочисленное значение из 2-х байт нет-пакета.
2-ое - получает/присваивает субтаблице 'upgrades' некую таблицу, полученную от функции 'readvu32stringZ', которой передается весь нет пакет. Что-там делает - смотри в ней. Суди по названия - читает строковые значения из нет-пакета.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
04-12-2010 20:06 GMT3 час. #1393066   
Ребят и все же почему не хотят нормально работать работы с НПСами в гулаге? Логика ведь эелементарная, - стоять и смотреть. мутантов уже кучу понаделал, все батрачит (ну кроме псевдособак). Прописал все где надо, но блин не хотит ничего работать.


batment
    
Посты: 267
Откуда: Киев
Возраст: 30
04-12-2010 20:35 GMT3 час. #1393090   
что значит этот вылет:
FATAL ERROR

[error]Expression : next_phrase_node
[error]Function : CPhraseDialog::AddPhrase
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\PhraseDialog.cpp
[error]Line : 288
[error]Description : 2

а вот сам диалог

test_kvest_have
test_kvest_start


test_kvest_dialog_npc_0
1


test_kvest_dialog_npc_1
test_kvest_have
escape_dialog.give_kpk_to_actor
2

test_kvest_dialog_npc_2
dialogs.break_dialog





-=NSM=-
Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
04-12-2010 20:47 GMT3 час. #1393095   
У тя поршни до самих фраз определены.
И зачем два раза в конце фразу закрываешь?


Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
04-12-2010 20:59 GMT3 час. #1393104   
ЭТИ поршни, поставь ПОСЛЕ


test_kvest_have
test_kvest_start



...

А то они у тя хрен знает чем рулят, типа эфиром)


batment
    
Посты: 267
Откуда: Киев
Возраст: 30
04-12-2010 21:02 GMT3 час. #1393105   
Stalk15 я убрал после этого игра вообще не запустилась


-=NSM=-
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
04-12-2010 21:05 GMT3 час. #1393109   
Alex-San
Зачем после ставить? У batment проверки инфопоршней правильно стоят.

batment

test_kvest_have
test_kvest_start


test_kvest_dialog_npc_0
1


test_kvest_dialog_npc_1
test_kvest_have
escape_dialog.give_kpk_to_actor
2

test_kvest_dialog_npc_2
dialogs.break_dialog

--Зачем ты это второй раз пишешь?Убери это.


А игра не запустилась, потому что у тебя фраза 1 соответстующим тегом не закрыта.


Новые фишки для сталкера(см. журнал)
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
04-12-2010 21:13 GMT3 час. #1393115   
Artos, можете показать, как задавать значения в 2-х байт**5001b67681f3126adde4**insert(v,packet:r_u8())
end
return v
end[/code]



batment,
[code]
test_kvest_have
test_kvest_start


test_kvest_dialog_npc_0
1


test_kvest_dialog_npc_1
test_kvest_have
escape_dialog.give_kpk_to_actor
2


test_kvest_dialog_npc_2
dialogs.break_dialog


[/code]


Хочешь работать нормально, работай один!
Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
04-12-2010 21:14 GMT3 час. #1393116   
batment
Ещёбы, тыж первую фразу не закрыл!

Ну ты и косячник)

добавлено спустя 3 минут

Кстатики, давно хотел спросить. Вот текст диалогов, можно напрямую в диалоги писать, вместо ссылок на тексты. Это гораздо удобнее да и работает вроде нормально. Но не черевато ли это чем нибудь нехорошим?

отредактировал(а) Alex-San: 04-12-2010 21:18 GMT3 час.

win win
    
Посты: 258
Откуда: о_О
Возраст: 12
04-12-2010 21:34 GMT3 час. #1393128   
Я отредактировал модель москвича загружаю в сдк...
что надо писать в User data?
надо ли в модель москвича загружать skls?


Мои модельки NEW!


Форумы Архив » Свалка Вопросы и ответы (старое по 29.01.11)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»