18:21
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Модератор форума: AXE, Weddew  
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


  • Внятно объясняйте Вашу проблему, если Вы получили ошибку, обязательно выкладывайте строки, на которые "ругается" компилятор.
  • Задавайте вопросы исключительно по коду, а не по системам, которые имеются у Вас в моде.
  • Помощь идет только по желанию пользователя, если человек помог Вам только частично, не нужно начинать поливать его грязью.
  • Возможно тип Вашей проблемы уже обсуждался на форуме, воспользуйтесь поиском.
  • В этой теме пользователи лишь оказывают помощь в написании кода, а не пишут его за Вас.
  • Если Вы хотите отблагодарить пользователя, жмите на кнопку . (Только для продвинутых, и выше)
  • Если Вы уже задавали вопрос и не получили на него ответа, то лучше написать в ЛС одному из участников группы , чем засорять тему.
  • Если Вы сами решили свою проблему, то напишите, как Вы ее решили.
  • Если Вас просят выложить код функций, то используйте для этого сервис pastebin.com


Скриптерам:

  • Не оскорблять новичков.
  • Не засорять тему сообщениями, подобные этому: "Закрой PAWNO и иди делай уроки".
  • Не посылать в поиск. Пользователь итак уже пришёл сюда из поиска. Если решение проблемы уже было опубликовано, то указать в какой теме
  • Как можно понятней объяснять решение той, или иной проблемы, по возможности приводить примеры.



Инструкции:

  • [cut noguest=Краткая инструкция для вшивания FS в мод]
    1) Все из callback OnFilterScriptInit вставляем в конец callback OnGameModeInit перед словом return.
    2) Все из callback OnFilterScriptExit вставляем в конец callback OnGameModeExit перед словом return.
    3) Все объявления переменных (new ...) и констант (const ...; #define ... ...) в начало мода.
    4) Все прототипы (forward ...(...) ) ко всем прототипам.
    5) Все описания нестандартных функций (public ...(...); stock ...(...); ...(...){...} ), которых нет в моде, вставляем в конец мода.

    P.S. Данный мануал не гарантирует, что после копирования все будет работать, так как еще потребуется подгонять одни системы под другие.
    P.P.S Если в одном из callback`ов Вы не обнаружили кода, то переходите к следующему пункту инструкции.
    [/cut]
  • [cut noguest=Защита от ботов]
    В OnPlayerConnect
    [pwn]if(GetPlayersSameIp(playerid) > 3) Kick(playerid);[/pwn]
    В конец мода
    [pwn]stock GetPlayersSameIp(playerid)
    {//by Weddew
    //Возвращает количество подключенных игроков с таким же IP как у playerid
    new count = 0, p_ip[16], i_ip[16];
    GetPlayerIp(playerid, p_ip, sizeof(p_ip));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    GetPlayerIp(playerid, i_ip, sizeof(i_ip));
    if(i != playerid)
    {
    if(!strcmp(p_ip, i_ip, false)) count++;
    }
    }
    return count;
    }[/pwn]
    [/cut]
  • [cut noguest=Проверка на Role Play ник]
    В конец мода:
    [pwn]
    stock IsARPNickname(playerid)
    {
    //by Weddew
    new p_n[MAX_PLAYER_NAME], dcount = 0;
    GetPlayerName(playerid, p_n, sizeof(p_n))
    for(i = 0; i < strlen(p_n); i++)
    {
    if(p_n[i] == '_') dcount++;
    }
    if(dcount != 1 || p_n[0] == '_' || p_n[strlen(p_n)-1] == '_') return false;
    return true;
    }[/pwn]

    В OnPlayerConnect

    [pwn]
    if(!IsARPNickname(playerid)) Kick(playerid);[/pwn]

    P.S.:
    Не пропустит: _Nick_Name_, _Nick_Name, NickName_
    Пропустит: Nick_Name, NICK_NAME, NiCk_name, nick_name[/cut]




www.weddew-shop.ru


Сообщение отредактировал Weddew - Среда, 23.10.2013, 21:45
Dj_R[e]PAДата: Суббота, 22.11.2014, 21:17 | Сообщение # 2161
Новенький
Группа: Продвинутые
Сообщений: 45
Награды: 1
Город: BALAXTA
Репутация: 8
Замечания: 60%
Статус:
Только я не пойму, что тебе даст этот код?)) Мне просто надо узнать, как сделать еще одну тиму, чтобы именно она спавнилась рандомно
[pwn]#include <a_samp>

#define TEAM_1 1
#define TEAM_2 2
#define TEAM_3 3
#define TEAM_4 4
#define TEAM_5 5

new gTeam[MAX_PLAYERS];

public OnPlayerRequestClass(playerid, classid)
{

SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516);
SetPlayerFacingAngle(playerid,181.0);
SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516);
SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516);
if(classid == 0 || classid == 1 || classid == 2 || classid == 3){
gTeam[playerid] = TEAM_1;
GameTextForPlayer(playerid, "ballas", 1000, 3);}
else if(classid == 4 || classid == 5 || classid == 6 || classid == 7){
gTeam[playerid] = TEAM_2;
GameTextForPlayer(playerid, "groove", 1000, 3);}
else if(classid == 8 || classid == 9 || classid == 10 || classid == 11){
gTeam[playerid] = TEAM_3;
GameTextForPlayer(playerid, "San Fierro", 1000, 3);}
else if(classid == 12 || classid == 13 || classid == 14 || classid == 15){
gTeam[playerid] = TEAM_4;
GameTextForPlayer(playerid, "Army", 1000, 3);}
else if(classid == 16 || classid == 17 || classid == 18 || classid == 19){
gTeam[playerid] = TEAM_5;
GameTextForPlayer(playerid, "Aztec", 1000, 3);}
return 1;
}

public OnPlayerSpawn(playerid)
{

SetPlayerInterior(playerid,0);
if(gTeam[playerid] == TEAM_1)
SetPlayerColor(playerid, 0x000000AA);
else if(gTeam[playerid] == TEAM_2)
{
if (IsPlayerAdmin(playerid))
SetPlayerColor(playerid, 0xFFFFFFAA);
else
{
SendClientMessage(playerid, 0xAA3333AA, " Ты не админ!!!");
GameTextForPlayer(playerid, "~g~~h~YOU ARE NOT ADMIN!!!", 5000, 5);
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 264.3700,77.5700,1001.0391);
SetPlayerFacingAngle(playerid, 272.6900);
TogglePlayerControllable(playerid, 0);
}
}
SetPlayerColor(playerid, 0x00C0F4AA);
if(gTeam[playerid] == TEAM_3)
SetPlayerColor(playerid, 0x00C0F4AA);
else if(gTeam[playerid] == TEAM_4)
SetPlayerColor(playerid, 0x00C0F4AA);
else if(gTeam[playerid] == TEAM_5)
SetPlayerColor(playerid, 0x00C0F4AA);

return 1;
}[/pwn]



DiZiДата: Суббота, 22.11.2014, 21:22 | Сообщение # 2162
Местный
Группа: Продвинутые
Сообщений: 669
Награды: 2
Город: новокузнецк
Репутация: 158
Замечания: 40%
Статус:
Dj_R[e]PA,
Создавай фракцию к примеру с номером 11( civilian ) и потом делай проверку при спавне, что то типа

if(PlayerInfo[playerid][pMember] == 11 )
{
//тут код спавна рандомного
}

Остальным фаркам делай такую же проверку но уже со статичными координатами спавна.



======= Мои проекты =======
[GM]Zombie Mod [Разработка][7%]
=======================


=====Мои работы=====
[FS] Auto Menu
[FS] AdminPanel




RishatДата: Суббота, 22.11.2014, 21:56 | Сообщение # 2163
Уверенный в себе
Группа: Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус:
Dj_R[e]PA, чтобы пример продемонстрировать.
Вроде всё подробно разжевал. На работоспособность не проверял

[pwn]#include <a_samp>

#define TEAM_1 1
#define TEAM_2 2
#define TEAM_3 3
#define TEAM_4 4
#define TEAM_5 5
#define TEAM_6 6 // Civilian

// Ïåðåìåííûå
new gTeam[MAX_PLAYERS];

// Ìàññèâ êîîðäèíàò ïîçèöèè (ñïàâíà civilian)
enum CoordInfo {
     Float:Coord_X,
     Float:Coord_Y,
     Float:Coord_Z
}

new Float:CivilianSpawn[5][CoordInfo] = {
  {1958.3783,1343.1572,15.3746}, // 1
  {2199.6531,1393.3678,10.8203}, // 2
  {2483.5977,1222.0825,10.8203}, // 3
  {2637.2712,1129.2743,11.1797}, // 4
  {2000.0106,1521.1111,17.0625} // 5
};

// Ãëîáàëüíûå ïðîöåäóðû
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516);
SetPlayerFacingAngle(playerid,181.0);
SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516);
SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516);

if(classid == 0 || classid == 1 || classid == 2 || classid == 3)
{
gTeam[playerid] = TEAM_1;
GameTextForPlayer(playerid, "ballas", 1000, 3);
}
else if(classid == 4 || classid == 5 || classid == 6 || classid == 7)
{
gTeam[playerid] = TEAM_2;
GameTextForPlayer(playerid, "groove", 1000, 3);
}
else if(classid == 8 || classid == 9 || classid == 10 || classid == 11)
{
gTeam[playerid] = TEAM_3;
GameTextForPlayer(playerid, "San Fierro", 1000, 3);
}
else if(classid == 12 || classid == 13 || classid == 14 || classid == 15)
{
gTeam[playerid] = TEAM_4;
GameTextForPlayer(playerid, "Army", 1000, 3);
}
else if(classid == 16 || classid == 17 || classid == 18 || classid == 19)
{
gTeam[playerid] = TEAM_5;
GameTextForPlayer(playerid, "Aztec", 1000, 3);
}
else if(classid == 'öèôðà' || classid == 'öèôðà' || classid == 'öèôðà' || classid == 'öèôðà' ) // Äîáàâü ñþäà ñâîè çíà÷åíèÿ, ÿ õç ÷åìó òàì classid ïðèñâàåâàåòñÿ
{
gTeam[playerid] = TEAM_6;
GameTextForPlayer(playerid, "Civilian", 1000, 3);
}
return 1;
}

public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,0);
if(gTeam[playerid] == TEAM_1)  SetPlayerColor(playerid, 0x000000AA);
else if(gTeam[playerid] == TEAM_2)
{
if (IsPlayerAdmin(playerid))  SetPlayerColor(playerid, 0xFFFFFFAA);
else
{
SendClientMessage(playerid, 0xAA3333AA, " ?? ?? ?????!!!");
GameTextForPlayer(playerid, "~g~~h~YOU ARE NOT ADMIN!!!", 5000, 5);
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 264.3700,77.5700,1001.0391);
SetPlayerFacingAngle(playerid, 272.6900);
TogglePlayerControllable(playerid, 0);
}
}
SetPlayerColor(playerid, 0x00C0F4AA);
if(gTeam[playerid] == TEAM_3)
SetPlayerColor(playerid, 0x00C0F4AA);
else if(gTeam[playerid] == TEAM_4)  SetPlayerColor(playerid, 0x00C0F4AA);
else if(gTeam[playerid] == TEAM_5)  SetPlayerColor(playerid, 0x00C0F4AA);
if(gTeam[playerid] == TEAM_6) // Ôðàêöèÿ civilian, à òàê æå ôóíêöèÿ ðàíäîìà
{
SetPlayerColor(playerid, 0x00C0F4AA);
new rand = random(sizeof(CivilianSpawn)); // Îáîëî÷êà ðàíäîìà
SetPlayerPos(playerid, CivilianSpawn[rand][Coord_X], CivilianSpawn[rand][Coord_Y], CivilianSpawn[rand][Coord_Z]); // Âûäà÷à ïîçèöèé èãðîêó
}
return 1;
}[/pwn]



[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)


Сообщение отредактировал Rishat - Суббота, 22.11.2014, 21:57
CheSTRДата: Пятница, 28.11.2014, 21:46 | Сообщение # 2164
Новенький
Группа: Пользователи
Сообщений: 44
Награды: 1
Город: Саратов
Репутация: 34
Замечания: 0%
Статус:
и снова я и снова с проблемой, в этот раз мучаюсь второй день, успехов нет) итак написал анти аттаку от OnIncommingConnection, не знаю как это делают, но с помощью этого кладут сервера на раз два, проблема в том что первая стадия присвоение ипу слота не проходит он сразу пишет attacking
http://pastebin.com/BLpK5TcT

sehrgetДата: Воскресенье, 21.12.2014, 10:46 | Сообщение # 2165
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
CheSTR,
[pwn]enum exInfo
{
ExitName[MAX_PLAYER_NAME],
ExitTime,
};
new ExitInfo[MAX_PLAYERS][exInfo]; [/pwn]

В public OnPlayerConnect(playerid) добавляем:


[pwn]new unixtime = GetTickCount();
for(new i=0; i<MAX_PLAYERS; i++)
{
if(!strcmp(ExitInfo[i][ExitName],PlayerInfo[playerid][pName],true))
{
if(unixtime - ExitInfo[i][ExitTime] <= 15000) return SendClientMessage(playerid,COLOR_LIGHTRED,"Повторный вход на сервер возможен не раньше, чем через 15 секунд"), Kick(playerid);
else strmid(ExitInfo[i][ExitName],"None", 0, strlen("None"), 32), ExitInfo[i][ExitTime] = 0;
}
} [/pwn]

В public OnPlayerDisconnect(playerid, reason) добавляем:


[pwn]if(gPlayerLogged[playerid] == 1) strmid(ExitInfo[playerid][ExitName],PlayerInfo[playerid][pName], 0, strlen(PlayerInfo[playerid][pName]), 32), ExitInfo[playerid][ExitTime] = GetTickCount();
В public OnGameModeInit() добавляем:
PHP код:
for(new i=0; i<MAX_PLAYERS; i++) strmid(ExitInfo[i][ExitName],"None", 0, strlen("None"), 32), ExitInfo[i][ExitTime] = 0;[/pwn]




Объясняю что к чему: это простенькая системка анти-рекконекта(аналог самп-рп). По желании можешь добавить варнинги и бан по ипу за перебор.

Добавлено (21.12.2014, 10:46)
---------------------------------------------
Dj_R[e]PA, все как и сказал тебе DiZi, но с некоторыми правками:

if(PlayerInfo[playerid][pMember] == 11)
{
if(rand == 0)
{
SetPlayerPos(playerid, x, y, z);
}
else if(rand == 1)
{
SetPlayerPos(playerid, x, y, z);
}
else if(rand == 2)
{
SetPlayerPos(playerid, x, y, z);
}
...
}
Вместо рандом 10, пиши любое количетсво твоих "рандомных" спавнов и по этой системе пиши сколько угодно рандомных точек.


Сообщение отредактировал sehrget - Суббота, 20.12.2014, 18:58
JudyДата: Суббота, 27.12.2014, 11:39 | Сообщение # 2166
Новенький
Группа: Продвинутые
Сообщений: 67
Награды: 0
Город: Екатеринбург / Trinityplayer
Репутация: 69
Замечания: 0%
Статус:
У меня есть довольно общий вопрос, даже не совсем по мультиплееру.
Как называется тот шрифт, которым в игре снизу экрана писались диалоги персонажей, там описание заданий, что далее делать и всё такое?
Вот пример:
http://i4.imageban.ru/out/2014/12/27/2b8d96f7c3005bdaaecb70141b74a32f.jpg

Пробовал и сам найти, но нашёл PricedownC, которым название игры написано, ну, Grand Theft Auto.



Прошло время...
...RCR отошёл на покой.

Встречайте новое движение, вызывает уважение,
поражает воображение, призывает к обсуждению.
ОПС «Redsands West»

http://tinyurl.com/redsandswest
syntexДата: Пятница, 02.01.2015, 18:17 | Сообщение # 2167
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Здравствуйте, подскажите есть ли где либо гайды видео или текстовые по созданию моделей игровых персонажей, скинов и т.д. А то везде только одни как поставить готовый скин, а вот сделать самому не найду никак. mda
JudyДата: Понедельник, 05.01.2015, 09:14 | Сообщение # 2168
Новенький
Группа: Продвинутые
Сообщений: 67
Награды: 0
Город: Екатеринбург / Trinityplayer
Репутация: 69
Замечания: 0%
Статус:
Хех, случайно встретил тот искомый шрифт когда искал другой :D
http://www.fonts-online.ru/font/GlasnostExtraboldFWF



Прошло время...
...RCR отошёл на покой.

Встречайте новое движение, вызывает уважение,
поражает воображение, призывает к обсуждению.
ОПС «Redsands West»

http://tinyurl.com/redsandswest
MoskvichevДата: Воскресенье, 11.01.2015, 15:43 | Сообщение # 2169
Новенький
Группа: Пользователи
Сообщений: 9
Награды: 0
Город: Санкт-Петербург
Репутация: 15
Замечания: 0%
Статус:
Такой вопрос по моду. У меня в моде большинство домов продаётся. Возле каждого дома стоит стандартный автомобиль. В папке properties имеются координаты, интерьеры домов, но проблема в том, что в игре, не у одного из этих домов нет маркера с информацией о продаже дома. Как исправить это или что найти в павно? Помогите пожалуйста. Сервер мне дали, сижу исправляю. Мод - RPGS (на подобии GF). За ранее очень благодарен. wall
AlcoholikДата: Воскресенье, 11.01.2015, 15:55 | Сообщение # 2170
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Moskvichev, В ongamemodeinit должны ставиться пикапы для каждого дома на координаты входа. Сами дома работают? Купить их можно? Войти?


if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
MoskvichevДата: Воскресенье, 11.01.2015, 16:38 | Сообщение # 2171
Новенький
Группа: Пользователи
Сообщений: 9
Награды: 0
Город: Санкт-Петербург
Репутация: 15
Замечания: 0%
Статус:
Цитата Alcoholik ()
Moskvichev, В ongamemodeinit должны ставиться пикапы для каждого дома на координаты входа. Сами дома работают? Купить их можно? Войти?


не мог не купить, не зайти, не какой инфы возле домов и не каких пикапов wall wall wall

Добавлено (11.01.2015, 16:38)
---------------------------------------------
И еще проблема возникла. Меняю стартовые деньги в строчке PlayerInfo[playerid][pCash], но в игре как был ноль так и есть((( Может анти-чит балуется? Но я не знаю где даже искать проблему. :(

Fifa4kaДата: Воскресенье, 11.01.2015, 17:11 | Сообщение # 2172
Местный
Группа: I'm V.I.P.
Сообщений: 748
Награды: 38
Город: Рига
Замечания: 0%
Статус:
Цитата Moskvichev ()
И еще проблема возникла. Меняю стартовые деньги в строчке PlayerInfo[playerid][pCash], но в игре как был ноль так и есть((( Может анти-чит балуется? Но я не знаю где даже искать проблему.


Подробно опишите ситуацию,вы изменили
PlayerInfo[playerid][pCash]

Именно pCash на другое? так?

А на счёт домов в scriptfiles про дома там могли сбиться и новые надо,или вытащи с какого то мода дома тоже гф и поставь вот и проблемы решаться!





Сообщение отредактировал Fifa4ka - Воскресенье, 11.01.2015, 17:12
MoskvichevДата: Воскресенье, 11.01.2015, 17:56 | Сообщение # 2173
Новенький
Группа: Пользователи
Сообщений: 9
Награды: 0
Город: Санкт-Петербург
Репутация: 15
Замечания: 0%
Статус:
Цитата Fifa4ka ()
Подробно опишите ситуацию,вы изменили
PlayerInfo[playerid][pCash]

У меня в моде стояло PlayerInfo[playerid][pCash] = 0. Я поставил 500 (500$). Зашёл в игру, создал нового персонажа, но при старте 0$, такая же ерунда и с кол-вом HP, стоит 100, а в игре половина жизней. Уже сломал мозг в поисках истины wall

Цитата Fifa4ka ()
А на счёт домов в scriptfiles про дома там могли сбиться и новые надо,или вытащи с какого то мода дома тоже гф и поставь вот и проблемы решаться!

Насчёт домов я думаю будет по правильном снести старую систему и вытащить с другого мода новую. Может подскажешь с какого мода лучше позаимствовать систему продажи и покупки домов? Чтобы их было очень много.
И кстати самое удивительное, что с бизами проблем нет.

Fus1Дата: Воскресенье, 11.01.2015, 18:28 | Сообщение # 2174
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Найди массив домов в моде, возможно у тебя указано к примеру 10 , а домов 100 , соответственно другие не отображаются.
AlcoholikДата: Воскресенье, 11.01.2015, 18:51 | Сообщение # 2175
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Moskvichev, в гф можно телепортироваться к домам /houseo id, где id - id дома. Попробуй введи /houseo 2 и посмотри, где окажешься. Если около дома, то дома грузятся, если у дома будет пикап, то проблема в неверном размере массива, как сказал fus1, если телепортнёшься хз куда, то дома не грузятся.
По поводу денег, проверь, где ещё идёт присвоение pCash. Насколько помню в каких-то модах первоначальная сумма хранится в какой-то глобальной переменной.



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua