Модостроение сталкера
| |
sah767
| Дата: Вторник, 10.12.2013 | Сообщение # 1 |
|
Группа: Администраторы
Сообщений: 3
|
| Если вы не знаете, как сделать невидимые аномалии, как изменить силу оружия, как изменить носимый вес и пр., то вы пришли по адресу. В этой статье мы рассмотрим структуру файлов и папок Сталкера, а также вы сможете научиться создавать свои собственные модификации.
Вступление:
Как вы наверно заметили, в папке с игрой содержатся несколько файлов типа gamedata.dbN , где N – это число или буква. Это игровые архивы, в которые запакованы все файлы конфигураций, видеоролики, музыка, звуки, скрипты и прочее. Можно их править HEX-editor’ом, но лучше скачать специальную утилитку STALKER_Data_Unpacker и распаковать в отдельную папку(с именем gamedata, позже поймёте почему) их содержимое. Вот после этого можно начать разгребать весь тот мусор, который вы извлекли.
Структура файлов и папок:
Рассмотрим, что-же содержится в папке gamedata: Папка ai – в ней содержатся файлы типа *.efd, через которые очевидно управляется искусственный интеллект тех же npc например. Папка anims – здесь и так всё понятно, игровая анимация, а также эффекты камеры. Папка config содержит в себе многие игровые параметры, к ней мы ещё вернёмся. Папка levels – это игровые уровни, ака локации, на которые поделена игра (как карты в CS) Папка meshes – игровые модели, в формате .ogf Папка scripts – скрипты Папка shaders – шейдеры, для двух рендеров(DX8 и 9) Папка sounds – звуки и музыка, кот. используются в игре. Формат .ogg* Папка spawns – отвечает за самую ужасную вещь в игре – респаун противников и др. людей, животных. Папка textures – в ней содержаться текстуры домов, оружия, монстров и др. Формат - .dds(DirectDraw Surface Image) Файлы: game.graph, gamemtl.xr, lanims.xr, particles.xr, resource.h, senvironment.xr, shaders.xr, shaders_xrlc.xr, stalkergame.inf. В звуках, кстати, можно найти много интересного, например: в папке sounds\car содержатся звуки машин(которых в игре нет), а sounds\music\harmonica_1.ogg – файл губной гармошки. Ах да, чуть не забыл, самый главный лол, это файл sounds\car\trabantnoise.ogg
Введение в моддинг:
Именно с папкой config придётся работать для редактирования многих параметров игры.
Но начнём сначала:
Перед тем, как начать редактирование файлов игры, нужно в каталог Сталкера поместить ту самую папку gamedata, в которую были извлечены игровые файлы. *Все файлы не понадобятся, поэтому можно оставить только папки config, scripts(а конкретно файл se_respawn*****ipt), textures, sounds, а всё остальное удалить(а можно и не удалять) Стоит обратить внимание на токой факт , если распаковать все архивы .dbN в папку с игрой, то это может дать несколько дополнительных FPS.
Текстуры:
В папке textures лежат файлы формата .dds, которые можно открыть программой Nero PhotoSnap Viewer(входит в состав NERO7) например или windows texture viewer (63кб), и там же отредактировать по вкусу. Так, например, существует мод, уменьшающий размер PDA Меченого. Текстура PDA находится по адресу textures\ui\ui_pda.dds.
Скрипты:
se_respawn*****ipt – файл, отвечающий за респаун. Время респауна можно уменьшить, путём небольших изменений в этом файле. Он открывается обычным блокнотом(notepad). Ищем в нём строку idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000) и меняем её на idle_time:setHMSms( math.random(X, Y), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000) где X и Y - числа, задают диапазон случайной переменной в часах отвечающей за респаун.
Звуки и музыка:
Любой файл в папке sounds можно заменить на другой, но при этом нужно сохранить все параметры звукового файла, который был использован в игре. Например, чтобы заменить музыку в приёмнике у Сидоровича, нужно файл sounds\scripts\magnitofon\magnitofon_2.ogg, заменить на любой другой.(У оригинального файла винамп мне выдал свойства: Average bitrate : 60 kbps Nominal bitrate : 80 kbps Channels : 1 Sampling rate: 44100 Hz.
Config/Weapons:
Параметры оружия вы можете найти в папке config\weapons, файлы типа w_ak74.ltx открываются тоже блокнотом. Разберём содержимое файла например w_groza.ltx Во первых стоит обратить внимание на значение пременной(буду их так называть) cost, это цена оружия, т.е. сколько гроза будет стоить у продавца. Переменная weapon_class означает, к какому классу относится оружие, в данном случае - assault_rifle. ammo_limit – лимит боеприпасов(в игре по-моему не используется) ammo_mag_size – размер магазина. Можно поставить например 900, тогда о перезарядке можно совсем не вспоминать. ammo_class – класс патронов, используемых оружием. Здесь ammo_9x39_pab9, ammo_9x39_sp5, ammo_9x39_ap. hit_power – сила оружия. Чем больше, тем лучше silencer_hit_power - сила оружия, когда на него одет глушитель. misfire_probability - вероятность осечки при максимальном износе. condition_shot_dec - увеличение износа при каждом выстреле. visual – модель оружия. zoom_enabled - поддерживается ли оптика.
Config/Сreatures:
actor.ltx – параметры главного героя. В этой же папке находятся файлы с параметрами npc, монстров и пр. Рассмотрим некоторые переменные на примере actor.ltx visual – модель персонажа. max_walk_weight - максимальный вес, при достижении которого игрок перестает двигаться. pickup_info_radius – радиус от ГГ, в котром над предметами выводятся их названия. camera_height_factor – высота ГГ. По умолчанию стоит 0.85, но можно увеличить рост ГГ до 0.95 например. disp_base – разброс. Если уменьшать, то и разлёт уменьшается соответственно. wound_incarnation_v - скорость заживления раны. cant_sprint_power_begin - порог силы меньше которого актер не может бежать в спринте. hit_probability_gd_novice hit_probability_gd_stalker hit_probability_gd_veteran hit_probability_gd_master Эти строчки отвечают за вероятность попадания по вам, при разных уровнях сложности. Хотите чтобы враги стреляли не очень метко, уменьшайте значения. Также в файле присутсвуют комментарии на русском языке, так что разобраться в остальных переменных не составит труда.
Config/System.ltx:
start_blood_size - размер раны чтоб начала капать кровь. stop_blood_size - размер раны чтоб кровь остановилась. max_weight – вес, с которым ГГ может бежать.
Config/Misc.ltx:
В дополнение к конфигам оружия:
cвойства патронов находятся в файле weapons.ltx, а бронежилетов – в outfit.ltx. Свойства артефактов находятся в файле artefacts.ltx и файлах zone_ART.ltx, предметов – items. ltx, где ART – название артефакта(например zone_gravi.ltx). Параметры артефактов: health_restore_speed - скорость восстановления здоровья (0.0001 = +100%) radiation_restore_speed - скорость накопления радиации (0.0004 = 4). Если поставить отрицательное число, то артефакт будет ускорять выведение радиации. idle_particles – если закоментить её символами «--« -, то аномалия исчезнет. Чтобы отключить звуковое оповещение, то находим строку visible_by_detector и меняем on на off. Иммунитеты: strike_immunity - удар. shock_immunity - электрошок. chemical_burn_immunity - химический ожог. telepatic_immunity - телепатия. radiation_immunity - радиация. wound_immunity - разрыв. explosion_immunity - взрыв. fire_wound_immunity - огнестрел.
items.ltx:
Параметры предметов:
В этом файле в квадратных скобках написан тот предмет, чьи параметры идут ниже, за квадр. скобками. Например: [kolbasa]:identity_immunities. Параметры на примере колбасы: class – к какому классу принадлежит предмет. visual – модель. cost – цена. eat_health – сколько восстанавливает здоровья.(если будет 0, то колбаса лечить не будет.) eat_power - сколько восстанавливает силы. eat_radiation - сколько выводит/или добавляет радиации. (Насчёт этого не уверен, надо тестить.) inv_weight – вес предмета.
Outfit.ltx:
Параметры костюмов:
actor_visual – модель костюма. inv_weight – вес костюма. cost – цена костюма. коэффициенты иммунитета самого костюма: burn_immunity см. коэффиц. ... fire_wound_immunity ; NO RESISTANCE burn_protection - коэффициент защиты от огня strike_protection - коэффициент защиты от пуль shock_protection - коэффициент защиты от молний wound_protection - коэффициент защиты от кровотечений (?) radiation_protection - коэффициент защиты от радиации telepatic_protection - коэффициент защиты от телепатии chemical_burn_protection - коэффициент защиты от хим. ожогов. explosion_protection - коэффициент защиты от взрыва fire_wound_protection - коэффициент защиты от кровотечений(от огня) nightvision_sect – тип ночного видения(плохой/хороший). Если ПНВ нету, то строку добавить, если его нужно убрать, строку закомментируйте(--).
Торговцы:
Вещи, которые продают торговцы можно отредактировать(добавить/убрать) в файлах с именем trade_YYY.ltx[.B], где YYY – это имя торговца(например trade_barman.ltx) Итак, поехали: Структура файла на самом деле очень проста, под зачком ; прописаны сами предметы, а после него – комментарий(чтоб понятно было). Например ;Аммуниция. В квадратные скобки заключены([barman_generic_buy]), как бы сказать, "условия”. Лучше показать на примере: В самом начале(практически) файла trade_barman.ltx идёт строка содержания [barman_generic_buy], т.е. она означает, что ниже прописанные предметы торговец может купить. Сами предметы например: ;Артефакты af_medusa = 1, 0.3 af_cristall_flower = 1, 0.3 af_night_star = 1, 0.3 af_vyvert = 1, 0.3 af_gravi = 1, 0.3 af_gold_fish = 1, 0.3 af_blood = 1, 0.3 af_mincer_meat = 1, 0.3 или ;ADDONS wpn_addon_scope = 0.7, 0.2 wpn_addon_scope_susat = 0.7, 0.2 Посмотрим какие ещё "условия” содержит этот файл и их значение: [supplies_start] - начальный ассортимент [supplies_after_darkvalley] - ассортимент, после выполнения квеста в тёмной долине [supplies_after_brain] - ассортимент, после "выжигателя мозгов” [barman_start_sell] - цены по которым торговец(бармен в данн. сл.) продает в начале [barman_after_darkvalley_sell] - аналогично [barman_after_brain_sell] Итак: чтобы добавить предмет к торговцу, после строки [supplies_start], находим интересующую нас категорию(а это может быть: ;Аммуниция/;Оружие/;Броники/;Медикаменты/;Еда и др.) и после всех прописанных в данной категории предметов добавляем ещё одну строчку для своего предмета(а именно название модели(т.к. оно совпадает с названием самого предмета) и после знака = параметры(о них чуть ниже)). Ну я так и знал что вы ничего не поймёте, поэтому пример: Чтобы добавить бармену винтовку Гаусса, находим строки после условия [supplies_start] - ;Оружие wpn_pb = 3, 0.6 wpn_walther = 3, 0.6 wpn_mp5 = 3, 0.6 wpn_ak74u = 3, 0.5 и внизу прописываем wpn_gauss = N, n.n *о значениях после знака = см. ниже. Все имена оружия, амуниции, снаряжения и т.п. можно найти в папках gamedata\meshes\equipments, gamedata\meshes\weapons, gamedata\meshes\food. Заметьте, что wpn_gauss нужно писать без расширения .ogf Значения: После знака = у вальтера например стоит цифра 3, а после запятой – 0,6. Первое, для гаусса у нас стоит N, это количество(в штуках) предметов. Т.е. если поставить значение 999, то у бармена будет 999 гауссов. А второе: 1. В разделах supplies вторая цифра это вероятность появления данного предмета. 2. В разделе buy - первая цифра максимальная цена покупки, вторая минимальная (зависит от отношения торговца к Меченному - рейтинг, репутация)[Предположительно. – прим.] 3. Соответственно в разделах sell - первая цифра минимальная цена продажи, вторая - максимальная (точнее множитель на "истинную цену" предмета). Tnx GreyL. В итоге должно получиться: [supplies_start] ;Оружие wpn_pb = 3, 0.6 wpn_walther = 3, 0.6 wpn_mp5 = 3, 0.6 wpn_ak74u = 3, 0.5 wpn_gauss = 6, 0.6 И тогда у торговца мы получим ровно 6 винтовок Гаусса.
Создание рандомного выбора муз. заставки главного меню:
При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.
1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал) 2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку:
и заменить на:
3. В этом же файле найти строку: music\wasteland2 и ниже нее выставить следующую строку: music\my_music 4. Сохранить файл. 5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.
NPC покупают оружие:
Чтобы обычные сталкеры и др. npc могли покупать у ГГ оружие, нужно править файл gamedata\config\misc\trade_generic.ltx. Его структура точно такая же, как и у любого другого торговца. После строки [generic_buy] находим строку ;Оружие и после неё у каждого вида ставим зачения N и n.n. Можно например так: ;Оружие wpn_pm = 0.08, 0.12 wpn_pb ;NO TRADE wpn_fort = 0.08, 0.12 wpn_hpsa = 0.08, 0.12 wpn_beretta = 0.08, 0.12 wpn_walther = 0.08, 0.12 wpn_sig220 ;NO TRADE … … А чтобы у npc продавалось оружие, нужно проделать тоже самое, только после строки [generic_sell] Метод я проверял, вроде как работает. Чтобы после покупки персонаж не выкидывал купленное оружие(а также чтобы подбирал его с земли), в файле gamedata\config\creatures\m_stalker.ltx строку can_select_items = off меняем на can_select_items = on и строку use_single_item_rule = on меняем на use_single_item_rule = off .
Транспорт:
Транспорт в игре есть! Пока способ заспаунить его не известен общественности, но тем не менее в сети появился файл all.spawn, копируйте его в папку gamedata\spawns. Мод предназначен только для пропатченной версии игры(1.0001). После начала новой игры в первой локации рядом с Сидоровичем появятся несколько машин, в т. ч. и Камаз. Чтобы включить двигатель в консоли пишем bind turn_engine kb, закрываем консоль, жмём кнопку b и наслаждаемся…. Рассмотрим параметры машин, конфиги находятся в папке gamedata\config\models\vehicles. [car_definition] – после строки идут коментарии на русском языке, перейдём сразу к следующему. … --Factory parameters of Engine -- - параметры двигателя(описание не претендует на совершенно точное) fuel_tank – вместимость бака. engine_power – мощность двигателя. hand_break_torque - сила торможения [damage_items] – повреждения частей машины back_left_wheel - заднее левое колесо back_right_wheel -заднее правое колесо front_left_wheel -переднее левое колесо front_right_wheel - переднее правое колесо left_door - левая дверь right_door - правая дверь
[immunities]burn_immunity = 0.5 ;коэффициенты иммунитета strike_immunity = 0.1 shock_immunity = 0.0 wound_immunity = 0.01 radiation_immunity = 0.0 telepatic_immunity = 0.0 chemical_burn_immunity = 0.0 explosion_immunity = 0.4 fire_wound_immunity = 0.0005 P.S. Чтобы сделать вид от третьего лица, в файле user.ltx(ну если не знаете где он находится, то специально для вас в Microsoft сделали поиск в Windows) пишем после строки unbindall: bind cam_1 kF1 bind cam_2 kF2 bind cam_3 kF3 В игре жмём кнопки F1, F2 или F3 для смены вида. Очень нужно при езде на БТР
|
|
| |
TamiPemn
| Дата: Четверг, 17.07.2014 | Сообщение # 2 |
|
Группа: Гости
|
| name Bruno VonlanthenДобавлено (17.07.2014, 08:01) ---------------------------------------------
name Bruno Vonlanthen Добавлено (17.07.2014, 08:01) ---------------------------------------------
name Bruno Vonlanthen Добавлено (17.07.2014, 08:01) ---------------------------------------------
name Bruno Vonlanthen Добавлено (17.07.2014, 08:01) ---------------------------------------------
name Bruno Vonlanthen
|
|
| |
MarianRor
| Дата: Воскресенье, 03.08.2014 | Сообщение # 3 |
|
Группа: Гости
|
| http://www.yandex.ua/ -
Добавлено (03.08.2014, 11:40) --------------------------------------------- http://www.yandex.ua/ -
Добавлено (03.08.2014, 11:40) --------------------------------------------- http://www.yandex.ua/ -
Добавлено (03.08.2014, 11:40) --------------------------------------------- http://www.yandex.ua/ -
Добавлено (03.08.2014, 11:40) --------------------------------------------- http://www.yandex.ua/ -
|
|
| |
hinckley
| Дата: Пятница, 08.08.2014 | Сообщение # 4 |
|
Группа: Гости
|
| I suggest you to visit a sits, with a large quantity of articles on a theme interestig you. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa Paul Hanson bitcoin15@valera.shn-host.ru Andre Wiget ger5@valera.shn-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpiad.a.p.uti.n.al.ov.e@gmail.com login Threads Fresh@valera.shn-host.ru spam@ihtlerkaput.shn-host.ru @gmail.com NG TechnologyДобавлено (08.08.2014, 10:57) --------------------------------------------- I suggest you to visit a sits, with a large quantity of articles on a theme interestig you. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa Paul Hanson bitcoin15@valera.shn-host.ru Andre Wiget ger5@valera.shn-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpiad.a.p.uti.n.al.ov.e@gmail.com login Threads Fresh@valera.shn-host.ru spam@ihtlerkaput.shn-host.ru @gmail.com NG Technology
|
|
| |
melonsimages
| Дата: Понедельник, 11.08.2014 | Сообщение # 5 |
|
Группа: Гости
|
| I am final, I am sorry, but, in my opinion, it is obvious. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa Miguel Peguero bitcoin12@valeras.hn-host.ru Bonnie Silverman ger5@valera.sh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.ada.pu.t.inalo.ve@gmail.com login Messenger Ignore@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com IT PartnershipДобавлено (11.08.2014, 02:39) --------------------------------------------- I am final, I am sorry, but, in my opinion, it is obvious. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa Miguel Peguero bitcoin12@valeras.hn-host.ru Bonnie Silverman ger5@valera.sh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.ada.pu.t.inalo.ve@gmail.com login Messenger Ignore@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com IT Partnership Добавлено (11.08.2014, 02:39) --------------------------------------------- I am final, I am sorry, but, in my opinion, it is obvious. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa Miguel Peguero bitcoin12@valeras.hn-host.ru Bonnie Silverman ger5@valera.sh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.ada.pu.t.inalo.ve@gmail.com login Messenger Ignore@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com IT Partnership Добавлено (11.08.2014, 02:40) --------------------------------------------- I am final, I am sorry, but, in my opinion, it is obvious. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa Miguel Peguero bitcoin12@valeras.hn-host.ru Bonnie Silverman ger5@valera.sh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.ada.pu.t.inalo.ve@gmail.com login Messenger Ignore@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com IT Partnership Добавлено (11.08.2014, 02:40) --------------------------------------------- I am final, I am sorry, but, in my opinion, it is obvious. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa Miguel Peguero bitcoin12@valeras.hn-host.ru Bonnie Silverman ger5@valera.sh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.ada.pu.t.inalo.ve@gmail.com login Messenger Ignore@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com IT Partnership
|
|
| |
labradordogimage
| Дата: Воскресенье, 17.08.2014 | Сообщение # 6 |
|
Группа: Гости
|
| I am sorry, that has interfered... This situation is familiar To me. Let's discuss. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa R Lapointe bitcoin12@valera.shn-host.ru Shanna Smith ger5@valera.snh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.a.d.ap.u.t.i.nal.o.ve@gmail.com login WHO Children@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com Web Design BristolДобавлено (17.08.2014, 13:16) --------------------------------------------- I am sorry, that has interfered... This situation is familiar To me. Let's discuss. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa R Lapointe bitcoin12@valera.shn-host.ru Shanna Smith ger5@valera.snh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.a.d.ap.u.t.i.nal.o.ve@gmail.com login WHO Children@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com Web Design Bristol Добавлено (17.08.2014, 13:16) --------------------------------------------- I am sorry, that has interfered... This situation is familiar To me. Let's discuss. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa R Lapointe bitcoin12@valera.shn-host.ru Shanna Smith ger5@valera.snh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.a.d.ap.u.t.i.nal.o.ve@gmail.com login WHO Children@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com Web Design Bristol Добавлено (17.08.2014, 13:16) --------------------------------------------- I am sorry, that has interfered... This situation is familiar To me. Let's discuss. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa R Lapointe bitcoin12@valera.shn-host.ru Shanna Smith ger5@valera.snh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.a.d.ap.u.t.i.nal.o.ve@gmail.com login WHO Children@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com Web Design Bristol Добавлено (17.08.2014, 13:16) --------------------------------------------- I am sorry, that has interfered... This situation is familiar To me. Let's discuss. MTGOX will start trading NextCoin (NXT) - posted in Guides & Tutorials: MTGOX will start trading NextCoin (NXT) when their new trading ... 123456assa R Lapointe bitcoin12@valera.shn-host.ru Shanna Smith ger5@valera.snh-host.ru 123456assa mail.valera.shn-host.ru slivamariaolimpi.a.d.ap.u.t.i.nal.o.ve@gmail.com login WHO Children@valera.shn-host.ru spam@hitlerkaput.shn-host.ru @gmail.com Web Design Bristol
|
|
| |
|