Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
> Пример рабочего смарттеррейна в ЧН
Trollz0r
сообщение 05.01.2017, 10:00
Сообщение #1


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Посоны, я решительно не могу создать работающий смарттеррейн в ЧН. Игра валится со знаменитой жалобой на _G.script:973, и я даже не могу понять, что делаю не так.
Если закомментировать строку, на которую вылезает ругань, то игра запустится, но никаких неписей в ней не появится. Если после этого добавить на карту уникального НПС, то он уйдёт бродить по локации, не подчиняясь смарту.

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

У меня есть голая карта с одним Сидоровичем на ней, но он не считается, т.к. на классе монстра и сталкирским схемам не подчиняется.
ИИ-сетка и графпойнты есть.
ИИ-сетка скомпилирована командой xrAI.exe -f map, спавн скомпилирован командой xrAI.exe -s escape -no_separator_check

Что я делаю:
1) добавляю смарттеррейн, настройки не трогаю
2) в кастомдату пишу следующее:
Код
[smart_terrain]
targets = esc_st_test
sim_type = territory
sim_value = 2
squad_capacity = 3
squad_id = 3
sim_avail = true
def_restr = esc_st_village_sr_defense
att_restr = esc_st_village_sr_attack
respawn_sector = stalker
surge_hide_avaliable = true

[exclusive]
wolf = escape\esc_wolf.ltx

3) накрываю смарттеррейн двумя рестрикторами (со стандартными настройками) — esc_st_village_sr_defense и esc_st_village_sr_attack
4) делаю аналогичный рестриктор esc_st_test рядом, ему в targets указываю esc_st_village
5) экспортирую спавн, собираю спавн, запускаю игру, получаю описанное сверху

Что не так, чего не хватает?


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Shoкer
сообщение 05.01.2017, 12:44
Сообщение #2


Кандидат Игровых Наук
******************

Репутация:   2153  
Группа: Участник
Сообщений: 3488
Награды: 4
Регистрация: 27.07.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


973 строка это из скриптовой функции abort(), то-есть скрипты сознательно крашат игру т.к ты неправильно что то настроил.
После такого вылета ты должен открыть лог (целиком) и чуть выше FATAL ERROR будет собственно сам текст ошибки (Начинаться с "ERROR:" )

Единственное что - в ТЧ в релизной версии движка текст ошибки в лог не выводился (т.к сама функция не была экспортирована корректно), но вроде как в ЧН с этим порядок. Если никакого текста с ошибкой нету, то попробуй в _g.script поменять местами строки 973 (assert) и 974 (error_log).

Сообщение отредактировал Shoкer - 05.01.2017, 12:46


--------------------
Мне просто нравятся синие буквы под сообщением.
Перейти в начало страницы
 
Trollz0r
сообщение 05.01.2017, 13:18
Сообщение #3


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


В том и дело, что ошибка не пишется в лог.
лог
* Detected CPU: AuthenticAMD , F15/M2/S0, 3991.00 mhz, 45-clk 'rdtsc'
* CPU Features: RDTSC, MMX, SSE, SSE2

Initializing File System...
using fs-ltx fsgame.ltx
FS: 27061 files cached 0 archives, 3828Kb memory used.
Init FileSystem 0.829917 sec
'xrCore' build 3795, Jun 25 2009

Initializing Engine...
Starting INPUT device...
Loading DLL: xrRender_R2.dll
Loading DLL: xrRender_R3.dll
refCount:m_pAdapter 1
command line -start server(escape/single/alife) -ltx user_r3_high.ltx -hq -smap4096 -ss_tga -silent_error_mode
Executing config-script "user_r3_high.ltx"...
[x:\_appdata_\user_r3_high.ltx] successfully loaded.
Loading DLL: xrRender_R2.dll
Loading DLL: xrGame.dll
* [win32]: free[4077540 K], reserved[44440 K], committed[72260 K]
* [ D3D ]: textures[0 K]
* [x-ray]: crt heap[6947 K], process heap[676 K], game lua[0 K], render[0 K]
* [x-ray]: economy: strings[1498 K], smem[0 K]
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
devices Generic Hardware
SOUND: OpenAL: system default SndDevice name is Generic Hardware
SOUND: OpenAL: default SndDevice name set to Generic Software
SOUND: OpenAL: All available devices:
1. Generic Software, Spec Version 1.1 (default) eax[0] efx[no] xram[no]
2. Generic Software, Spec Version 1.1 (default) eax[0] efx[no] xram[no]
Executing config-script "user_r3_high.ltx"...
Executing config-script "x:\gamedata\configs\rspec_extreme.ltx"...
[x:\gamedata\configs\rspec_extreme.ltx] successfully loaded.
[x:\_appdata_\user_r3_high.ltx] successfully loaded.
SOUND: Selected device is Generic Software
* sound: EAX 2.0 extension: absent
* sound: EAX 2.0 deferred: absent
* sound : cache: 65537 kb, 4856 lines, 13820 bpl
Starting RENDER device...
* GPU [vendor:10DE]-[device:1189]: NVIDIA GeForce GTX 670
* GPU driver: 10.18.13.6175
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
* Texture memory: 4014 M
* DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
* NVidia MGPU: Logical(1), Physical(1)
* Starting rendering as 2-GPU.
* DVB created: 1536K
* DIB created: 512K
! Renderer doesn't support blender 'effects\shadow_world'
* NULLRT supported
* ...and used
* HWDST/PCF supported and used
* NV-DBT supported and used
- r__tf_aniso 16
- r2_tf_mipbias 0.
Starting engine...
Loading DLL: xrGameSpy.dll
* DVB created: 1536K
* DIB created: 512K
- r__tf_aniso 16
- r2_tf_mipbias 0.
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
* NVidia MGPU: Logical(1), Physical(1)
* Starting rendering as 2-GPU.
*** RESET [1133 ms]
bin\xrengine.exe -start server(escape/single/alife) -ltx user_r3_high.ltx -hq -smap4096 -ss_tga -silent_error_mode
* phase time: 0 ms
* phase cmem: 91492 K
Кэширование объектов...
Loading objects...
Loading models...
* [prefetch] time: 182 ms
* [prefetch] memory: 0Kb
* phase time: 221 ms
* phase cmem: 91492 K
Сервер: Старт...
* phase time: 85 ms
* phase cmem: 91975 K
Сервер: Загрузка симуляции жизни...
* Cannot find saved game x:\savedgames\escape.sav
* phase time: 1 ms
* phase cmem: 91975 K
Создание новой игры...
* Creating new game...
* Loading spawn registry...
* 149 spawn points are successfully loaded

FATAL ERROR

[error]exp​ression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
[error]Line : 180
[error]Description : <no exp​ression>
[error]Arguments : LUA error: x:\gamedata\scripts\_g.script:973: bad argument #2 to 'format' (string expected, got nil)


stack trace:

_g.script:
CODE
-- крешнуть игру (после вывода сообщения об ошибке в лог)
function abort(fmt, ...)
local reason = string.format(fmt, ...)
assert("ERROR: " .. reason)
log("ERROR: " .. reason)
log(string.format("%s",nil)) -- 973 строка
end

Строки менял местами, толку ноль. Всегда ругается на log(string.format("%s",nil))


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
abramcumner
сообщение 05.01.2017, 15:08
Сообщение #4


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 05.01.2017, 13:16) *
Строки менял местами, толку ноль. Всегда ругается на log(string.format("%s",nil))

Команды log, assert отрублены в релизе. Попробуй добавить перед 973 строкой:
Код
local s = string.gsub(reason, "%s", "_")
get_console():execute("load "..s)
Перейти в начало страницы
 
ZeeK
сообщение 05.01.2017, 16:52
Сообщение #5


Почти Игроман
*********

Репутация:   106  
Группа: Забанен
Сообщений: 611
Награды: 3
Регистрация: 23.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 05.01.2017, 10:58) *
Если закомментировать строку, на которую вылезает ругань, то игра запустится, но никаких неписей в ней не появится. Если после этого добавить на карту уникального НПС, то он уйдёт бродить по локации, не подчиняясь смарту.

В ЧН НПС-я подчинены faction_название_группировки, отдельно они не спамятся, а спамятся на смартах, которые находятся в разделе [start_position], где описаны начальные отряды и точки спавна, попробуй внеси свой смарт в этот список и запустить игру по новому.

Добавлю, что уникальные НПС должны иметь свою логику, если ее не будет, то НПС-я захватит A-life и пустит во все тяжкие в пределах локации.

Сообщение отредактировал ZeeK - 05.01.2017, 17:01


--------------------
Перейти в начало страницы
 
Trollz0r
сообщение 05.01.2017, 16:58
Сообщение #6


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(abramcumner @ 05.01.2017, 13:06) *
Цитата(RedPython @ 05.01.2017, 13:16) *
Строки менял местами, толку ноль. Всегда ругается на log(string.format("%s",nil))

Команды log, assert отрублены в релизе. Попробуй добавить перед 973 строкой:
Код
local s = string.gsub(reason, "%s", "_")
get_console():execute("load "..s)

Спасибо, сработало smile.gif

CODE
Сервер: Старт...
* phase time: 63 ms
* phase cmem: 91959 K
Сервер: Загрузка симуляции жизни...
* Cannot find saved game x:\savedgames\escape.sav
* phase time: 1 ms
* phase cmem: 91959 K
Создание новой игры...
* Creating new game...
* Loading spawn registry...
* 153 spawn points are successfully loaded
! Cannot find saved game there_is_no_kamp_path_in_smart[esc_st_village]

FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
[error]Line : 180
[error]Description : <no expression>
[error]Arguments : LUA error: x:\gamedata\scripts\_g.script:975: bad argument #2 to 'format' (string expected, got nil)


stack trace:

Надо было писать kamp, а не camp. В команде сталкир ЧН явно был немец.



ZeeK, да, я в курсе. Проблема лишь в отладке.


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Trollz0r
сообщение 05.01.2017, 17:37
Сообщение #7


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


А на что может указывать такой вылет?
CODE
Сервер: Старт...
* phase time: 76 ms
* phase cmem: 91975 K
Сервер: Загрузка симуляции жизни...
* Cannot find saved game x:\savedgames\escape.sav
* phase time: 1 ms
* phase cmem: 91975 K
Создание новой игры...
* Creating new game...
* Loading spawn registry...
* 149 spawn points are successfully loaded

FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
[error]Line : 180
[error]Description : <no expression>
[error]Arguments : LUA error: x:\gamedata\scripts\smart_terrain.script:76: bad argument #1 to 'pairs' (table expected, got nil)


stack trace:
Появляется после добавления sim_faction с кастомдатой
Код
[faction]
name = stalker
base_smart = esc_st_village
settings = misc\faction_stalker.ltx
faction_stalker:
CODE
[settings]
;Количество дополнительных отрядов, в зависимости от числа захваченных территориальных точек
glory_0 = 0


[spawn_by_resource]
;Какие профили спаунить в зависимости от уровня ресурсов группировки
0 = sim_default_stalker_0, 80, sim_default_stalker_1, 20
1 = sim_default_stalker_0, 50, sim_default_stalker_1, 30, sim_default_stalker_2, 20
2 = sim_default_stalker_1, 50, sim_default_stalker_2, 30, sim_default_stalker_3, 20
3 = sim_default_stalker_2, 50, sim_default_stalker_3, 30, sim_default_stalker_4, 20


[spawn_by_level]
escape = sim_default_stalker_0, 40, sim_default_stalker_1, 30, sim_default_stalker_2, 15, sim_default_stalker_3, 10, sim_default_stalker_4, 5


[expansion_0]
;Цели группировки на текущем левеле развития
base_squad_number = 0
precondition_power = 0


[secondary_targets]


[start_position]
esc_st_village_stalker_2_squad_01 = esc_st_village
squad_descr.ltx:
Код
[esc_st_village_stalker_2_squad_01]
faction = stalker
npc = sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_1
target_smart = esc_st_village


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
abramcumner
сообщение 05.01.2017, 19:07
Сообщение #8


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 05.01.2017, 17:35) *
[error]Arguments : LUA error: x:\gamedata\scripts\smart_terrain.script:76: bad argument #1 to 'pairs' (table expected, got nil)

А что там в smart_terrain.script:76? smile.gif Залей файл куда-нибудь.
Перейти в начало страницы
 
ZeeK
сообщение 05.01.2017, 23:27
Сообщение #9


Почти Игроман
*********

Репутация:   106  
Группа: Забанен
Сообщений: 611
Награды: 3
Регистрация: 23.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 05.01.2017, 18:35) *
squad_descr.ltx

Не знаю насчет squad_descr.ltx, но в игре каждая локация имеет свой отдельный "squad_descr_название_локации" с именными отрядами, а в базовом файле только отряды для симуляции записаны аля [sim_stalker_squad_2]:online_offline_group и #include "squad_descr_название_локации.ltx". Мб стоит зарегистрировать [esc_st_village_stalker_2_squad_01] в отдельном squad_descr_название_локации?


--------------------
Перейти в начало страницы
 
Trollz0r
сообщение 06.01.2017, 02:52
Сообщение #10


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


abramcumner, скрипт: http://pastebin.com/M3G781sr
все скрипты (это ЧН 1.5.10, правлен только _g.script по твоему рецепту): http://rgho.st/private/6YSKLZgVc/669d75770...679e44f170f96fa

ZeeK, вообще-то у меня так и сделано, инклюженый файл я не стал здесь указывать для упрощения восприятия. По идее движку всё равно, откуда читать конфиг: сразу из system.ltx, из инклюда в system.ltx, из инклюда в инклюд в system.ltx...


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
abramcumner
сообщение 06.01.2017, 15:22
Сообщение #11


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


smart_terrain.script:76
Код
    for k,v in pairs(jobs) do

вместо списка работ передали nil. Скорее всего рекурсивный вызов из:
Код
83.            -- Это работа-кластер или работа-описание.
84.            if v.job_id == nil then
85.                -- Вызываем рекурсивно себя для списка работ кластера
86.                selected_job_id, current_job_prior, selected_job_link = job_iterator(v.jobs, npc_data, selected_job_prior, smart)

Ты что-нибудь знаешь про работы-кластеры или работы-описания? smile.gif
Перейти в начало страницы
 
Yara
сообщение 06.01.2017, 15:44
Сообщение #12


Опытный Геймер
*******

Репутация:   50  
Группа: Участник
Сообщений: 157
Награды: 2
Регистрация: 20.03.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


По поводу функции abort (только для ЧН / ЗП), то можно ещё так (в логе, перед fatal error, будет: ! [LUA][ERROR] ...):
Код
function abort(fmt, ...)
    local reason = string.format(fmt, ...)
    error_log(reason)
end


А по смарту, ты добавлял пути(работы) для него? По типу (доступные перечислены в gulag_general.script, к комменту выше):
...
esc_my_smart_walker_1_look
esc_my_smart_walker_1_walk
...
и т.д.

Перейти в начало страницы
 
ZeeK
сообщение 09.01.2017, 11:48
Сообщение #13


Почти Игроман
*********

Репутация:   106  
Группа: Забанен
Сообщений: 611
Награды: 3
Регистрация: 23.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Удалось создать смарт_террейн рабочий в итоге?


--------------------
Перейти в начало страницы
 
Trollz0r
сообщение 09.01.2017, 12:24
Сообщение #14


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Пока не пробовал. Как (если) попробую — отпишу smile.gif

Цитата(Yara @ 06.01.2017, 13:42) *
esc_my_smart_walker_1_look
esc_my_smart_walker_1_walk
Если имя обязательно должно соответствовать шаблону way_имясмарта_walker_номер_look, то нет, не добавлял.


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
ZeeK
сообщение 09.01.2017, 13:35
Сообщение #15


Почти Игроман
*********

Репутация:   106  
Группа: Забанен
Сообщений: 611
Награды: 3
Регистрация: 23.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 09.01.2017, 13:22) *
Если имя обязательно должно соответствовать шаблону way_имясмарта_walker_номер_look, то нет, не добавлял.

Если в смарте нет уникальной работы, например для квестов, то создавать way_ и look_ не требуется, игра (ЧН\ЗП) сама подхватит НПСей в стандартные работы: сидеть у костра, анекдоты, гитара и т.д.


--------------------
Перейти в начало страницы
 
Stalker_Monolit
сообщение 10.01.2017, 16:40
Сообщение #16


Опытный Геймер
*******

Репутация:   17  
Группа: Участник
Сообщений: 161
Награды: 3
Регистрация: 08.03.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Разве в targets можно указывать рестрикотры? Как я помню то там указываются соседние смарты не рестрикоры я в недоумении как я понял esc_st_test это рестриктор или нет?

Сообщение отредактировал Stalker_Monolit - 10.01.2017, 16:41


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

Перейти в начало страницы
 
Trollz0r
сообщение 10.01.2017, 16:42
Сообщение #17


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


st — smart_terrain
sr — space_restrictor
esc_st_test — это смарттеррейн


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Stalker_Monolit
сообщение 10.01.2017, 17:01
Сообщение #18


Опытный Геймер
*******

Репутация:   17  
Группа: Участник
Сообщений: 161
Награды: 3
Регистрация: 08.03.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 10.01.2017, 16:40) *
esc_st_test — это смарттеррейн

Тогда пардон unsure.gif


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

Перейти в начало страницы
 
Trollz0r
сообщение 05.02.2017, 15:57
Сообщение #19


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Благодаря abramcumner'у симуляцию удалось запустить. По крайней мере, симуляцию кампа: сталкеры сидят вокруг точки _kamp_1 и делают вид, что рассказывают анекдоты у костра.
Вылет был потому, что скрипты требуют ещё и путь _kamp_1_task

О необходимости пути _task в доках не указано, но он учитывается в скриптах и есть в пысовских локациях.
Возможно, _task как-то используется скриптами проводников.


ЗЫ
Параметру targets можно не присваивать значение:
Код
targets =

Параметр sim_type может быть типа base (об этом единожды упоминается в мане по базам группировок):
Код
sim_type = base


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
ZeeK
сообщение 12.03.2017, 09:39
Сообщение #20


Почти Игроман
*********

Репутация:   106  
Группа: Забанен
Сообщений: 611
Награды: 3
Регистрация: 23.08.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RedPython @ 05.02.2017, 16:55) *
Параметру targets можно не присваивать значение:

Если не будет Таргетов, то сталкеры никуда не уйдут с смарт-террейна и никогда на него не придут новые, потому что сквады в ЧН идут по таргетам. В оригинале вообще неприятная ситуация, когда вся жизнь на локациях замирает в связи с тем, что отряду нада пройти на точку на другом смарте, а на пути смарт, занятый нейтральной группировкой. В ОГСМ это исправили вроде бы. Во Fraction Commander выкидывается предупреждение, что отряд никуда не пойдет ибо смарты впереди переполнены.

Сообщение отредактировал ZeeK - 12.03.2017, 09:40


--------------------
Перейти в начало страницы
 

3 страниц V   1 2 3 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 26.04.2024, 14:57