Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 26
  1. #1
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±

    Как лучше всего реализовать загрузку домов?

    вопрос такой у меня на сервере например 2 дома я хочу сделать чтобы дома начинались с ID 1 но когда загружаю дома у меня выдает то что строк загружено 3 почему?

    PHP код:
    /****************************[ Недвижимость ] *********************************/
    forward CallBackLoadHouse();
    public 
    CallBackLoadHouse()
    {
        new 
    rdhouseid 1;
        
    cache_get_data(rd);
        if(!
    r) return 1;
        for(new 
    0ri++)
        {
            if(
    r)
            {
                
    HouseInfo[houseid][hID] = cache_get_field_content_int(i"hID"MYSQL);
                
    HouseInfo[houseid][hEntrancex] = cache_get_field_content_float(i"hEntrancex"MYSQL);
                
    HouseInfo[houseid][hEntrancey] = cache_get_field_content_float(i"hEntrancey"MYSQL);
                
    HouseInfo[houseid][hEntrancez] = cache_get_field_content_float(i"hEntrancez"MYSQL);
                
    HouseInfo[houseid][hExitx]= cache_get_field_content_float(i"hExitx"MYSQL);
                
    HouseInfo[houseid][hExity]= cache_get_field_content_float(i"hExity"MYSQL);
                
    HouseInfo[houseid][hExitz]= cache_get_field_content_float(i"hExitz"MYSQL);
                
    HouseInfo[houseid][hValue] = cache_get_field_content_int(i"hValue"MYSQL);
                
    HouseInfo[houseid][hHel] = cache_get_field_content_int(i"hHel"MYSQL);
                
    HouseInfo[houseid][hInt] = cache_get_field_content_int(i"hInt"MYSQL);
                
    HouseInfo[houseid][hLock] = cache_get_field_content_int(i"hLock"MYSQL);
                
    HouseInfo[houseid][hOwned] = cache_get_field_content_int(i"hOwned"MYSQL);
                
    HouseInfo[houseid][hTakings] = cache_get_field_content_int(i"hTakings"MYSQL);
                
    HouseInfo[houseid][hKlass] = cache_get_field_content_int(i"hKlass"MYSQL);
                
    HouseInfo[houseid][hCarx] = cache_get_field_content_float(i"hCarx"MYSQL);
                
    HouseInfo[houseid][hCary] = cache_get_field_content_float(i"hCary"MYSQL);
                
    HouseInfo[houseid][hCarz] = cache_get_field_content_float(i"hCarz"MYSQL);
                
    HouseInfo[houseid][hCarc] = cache_get_field_content_float(i"hCarc"MYSQL);
                
    cache_get_field_content(i"hOwner"HouseInfo[houseid][hOwner], MYSQL32);

                if(
    HouseInfo[houseid][hOwned] == 0)
                {
                    
    HouseInfo[houseid][hPickup] = CreateDynamicPickup(127323HouseInfo[houseid][hEntrancex], HouseInfo[houseid][hEntrancey], HouseInfo[houseid][hEntrancez], -1);
                    
    HouseInfo[houseid][hMIcon] = CreateDynamicMapIcon(HouseInfo[houseid][hEntrancex], HouseInfo[houseid][hEntrancey], HouseInfo[houseid][hEntrancez], 31COLOR_WHITE0, -1, -190.0);
                }
                if(
    HouseInfo[houseid][hOwned] == 1)
                {
                    
    HouseInfo[houseid][hPickup] = CreateDynamicPickup(127223HouseInfo[houseid][hEntrancex], HouseInfo[houseid][hEntrancey], HouseInfo[houseid][hEntrancez], -1);
                    
    HouseInfo[houseid][hMIcon] = CreateDynamicMapIcon(HouseInfo[houseid][hEntrancex], HouseInfo[houseid][hEntrancey], HouseInfo[houseid][hEntrancez], 32COLOR_WHITE0, -1, -190.0);
                }
                
    houseid++;
            }
            else 
    printf("Ошибка Дом %i",i);
        }
        print(
    "===============================");
        print(
    "Результат загрузки ДОМОВ:");
        
    printf("Найдено строк в БД:        [%i]"r);//пишит 2 (все правильно)
        
    printf("ID началы массива:        [%i]"HouseInfo[0][hID]);// 0 
        
    if(houseid == sizeof(HouseInfo)) printf("Загружены строк: [%i/%i]    [ГОТОВО]"houseidsizeof(HouseInfo));//3 / 3 почему 3 если домов 2?
        
    else printf("Загружены строк: [%i/%i]    [ОШИБКА]"houseidsizeof(HouseInfo));
        return 
    true;

    Разрабатываю свой собственный мод State RolePlay Mysql R38

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Потому что так работает постинкремент? При первой итерации у тебя значение houseid равно 1 и в конце меняется на 2. При второй итерации значение houseid равно 2 и в конце меняется на 3.

    И да, так делать не стоит. Если так хочется, чтоб в игре ID домов начинался с 1, просто прибавляй к ID дома единицу всякий раз, когда отображаешь его в сообщении. Оставлять ради этого целую кучу ячеек пустовать - такая себе идея.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    Dima_Tushin (17.09.2019)
  4. #3
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    хорошо спасибо за ответ уберу сделаю лучше чтобы 0 начальный был
    Разрабатываю свой собственный мод State RolePlay Mysql R38

  5. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Dima_Tushin Посмотреть сообщение
    хорошо спасибо за ответ уберу сделаю лучше чтобы 0 начальный был
    Вообще гораздо проще и лучше завязывать подобные системы на итераторах.
    То бишь, в базе данных делаешь 2 столбца с ID: "id" и "house_id".
    "id" - AUTO_INCREMENT-столбец, который будет сугубо для удобства работы с таблицей из phpMyAdmin.
    "house_id" - UNIQUE-столбец, в котором будет хранится индекс массива HouseInfo.

    Далее просто создаёшь итератор
    1. new Iterator:iHouses<MAX_HOUSES>;

    При создании дома определяешь свободный ID
    1. new h_id = Iter_Free(iHouses);
    2. if(h_id == -1)
    3. return /*Сообщение о том, что все слоты под дома заполнены*/;
    4. HouseInfo[h_id][hEntrancex] = ...; // Записываешь информацию в ячейку, равную "h_id"
    5. // Ну и в БД, в "house_id" записываешь значение "h_id"


    При загрузке делаешь так:
    1. for(new i, h_id; i < row_count; i++)
    2. {
    3. cache_get_value_name_int(i, "house_id", h_id);
    4. if(!(0 <= h_id < MAX_HOUSES))
    5. {
    6. continue;// ID дома меньше 0 или больше MAX_HOUSES - пропускаем его
    7. }
    8. Iter_Add(Houses, h_id);// Добавляем ID в итератор
    9. cache_get_value_name_flloat(i, "entrance_x", HouseInfo[h_id][hEntrancex]);//В качестве номера строки так же используем "i", а уже в качестве номера ячейки массива используем "h_id"
    10. }


    Ну и при удалении, помимо удаления самой строки из таблицы и обнуления массива, удаляешь так же и из итератора информацию:
    1. Iter_Remove(Houses, /*ID дома*/);


    Такой вариант упрощает работу с данными:
    - Не нужно хранить ID дома отдельно и искать нужный ID циклом, а достаточно напрямую обратиться к конкретной ячейке (ибо ID дома = ячейка)
    - Для работы с БД так же не нужно никакой дополнительной инфы, так как, опять же, номер ячейки массива = "house_id".
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Dima_Tushin (18.09.2019)
  7. #5
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    я не когда не работал с итераторами, сейчас наделаю потом не разберу, мне пока рано :D

    - - - Добавлено - - -

    ну все равно я потом попробую сделать сохраню твой код попробую! Спасибо.
    Разрабатываю свой собственный мод State RolePlay Mysql R38

  8. #6
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    что то я инклуд не могу подключить:(
    PHP код:
    C:\Users\Администратор\Desktop\Taurus\gamemodes\Taurus.pwn(11) : fatal error 100cannot read from file"YSI\y_iterate"

    Compilation aborted.Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase


    1 Error

    Разрабатываю свой собственный мод State RolePlay Mysql R38

  9. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Так подключи foreach. Я приводил примеры именно для него.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  10. Пользователь сказал cпасибо:
    Dima_Tushin (18.09.2019)
  11. #8
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Все исправил сейчас попробую запустить и создать пару домов
    Последний раз редактировалось Dima_Tushin; 18.09.2019 в 11:53.
    Разрабатываю свой собственный мод State RolePlay Mysql R38

  12. #9
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    вот я сделал пример просто первые работаю вот сделал но что то все дома с ID 0 :D я хз как сделать можешь помочь?

    PHP код:
        if(strcmp(cmd"/addhouse"true) == 0)
        {
            new 
    h_id Iter_Free(HOUSEIDS);
            if(
    h_id == sizeof(HouseInfo))
                return 
    SendClientMessage(playeridCOLOR_WHITE"Сообщение о том, что все слоты под дома заполнены");
            
    // Ну и в БД, в "house_id" записываешь значение "h_id"
            
    new klass[50];
            
    klass strtok(cmdtextidx);
            if(!
    strlen(klass))
                 return 
    SendClientMessage(playeridCOLOR_WHITE"Введите: /addhouse [класс]");
            
    TotalHouse++;
            if(!
    strcmp(klass"A"true))
            {
                new 
    cenadomovA[] = {5000000,5100000,5200000,5230000,5400000,5500000,5600000,5700000,5800000,5900000,6000000,6100000,6200000,6300000,6400000,6500000,6600000,6700000,6800000,6900000,7000000,7100000,7200000,7300000};
                new 
    rand4 random(sizeof(cenadomovA));//minimum 10000  max 200000
                
    HouseInfo[h_id][hValue] = cenadomovA[rand4];
                
    HouseInfo[h_id][hTakings] = 50;
                
    HouseInfo[h_id][hKlass] = 4;
                
    HouseInfo[h_id][hInt] = 6;
                
    HouseInfo[h_id][hExitx] = 234.4820;
                
    HouseInfo[h_id][hExity] = 1066.0961;
                
    HouseInfo[h_id][hExitz] = 1084.2087;
            }
            else if(!
    strcmp(klass"B"true))
            {
                new 
    cenadomovB[] = {2000000,2100000,2200000,2300000,2400000,2500000,2600000,2700000,2800000,2900000,3000000,3100000,3200000,3300000,3400000,3500000,3600000,3700000,3800000,3900000,4000000};
                new 
    rand3 random(sizeof(cenadomovB));//minimum 10000  max 200000
                
    HouseInfo[h_id][hValue] = cenadomovB[rand3];
                
    HouseInfo[h_id][hKlass] = 3;
                
    HouseInfo[h_id][hTakings] = 100;
                
    HouseInfo[h_id][hInt] = 9;
                
    HouseInfo[h_id][hExitx] = 82.9786;
                
    HouseInfo[h_id][hExity] = 1323.7134;
                
    HouseInfo[h_id][hExitz] = 1083.8594;
                
    SendClientMessage(playeridCOLOR_WHITE"Класс B успешно поставлен");
            }
            else if(!
    strcmp(klass"C"true))
            {
                new 
    cenadomovC[] = {800000,810000,820000,830000,840000,850000,860000,870000,880000,890000,900000,910000,920000,930000,940000,950000,960000,970000,980000,990000,1200000,1300000,1400000,1500000,1550000,1600000,1650000,1700000,1750000,1800000,1850000,1900000,1950000,2000000};
                new 
    rand2 random(sizeof(cenadomovC));//minimum 10000  max 200000
                
    HouseInfo[h_id][hValue] = cenadomovC[rand2];
                
    HouseInfo[h_id][hKlass] = 2;
                
    HouseInfo[h_id][hTakings] = 150;
                
    HouseInfo[h_id][hInt] = 5;
                
    HouseInfo[h_id][hExitx] = 1387.1808;
                
    HouseInfo[h_id][hExity] = -38.7697;
                
    HouseInfo[h_id][hExitz] = 1079.1609;
                
    SendClientMessage(playeridCOLOR_WHITE"Класс C успешно поставлен");
            }
            else if(!
    strcmp(klass"D"true))
            {
                new 
    cenadomovD[] = {200000,210000,220000,230000,250000,260000,270000,280000,290000,300000,310000,320000,330000,350000,360000,370000,380000,390000,400000,410000,420000,440000,450000,460000,470000,480000,490000,500000};
                new 
    rand1 random(sizeof(cenadomovD));//minimum 10000  max 200000
                
    HouseInfo[h_id][hValue] = cenadomovD[rand1];
                
    HouseInfo[h_id][hKlass] = 1;
                
    HouseInfo[h_id][hTakings] = 100;
                
    HouseInfo[h_id][hInt] = 2;
                
    HouseInfo[h_id][hExitx] = 225.9761;
                
    HouseInfo[h_id][hExity] = 1239.9126;
                
    HouseInfo[h_id][hExitz] =1082.1406;
                
    SendClientMessage(playeridCOLOR_WHITE"Класс D успешно поставлен");
            }
            else if(!
    strcmp(klass"N"true))
            {
                new 
    cenadomovnope[] = {100000,110000,120000,130000,140000,150000,160000,170000,180000,190000,200000};
                new 
    rand random(sizeof(cenadomovnope));//minimum 10000  max 200000
                
    HouseInfo[h_id][hValue] = cenadomovnope[rand];
                
    HouseInfo[h_id][hKlass] = 0;
                
    HouseInfo[h_id][hTakings] = 50;
                
    HouseInfo[h_id][hInt] = 11;
                
    HouseInfo[h_id][hExitx] = 2282.7886;
                
    HouseInfo[h_id][hExity] = -1139.1351;
                
    HouseInfo[h_id][hExitz] = 1050.8984;
                
    SendClientMessage(playeridCOLOR_WHITE"Класс N успешно поставлен");
            }
            else return 
    SendClientMessage(playeridCOLOR_WHITE"[Ошибка]: Вы ввели не правильный класс [A,B,C,D,N]");
            new 
    FloatxFloatyFloatz;
            
    GetPlayerPos(playeridxyz);
            
    HouseInfo[h_id][hID] = h_id;
            
    HouseInfo[h_id][hEntrancex] = x;
            
    HouseInfo[h_id][hEntrancey] = y;
            
    HouseInfo[h_id][hEntrancez] = z;
            
    strmid(HouseInfo[h_id][hOwner], "None"0strlen("None"), 5);
            
    SendClientMessage(playeridCOLOR_WHITE"Дом успешно добавлен!");
            new 
    string_mysql[1000];
            
    format(string_mysqlsizeof(string_mysql),
            
    "INSERT INTO `house` (`hID`, `hKlass`, `hInt`, `hEntrancex`, `hEntrancey`, \
            `hEntrancez`, `hValue`, `hOwner`, `hExitx`, `hExity`, `hExitz`) \
            VALUES ('%d','%d','%d','%f','%f','%f','%d','%s','%f','%f','%f')"
    ,
            
    HouseInfo[h_id][hID], HouseInfo[h_id][hKlass], HouseInfo[h_id][hInt], xyzHouseInfo[h_id][hValue], HouseInfo[h_id][hOwner],
            
    HouseInfo[h_id][hExitx], HouseInfo[h_id][hExity], HouseInfo[h_id][hExitz]);
            
    mysql_query(MYSQLstring_mysql);
            
    HouseInfo[h_id][hPickup] = CreateDynamicPickup(127323xyz);
            
    HouseInfo[h_id][hMIcon] = CreateDynamicMapIcon(xyz31COLOR_WHITE0, -1, -190.0);
            
    Iter_Remove(HOUSEIDSh_id);
            return 
    1;
        } 
    Загрузка
    PHP код:
    forward CallBackLoadHouse();
    public 
    CallBackLoadHouse()
    {
        new 
    rdtime GetTickCount();
        
    cache_get_data(rd);
        if(!
    r) return 1;
        for(new 
    ih_idri++)
        {
            
    cache_get_field_content_int(i"hID"h_id);
            if(!(
    <= h_id 1000))
            {
                continue;
    // ID дома меньше 0 или больше MAX_HOUSES - пропускаем его
            
    }
            
    Iter_Add(HOUSEIDSh_id);// Добавляем ID в итератор
            
    HouseInfo[h_id][hEntrancex] = cache_get_field_content_float(i"hEntrancex"MYSQL);
            
    HouseInfo[h_id][hEntrancey] = cache_get_field_content_float(i"hEntrancey"MYSQL);
            
    HouseInfo[h_id][hEntrancez] = cache_get_field_content_float(i"hEntrancez"MYSQL);
            
    HouseInfo[h_id][hExitx] = cache_get_field_content_float(i"hExitx"MYSQL);
            
    HouseInfo[h_id][hExity] = cache_get_field_content_float(i"hExity"MYSQL);
            
    HouseInfo[h_id][hExitz] = cache_get_field_content_float(i"hExitz"MYSQL);
            
    HouseInfo[h_id][hValue] = cache_get_field_content_int(i"hValue"MYSQL);
            
    HouseInfo[h_id][hHel] = cache_get_field_content_int(i"hHel"MYSQL);
            
    HouseInfo[h_id][hInt] = cache_get_field_content_int(i"hInt"MYSQL);
            
    HouseInfo[h_id][hLock] = cache_get_field_content_int(i"hLock"MYSQL);
            
    HouseInfo[h_id][hOwned] = cache_get_field_content_int(i"hOwned"MYSQL);
            
    HouseInfo[h_id][hTakings] = cache_get_field_content_int(i"hTakings"MYSQL);
            
    HouseInfo[h_id][hKlass] = cache_get_field_content_int(i"hKlass"MYSQL);
            
    HouseInfo[h_id][hCarx] = cache_get_field_content_float(i"hCarx"MYSQL);
            
    HouseInfo[h_id][hCary] = cache_get_field_content_float(i"hCary"MYSQL);
            
    HouseInfo[h_id][hCarz] = cache_get_field_content_float(i"hCarz"MYSQL);
            
    HouseInfo[h_id][hCarc] = cache_get_field_content_float(i"hCarc"MYSQL);
            
    cache_get_field_content(h_id"hOwner"HouseInfo[i][hOwner], MYSQL32);
            if(
    HouseInfo[h_id][hOwned] == 0)
            {
                
    HouseInfo[h_id][hPickup] = CreateDynamicPickup(127323HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], -1);
                
    HouseInfo[h_id][hMIcon] = CreateDynamicMapIcon(HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 31COLOR_WHITE0, -1, -190.0);
            }
            if(
    HouseInfo[h_id][hOwned] == 1)
            {
                
    HouseInfo[h_id][hPickup] = CreateDynamicPickup(127223HouseInfo[h_id][hEntrancex], HouseInfo[h_id][hEntrancey], HouseInfo[h_id][hEntrancez], -1);
                
    HouseInfo[h_id][hMIcon] = CreateDynamicMapIcon(HouseInfo[h_id][hEntrancex], HouseInfo[h_id][hEntrancey], HouseInfo[h_id][hEntrancez], 32COLOR_WHITE0, -1, -190.0);
            }
            
    HouseInfo[h_id][hLabel] = CreateDynamic3DTextLabel("Выход из дома\nВведите: ''/exit''", -1HouseInfo[h_id][hExitx], HouseInfo[h_id][hExity],
            
    HouseInfo[h_id][hExitz]+19.0INVALID_PLAYER_IDINVALID_VEHICLE_IDHouseInfo[h_id][hInt], h_id);
        }
        print(
    "=============================================================");
        print(
    "Результат загрузки ДОМОВ:");
        
    printf("Найдено строк в БД:        [%i]"r);
        
    printf("ID начала массива:        [%i]"HouseInfo[0][hID]);
        if(
    TotalHouse == 1000printf("Загружены строк: [%i/%i]    [ГОТОВО]"TotalHouse1000);
        else 
    printf("Загружены строк: [%i/%i]    [ОШИБКА]",TotalHouse1000);
        
    printf("[Загрузка...]: Дома успешно загружены | Время потрачено: %i <ms>"GetTickCount() - time);
        print(
    "=============================================================");
        return 
    true;

    Разрабатываю свой собственный мод State RolePlay Mysql R38

  13. #10
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    При создании дома не Iter_Remove, а Iter_Add

    http://pro-pawn.ru/showthread.php?15...8B-%D0%B2-Pawn
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 
Страница 1 из 3 1 2 3 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •