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

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


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

Gonarh, ооочень спасибо))Родина вас не забудет.

 

FATAL ERROR

[error]Expression : assertion failed
[error]Function : CUILine::GetLength_inclusiveWord_1
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UILine.cpp
[error]Line : 410
[error]Description : pos.word_1.exist()

 

и

 

stack trace:

001B:039DD4A8 xrGame.dll
001B:00906D9D XRLUA.DLL, luabind::detail::get_class_name()
001B:0090BCFD XRLUA.DLL, luabind::detail::class_rep::function_dispatcher()
001B:008F1B85 XRLUA.DLL, luaopen_io()

 

Никто не знает почему такие логи бывают?

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

то Monnoroch

не уверен но возможно следуещее:

1-й баг:

судя по именам исходников - где то косяк в xml файле формирующий интерфейс инвентаря,

и диалоговых окон и т.д.

2-й баг:

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

а смысл?

:offtopic:

смысл в том, что с помощью этой фичи устранен баг оригинальной игры касательно выдачи пустых тайников, кто в теме тот поймет

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

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

 

Подскажите, я правильно понимаю - полосатые матрасы прибиты к геометрии уровня? Если да, существует ли уже где-то отдельная модель матраса, для спавна через all.spawn или скриптом?

---------------------------------

www.amk-zone.de

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

чушь, перерыл папку с огф-ками модели матраса нет,

для спавна нужна не модель, а ИД предмета

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

вся загвоздка в том что такой модели в распакованном сталкере нету

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий
вся загвоздка в том что такой модели в распакованном сталкере нету

 

Вот потому я и спрашиваю - может кто уже делал отдельную модель?

---------------------------------

www.amk-zone.de

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

Спасибо за ответы, очень помогли. Помогите, плиз, проблемка появилась.

 

Стоит Народная Солянка от 26.04.09 + Chapel'nik1.2 от 29.04.09 + Monnoroch's & Zeka addons 1.1 и еще какой-то погодный патч к Monnoroch's & Zeka addons. Дошол до тайника Стрелка, беру его флешку - вылет без лога. Лог-файл пуст. От чего такие вылеты могут быть? Причем нигде больше ни вылетов, ни глюков нет!

 

И еще, небольшой необязательный вопросик - никак нельзя подобрать с земли брошенную гранату (которая еще не взорвалась, времени до взрыва много)?

travka.giftravka.giftravka.giftravka.giftravka.gif

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

на просторах тырнета нашол 3 аномалии(хваталка, студень и лиана), лежат тут

они спавнятся через аллспавн, они нормально показываются и работают,

попытался заспавнить вот так:

local pos = vector():set(64.675399780273, 1.6904023885727, 79.854629516602)

alife():create("zone_ameba1", pos, 353204, 161)

 

 

FATAL ERROR

[error]Expression : motion_ID.valid()

[error]Function : CKinematicsAnimated::ID_Cycle

[error]File : E:\stalker\patch_1_0004\xr_3da\SkeletonAnimated.cpp

[error]Line : 121

[error]Description : ! MODEL: can't find cycle:

[error]Arguments :

 

судя по ошибке - неможет найти какую-то анимацию, поковырявшись в acdc.pl

вычислил что это вовсе не аномалия класса se_zone_anom

а какая то визуальная зона cse_alife_zone_visual в которой

присутствуют

{ name => 'idle_animation', type => 'sz', default => '' }, # 0x120

{ name => 'attack_animation', type => 'sz', default => '' }, # 0x128

 

я так понял, что при спавне должны быть выставлены эти поля, декомпилировав аллспавн

пошарившись вычислил что жгучий пух - тоже самое, вот что нашол в

аллспавне в Темной Долине

[2922]

; cse_abstract properties

section_name = zone_burning_fuzz1

name = val_zone_burning_fuzz0003

position = -7.07661247253418,6.60633563995361,-119.946586608887

direction = 0,0,0

 

; cse_alife_object properties

game_vertex_id = 874

distance = 11.8999996185303

level_vertex_id = 165775

object_flags = 0xffffff3e

 

; cse_shape properties

shapes = shape0,shape1

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 0.699400067329407

shape1:type = box

shape1:axis_x = 3.29319977760315,0,0

shape1:axis_y = 0,14.3379983901978,0

shape1:axis_z = 0,0,3.29319977760315

shape1:offset = 0.0106582641601563,-7.09782314300537,0.024749755859375

 

; cse_alife_space_restrictor properties

restrictor_type = 0

 

; cse_alife_custom_zone properties

max_power = 300

 

; cse_alife_anomalous_zone properties

offline_interactive_radius = 30

artefact_spawn_count = 32

artefact_position_offset = 0x3ef2

 

; cse_visual properties

visual_name = physics\anomaly\topolinypuh

 

; cse_alife_zone_visual properties

idle_animation = idle

attack_animation = idle

; se_zone_visual properties

 

то есть жгучий пух тоже как бы не аномалия а визуальная зона?

кто знает, как заспавнить эти аномалии через alife:create(... ??? :unsure:

[добавлено]

кстати, щас попробовал заспавнить пух - аналогичный вылет

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Помогите пожалуйста! help.gif

Подключил новую локу. Хотел создать логику. В алайфе создал смарт, пару персов. В вэй пути. Для начала логику персам прописал в алайфе. Всё работает, они делают как я сказал. Потом решил вынести логику в скрипт и ltх(статический). Прописал всё как и всегда. В скрипте загрузку работ, состояния гулага, чекНПС, лтх = nil. Загружаю, появляюсь на локе, и картинка зависает. Спасает только ребут.

 

Да, новые файлы я прописал в gulag_tasck.ltx и хr_gulag.script

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

Gonarh, спасибо.

Только вот что: я ща закрыл антивирут и еще кучу процессов.Начал новую игру и снова дошел до этого места.

Тот же вылет.

Вылет при взятии флешки стрелка(все правильно,по сюжету,я перепроверял)

Так же: вылет у всех,не только у меня,на одном и том же месте.

Нет идей?

 

Кстати,если разберешься как спавнить скриптом эти анамалии - расскажи,ато мне самому хочется,а acdc на висте тупит.

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

Привет всем! Может не в ту тему но все же. Киньте пожалуйста файлик Actor (оригинальный без посторонних вмешательств) а то я всоем накрутил...а как все было изначально уже не помню. Заранее спасибо.

Ссылка на комментарий
А как технически перевести объект из онлайна в оффлайн и обратно? Как-то уже интересовался этим вопросом, но ответа так и не нашел.

в запихачить в оффлайн

в онлайн - соответсвенно

Могу ещё добавить, что на возможность убрать предмет в онлайн/оффлайн влияют функции can_switch_offline и can_switch_online, которые являются методами всех классов, унаследованных от cse_alife_object. Эти методы можно перегрузить, что и сделано для некоторых классов (в частности для сталкеров и монстров). Если эти функции возвращают false, то соответствующее действие не получится.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Ximik

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

[actor_terrain]

255,255,000,255

 

[actor]:common_ph_friction_params_on_npc_death

GroupControlSection = spawn_group

$spawn = "actor"

$ed_icon = ed\ed_actor

$player = on

$prefetch = 16

cform = skeleton

class = O_ACTOR

money = 40;

rank = 3;

script_binding = bind_stalker.actor_init

visual = actors\hero\stalker_novice.ogf

destroyed_vis_name = physics\Dead_Body\skelet_crash

 

terrain = actor_terrain

 

max_item_mass = 50.0

jump_speed = 6.

crouch_coef = 0.45

climb_coef = 0.7

run_coef = 2.1

sprint_koef = 2.6

run_back_coef = 1.8

walk_back_coef = 0.8

air_control_param = 0.1

walk_accel = 17

 

;радиус в котром над предметами выводятся их названия

pickup_info_radius = 5 ;3

 

ef_creature_type = 17 ; option for evaluation functions

 

; attach params

attachable_items = device_torch,attachable_item,hand_radio

 

ph_box0_center = 0.0, 0.9, 0.0

ph_box0_size = 0.35, 0.9, 0.35

ph_box1_center = 0.0, 0.75, 0.0

ph_box1_size = 0.35, 0.75, 0.35

ph_box2_center = 0.0, 0.6, 0.0

ph_box2_size = 0.35, 0.6, 0.35

stalker_restrictor_radius = .55;0.55;0.75;0.9

stalker_small_restrictor_radius = .55;

medium_monster_restrictor_radius = 0.1

ph_crash_speed_min = 14

ph_crash_speed_max = 30

ph_collision_damage_factor = 1.0

ph_mass = 80

 

weapon_bone0 = bip01_r_finger1

weapon_bone1 = bip01_l_finger1

weapon_bone2 = bip01_r_finger11

 

damage = actor_damage

 

hit_probability_gd_novice = 0.20

hit_probability_gd_stalker = 0.30

hit_probability_gd_veteran = 0.40

hit_probability_gd_master = 0.50

hit_sounds = actor_hit_snds

;actor condition

 

immunities_sect = actor_immunities_gd_master

condition_sect = actor_condition

 

heavy_breath_snd = actor\breath_1 ;звук тяжелого дыхания при усталости

heavy_blood_snd = affects\heartbeat; heart\8

 

material = creatures\actor

camera_height_factor = 0.85

 

 

;дисперсия стрельбы с учетом ходьбы и бега

disp_base = 0.8 ;угол (в градусах) разлета пуль, когда актер стоит на месте

disp_aim = 0.04

disp_vel_factor = 2.0 ;на сколько увеличится дисперсия при скрости в 10 м/с (не обязательно при беге)

disp_accel_factor = 2.0 ;еще на сколько увеличится, если актер бежит (+ скорость)

disp_crouch_factor = -0.2 ;уменьшение если актер сидит

disp_crouch_no_acc_factor = -0.4 ;уменьшение если актер сидит + no acceleration

;disp_jump_factor = 2.0

 

missile_throw_offset = 0.3, 0.5, 0.5

 

body_remove_time = 60000 ;время уничтожения трупа (с учетом TimeFactor)

 

sleep_time_factor = 1000 ;400 ;во сколько раз время идет быстрее, когда актер спит

max_sleep_hours = 12

;species of monster

species = actor

 

 

;---STEP MANAGER------------------------------------------------------

LegsCount = 2

step_params = stalker_step_manager

foot_bones = stalker_foot_bones

 

memory_update_time = 100

 

; visibility parameters

DynamicObjectsCount = 32

min_view_distance = 1.0 ; коэффициент, который множится на eye_range, в зависимости от угла

max_view_distance = 1.0 ; коэффициент, который множится на eye_range, в зависимости от угла

visibility_threshold = 1.0 ; значение, при достижении суммой которого объект считается видимым

always_visible_distance = 1.0

time_quant = 0.005

decrease_value = 0.1 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам

velocity_factor = 0.5

luminocity_factor = 0.5;0 ; фактор освещения (только для Актёра)

transparency_threshold = 0.4 ; 0.25

still_visible_time = 5000 ; время, которое объект всё ещё считается видимым, даже если он уже не во фрустуме

 

[actor_immunities_gd_novice]

burn_immunity = 0.5 ;коэффициенты иммунитета

strike_immunity = 0.5

shock_immunity = 0.5

wound_immunity = 0.5

radiation_immunity = 0.5

telepatic_immunity = 0.5

chemical_burn_immunity = 0.5

explosion_immunity = 0.1

fire_wound_immunity = 0.5

 

 

[actor_immunities_gd_stalker]

burn_immunity = 0.65 ;коэффициенты иммунитета

strike_immunity = 0.65

shock_immunity = 0.65

wound_immunity = 0.65

radiation_immunity = 0.65

telepatic_immunity = 0.65

chemical_burn_immunity = 0.65

explosion_immunity = 0.3

fire_wound_immunity = 0.65

 

[actor_immunities_gd_veteran]

burn_immunity = 0.8 ;коэффициенты иммунитета

strike_immunity = 0.8

shock_immunity = 0.8

wound_immunity = 0.8

radiation_immunity = 0.8

telepatic_immunity = 0.8

chemical_burn_immunity = 0.8

explosion_immunity = 0.6

fire_wound_immunity = 0.8

 

[actor_immunities_gd_master]

burn_immunity = 1.0 ;коэффициенты иммунитета

strike_immunity = 1.0

shock_immunity = 1.0

wound_immunity = 1.0

radiation_immunity = 1.0

telepatic_immunity = 1.0

chemical_burn_immunity = 1.0

explosion_immunity = 1.0

fire_wound_immunity = 1.0

 

[actor_condition]

satiety_v = 0.000015 ;скорость уменьшения сытости со временем

radiation_v = 0.0001 ;скорость уменьшения радиации

satiety_power_v = 0.000055 ;увеличение силы при уменьшении сытости

satiety_health_v = 0.0001 ;увеличение здоровья при уменьшении сытости

satiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться

radiation_health_v = 0.004 ;уменьшение здоровья при воздействии радиации

morale_v = 0.0001 ;скорость восстановления морали

psy_health_v = 0.001 ;скорость восстановления psy-здоровья

alcohol_v = -0.0003

health_hit_part = 1.0 ;процент хита, уходящий на отнимание здоровья

power_hit_part = 0.1 ;процент хита, уходящий на отнимание силы

max_power_leak_speed = 0.0 ;накопление усталости (макс граница, до которой восстанавливается сила) в секунду игрового времени

max_walk_weight = 60

 

bleeding_v = 0.0005 ;потеря крови при номинальной ране в секунду

wound_incarnation_v = 0.003 ;скорость заживления раны

min_wound_size = 0.0256 ;минимальный размер раны, после которого она считается зажившей

 

;--when actor in sleep

satiety_v_sleep = 0.00001

radiation_v_sleep = 0.0003

satiety_power_v_sleep = 0.0001

satiety_health_v_sleep = 0.00001

radiation_health_v_sleep = 0.001

morale_v_sleep = 0.0

psy_health_v_sleep = 0.0

 

alcohol_v_sleep = -0.0005

 

bleeding_v_sleep = 0.0

wound_incarnation_v_sleep = 0.0

max_power_leak_speed_sleep = -0.00001;

;health_restore_v = 0.0001

 

;;;;;;;;

;actor_condition only

 

jump_power = 0.01 ;0.005 ;умешьшение силы с прыжком без учета веса ноши

jump_weight_power = 0.05 ;0.045 ;умешьшение силы с прыжком с учетом веса ноши, для максимального допустимого веса

overweight_jump_k = 5;10 ;10 ;коэффициент влияние перегрузки прыжок с весом (умножается на jump_weight_power)

 

stand_power = -0.005

walk_power = 0.00001 ;умешьшение силы за секнду во время ходьбы без учета веса ноши

walk_weight_power = 0.00005; ;умешьшение силы за секнду во время ходьбы с учетом веса ноши, для максимального допустимого веса

overweight_walk_k = 5;9 ;10 ;коэффициент влияние перегрузки ноши (умножается на walk_weight_power)

accel_k = 3;5 ;коэффициент на бег (умножается walk_power, walk_weight_power)

sprint_k = 75;150;185;180;200; ;коэффициент на "sprint" бег (умножается walk_power, walk_weight_power)

 

; хромота

limping_health_begin = 0.1 ;порог здоровья меньше которого актер начинает хромать

limping_health_end = 0.2 ;порог здоровья больше которого актер перестает хромать

limping_power_begin = 0.1 ;порог силы меньше которого актер начинает хромать

limping_power_end = 0.2 ;порог силы больше которого актер перестает хромать

use_limping_state = on

 

cant_walk_power_begin = 0.01 ;порог силы меньше которого актер не может двигаться

cant_walk_power_end = 0.10 ;порог силы больше которого актер сможет двигаться

 

cant_sprint_power_begin = 0.20 ;порог силы меньше которого актер не может бежать в спринте

cant_sprint_power_end = 0.30 ;порог силы больше которого актер сможет бежать в спринте

 

can_sleep_callback = dream.can_sleep_callback

sleep_video_name_callback = dream.sleep_video_name_callback

 

[actor_damage]

;bone_name = <hit_scale>,<fwd_damage_anim_index>,<wound_scale>

;<hit_scale> - коэфф. изменения хита (уменьшения здоровья)

;<wound_scale> - коэфф. изменения величины открытой раны

;-1 - нет анимаций, четный номер - спереди, нечетный номер - сзади, УКАЗЫВАЕТСЯ ТОЛЬКО ПЕРЕДНИЙ!!! ЗАДНИЙ НА АВТОМАТЕ

default = 1.0, -1, 1.0

 

bip01_pelvis = 1.0, 10, 1.5

bip01_spine = 1.0, 10, 1.5

bip01_spine1 = 1.0, 0, 1.5

bip01_spine2 = 1.0, 0, 1.5

bip01_neck = 1.0, 0, 1.5

bip01_head = 0.2, 0, 1.5

eyelid_1 = 0.0, 0, 0.0

eye_left = 0.0, 0, 0.0

eye_right = 0.0, 0, 0.0

jaw_1 = 0.0, 0, 0.0

 

bip01_l_clavicle = 1.0, 4, 1.5

bip01_l_upperarm = 1.0, 4, 1.5

bip01_l_forearm = 1.0, 4, 1.5

bip01_l_hand = 1.0, 4, 0.5

bip01_l_finger0 = 0.0, 4, 0.0

bip01_l_finger01 = 0.0, 4, 0.0

bip01_l_finger02 = 0.0, 4, 0.0

bip01_l_finger1 = 0.0, 4, 0.0

bip01_l_finger11 = 0.0, 4, 0.0

bip01_l_finger12 = 0.0, 4, 0.0

bip01_l_finger2 = 0.0, 4, 0.0

bip01_l_finger21 = 0.0, 4, 0.0

bip01_l_finger22 = 0.0, 4, 0.0

 

bip01_r_clavicle = 1.0, 2, 1.5

bip01_r_upperarm = 1.0, 2, 1.5

bip01_r_forearm = 1.0, 2, 1.5

bip01_r_hand = 1.0, 2, 0.0

bip01_r_finger0 = 0.0, 2, 0.0

bip01_r_finger01 = 0.0, 2, 0.0

bip01_r_finger02 = 0.0, 2, 0.0

bip01_r_finger1 = 0.0, 2, 0.0

bip01_r_finger11 = 0.0, 2, 0.0

bip01_r_finger12 = 0.0, 2, 0.0

bip01_r_finger2 = 0.0, 2, 0.0

bip01_r_finger21 = 0.0, 2, 0.0

bip01_r_finger22 = 0.0, 2, 0.0

 

bip01_l_thigh = 1.0, 8, 1.5

bip01_l_calf = 1.0, 8, 1.5

bip01_l_foot = 1.0, 8, 1.5

bip01_l_toe0 = 1.0, 8, 1.5

bip01_r_thigh = 1.0, 6, 1.5

bip01_r_calf = 1.0, 6, 1.5

bip01_r_foot = 1.0, 6, 1.5

bip01_r_toe0 = 1.0, 6, 1.5

 

[actor_animation]

;углы дворота ног актера во время стрейфов (в градусах)

fwd_l_strafe_yaw = 45

back_l_strafe_yaw = 45

fwd_r_strafe_yaw = 45

back_r_strafe_yaw = 45

l_strafe_yaw = 0

r_strafe_yaw = 0

 

 

[actor_hit_snds]

burn =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4

shock =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4

strike =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4

wound =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4

radiation =monsters\biting\def_0; actor\hurt1,actor\hurt2,actor\hurt3,actor\hurt4

telepatic =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4

fire_wound =actor\bullet_hit_1,actor\bullet_hit_2,actor\bullet_hit_3,actor\bullet_hit_4

; actor\pain_1,actor\pain_3,actor\pain_4,actor\pain_5,actor\pain_6,actor\pain_7,actor\pain_8

chemical_burn =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4

explosion =affects\tinnitus3a

wound_2 =actor\hurt1,actor\hurt2,actor\hurt3,actor\hurt4

physic_strike =actor\pain1,actor\pain2,actor\pain3; ,actor\hurt4

 

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

Доброго времени суток всем обитателям этого форума . Хочу обратится с просьбой ко всем гуру модостроения по сталкеру .

 

У меня есть такая идея , но сам я её реализовать не могу , один человек мне посоветовал обратится к команде АМК , так я попал на этот форум .

 

А идея состоит в следующем . Мне очень нужен скрипт который будет работать в прицеле FN по типу бинокля . Только не рамкой обводить , а зажигать светодиод соответствующего света при попадании в прицел союзников или противников .

 

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

 

Вот примерный набросок .

 

41b4b6289804t.jpg

 

Это нужно исключительно для сетевой игры . Очень сильно нужно .

 

Спасибо за то что выслушали .

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

Мыло - hardcorestalker@yandex.ru

 

Сайт - http://hardcorestalker.clan.su/

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

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

Vita sine libertate, nihil

Vita sine litteris - mors est

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

итить, ну нету у них никакого ИД, обыкновенный физ. объект с визуалом кровати,

определить в принципе не сложно - перебрать все физ объекты, при помощи

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

"krovat" - знач это то что нуно, конечно если папку с моделями кроватей обозвать под ругому

находить уже перестанет :(

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий
итить, ну нету у них никакого ИД, обыкновенный физ. объект с визуалом кровати,

определить в принципе не сложно - перебрать все физ объекты, при помощи

нетпакета выдрать название визуала из свойства visual_name,

А как можно перебрать такие объекты?

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

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

обыкновенный цикл по объектам, чтото типа

for id=1, 65535 do

local obj = level.object_by_id(id)

....

в котором нуно проверить идентификатор класса объекта через функцию get_clsid,

нас интересует идентификатор 83 :)

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

×
×
  • Создать...