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

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

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

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

> Правила форума

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

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Kill Assist переделать

Статус пользователя Ant1kk
сообщение 19.1.2014, 20:17
Сообщение #1
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Вот есть скрипт Kill_Assist. Я хочу изменить чучуть, убрать чтобы показывало ассиста Ник1 + Ник2 убили с емки Ник3, а вместо него, поставить в чате оповещение тому, кто помог и убил.
Код:

/* --------------------------------------------------------------------------
Kill assist (for CS) v1.2b
by Digi (a.k.a. Hunter-Digital)
www.thehunters.ro
-----------------------------------------------------------------

Description:

When a player gets killed, this plugin checks if another player, from the same team,
did enough damage to the victim so that he could be an accomplice to the kill and
the assister will also receive a frag
(all of these are cvar controlled)


CVars and default values:

- amx_killassist_enable 0/1/2 (default: 1)
Enable modes: 0 = Disable / 1 = Enable with DeathMsg / 2 = Enable with HUD message

- amx_killassist_mindamage 1-9999 (default: 50)
Minimum amount of damage to deal to be nominated for an assisted kill

- amx_killassist_givefrags 0/1 (default: 1)
Give or not give the assister frags

- amx_killassist_givemoney 0-16000 (default: 300)
Give or not give the assister some money, 0 disables, 1 or more sets how much money

- amx_killassist_onlyalive 0/1 (default: 0)
Only alive players can be of assistance in killing other players


Credits and thanks:

- ConnorMcLeod - for helping with quick name changing
- arkshine - for helping with name squeeze
- joaquimandrade - code improvements
- anakin_cstrike - code improvements
- Nextra - more code improvements
- ajvn - some ideas
- Dores - and more code improvements
- frearmer - hud message sugestion


Changelog:

v1.2b - modified public variable to "killassist_version" and fixed deathmsg not showing when you suicide with worldspawn or an entity
v1.2 - added no-name-changing support, prints HUD message, to activate, set enabled to 2
v1.1b - simplified cvar checking using clamp()
v1.1 - converted to CS only, new cvars: amx_killassist_onlyalive, amx_killassist_givemoney, enriched cvar handling, added team cache and fixed some bugs
v1.0d - Removed useless stuff xD, added pcvar on amx_mode and used formatex()
v1.0c - Some modifications and added g_bOnline
v1.0b - Fixed admin name bug
v1.0 - Release

-------------------------------------------------------------- */

/* Feel free to modify these HUD message values */

#define HUD_colorR 255 // default: 255
#define HUD_colorG 155 // default: 155
#define HUD_colorB 0 // default: 0
#define HUD_posX 0.6 // default: 0.6
#define HUD_posY 0.2 // default: 0.2
#define HUD_fx 0 // default: 0
#define HUD_fxTime 0.0 // default: 0.0
#define HUD_holdTime 1.0 // default: 1.0
#define HUD_fadeInTime 0.3 // default: 0.3
#define HUD_fadeOutTime 2.0 // default: 2.0
#define HUD_channel -1 // default: -1

/* -------------------------------------------------------------------------
Nothing to edit below this point */

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define PLUGIN_TITLE "Kill assist (for CS)"
#define PLUGIN_VERSION "1.2b"
#define PLUGIN_AUTHOR "Digi (www.thehunters.ro)"
#define PLUGIN_PUBLICVAR "killassist_version"

#define MAXPLAYERS 32 + 1

#define TEAM_NONE 0
#define TEAM_TE 1
#define TEAM_CT 2
#define TEAM_SPEC 3

#define is_player(%1) (1 <= %1 <= g_iMaxPlayers)

#define gmsg_SayText 76
#define gmsg_DeathMsg 83
#define gmsg_ScoreInfo 85
#define gmsg_Money 102

new pCVar_enabled,pCVar_minDamage,pCVar_giveFrags,pCVar_giveMoney,pCVar_onlyAlive;
new ch_pCVar_enabled,ch_pCVar_minDamage,ch_pCVar_giveFrags,ch_pCVar_giveMoney,ch_pCV
ar_onlyAlive;
new g_szName[MAXPLAYERS][MAXPLAYERS-1],g_iDamage[MAXPLAYERS][MAXPLAYERS],g_iTeam[MAXPLAYERS]
new bool:g_bAlive[MAXPLAYERS] = {false, ...}
new bool:g_bOnline[MAXPLAYERS] = {false, ...}
new bool:g_bblock_name[MAXPLAYERS] = {false, ...}
new g_iMaxPlayers = 0

public plugin_init()
{
register_plugin(PLUGIN_TITLE, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_cvar(PLUGIN_PUBLICVAR, PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)

pCVar_enabled = register_cvar("amx_killassist_enabled", "1")
pCVar_minDamage = register_cvar("amx_killassist_mindamage", "50")
pCVar_giveFrags = register_cvar("amx_killassist_givefrags", "1")
pCVar_giveMoney = register_cvar("amx_killassist_givemoney", "300")
pCVar_onlyAlive = register_cvar("amx_killassist_onlyalive", "0")

register_message(gmsg_DeathMsg, "msg_deathMsg")

register_logevent("event_roundStart", 2, "1=Round_Start")

register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
register_event("DeathMsg", "player_die", "ae")
register_event("TeamInfo", "player_joinTeam", "a")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

g_iMaxPlayers = get_maxplayers()
}

public plugin_cfg() event_roundStart()

public event_roundStart()
{
ch_pCVar_enabled = clamp(get_pcvar_num(pCVar_enabled), 0, 2)
ch_pCVar_minDamage = clamp(get_pcvar_num(pCVar_minDamage), 0, 9999)
ch_pCVar_giveFrags = clamp(get_pcvar_num(pCVar_giveFrags), 0, 1)
ch_pCVar_giveMoney = clamp(get_pcvar_num(pCVar_giveMoney), 0, 16000)
ch_pCVar_onlyAlive = clamp(get_pcvar_num(pCVar_onlyAlive), 0, 1)
}

public client_putinserver(iPlayer)
{
g_bOnline[iPlayer] = true
get_user_name(iPlayer, g_szName[iPlayer], 31)
}

public client_disconnect(iPlayer)
{
g_iTeam[iPlayer] = TEAM_NONE
g_bAlive[iPlayer] = false
g_bOnline[iPlayer] = false
}

public player_joinTeam()
{
new iPlayer, szTeam[2]

iPlayer = read_data(1)
read_data(2, szTeam, 1)

switch(szTeam[0])
{
case 'T': g_iTeam[iPlayer] = TEAM_TE
case 'C': g_iTeam[iPlayer] = TEAM_CT
default: g_iTeam[iPlayer] = TEAM_SPEC // since you can't transfer yourself to unassigned team...
}

return PLUGIN_CONTINUE
}

public player_spawn(iPlayer)
{
if(!is_user_alive(iPlayer))
return HAM_IGNORED

g_bAlive[iPlayer] = true // he's alive !

// reset damage meters
for(new p = 1; p <= g_iMaxPlayers; p++)
g_iDamage[iPlayer][p] = 0

return HAM_IGNORED
}

public player_damage(iVictim)
{
if(!ch_pCVar_enabled || !is_player(iVictim))
return PLUGIN_CONTINUE

new iAttacker = get_user_attacker(iVictim)

if(!is_player(iAttacker))
return PLUGIN_CONTINUE

g_iDamage[iAttacker][iVictim] += read_data(2)

return PLUGIN_CONTINUE
}

public player_die()
{
if(!ch_pCVar_enabled)
return PLUGIN_CONTINUE

new iVictim = read_data(2)
new iKiller = read_data(1)
new iHS = read_data(3)
new szWeapon[24]
read_data(4, szWeapon, 23)

if(!is_player(iVictim))
{
do_deathmsg(iKiller, iVictim, iHS, szWeapon)
return PLUGIN_CONTINUE
}

g_bAlive[iVictim] = false

if(!is_player(iKiller))
{
do_deathmsg(iKiller, iVictim, iHS, szWeapon)
return PLUGIN_CONTINUE
}

new iKillerTeam = g_iTeam[iKiller]

if(iKiller != iVictim && g_iTeam[iVictim] != iKillerTeam)
{
new iKiller2 = 0
new iDamage2 = 0

for(new p = 1; p <= g_iMaxPlayers; p++)
{
if(p != iKiller && g_bOnline[p] && (ch_pCVar_onlyAlive && g_bAlive[p] || !ch_pCVar_onlyAlive) && iKillerTeam == g_iTeam[p] && g_iDamage[p][iVictim] >= ch_pCVar_minDamage && g_iDamage[p][iVictim] > iDamage2)
{
iKiller2 = p
iDamage2 = g_iDamage[p][iVictim]
}

g_iDamage[p][iVictim] = 0
}

if(iKiller2 > 0 && iDamage2 > ch_pCVar_minDamage)
{
if(ch_pCVar_giveFrags)
{
new iFrags = get_user_frags(iKiller2)+1
set_user_frags(iKiller2, iFrags)
message_begin(MSG_ALL, gmsg_ScoreInfo)
write_byte(iKiller2)
write_short(iFrags)
write_short(get_user_deaths(iKiller2))
write_short(0)
write_short(iKillerTeam)
message_end()
}

if(ch_pCVar_giveMoney)
{
new iMoney = cs_get_user_money(iKiller2) + ch_pCVar_giveMoney

if(iMoney > 16000)
iMoney = 16000

cs_set_user_money(iKiller2, iMoney)

if(g_bAlive[iKiller2]) // no reason to send a money message when the player has no hud :}
{
message_begin(MSG_ONE_UNRELIABLE, gmsg_Money, _, iKiller2)
write_long(iMoney)
write_byte(1)
message_end()
}
}

if(ch_pCVar_enabled == 2)
{
new szName1[32], szName2[32], szName3[32], szMsg[128]

get_user_name(iKiller, szName1, 31)
get_user_name(iKiller2, szName2, 31)
get_user_name(iVictim, szName3, 31)

formatex(szMsg, 63, "%s killed %s assisted by %s", szName1, szName3, szName2)

set_hudmessage(HUD_colorR, HUD_colorG, HUD_colorB, HUD_posX, HUD_posY, HUD_fx, HUD_fxTime, HUD_holdTime, HUD_fadeInTime, HUD_fadeOutTime, HUD_channel)
show_hudmessage(0, szMsg)
}
else
{
new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

iName1Len = get_user_name(iKiller, szName1, 31)
iName2Len = get_user_name(iKiller2, szName2, 31)

g_szName[iKiller] = szName1

if(iName1Len < 14)
{
formatex(szName1, iName1Len, "%s", szName1)
formatex(szName2, 28-iName1Len, "%s", szName2)
}
else if(iName2Len < 14)
{
formatex(szName1, 28-iName2Len, "%s", szName1)
formatex(szName2, iName2Len, "%s", szName2)
}
else
{
formatex(szName1, 13, "%s", szName1)
formatex(szName2, 13, "%s", szName2)
}

formatex(szNames, 31, "%s + %s", szName1, szName2)

g_bblock_name[iKiller] = true
set_msg_block(gmsg_SayText, BLOCK_ONCE)
set_user_info(iKiller, "name", szNames)

if(equali(szWeapon, "grenade"))
szWeaponLong = "weapon_hegrenade"
else
formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

new args[4]

args[0] = iVictim
args[1] = iKiller
args[2] = iHS
args[3] = get_weaponid(szWeaponLong)

set_task(0.1, "player_diePost", 0, args, 4)
}
}
else if(ch_pCVar_enabled == 1)
do_deathmsg(iKiller, iVictim, iHS, szWeapon)
}
else if(ch_pCVar_enabled == 1)
do_deathmsg(iVictim, iVictim, iHS, szWeapon)

return PLUGIN_CONTINUE
}

public player_diePost(arg[])
{
new szWeapon[24]
new iKiller = arg[1]

get_weaponname(arg[3], szWeapon, 23)
replace(szWeapon, 23, "weapon_", "")

do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

set_msg_block(gmsg_SayText, BLOCK_ONCE)
set_user_info(iKiller, "name", g_szName[iKiller])
g_bblock_name[iKiller] = false
return PLUGIN_CONTINUE
}

public msg_deathMsg()
return ch_pCVar_enabled == 1 ? PLUGIN_HANDLED : PLUGIN_CONTINUE

public client_infochanged(id) {
if(g_bblock_name[id]) return;
get_user_name(id, g_szName[id], 31)
}

/* originally from messages_stocks.inc, but simplified */
stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
message_begin(MSG_ALL, gmsg_DeathMsg)
write_byte(iKiller)
write_byte(iVictim)
write_byte(iHS)
write_string(szWeapon)
message_end()
}

/* --------------------------------------------------------------------------
EOF
-------------------------------------------------------------- */


Отредактировал: Ant1kk, - 19.1.2014, 22:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя izymcs
сообщение 19.1.2014, 21:30
Сообщение #2


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

:DDD
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 19.1.2014, 21:41
Сообщение #3


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Хочешь проблем с никами игроков - жди, когда кто-нибудь тебе поможет сделать двойные ники.
Хочешь, чтобы присваивались фраги(если что, то фраги даются только визуально, в статистику не записываются) - ставь эту версию.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 19.1.2014, 21:46
Сообщение #4
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(izymcs @ 19.1.2014, 23:41) *
Хочешь проблем с никами игроков - жди, когда кто-нибудь тебе поможет сделать двойные ники.
Хочешь, чтобы присваивались фраги(если что, то фраги даются только визуально, в статистику не записываются) - ставь эту версию.

Мне просто убрать надо то, чтобы показывало. Просто тупо убрать. А саму фун-ю оставить, просто будет скрытно выдавать, но писать в чате об этом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 19.1.2014, 21:47
Сообщение #5
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

когда уже научитесь прикреплять большие файлы а маленькие обрамлять тегом pawn] /pawn]

Отредактировал: csnet, - 19.1.2014, 21:48


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 19.1.2014, 21:48
Сообщение #6


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(Ant1kk @ 19.1.2014, 23:46) *
Мне просто убрать надо то, чтобы показывало. Просто тупо убрать. А саму фун-ю оставить, просто будет скрытно выдавать, но писать в чате об этом.

То есть ты хочешь, чтобы писалось в чат, что у 2-х каких-то игроков один убитый игрок, я правильно понял?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 19.1.2014, 22:11
Сообщение #7
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(izymcs @ 19.1.2014, 23:48) *
То есть ты хочешь, чтобы писалось в чат, что у 2-х каких-то игроков один убитый игрок, я правильно понял?

Ну только у них, чтобы не флудило просто в чат. Ну правильно подумал.

Цитата(csnet @ 19.1.2014, 23:47) *
когда уже научитесь прикреплять большие файлы а маленькие обрамлять тегом pawn] /pawn]

Это разве маленький? Если да, то сделаю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 20.1.2014, 18:15
Сообщение #8
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Жалко, что никто не может помочь.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OriGinaL
сообщение 20.1.2014, 18:39
Сообщение #9
Стаж: 13 лет

Сообщений: 1796
Благодарностей: 434
Полезность: 0

а этот плагин профикшен? а то от него вроде на сколько я помню админки слетали
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 20.1.2014, 19:00
Сообщение #10
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(OriGinaL @ 20.1.2014, 20:39) *
а этот плагин профикшен? а то от него вроде на сколько я помню админки слетали

Неа, не профикшен. Я просто плагин нашел, он админ лист перезагружает. Надо найти профикшеный.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 20.1.2014, 19:21
Сообщение #11


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(Ant1kk @ 20.1.2014, 21:00) *
Неа, не профикшен. Я просто плагин нашел, он админ лист перезагружает. Надо найти профикшеный.


