Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Не могу скомпилировать

Статус пользователя Redir
сообщение 7.8.2014, 10:31
Сообщение #1
Стаж: 12 лет

Сообщений: 567
Благодарностей: 138
Полезность: 119

Здравствуйте! НЕ могу скомпилировать плагин, не понимаю из-за чего.
Вот, что пишет, когда компилирую:
Ошибка
Код
Ошибка компиляции плагина! (использовался компилятор "AMX Mod X 1.8.1")

Проверьте ошибки ниже:


Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

zp_winorlose_round_nemsurv.sma(32) : warning 217: loose indentation
zp_winorlose_round_nemsurv.sma(43) : error 017: undefined symbol "ChatColor"
zp_winorlose_round_nemsurv.sma(51) : error 017: undefined symbol "ChatColor"
zp_winorlose_round_nemsurv.sma(58) : error 029: invalid expression, assumed zero
zp_winorlose_round_nemsurv.sma(58) : error 017: undefined symbol "ChatColor"
zp_winorlose_round_nemsurv.sma(58) : error 029: invalid expression, assumed zero
zp_winorlose_round_nemsurv.sma(58) : fatal error 107: too many error messages on one line

Compilation aborted.
6 Errors.

Вот исходник, который пытаюсь скомпилировать:
Исходник
Код:
#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[ZP] Survivor or Nemesis Win Round or Loose"
#define AUTHOR "Kiske"
#define VERSION "1.0"

// Cvars
new CVAR[2]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

// Language files
register_dictionary("Bonus_Survirov_Nema.txt")

CVAR[0] = register_cvar("zp_ammos_survkill", "40") // Ammos for the killing Survivor
CVAR[1] = register_cvar("zp_ammos_nemkill", "40") // Ammos for the killing Nemesis

RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled")
}

// Ham Player Killed Forward
public Ham_PlayerKilled(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker))
{
return;
}
{
static name[32]
get_user_name(attacker, name, charsmax(name))

// Survivor or Nemesis Round ?
if (zp_is_survivor_round() || zp_is_nemesis_round())
{
// Survivor

if (zp_get_user_zombie(attacker) && zp_get_user_survivor(victim)) // Survivor's loose
{
ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "SURV_LOOSEROUND", name, get_pcvar_num(CVAR[0]), (get_pcvar_num(CVAR[0]) == 1) ? "" : "s")
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[0]))
}

// Nemesis

if (!zp_get_user_zombie(attacker) && zp_get_user_nemesis(victim)) // Nemesis loose
{
ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "NEM_LOOSEROUND", name, get_pcvar_num(CVAR[1]), (get_pcvar_num(CVAR[1]) == 1) ? "" : "s")
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[1]))
}
}
}

// Stock: ChatColor!
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}

В чем может быть дело ? Помогите, пожалуйста.

Отредактировал: Redir, - 7.8.2014, 10:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 7.8.2014, 10:57
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Redir, вроде сток не правильно подключен. Сами колорчат добавляли?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Redir
сообщение 7.8.2014, 11:06
Сообщение #3
Стаж: 12 лет

Сообщений: 567
Благодарностей: 138
Полезность: 119

Цитата(Bloo @ 7.8.2014, 12:57) *
Redir, вроде сток не правильно подключен. Сами колорчат добавляли?

Нет.
Я только ошибку исправлял, замечалась такая ошибка:
Код
L 08/06/2014 - 14:25:21: [AMXX] Displaying debug trace (plugin "zp_winorlose_round_nemsurv.amxx")
L 08/06/2014 - 14:25:21: [AMXX] Run time error 10: native error (native "zp_get_user_zombie")
L 08/06/2014 - 14:25:21: [AMXX] [0] phpwNagM0.sma::Ham_PlayerKilled (line 36)


И исправил с
Код:
public Ham_PlayerKilled(victim, attacker, shouldgib)

на
Код:
public Ham_PlayerKilled(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker))
{
return;
}

И уже скомпилировать не могу.

ps.gif Вот исходник, который до исправления ошибки был
Код:
#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>
#define PLUGIN "[ZP] Survivor or Nemesis Win Round or Loose"
#define AUTHOR "Kiske"
#define VERSION "1.0"
// Cvars
new CVAR[2]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

// Language files
register_dictionary("Bonus_Survirov_Nema.txt")

CVAR[0] = register_cvar("zp_ammos_survkill", "40") // Ammos for the killing Survivor
CVAR[1] = register_cvar("zp_ammos_nemkill", "40") // Ammos for the killing Nemesis

RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled")
}
// Ham Player Killed Forward
public Ham_PlayerKilled(victim, attacker, shouldgib)
{
static name[32]
get_user_name(attacker, name, charsmax(name))

// Survivor or Nemesis Round ?
if (zp_is_survivor_round() || zp_is_nemesis_round())
{
// Survivor

if (zp_get_user_zombie(attacker) && zp_get_user_survivor(victim)) // Survivor's loose
{
ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "SURV_LOOSEROUND", name, get_pcvar_num(CVAR[0]), (get_pcvar_num(CVAR[0]) == 1) ? "" : "s")
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[0]))
}

// Nemesis

if (!zp_get_user_zombie(attacker) && zp_get_user_nemesis(victim)) // Nemesis loose
{
ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "NEM_LOOSEROUND", name, get_pcvar_num(CVAR[1]), (get_pcvar_num(CVAR[1]) == 1) ? "" : "s")
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[1]))
}
}
}
// Stock: ChatColor!
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}

Он компилируется нормально, но дает ошибки в логах. Выше написал какие
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 7.8.2014, 11:11
Сообщение #4


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Redir, один кейс (скобку) не закрыли, 56 строка.
Код:
#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[ZP] Survivor or Nemesis Win Round or Loose"
#define AUTHOR "Kiske"
#define VERSION "1.0"

// Cvars
new CVAR[2]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

// Language files
register_dictionary("Bonus_Survirov_Nema.txt")

CVAR[0] = register_cvar("zp_ammos_survkill", "40") // Ammos for the killing Survivor
CVAR[1] = register_cvar("zp_ammos_nemkill", "40") // Ammos for the killing Nemesis

RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled")
}

// Ham Player Killed Forward
public Ham_PlayerKilled(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker))
{
return;
}
static name[32]
get_user_name(attacker, name, charsmax(name))

// Survivor or Nemesis Round ?
if (zp_is_survivor_round() || zp_is_nemesis_round())
{
// Survivor

if (zp_get_user_zombie(attacker) && zp_get_user_survivor(victim)) // Survivor's loose
{
ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "SURV_LOOSEROUND", name, get_pcvar_num(CVAR[0]), (get_pcvar_num(CVAR[0]) == 1) ? "" : "s")
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[0]))
}

// Nemesis

if (!zp_get_user_zombie(attacker) && zp_get_user_nemesis(victim)) // Nemesis loose
{
ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "NEM_LOOSEROUND", name, get_pcvar_num(CVAR[1]), (get_pcvar_num(CVAR[1]) == 1) ? "" : "s")
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[1]))
}
}
}

// Stock: ChatColor!
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}

ps.gif пост отредактировал, один хороший человек подсказал что там вообще этот кейс лишний был изначально (32 строка).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Redir
сообщение 7.8.2014, 11:26
Сообщение #5
Стаж: 12 лет

Сообщений: 567
Благодарностей: 138
Полезность: 119

Цитата(Bloo @ 7.8.2014, 13:11) *
Redir, один кейс (скобку) не закрыли, 56 строка.
Код:
#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[ZP] Survivor or Nemesis Win Round or Loose"
#define AUTHOR "Kiske"
#define VERSION "1.0"

// Cvars
new CVAR[2]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

// Language files
register_dictionary("Bonus_Survirov_Nema.txt")

CVAR[0] = register_cvar("zp_ammos_survkill", "40") // Ammos for the killing Survivor
CVAR[1] = register_cvar("zp_ammos_nemkill", "40") // Ammos for the killing Nemesis

RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled")
}

// Ham Player Killed Forward
public Ham_PlayerKilled(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker))
{
return;
}
static name[32]
get_user_name(attacker, name, charsmax(name))

// Survivor or Nemesis Round ?
if (zp_is_survivor_round() || zp_is_nemesis_round())
{
// Survivor

if (zp_get_user_zombie(attacker) && zp_get_user_survivor(victim)) // Survivor's loose
{
ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "SURV_LOOSEROUND", name, get_pcvar_num(CVAR[0]), (get_pcvar_num(CVAR[0]) == 1) ? "" : "s")
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[0]))
}

// Nemesis

if (!zp_get_user_zombie(attacker) && zp_get_user_nemesis(victim)) // Nemesis loose
{
ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "NEM_LOOSEROUND", name, get_pcvar_num(CVAR[1]), (get_pcvar_num(CVAR[1]) == 1) ? "" : "s")
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[1]))
}
}
}

// Stock: ChatColor!
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}

ps.gif пост отредактировал, один хороший человек подсказал что там вообще этот кейс лишний был изначально (32 строка).

И действительно, дело в этой скобке было. Хотя не понимаю, как она могла пропасть. Ибо, я только добавлял эту проверку.
Спасибо, скомпилировал теперь.

Дабы не создавать новую тему, можете подсказать, как исправить ошибки в этом плагине ?
Вот такие ошибки выдает плагин
Скрытый текст
Код
L 08/07/2014 - 00:58:30: Start of error session.
L 08/07/2014 - 00:58:30: Info (map "zm_poligon") (file "addons/amxmodx/logs/error_20140807.log")
L 08/07/2014 - 00:58:30: [AMXX] Displaying debug trace (plugin "kills_like_cso.amxx")
L 08/07/2014 - 00:58:30: [AMXX] Run time error 4: index out of bounds
L 08/07/2014 - 00:58:30: [AMXX]    [0] phpUrQxbc.sma::show_kills (line 99)
L 08/07/2014 - 00:58:30: [AMXX]    [1] phpUrQxbc.sma::zp_user_infected_post (line 55)
L 08/07/2014 - 00:58:38: [AMXX] Displaying debug trace (plugin "kills_like_cso.amxx")
L 08/07/2014 - 00:58:38: [AMXX] Run time error 4: index out of bounds
L 08/07/2014 - 00:58:38: [AMXX]    [0] phpUrQxbc.sma::show_kills (line 99)
L 08/07/2014 - 00:58:38: [AMXX]    [1] phpUrQxbc.sma::zp_user_infected_post (line 55)
L 08/07/2014 - 00:58:47: [AMXX] Displaying debug trace (plugin "kills_like_cso.amxx")
L 08/07/2014 - 00:58:47: [AMXX] Run time error 4: index out of bounds
L 08/07/2014 - 00:58:47: [AMXX]    [0] phpUrQxbc.sma::show_kills (line 99)
L 08/07/2014 - 00:58:47: [AMXX]    [1] phpUrQxbc.sma::zp_user_infected_post (line 55)

Вот исх этого плагина:
Скрытый текст
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

new const red_color[14] = { 250, 50, 250, 250, 250, 250, 250, 50, 250, 250, 250, 250, 250, 250 }
new const green_color[14] = { 250, 150, 250, 150, 0, 250, 50, 150, 150, 0, 150, 250, 150, 0 }
new const blue_color[14] = { 250, 250, 50, 50, 0, 50, 250, 250, 50, 0, 250, 50, 50, 0 }
new const cso_kill_headshot[] = "cso/headshot.wav"
new const cso_kill_sounds[14][] =
{
"cso/kill1.wav",
"cso/kill2.wav",
"cso/kill3.wav",
"cso/kill4.wav",
"cso/kill5.wav",
"cso/kill6.wav",
"cso/kill7.wav",
"cso/kill8.wav",
"cso/kill9.wav",
"cso/kill10.wav",
"cso/kill11.wav",
"cso/kill12.wav",
"cso/kill13.wav",
"cso/kill14.wav"
}

new Float:g_iTask[33];
new g_iKills[64];
new g_center1_sync;

public plugin_init()
{
register_plugin("Kill's Like CS Online", "0.1", "fl0wer")

RegisterHam(Ham_Killed, "player", "Player_Killed_Post", 1)
RegisterHam(Ham_Player_PostThink, "player", "Player_PostThink_Post", 1)

g_center1_sync = CreateHudSyncObj()
}

public plugin_precache()
{
for(new i = 0; i < sizeof cso_kill_sounds; i++)
precache_sound(cso_kill_sounds[i])

precache_sound(cso_kill_headshot)
}

public zp_user_infected_post(id, infector)
{
if(!is_user_connected(id) || !is_user_connected(infector))
return;

show_kills(id, infector)
}

public Player_Killed_Post(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker))
return;

if(victim == attacker)
return;

show_kills(victim, attacker)
}

public Player_PostThink_Post(id)
{
if(!is_user_alive(id))
return;

if(g_iTask[id] + 4.0 <= get_gametime())
{
g_iKills[id] = max(g_iKills[id] -= 1, 0);
g_iTask[id] = get_gametime();
}
}

show_kills(victim, attacker)
{
if(!is_user_connected(attacker))
return;
if(g_iKills[attacker] < sizeof cso_kill_sounds - 1)
g_iKills[attacker]++;
g_iTask[attacker] = get_gametime();
g_iKills[victim] = 0;
g_iTask[victim] = 0.0;

new speak_sound = g_iKills[attacker] - 1;

if(get_pdata_int(victim, 75) == HIT_HEAD)
{
client_cmd(attacker, "speak ^"%s^"", cso_kill_headshot)
}
else
{
client_cmd(attacker, "speak ^"%s^"", cso_kill_sounds[speak_sound])
}
set_hudmessage(red_color[g_iKills[attacker]], green_color[g_iKills[attacker]], blue_color[g_iKills[attacker]], -1.0, 0.25, 0, 0.1, 3.0, 0.1, 0.1, -1)
ShowSyncHudMsg(attacker, g_center1_sync, "%d KILL!", g_iKills[attacker])
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 7.8.2014, 11:34
Сообщение #6


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Redir, не, я в скриптинге не бум бум, просто заметил скобку.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 7.8.2014, 18:59
Сообщение #7


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

Redir,

незнаю можно ли кидать ссылки на другие форумы(там ошибки были точно такие же), вот короче код, попробуйте:

Скрытый текст
Код:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <zombieplague>

new const red_color[14] = { 250, 50, 250, 250, 250, 250, 250, 50, 250, 250, 250, 250, 250, 250 }
new const green_color[14] = { 250, 150, 250, 150, 0, 250, 50, 150, 150, 0, 150, 250, 150, 0 }
new const blue_color[14] = { 250, 250, 50, 50, 0, 50, 250, 250, 50, 0, 250, 50, 50, 0 }
new const cso_kill_headshot[] = "cso/headshot.wav"
new const cso_kill_sounds[14][] =
{
"cso/kill1.wav",
"cso/kill2.wav",
"cso/kill3.wav",
"cso/kill4.wav",
"cso/kill5.wav",
"cso/kill6.wav",
"cso/kill7.wav",
"cso/kill8.wav",
"cso/kill9.wav",
"cso/kill10.wav",
"cso/kill11.wav",
"cso/kill12.wav",
"cso/kill13.wav",
"cso/kill14.wav"
}

new Float:g_iTask[33];
new g_iKills[33];
new g_center1_sync;

public plugin_init()
{
register_plugin("Kill's Like CS Online", "0.1", "fl0wer")

RegisterHam(Ham_Killed, "player", "Player_Killed_Post", 1)
RegisterHam(Ham_Player_PostThink, "player", "Player_PostThink_Post", 1)

g_center1_sync = CreateHudSyncObj()
}

public plugin_precache()
{
for(new i = 0; i < sizeof cso_kill_sounds; i++)
precache_sound(cso_kill_sounds[i])

precache_sound(cso_kill_headshot)
}

public zp_user_infected_post(id, infector)
{
if(!is_user_connected(id) || !is_user_connected(infector))
return;

show_kills(id, infector)
}

public Player_Killed_Post(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker) || !is_user_connected(victim) || victim == attacker)
return;

show_kills(victim, attacker)
}

public Player_PostThink_Post(id)
{
if(!is_user_alive(id))
return;

if(g_iTask[id] + 4.0 <= get_gametime())
{
g_iKills[id] = max(g_iKills[id] -= 1, 0);
g_iTask[id] = get_gametime();
}
}

show_kills(victim, attacker)
{
if(!is_user_connected(victim) || !is_user_connected(attacker))
return;

g_iKills[attacker]++;
g_iTask[attacker] = get_gametime();
g_iKills[victim] = 0;
g_iTask[victim] = 0.0;

new speak_sound = g_iKills[attacker] - 1;

if(get_pdata_int(victim, 75) == HIT_HEAD)
{
client_cmd(attacker, "speak ^"%s^"", cso_kill_headshot)
}
else
{
client_cmd(attacker, "speak ^"%s^"", cso_kill_sounds[speak_sound])
}

set_hudmessage(red_color[g_iKills[attacker]], green_color[g_iKills[attacker]], blue_color[g_iKills[attacker]], -1.0, 0.25, 0, 0.1, 3.0, 0.1, 0.1, -1)
ShowSyncHudMsg(attacker, g_center1_sync, "%d KILL!", g_iKills[attacker])
}


Отредактировал: MiXa, - 7.8.2014, 19:05


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: