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

[CoP] Перенос и создание карт


Halford

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

Vano_Santuri ! По этой ссылке есть ридми и распаковщик олл.спавна,

про вылет при переходе на Темную долину писал выше - vall_fireball добавить,

текстур понадовится несколько - увидишь сам, левел_эдитор - один из основных

редакторов СДК - в нем и создаются уровни - зря с ним до сих пор не подружился.

Вертексы ид есть в олл.спавне(распаковать) а если чтото добавлять то измени

конец файла ui_main_menu.script со строки - 347 на следующее

 

if dik == DIK_keys.DIK_Q then

self:OnMessageQuitWin()

elseif dik==DIK_keys.DIK_W then

self:position_info()

end

 

end

 

return true

end

 

function main_menu:position_info()

local a = db.actor:position()

local vid = db.actor:level_vertex_id()

local gvid = db.actor:game_vertex_id()

local text = "GPS:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid

news_manager.send_tip(db.actor, text, nil, nil, 30000)

end

 

 

 

Дошел до места - нажал Esc затем W опять Esc и скриншот - F12

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

nuklia, все поставил, все работает, просто класс.Теперь можно и карту рисовать, и доводить все до ума. У меня остается только один последний вопрос:

 

1)Бочки в кострах и двери(металлическая облицовка) содержат на себе желтую надпись, только я не пойму что там написано, это твой копирайт?

 

Что-то кончается, что-то начинается...

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

Попробывал подключить новые локи прогой от АМК.

собрать алл.спавн с новыми локами нет возможности:

Строгое предупреждение от модератора Halford
А радикал забанен. И не даром. Используйте другие фотохостинги...

Сообщение от модератора Halford
Обьекты многие нужно переделывать с соответсвиии с ЗПшными.

 

радикал заменить на radikal..

 

и вообще,кто может написать более подробную статью к этой проге? бо некоторые моменты словно в тумане.. :wacko:

Изменено пользователем Halford
Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий

Мне тоже интересны следующие моменты:

 

1) Как определить геймвертексы(вернее, совпадают ли они с левелвертексами).

2)В каких местах коврнуть асдс.рл чтоб прописать новую локу , (записать вертексы и не только).

 

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

 

Что-то кончается, что-то начинается...

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

Vano_Santuri, с помощью ggtool.pl (Там надо раскоментировать строку $gg->show_level_gvids()) section4.bin

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

Открываешь acdc.pl

Там дописываешь себе по типу:

 

use constant levels_info => (

{ gvid0 =>yyyy, }, -- yyy - xxx + количество геймвертексов локи (или значение намного больше просто...)

{ gvid0 => xxx, name => 'твоя_лока' }, -- где xxx - цифра, которую нашел с помощью ggtool.pl

...

{ gvid0 => nnn , name => 'zaton' },

);

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

Теперь такое дело:

добавил кордон от ТЧ,в alife_l01_escape.ltx удалил всё,кроме первого обьекта.прописал появление ГГ на этой локе,но..при старте появляюсь на Затоне,в хз каком месте(хоть не под левелом),рядом этот предмет,что я оставил в alife_l01_escape.ltx..собсно в чём мой гон? что я мог не так сделать?

Сообщение от модератора Halford
Геймвертекс менять нужно.

 

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

Expression    : fatal error
Function      : CInifile::r_string
File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
Line          : 477
Description   : <no expression>
Arguments     : Can't find variable bound_rect in [level_map]

 

кто знает,как исправить?

Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий

В этой штуке [level_map] нет bound_rect этого, надо добавить.

ЗЫ . Я болота допинал, все норм, даже карту уже нарисовал(приклеил к глобальной) .Возможно это от того, что карта от ТЧ.

Что-то кончается, что-то начинается...

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

Vano_Santuri

а что это и где это взять?

прошарил все геймдаты ЗП и ТЧ,но не нашёл этого..

 

всё..догнал :)

Изменено пользователем Halford
Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий

!!!! Может подскажет кто!!!!

Пытаюсь слепить гулаг на Кордоне по типу Скадовска и никак не могу врубиться как правильно

спавнятся эксклюзивные неписи - у меня получается только если их респавнить в смарте

 

[smart_terrain];esc_b1

squad_id = 1

def_restr = esc_b1_sr_noweap

safe_restr = esc_b1_sr_light

smart_control = smart_control

respawn_params = respawn@esc_b1

max_population = 10

arrive_dist = 5

 

[respawn@esc_b1]

spawn_stalker@master

spawn_stalker@trader

spawn_stalker@commander

spawn_stalker@tech

spawn_stalker@barmen

 

[spawn_stalker@master]

spawn_squads = stalker_sim_squad_advanced, stalker_sim_squad_advanced, stalker_sim_squad_veteran

spawn_num = {-zat_b28_heli_3_searched -zat_b100_heli_2_searched -zat_b101_heli_5_searched} 4, 0

 

[spawn_stalker@trader]

spawn_squads = esc_b1_owl_stalker_trader_squad

spawn_num = {-zat_b28_heli_3_searched -zat_b100_heli_2_searched -zat_b101_heli_5_searched} 1, 0

 

[spawn_stalker@commander]

spawn_squads = esc_b1_commander_squad

spawn_num = {-zat_b28_heli_3_searched -zat_b100_heli_2_searched -zat_b101_heli_5_searched} 1, 0

 

[spawn_stalker@tech]

spawn_squads = esc_b1_tech_squad

spawn_num = {-zat_b28_heli_3_searched -zat_b100_heli_2_searched -zat_b101_heli_5_searched} 1, 0

 

[spawn_stalker@barmen]

spawn_squads = esc_b1_barmen_squad

spawn_num = {-zat_b28_heli_3_searched -zat_b100_heli_2_searched -zat_b101_heli_5_searched} 1, 0

 

[smart_control]

noweap_zone = esc_b1_sr_noweap

ignore_zone = esc_b1_sr_light

alarm_start_sound = zat_a2_base_alarm

alarm_stop_sound = zat_a2_base_relax

 

[exclusive]

esc_b1_owl_stalker_trader = escape\esc_b1_owl_stalker_trader.ltx

esc_b1_commander = escape\esc_b1_commander.ltx

esc_b1_tech = escape\esc_b1_tech.ltx

esc_b1_barmen = escape\esc_b1_barmen.ltx

 

 

;generic jobs

esc_b1_guarder_1 = escape\esc_b1_logic.ltx

esc_b1_guarder_2 = escape\esc_b1_logic.ltx

esc_b1_guarder_3 = escape\esc_b1_logic.ltx

 

esc_b1_animp_1 = escape\esc_b1_logic.ltx

esc_b1_animp_2 = escape\esc_b1_logic.ltx

esc_b1_animp_3 = escape\esc_b1_logic.ltx

esc_b1_animp_4 = escape\esc_b1_logic.ltx

esc_b1_animp_5 = escape\esc_b1_logic.ltx

esc_b1_animp_6 = escape\esc_b1_logic.ltx

 

;test jobs

 

 

;Guards

[logic@esc_b1_guarder_1]

active = walker@guarder_1

suitable = {=check_npc_name(sim_default_stalker) =npc_in_zone(esc_b1_sr_noweap) !surge_started} true

prior = 120

 

[walker@guarder_1]

path_walk = guarder_1_walk

path_look = guarder_1_look

on_info = {!actor_enemy =see_actor !npc_in_zone(esc_b1_sr_light) =actor_has_weapon =actor_in_zone(esc_b1_sr_noweap) =dist_to_actor_le(35)} remark@guarder_1

combat_ignore_cond = {=npc_in_zone(esc_b1_sr_light)} true, {=check_enemy_name(bandit)} true, false

out_restr = esc_b1_sr_noweap

in_restr = esc_b1_sr_light

use_camp = false

gather_items_enabled = false

help_wounded_enabled = false

corpse_detection_enabled = false

 

[remark@guarder_1]

anim = threat

target = story | actor

on_info = {-esc_b1_base_guard} %+esc_b1_base_guard =play_sound(esc_b1_base_guard)%

on_game_timer = 75 | walker@guarder_1 %-esc_b1_base_guard%

combat_ignore_cond = {=npc_in_zone(esc_b1_sr_light)} true, {=check_enemy_name(bandit)} true, false

out_restr = esc_b1_sr_noweap

in_restr = esc_b1_sr_light

 

 

 

[logic@esc_b1_guarder_2]

active = walker@guarder_2

suitable = {=check_npc_name(sim_default_stalker) =npc_in_zone(esc_b1_sr_noweap) !surge_started} true

prior = 100

 

[walker@guarder_2]:walker@guarder_1

path_walk = guarder_2_walk

path_look = guarder_2_look

on_info = {!actor_enemy =see_actor !npc_in_zone(esc_b1_sr_light) =actor_has_weapon =actor_in_zone(esc_b1_sr_noweap) =dist_to_actor_le(35)} remark@guarder_2

 

[remark@guarder_2]:remark@guarder_1

on_game_timer = 75 | walker@guarder_2

 

 

 

[logic@esc_b1_guarder_3]

active = walker@guarder_3

suitable = {=check_npc_name(sim_default_stalker) =npc_in_zone(esc_b1_sr_noweap) !surge_started} true

prior = 100

 

[walker@guarder_3]:walker@guarder_1

path_walk = guarder_3_walk

path_look = guarder_3_look

on_info = {!actor_enemy =see_actor !npc_in_zone(esc_b1_sr_light) =actor_has_weapon =actor_in_zone(esc_b1_sr_noweap) =dist_to_actor_le(35)} remark@guarder_3

 

[remark@guarder_3]:remark@guarder_1

on_game_timer = 75 | walker@guarder_3

 

 

;animpoints

 

[logic@esc_b1_animp_1]

active = animpoint@esc_b1_animp_1

suitable = {=check_npc_name(sim_default) =npc_in_zone(esc_b1_sr_noweap)} true

prior = 100

 

[logic@esc_b1_animp_2]

active = animpoint@esc_b1_animp_2

suitable = {=check_npc_name(sim_default) =npc_in_zone(esc_b1_sr_noweap)} true

prior = 90

 

[logic@esc_b1_animp_3]

active = animpoint@esc_b1_animp_3

suitable = {=check_npc_name(sim_default) =npc_in_zone(esc_b1_sr_noweap)} true

prior = 90

 

[logic@esc_b1_animp_4]

active = animpoint@esc_b1_animp_4

suitable = {=check_npc_name(sim_default) =npc_in_zone(esc_b1_sr_noweap)} true

prior = 100

 

[logic@esc_b1_animp_5]

active = animpoint@esc_b1_animp_5

suitable = {=check_npc_name(sim_default) =npc_in_zone(esc_b1_sr_noweap)} true

prior = 100

 

[logic@esc_b1_animp_6]

active = animpoint@esc_b1_animp_6

suitable = {=check_npc_name(sim_default) =npc_in_zone(esc_b1_sr_noweap)} true

prior = 90

 

[meet@esc_b1_animpoint_meet]

close_anim = nil

close_victim = nil

far_anim = nil

far_victim = nil

close_distance = 0

far_distance = 0

use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false

snd_on_use = {!dist_to_actor_le(3)} nil

meet_on_talking = false

 

[animpoint@esc_b1_animp_gen]

reach_movement = walk_noweap

use_camp = true

meet = meet@esc_b1_animpoint_meet

combat_ignore_cond = true

combat_ignore_keep_when_attacked = true

invulnerable = true

out_restr = esc_b1_sr_noweap

gather_items_enabled = false

help_wounded_enabled = false

corpse_detection_enabled = false

 

[animpoint@esc_b1_animp_gen_reach]:animpoint@esc_b1_animp_gen

combat_ignore_keep_when_attacked = false

invulnerable = false

 

 

[animpoint@esc_b1_animp_1]:animpoint@esc_b1_animp_gen_reach

cover_name = esc_b1_animpoint_1

on_info = {=npc_in_zone(esc_b1_sr_light)} animpoint@esc_b1_animp_1_reached

 

[animpoint@esc_b1_animp_2]:animpoint@esc_b1_animp_gen_reach

cover_name = esc_b1_animpoint_2

on_info = {=npc_in_zone(esc_b1_sr_light)} animpoint@esc_b1_animp_2_reached

 

[animpoint@esc_b1_animp_3]:animpoint@esc_b1_animp_gen_reach

cover_name = esc_b1_animpoint_3

on_info = {=npc_in_zone(esc_b1_sr_light)} animpoint@esc_b1_animp_3_reached

 

[animpoint@esc_b1_animp_4]:animpoint@esc_b1_animp_gen_reach

cover_name = esc_b1_animpoint_4

on_info = {=npc_in_zone(esc_b1_sr_light)} animpoint@esc_b1_animp_4_reached

 

[animpoint@esc_b1_animp_5]:animpoint@esc_b1_animp_gen_reach

cover_name = esc_b1_animpoint_5

on_info = {=npc_in_zone(esc_b1_sr_light)} animpoint@esc_b1_animp_5_reached

 

[animpoint@esc_b1_animp_6]:animpoint@esc_b1_animp_gen_reach

cover_name = esc_b1_animpoint_6

on_info = {=npc_in_zone(esc_b1_sr_light)} animpoint@esc_b1_animp_6_reached

 

 

[animpoint@esc_b1_animp_1_reached]:animpoint@esc_b1_animp_gen

cover_name = esc_b1_animpoint_1

 

[animpoint@esc_b1_animp_2_reached]:animpoint@esc_b1_animp_gen

cover_name = esc_b1_animpoint_2

 

[animpoint@esc_b1_animp_3_reached]:animpoint@esc_b1_animp_gen

cover_name = esc_b1_animpoint_3

 

[animpoint@esc_b1_animp_4_reached]:animpoint@esc_b1_animp_gen

cover_name = esc_b1_animpoint_4

 

[animpoint@esc_b1_animp_5_reached]:animpoint@esc_b1_animp_gen

cover_name = esc_b1_animpoint_5

 

[animpoint@esc_b1_animp_6_reached]:animpoint@esc_b1_animp_gen

cover_name = esc_b1_animpoint_6

 

 

 

Получается так, что эквклюзивы спавнятся с большой задержкой,

а симулянты усаживаются по двое в одит анимпоинт.

Вновь прибывающие на территорию гулага не заходят а при выбросе

добегают до гулага и и на входе затем и помирают - короче фигня какаято.

 

Кому интересно - скачайте зародыш мода здесь - около 20 метров

http://www.sendspace.com/file/ljhkzw

 

Строгое предупреждение от модератора n6260
Не надо много "!".
Ссылка на комментарий

Как решить траблу с размытым террайном?

Сообщение от модератора Halford
Компиляция на высоких настройках. Или нет бампов.

 

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

Так если лока от ТЧ(там же на максе компилили) и все файлы есть..? проверял раза 3 точно..

Сообщение от модератора Halford
thm файлы нужно создавать для текстур. В них прописывается бамп...
Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий

а вот добавил я уравни из тч в зп, но проблемы с ландшафтом он убегает всё время что делать???

Сообщение от модератора Halford
Что значит убегает?

Юзаем заглавные буквы...

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

Вопрос связанный с этим тутором: http://stalkerin.gameru.net/wiki/index.php...%D1%82_AMK_Team

 

Это место:

Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник

ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.

 

У меня в ацдц для ЗП нет ggtoll.pl. Может кто кинет? Или это я не догоняю?

 

UPD

 

Всё, разобрался, всё работает. А теперь другой вопрос. В х18 всё фиолетовое. Это решится если я положу текстуры террейна из ТЧ?

 

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

Аннет... Всё равно всё фиолетовое... Какие текстуры нужно доложить?

Сообщение от модератора Halford
Лог не только для вылетов....
Изменено пользователем Halford
Ссылка на комментарий

В логе нет ничего, сам смотрел.

 

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

! Can't find texture 'act\act_ryukzak_2'

! Can't find texture 'corp\corp_urod'

! Can't find texture 'crete\crete_floor4a'

! Can't find texture 'crete\crete_floor_linol'

! Can't find texture 'crete\crete_plitka_oblom'

! Can't find texture 'crete\crete_plitka_qllab'

! Can't find texture 'crete\crete_podval'

! Can't find texture 'crete\crete_pol_t_01'

! Can't find texture 'crete\crete_provoda_cech'

! Can't find texture 'crete\crete_provoda_ql'

! Can't find texture 'crete\crete_provoda_ql_02'

! Can't find texture 'crete\crete_stena_kraska_02a'

! Can't find texture 'crete\crete_stena_kraska_03a'

! Can't find texture 'crete\crete_stena_kraska_03c'

! Can't find texture 'crete\crete_truba_ql'

! Can't find texture 'crete\crete_walls13'

! Can't find texture 'crete\crete_walls_tual_b'

! Can't find texture 'glas\glas_lab'

! Can't find texture 'grnd\grnd_concrete_2'

! Can't find texture 'mtl\mtl_dirki_02'

! Can't find texture 'mtl\mtl_dirki_ql'

! Can't find texture 'mtl\mtl_fence2'

! Can't find texture 'mtl\mtl_fence2n'

! Can't find texture 'mtl\mtl_metall_02_b'

! Can't find texture 'mtl\mtl_ql'

! Can't find texture 'mtl\mtl_refllist_ql'

! Can't find texture 'mtl\mtl_rja_iov_01'

! Can't find texture 'mtl\mtl_tubes3c'

! Can't find texture 'mtl\mtl_wall_j02a'

! Can't find texture 'mtl\mtl_walls14'

! Can't find texture 'mtl\mtl_walls16'

! Can't find texture 'prop\prop_blevotina'

! Can't find texture 'prop\prop_code_1'

! Can't find texture 'prop\prop_door4'

! Can't find texture 'prop\prop_door5'

! Can't find texture 'prop\prop_electricalunit1'

! Can't find texture 'prop\prop_grate2'

! Can't find texture 'prop\prop_grate4'

! Can't find texture 'prop\prop_grate5'

! Can't find texture 'prop\prop_hanglock1'

! Can't find texture 'prop\prop_lift_button'

! Can't find texture 'prop\prop_lift_door'

! Can't find texture 'prop\prop_mus_kont_01a'

! Can't find texture 'prop\prop_plitka_lab'

! Can't find texture 'prop\prop_pult1'

! Can't find texture 'prop\prop_pult2'

! Can't find texture 'prop\prop_socket1'

! Can't find texture 'prop\prop_stupeni_a'

! Can't find texture 'prop\prop_stupeni_b'

! Can't find texture 'prop\prop_table1'

! Can't find texture 'prop\prop_vac'

! Can't find texture 'prop\prop_vac_2'

! Can't find texture 'prop\prop_wheel2_small'

! Can't find texture 'sign\sign_bioh'

! Can't find texture 'sign\sign_voltage2'

! Can't find texture 'ston\ston_beton_iov_dirt_01'

! Can't find texture 'ston\ston_beton_pod_01'

! Can't find texture 'ston\ston_beton_pod_03'

! Can't find texture 'ston\ston_beton_potolok_contrast_iov'

! Can't find texture 'ston\ston_stena_01'

! Can't find texture 'ston\ston_stena_pod_03'

! Can't find texture 'ston\ston_stena_pod_09'

! Can't find texture 'wm\wm_board_a_mask'

! Can't find texture 'wm\wm_danger_a_01'

! Can't find texture 'wm\wm_dirt_01'

! Can't find texture 'wm\wm_dirt_02'

! Can't find texture 'wm\wm_dirt_03'

! Can't find texture 'wm\wm_dirt_04'

! Can't find texture 'wm\wm_entrance_01'

! Can't find texture 'wm\wm_graz1'

! Can't find texture 'wm\wm_graz2'

! Can't find texture 'wm\wm_graz3'

! Can't find texture 'wm\wm_graz4'

! Can't find texture 'wm\wm_moh_iov'

! Can't find texture 'wm\wm_musor_pol1'

! Can't find texture 'wm\wm_musor_pol3'

! Can't find texture 'wm\wm_pl_4'

! Can't find texture 'wm\wm_pl_5'

! Can't find texture 'wm\wm_poteki_iov'

! Can't find texture 'wm\wm_rza_a'

! Can't find texture 'wm\wm_rza_potek'

! Can't find texture 'wm\wm_zhaba1'

Всё, разобрался вроде, теперь попробую всё это добро запихнуть...

 

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

У кого ggtoll под ЗП есть? Или там от ТЧ подойдёт?

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

Раскажите пожалуйста как заспавнить смарт-террайн и сделать респавн НПС в нём

Сюжетное продолжение чистого неба
Зона обр.2010г.
S.T.A.L.K.E.R.-Расширение территорий

 

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

Респаун происходит не в смарте.

 

Добавлено:

А вот здесь http://stalkerin.gameru.net/wiki/index.php/RESPAWN

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

Всем привет! Я конечно понимаю, что я а.....-абарзел, но тем не мение. Пытался разобраться как добавить локу не смог, не допираю. Прошу!!!!! Помогите. Может ли кто нибудь помочь припоять болота к затону. Не молчите. Пишите в ЛС!! Заранее спасибо. Подробности как, куда опишу в ЛС,

Сообщение от модератора n6260
1. Не ленимся.

2. В теме тестовой локи "Предбанник" есть супер-утилита для подключения локаций без компиляции.

3. Мануалы по подключению любым способом на форуме тоже присутствую.

4. А вот за тебя этого делать никто не будет. Скорее всего.

5. Не надо много "!".

Наливайковец.gif
Ссылка на комментарий

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

Строгое предупреждение от модератора Halford
Вас же уже предупреждали, что грамотно писать нужно. Точки не просто так существуют.

Не раз уже говорили о сей проблеме. Бампов вообще нет... Нужно генерить thm файлы.

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

Возьми файлы тереейна, рядом с ним должен лежеть .thm файл, его докидывай вместе с текстурой.

Ссылка на комментарий
Респаун происходит не в смарте.

 

в алиф_затон нет таких секций.

С скомпилированной алл.сп секцией игра не хочет запускаться

валится с логом на 1253 строку smart_terrain.script : if squad_count ~= nil and (self.max_population <= squad_count) then

Сюжетное продолжение чистого неба
Зона обр.2010г.
S.T.A.L.K.E.R.-Расширение территорий

 

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

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

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

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

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

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

Войти

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

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

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