Да держите вы, господи...
Не нравится amxx - фиксите сами.
Никаких проблем с плагином нет.

Отредактировал: izymcs, - 20.1.2014, 20:09
Прикрепленные файлы:
Прикрепленный файл  kill_assist.rar ( 9,37 килобайт ) Кол-во скачиваний: 19
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 20.1.2014, 19:52
Сообщение #12
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(izymcs @ 20.1.2014, 21:21) *
Да держите вы, господи...
Не нравится amxx - фиксите сами.
Никаких проблем с плагином нет.

Причем тут нравится или нет? Суть темы другая.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 20.1.2014, 20:08
Сообщение #13


Стаж: 12 лет

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

Возможно проблема в том что надо вежливо попросить знающих людей помочь,а не просто выложить список требований. Тогда может у кого то и появится желание помочь вам.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 20.1.2014, 20:09
Сообщение #14


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(Bloo @ 20.1.2014, 22:08) *
Возможно проблема в том что надо вежливо попросить знающих людей помочь,а не просто выложить список требований. Тогда может у кого то и появится желание помочь вам.


Согласен.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 20.1.2014, 20:12
Сообщение #15
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(Bloo @ 20.1.2014, 22:08) *
Возможно проблема в том что надо вежливо попросить знающих людей помочь,а не просто выложить список требований. Тогда может у кого то и появится желание помочь вам.

Я это понимаю, но такие пользователи как izymcs просто пишут не по теме. И я начинаю отвечать как могу.

Цитата(izymcs @ 20.1.2014, 22:09) *
Согласен.

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


Стаж: 12 лет

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

Я говорю о изначальном составлении темы, на мой взгляд сразу отбивает желание помочь (чисто моя точка зрения). Я не скриптер, помочь не смогу.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 20.1.2014, 20:13
Сообщение #17


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(Ant1kk @ 20.1.2014, 22:10) *
Я это понимаю, но такие пользователи как izymcs просто пишут не по теме. И я начинаю отвечать как могу.


На изюма не гони, пожалуйста. С моей помощью и с моей подсказкой ты сейчас тут сидишь и обсуждаешь мои ответы.
Тебе нужен был плагин с исправленным багом? Я тебе его скинул.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 20.1.2014, 20:14
Сообщение #18
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(izymcs @ 20.1.2014, 22:13) *
На изюма не гони, пожалуйста. С моей помощью и с моей подсказкой ты сейчас тут сидишь и обсуждаешь мои ответы.
Тебе нужен был плагин с исправленным багом? Я тебе его скинул.

Мне надо не профикшеный, а переписать чучуть.

Цитата(Bloo @ 20.1.2014, 22:12) *
Я говорю о изначальном составлении темы, на мой взгляд сразу отбивает желание помочь (чисто моя точка зрения). Я не скриптер, помочь не смогу.

Ну спасибо за совет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 20.1.2014, 20:20
Сообщение #19


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(Ant1kk @ 20.1.2014, 22:14) *
Мне надо не профикшеный, а переписать чучуть.


Ты сначала пофикси его, а потом изменяй под себя.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 20.1.2014, 20:22
Сообщение #20


Стаж: 12 лет

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

Обратитесь к любому скриптеру с форума, я думаю за небольшую плату помогут. Там я так понимаю не 2 строчки поправить... Как вариант https://c-s.net.ua/forum/topic48997.html
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: