Пользователей: 0
Гостей: 540

» Подробно
Привет, гость!








Автор Сообщение
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 19:34 GMT3 час. #1204097   
frankenshtayn он не может найти текстуру, оружия В 94. Если этот ствол тебе не столь важен, то просто возьми любую другую текстуру из сталкера, ну возьми допустим с названиме wpn_pm.dds переименуй в название v94.dds и положи по пути gamedata\textures\wpn\v94.dds и все. Это замена что бы игра не вылетела. И у тебя правда на этом стволе будет корявая текстура от ПМа, которая расплющится по всему оружию. Но зато не ывлетит. На что похоже это оружие? Может какую текстурку подберем.


STURMTROOPER
    
Посты: 165
Откуда:
Возраст:
23-03-2010 19:35 GMT3 час. #1204098   
В 94, насколько я помню, снайп. винтовка


STURMTROOPER Mod. Reborn.

Смотрим в журнале
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 19:35 GMT3 час. #1204099   
frankenshtayn, а, ты вырезать ствол хочешь? Ну тогда ясно дело. Ты текстуру не вырезал. Возьми текстуру по точно такому же пути и кинь в другую свою гамедату


kingkill
    
Посты: 107
Откуда: Москва
Возраст:
23-03-2010 19:37 GMT3 час. #1204102   
вы че издеваетесь? я прописал то чтоб он мне дал LR300 а сам он стоит с LR300 а мне он выдал ПМ и 40пуль к нему........ блин конкретнее можно?


АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 19:39 GMT3 час. #1204104   
kingkill то тебе надо чтоб стоял, то чтоб выдавал... Правь в escape_dialog.script


Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
23-03-2010 19:54 GMT3 час. #1204126   
kingkill
В escape_dialog.script найди эту стр**5001001a66cf24ce67c0**der, actor)[/code]

Далее есть такие строки:
Код:
[code]
dialogs.relocate_item_section(trader, "wpn_pm", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in") [/code]

в кавычках пишется объект, который выдаст Волк. Т.е. заменяй "wpn_pm" на новый или копируй эту строку и заменяй в ней. Кол-во патронов не указать, одна строка отвечает за одну пачку. Т.е. делай несколько строк с патронами, и будет тебе счастье.


Вопрос #6:
Возможно ли с помощью lua определить кол-во определённых объектов в заданном радиусе?


Вопрос #7:
Как на использование предмета "повесить" функцию?


И все мы ждем чего-то. Работа - дом - работа ©
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 20:00 GMT3 час. #1204132   
Сталкер Монолита , все это писалось, гляди в архиве этой темы. Или в журналах erlik и Singapur22


kingkill
    
Посты: 107
Откуда: Москва
Возраст:
23-03-2010 20:03 GMT3 час. #1204137   
лана мучить не буду вот выделите красным где писать и дамагать вопросами не буду.. вот строки



l version='1.0' encoding="windows-1251"?>



escape_trader_name
ui_npc_u_trader
escape_trader_bio

trader
trader
actors\trader\trader

330
23


[spawn] \n
wpn_knife \n


escape_trader_start_dialog
escape_trader_talk_info
escape_trader_jobs
tm_trader_dialog
tm_trader_reward
escape_trader_done_blockpost_box



esc_wolf_name
ui_npc_u_stalker_neytral_balon_1
esc_wolf_bio

esc_wolf
stalker stalker_terrain

434
5


characters_voice\human_01\stalker\
-1

actors\neytral\stalker_neytral_balon_1

[spawn] \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
wpn_aks74u_sk2 \n
ammo_5.45x39_fmj \n
device_torch \n
hand_radio \n


#include "gameplay\character_criticals_4.xml"

escape_lager_volk_talk
dm_hello_dialog
dm_cool_info_dialog
dm_help_wounded_medkit_dialog
tm_wolf_dialog
tm_wolf_reward


frankenshtayn
    
Посты: 203
Откуда:
Возраст: 53
23-03-2010 20:17 GMT3 час. #1204159   
ЛЮДИ НЕ СУДИТЕ СТРОГО ЧАЙНИКА!! даже мудрейший церь Соломон говорил что все пройдет, ведь мы все там были. Дело в том что я в текстуры ни разу не лазил, откуда ж мне?.. Поставил мод , дошел до припяти и на переходе на тебе здрасьте. А за помощь БЛАГОДАРЮ!


И ЭТО ПРОЙДЕТ...
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
23-03-2010 20:18 GMT3 час. #1204161   
kingkill
Тебе что нужно? Чтоб Волк выдавал или держал ствол?
Если 1, то смотри мой пост выше, а если 2 то тебе АнархОПанк уже всё объяснил!


И все мы ждем чего-то. Работа - дом - работа ©
STURMTROOPER
    
Посты: 165
Откуда:
Возраст:
23-03-2010 20:22 GMT3 час. #1204168   
kingkill
Ищешь в геймдате файл escape_dialog.script, открываешь его блокнотом и весь текст меняешь на этот:
--------------------------------------------------------------------------------------------------------
-- Dialog & InfoPortions Function
--------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------
-- Trader
--------------------------------------------------------------------------------------------------------
function trader_alredy_give_job(trader, actor)
if (has_alife_info("agroprom_military_case") and not has_alife_info("agroprom_military_case_done")) or
(has_alife_info("escape_blockpost_case") and not has_alife_info("escape_blockpost_case_done")) or
(has_alife_info("tutorial_artefact_start") and not has_alife_info("tutorial_artefact_done")) or
(has_alife_info("tutorial_wounded_start") and not has_alife_info("esc_serious_talk"))
then
return true
end
return false
end

function trader_give_extra_job(trader, actor)
local actor = db.actor
if has_alife_info("escape_blockpost_case") and not has_alife_info("escape_blockpost_case_done")
then
return true
end
return false
end

function bandits_die(actor,npc)
local actor = db.actor
if has_alife_info("esc_kill_bandits_quest_kill") and not has_alife_info("esc_kill_bandits_noquest_kill")
then
return true
end
return false
end

function trader_need_extra_job(trader, actor)
if not has_alife_info("escape_blockpost_case") and
has_alife_info("esc_return")
then
return true
end
return false
end

function is_tutorial()
return not has_alife_info("tutorial_end")
end

function is_not_tutorial()
return has_alife_info("tutorial_end")
end

function is_not_tutorial_art(actor, trader)
local tutorial_artefact = db.actor:object("af_blood_tutorial")
if (has_alife_info("tutorial_artefact_start") and not has_alife_info("tutorial_artefact_done")
and tutorial_artefact ~= nil) or has_alife_info("tutorial_artefact_done")
then
return true
end
return false
end

function not_final_job(trader, actor)
local actor = db.actor
return not has_alife_info("escape_blockpost_case_done")
end

function trader_test(actor, npc)
printf ("!!!!!")
return true
end



function trader_dont_give_job(first_speaker, second_speaker)
return not trader_alredy_give_job(first_speaker, second_speaker)
end

function finalize_quests(first_speaker, second_speaker)
if tutorial_artefact_end(first_speaker, second_speaker) == true or
tutorial_wounded_end(first_speaker, second_speaker) == true
then
return true
end
return false
end

function not_finalize_quests(first_speaker, second_speaker)
return not this.finalize_quests(first_speaker, second_speaker)
end

function tutorial_artefact_end(first_speaker, second_speaker)
local actor = db.actor
local tutorial_artefact = first_speaker:object("af_blood_tutorial")
if has_alife_info("tutorial_artefact_start") and
not has_alife_info("tutorial_artefact_done") and
tutorial_artefact ~= nil
then
return true
end
return false
end

function tutorial_artefact_have_not(first_speaker, second_speaker)
local actor = db.actor
local tutorial_artefact = first_speaker:object("af_blood_tutorial")
if has_alife_info("tutorial_artefact_start") and
not has_alife_info("tutorial_artefact_done") and
tutorial_artefact == nil
then
return true
end
return false
end

function tutorial_wounded_end(first_speaker, second_speaker)
local actor = db.actor
-- local wounded_flash = first_speaker:object("esc_wounded_flash")
if has_alife_info("tutorial_wounded_start") and
has_alife_info("tutorial_wounded_give_info") and
not has_alife_info("esc_serious_talk")
-- and wounded_flash ~= nil
then
return true
end
return false
end

function trader_dont_has_job(first_speaker, second_speaker)
if trader_need_military_case(first_speaker, second_speaker) == false and
trader_need_blockpost_box(first_speaker, second_speaker) == false
then
return true
end
return false
end


--' Escape tutorial artefact
function have_tutorial_artefact(first_speaker, second_speaker)
return first_speaker:object("af_blood_tutorial") ~= nil
end
function give_medkit(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "medkit", "in")
end
function give_tutorial_artefact(first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "af_blood_tutorial", "out")
end


--' Meet fox
function have_fox_info(first_speaker, second_speaker)
return first_speaker:object("fox_flash") ~= nil
end

--' fox help

function transfer_medikit_to_fox (player, wounded)
wounded:set_relation(game_object.friend, player)
db.actor:give_info_portion("escape_fox_heal")
end

function give_weapon_to_actor (trader, actor)
dialogs.relocate_item_section(trader, "wpn_knife", "in")
dialogs.relocate_item_section(trader, "bandage", "in")
dialogs.relocate_item_section(trader, "medkit_army", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "ammo_5.56x45_ss190", "in")
dialogs.relocate_item_section(trader, "scientific_outfit", "in")
dialogs.relocate_item_section(trader, "wpn_lr300", "in")
dialogs.relocate_item_section(trader, "bandage", "in")
dialogs.relocate_item_section(trader, "bandage", "in")
end


--' Escape blockpost box
function have_blockpost_case(first_speaker, second_speaker)
return first_speaker:object("quest_case_01") ~= nil
end


function give_blockpost_case(first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "quest_case_01", "out")
end

function give_blockpost_case_reward(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 2000, "in")
end

--' Agroprom military case
function trader_need_military_case(first_speaker, second_speaker)
if has_alife_info("esc_serious_talk") and
not has_alife_info("agroprom_military_case")
then
return true
end
return false
end

--' Escape trader artefact
function have_artefact_from_fleshes(first_speaker, second_speaker)
local actor = db.actor
if actor ~= nil and
(actor:object("af_vyvert") ~= nil or
actor:object("af_gravi") ~= nil or
actor:object("af_gold_fish") ~= nil)
then
return true
end
return false
end


--' Ящик с блокпоста
function trader_need_blockpost_box(first_speaker, second_speaker)
if has_alife_info("tutorial_end") and
has_alife_info("esc_trader_speak") and
not has_alife_info("escape_blockpost_case")
then
return true
end
return false
end

--' tutorial wounded in vagon
function wounded_need_help(first_speaker, second_speaker)
local actor = db.actor
return actor ~= nil and not has_alife_info( "tutorial_wounded_help" )
end

--' trader needs military documents
function trader_need_military_document(first_speaker, second_speaker)
if has_alife_info("escape_blockpost_case_done") and
not has_alife_info("agroprom_military_case")
then
return true
end
return false
end

--' trader dialog about docs from labx18
function actor_has_documents (actor, npc)
if actor:object("dar_document4") then
return true
else
return false
end
end

--' Escape dynamite for Wolf
function transfer_wolf_reward(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "af_medusa", "in")
end

function wolf_additional_reward(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "medkit", "in")
dialogs.relocate_item_section(first_speaker, "bandage", "in")
dialogs.relocate_item_section(first_speaker, "wpn_fort", "in")
dialogs.relocate_item_section(first_speaker, "grenade_f1", "in")
dialogs.relocate_item_section(first_speaker, "ammo_9x18_fmj", "in")
end


--' Escape Wounded's flash
function wounded_give_flash(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "esc_wounded_flash", "in")
end

function have_wounded_flash(first_speaker, second_speaker)
return first_speaker:object("esc_wounded_flash") ~= nil
end
function dont_have_wounded_flash(first_speaker, second_speaker)
return not have_wounded_flash(first_speaker, second_speaker)
end

function give_wounded_flash(first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "esc_wounded_flash", "out")
dialogs.relocate_money(second_speaker, 1500, "in")
end

function give_knife_to_actor(first_speaker, second_speaker)
dialogs.relocate_item_section(first_speaker, "wpn_knife", "in")
end

--' Escape bandits factory
function give_factory_reward_trader(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 500, "in")
end

--' Give X-18 documents read

function give_documents_reward (first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 1000, "in")
end


--' Kill killers raid
function give_reward_killers(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, 2500, "in")
end


--' Soldiers on bridge
function has_soldiers_bribe(actor, npc)
return actor:money() >= 500
end

function give_soldiers_bribe(actor, npc)
dialogs.relocate_money(npc, 500, "out")
end

function fox_pay_money(actor, npc)
dialogs.relocate_money(npc, 1500, "in")
treasure_manager.get_treasure_manager():give_treasure("esc_secret_truck_goods")
end

function run_tutorial_pda(first_speaker, second_speaker)
printf("!-!-!")
first_speaker:stop_talk()
second_speaker:stop_talk()
game.start_tutorial("part_1_pda")
end

function wolf_precond_univ (actor, npc)
return has_alife_info("esc_kill_bandits_quest_done") or (has_alife_info("tutorial_wounded_give_info") and not has_alife_info("esc_kill_bandits_quest_have"))
end

Волк выдает лр-300, кучу патронов к нему, бинты, армейские аптечки и нож. ПМ не выдает


STURMTROOPER Mod. Reborn.

Смотрим в журнале
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 20:33 GMT3 час. #1204189   
frankenshtayn что-то не понял. Ну, ты не лазил в текстуры. Ты переходишь в Припять и ???? Дальше что?

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

kingkill ты - определись. Что тебе надо, чтобы волк был с ЛР300, или что бы тебе выдавали!!!

отредактировал(а) АнархОПанк: 23-03-2010 20:34 GMT3 час.

kingkill
    
Посты: 107
Откуда: Москва
Возраст:
23-03-2010 20:49 GMT3 час. #1204216   
емае что так сложно понять?????? я же ясно писал чтоб он выдавал!!!!!


STURMTROOPER
    
Посты: 165
Откуда:
Возраст:
23-03-2010 20:53 GMT3 час. #1204222   
kingkill смотри мой предыдущий пост


STURMTROOPER Mod. Reborn.

Смотрим в журнале
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 20:57 GMT3 час. #1204229   
kingkill , не надо писать, так. Мы тебе помогаем и на этом спасибо нам. Прошу без восклицательных знаков и слов таких будто мы тупые. Просто не так форулируешь вопрос. Не понятно че хочешь че не хочешь. Тебе по нескольку раз объяснили.

отредактировал(а) АнархОПанк: 23-03-2010 21:03 GMT3 час.

erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 48
23-03-2010 21:11 GMT3 час. #1204256   
Сталкер Монолита
Скрипт на использование - выкладывал два


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
frankenshtayn
    
Посты: 203
Откуда:
Возраст: 53
23-03-2010 21:13 GMT3 час. #1204261   
АнархОПанк А дальше вылетаю на рабочий стол. Взял текстуру от СВД переименовал, вставил, эффект тот же лог тот же. Неужели я безнадежен?


И ЭТО ПРОЙДЕТ...
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 21:18 GMT3 час. #1204270   
frankenshtayn все с тем же логом???


vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 35
23-03-2010 21:33 GMT3 час. #1204308   
Люди, здравствуйте.
1)Вот при создании нового предмета (будь то оружие или аптечка или вода) на основе старого ОБЯЗАТЕЛЬНО ЛИ копировать и переименовать текстуру(ы) старого предмета? Если я создаю новый автомат АК-101 (как в Новой Войне) можно обойтись лишь переделыванием конфига, или придется копировать текстуру АК-74 и переименовать ее в АК-101, а потом еще переписать пути к текстуре в конфиге?


2)Как написать скрипт, не только спавнящий объекты в инвентарь, но и удаляющий их оттуда при использовании предмета?


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
STURMTROOPER
    
Посты: 165
Откуда:
Возраст:
23-03-2010 21:39 GMT3 час. #1204323   
vhodnoylogin
1) да, нужно переименовывать модель и текстуру


STURMTROOPER Mod. Reborn.

Смотрим в журнале
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 21:46 GMT3 час. #1204337   
vhodnoylogin Нет. Все гораздо проще. Если я тебя правильно понял, то гляди:

1) Оружие:

gamedata\config\weapons\w_ak74.ltx копируешь этот файл, переименовывая его в w_ak101. Затем в этой же папке находишь файл weapons.ltx, открываешь его, и в начале, увидишь списки оружия, в начале документа. А ты, файл оружия, можешь прописать хоть в середину документа, пишешь #include "w_ak101.ltx" все, как в принципе, оружие сделано. Осталось прописать в mp_ranks (Что бы когда выкидываешь его, игра не вылетала, и что бы можно было дать НПС без вылета). Правишь конфиги, по своему желанию. Туторов по редакции оружия куча. google рулит. Ну и все, даешь торговцам и НПС. Будет старая модель, и старая текстура, другой конфиг. Можешь пррописать другие патроны, НАТО например. Хотя такая работа с оружием - прошлый век. Сейчас уже давно новые модели, к оружию. Намного респектабельнее.

2) Предметы:

gamedata\config\misc\items.ltx открываешь, копируешь секцию, допустим аптечки, вставляешь в конец. Переименовываешь как нужно, допустим my_korobka. Меняешь конфиги под себя, опять же, что за что отвечает ищи в туторах по редакции итемсов, сохраняй. Все, раздавай торговцам, в тайники. Будет аптечка, но с другими свойствами.

З.Ы: Так же, не забудь описание к ним новое, а то у тебя ак 101 будет использовать описание АК 74, пока не изменишь. Анологичо с предметами.

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

STURMTROOPER не обязательно, и на основе старого, просто правкой конфигов делается, не тумань парню голову:st)

vhodnoylogin когда предмет используешь, он и так удаляется из инвентаря

отредактировал(а) АнархОПанк: 23-03-2010 21:47 GMT3 час.

Struck
    
Посты: 1946
Откуда:
Возраст:
23-03-2010 21:50 GMT3 час. #1204345   
vhodnoylogin

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


Снова в строю.

l
STURMTROOPER
    
Посты: 165
Откуда:
Возраст:
23-03-2010 21:52 GMT3 час. #1204348   
АнархОПанк у ак-101 совершенно другой внешний вид, чем у ак-74. Так что если менять текстуру, то надо скопировать модель ак-74 и переименовать в ак-101, т.к. текстуры привязаны к модели, то надо их тоже переименовать. Хотя проще взять и скачать готовый мод с ак-101 и взять его оттуда


STURMTROOPER Mod. Reborn.

Смотрим в журнале
Struck
    
Посты: 1946
Откуда:
Возраст:
23-03-2010 21:52 GMT3 час. #1204349   
АнархОПанк а оружие?


Снова в строю.

l
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 21:54 GMT3 час. #1204354   
Struck что

а оружие?
??????

добавлено спустя 48 секунд

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

отредактировал(а) АнархОПанк: 23-03-2010 21:55 GMT3 час.

Struck
    
Посты: 1946
Откуда:
Возраст:
23-03-2010 21:57 GMT3 час. #1204356   
АнархОПанк оружие при использовании не удаляется а ставится в слот, конечно если перегрев не предусматривается


Снова в строю.

l
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 21:58 GMT3 час. #1204358   
Struck А. Нет, я думаю, он имеет ввиду итемсы, аптечку заюзал - ее нет.


STURMTROOPER
    
Посты: 165
Откуда:
Возраст:
23-03-2010 22:00 GMT3 час. #1204361   
АнархОПанк с этим не спорю, но ак-101 и ак-74 совершенно разные внешне


STURMTROOPER Mod. Reborn.

Смотрим в журнале
Struck
    
Посты: 1946
Откуда:
Возраст:
23-03-2010 22:01 GMT3 час. #1204364   
STURMTROOPER ежу понятно, 101ый на абакан больше похож


Снова в строю.

l
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
23-03-2010 22:01 GMT3 час. #1204366   
STURMTROOPER ну так, а это при чем? Он не спрашивает, разные они или нет? Он спросил, можно ли сделать новое оружие, на одной лишь правке конфига. Я отвечаю, что можно. А разные они внешне или нет, его видемо не интересует, раз он спрашиват другое.




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


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

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