[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Форум » Смежные проекты » GDmod.RU - онлайн конструктор Gravity Defied » GDmod.RU - обсуждение
GDmod.RU - обсуждение
AdminДата: Пятница, 06.11.2009, 17:14 | Сообщение # 1
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Адрес конструткора: http://dinedi.net/

События:

13.09.2009 - начало разработки конструктора. Дизайн будет выполнен в стиле GDDE2.2.
14.09.2009 - создание пошаговой системы сборки. Создание базы данных.
23.09.2009 - завершено создание панели управления.
25.09.2009 - завершено создание функциональной части пошаговой системы сборки. Удаление отладочной информации, создание читабельной версии. (alpha версия)
14.10.2009 - открытие тестовой версии, предоставляющей лишь базовые возможности будущего конструктора
Внимание!! Срочно нужны моды на различных языках!!!
20.10.2009 - из-за полной неработоспособности конструктора (на хостинге проблемы с сессиями) конструктор закрыт до следующего тестирования.
6.11.2009 - закрытое альфа-2 тестирование. Каждому тестеру выдаётся пригласительный код, который можно использовать один раз.
Ведётся набор тестеров! ( http://www.dinedi.ru/forum/36-663-1 )
8.11.2009 - исправлено 7 багов, обнаруженных пользователями
30.11.2009 - исправлена ещё пара багов
05.01.2010 - изменил дизайн
06.01.2010 - теперь информер работает без ошибок + исправлен загрузчик -при добавлении новых файлов ошибок возникнуть не должно
07.02.2010 - стадия открытого тестирования
21.02.2010 - добавлена возможность выбора цвета трека + постраничное разбиение таблиц (пока в ограниченном режиме)
Вы можете помочь с переводом игры на свой язык, предварительно оставив заявку в этой теме. Для перевода файлов с русского языка на свой используйте файлы в прикреплённом архиве
Прикрепления: rus.zip(15.2 Kb)


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
AdminДата: Пятница, 06.11.2009, 17:14 | Сообщение # 2
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Работа над предыдущим проектом завершена, теперь вплотную займусь конструктором smile
(+ появится аплоадер наподобие упвапа)

Добавлено (13.09.2009, 22:04)
---------------------------------------------

Quote (|Gun$lingeR|)
Пусть будет три конструктора

Ужо 4 - даже на гдклубе появилсо <_<


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
DarkscapeДата: Пятница, 06.11.2009, 17:14 | Сообщение # 3
Сообщений: 1565
Репутация: 89
Замечания: 0%
Статус: Вне игры
на гд-клубе скрипт стыренный (или купленный) с гдмода, у них даже в игре в графе "Об игре" не изменено ничего
 
AdminДата: Пятница, 06.11.2009, 17:14 | Сообщение # 4
Сообщений: 3946
Репутация: 84
Статус: Вне игры
[Gun$lingeR], нет, по словам пользователя козззтыа (kozzztya), он где-то в инетах нашёл скрипт конструктора игр и подстроил под GD. А m.class у него зкзнзновский

Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
DarkscapeДата: Пятница, 06.11.2009, 17:14 | Сообщение # 5
Сообщений: 1565
Репутация: 89
Замечания: 0%
Статус: Вне игры
понятно)
 
AdminДата: Пятница, 06.11.2009, 17:15 | Сообщение # 6
Сообщений: 3946
Репутация: 84
Статус: Вне игры
раз целых восемь человек согласились помогать, то задания для помощи буду выкладывать в первый пост.
Активным будут плюсы и награды


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
AdminДата: Пятница, 06.11.2009, 17:15 | Сообщение # 7
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Админка уже готова, осталось создать файл-сборщик
Админка выглядит так:

Диз будет немного меняться, но в целом всё примерно так

Добавлено (25.09.2009, 21:26)
---------------------------------------------
Обновлён первый пост

Прикрепления: 9200604.jpg(739.7 Kb)


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:15 | Сообщение # 8
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
а он на MySQL будет?
и где пункт "добавить" smile


Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...
 
AdminДата: Пятница, 06.11.2009, 17:15 | Сообщение # 9
Сообщений: 3946
Репутация: 84
Статус: Вне игры
z-kzn-z, "добавить" на другой странице
Quote (z-kzn-z)
а он на MySQL будет?

Нет smile Поэтому подойдёт почти любой хостинг с PHP


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:15 | Сообщение # 10
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
да ну, лучше на mysql.

Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...
 
AdminДата: Пятница, 06.11.2009, 17:15 | Сообщение # 11
Сообщений: 3946
Репутация: 84
Статус: Вне игры
z-kzn-z, SQLite ничем не хуже smile
А чегойт тебя так заинтересовало? crazy

Добавлено (30.09.2009, 15:32)
---------------------------------------------
z-kzn-z, а как определять - сайт просматривается с телефона или компа?


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:16 | Сообщение # 12
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
Quote (Admin)
z-kzn-z, а как определять - сайт просматривается с телефона или компа?

ну есть как минимум 2 способа.
первый: парсишь строку User-agent, если находишь в ней что-то, связанное с телефоном (Nokia, Siemens, Opera Mini и тд), значит человек с телефона.
второй: достать базу IP адресов сотовых операторов и Opera-Mini и смотреть, если есть совпадение, значит с телефона.

user-agent, передаваемый браузером и IP содержатся в суперглобальном массиве $_SERVER.

Quote (Admin)
z-kzn-z, SQLite ничем не хуже

я имею ввиду, да, лучше хоть на какой-то базе. можно и на PostgreSQL, тоже хорошая СУБД. ты ведь не тупо на файлах делаешь?))


Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...
 
AdminДата: Пятница, 06.11.2009, 17:16 | Сообщение # 13
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Quote (z-kzn-z)
ты ведь не тупо на файлах делаешь?))

Quote (z-kzn-z)
SQLite ничем не хуже


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
AdminДата: Пятница, 06.11.2009, 17:16 | Сообщение # 14
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Тестовая сборка (протестируйте кто нибудь, у меня на смарте вся грава тормозит):
Информация о сборке:
Версия: Версия 1.4
Треки: Gravity Defied Dingo edition 2 (10/10/102)
Скин: rib
Цвет фона: Серый
Язык: Русский

JAR & JAD в прикреплении

Прикрепления: gddecv_86df62b7.jar(189.4 Kb) · gddecv_86df62b7.jad(0.4 Kb)


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
AdminДата: Пятница, 06.11.2009, 17:16 | Сообщение # 15
Сообщений: 3946
Репутация: 84
Статус: Вне игры
z-kzn-z, протестировал на Е65, тормозииииит! Но кроме репрайса там вся грава тормозит.
Цвета да, не очень, но это тест smile
Насчёт микро я тоже заметил.
Сча проверим мнение гдклуба

Добавлено (05.10.2009, 12:56)
---------------------------------------------
z-kzn-z, как пхпой открыть бинарный файл? Он всё время открывает его как текстовый


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:16 | Сообщение # 16
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
во первых для бинарных операций советую изпользовать только fread и fwrite - то есть именно не fgets и fputs, а fread и fwrite.
а открытие бинарного в принципе ничем не отличается от открытия текстового. что ты хочешь например прочитать? к примеру, читаешь ты первый байт, хочешь чтобы тебе вернуло именно байт - то есть число.
Code
$f = fopen('бинарный_файл.txt', 'r');
$bstring = fread($f, 1); // это ты прочитал его как строку
$b = ord($bstring); // функция ord() возвращает код символа, в данном случае вернет тебе то, что ты хочешь.
fclose($f);

что именно ты хочешь прочитать? может быть, дам какие-то конкретные примеры. ты как я понимаю хочешь .mrg открывать?) там просто нужно читать int-ы и short-ы, а int = 4 byte, short = 2 byte. то есть тебе надо будет прочитать например 4 байта и бинарными операциями превратить их в int. короче если надо могу дать пример)


Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...
 
AdminДата: Пятница, 06.11.2009, 17:16 | Сообщение # 17
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Quote (z-kzn-z)
$f = fopen('бинарный_файл.txt', 'r'); $bstring = fread($f, 1); // это ты прочитал его как строку $b = ord($bstring); // функция ord() возвращает код символа, в данном случае вернет тебе то, что ты хочешь. fclose($f);

Я так и открывал, он мне выводил то что я вижу в блокноте

Добавлено (05.10.2009, 22:23)
---------------------------------------------

Quote (z-kzn-z)
могу дать пример)

давай biggrin


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:17 | Сообщение # 18
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
вот тебе пример чтения списка треков из mrg файла и записи данных в массив
Code
// функция которая возвращает int
// собственно это я надеюсь объяснять не надо как все работает, лучше почитай об этом в инете
function get_int($array) {
   return ($array[0] << 24) | ($array[1] << 16) | ($array[2] << 8) | $array[3];
}

// функция, читающая .mrg файл и возвращающая массив с данными
// у функции единственный параметр - имя файла
function get_mrg_info($file) {
   $input = fopen($file, 'r'); // открываем файл
     
   $return_array = array (); // это у нас будет массив куда мы все будем записывать
   $temp_array = array(); // временный массив
   $temp_string = ''; // и временная строка
     
   for($i = 0; $i < 3; $i++) { // цикл, 3 итерации - для 3х уровней сложности, ага
    // цикл, 4 итерации. читаем первые 4 байта - я выкладывал в инете свою статью о структуре mrg файла, там можешь посмотреть, это у нас количество треков на данном уровне сложности
    for($j = 0; $j < 4; $j++)
     $temp_array[$j] = ord(fread($input, 1)); // читаем, сразу обрабатывая данные ордом
    // превращаем прочитанный массив в число
    $levels = get_int($temp_array);
      
    // это этакая проверка на битый файл, потому что число треков не может быть отрицательным
    if($levels < 0) {
     $return_array = array(); // чистим массив на всякий случай, если мы туда уже чото записали, например в предыдущих итерациях
     $return_array['errors'][] = 'File corrupt: LEVEL '.($i + 1).', tracks count: '.$levels.'. I\'ts not possible'; // текст ошибки
     return $return_array; // возвращаем сей массив..
    }
    // пишем количество треков в массив
    $return_array[$i]['tracks_count'] = $levels;
    // цикл, читаем треки
    for($j = 0; $j < $levels; $j++) {
     // цикл, читаем адрес трека в файле
     for($k = 0; $k < 4; $k++)
      $temp_array[$k] = ord(fread($input, 1));
     // превращаем ардес в нормальное человеческое int
     $track_start = get_int($temp_array);
     // тоже проверка на ошибку
     if($track_start <= 0) {
      $return_array = array();
      $return_array['errors'][] = 'LEVEL '.($i + 1).', TRACK '.($j + 1).': start of track < 0. It\'s not possible.';
     }
       
     // цикл, читаем имя файла до нулевого байта, ибо имя в mrg заканчивается 0x00
     while(true) {
      $b = fread($input, 1);
      if(ord($b) == 0)
       break;
      else
       $temp_string .= $b; // и добавляем прочитанные символы во временную строку
     }
     // имя трека....
     $track_name = $temp_string;
     $temp_string = ''; // чистим временную строку...
       
     // добавляем в массив запись о треке - его адрес в файле и название
     $return_array[$i]['tracks'][] = array (
      'byte_start' => $track_start,
      'title' => $track_name
     );
    }
   }
     
   // закрываем поток
   fclose($input);
     
   // возвращаем массив
   return $return_array;
}

собственно эту функцию я писал когда-то раньше, но все комментарии к коду написал сейчас, вот тут, в форме форума. надеюсь понятно.


Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...


Сообщение отредактировал z-kzn-z - Понедельник, 05.10.2009, 21:31
 
AdminДата: Пятница, 06.11.2009, 17:17 | Сообщение # 19
Сообщений: 3946
Репутация: 84
Статус: Вне игры
z-kzn-z, вроде понятно, уточнять буду завтра

Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:17 | Сообщение # 20
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
ага

Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...
 
AdminДата: Пятница, 06.11.2009, 17:17 | Сообщение # 21
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Вышла чистая страница sad

Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:17 | Сообщение # 22
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
в смысле?)

Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...
 
AdminДата: Пятница, 06.11.2009, 17:17 | Сообщение # 23
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Всмысле ничего не вывелось

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

Добавлено (14.10.2009, 15:15)
---------------------------------------------
Стабильная работа не гарантируется (почему-то создаётся, но не отображается сборка)

Добавлено (14.10.2009, 15:20)
---------------------------------------------
Связано с проблемой создания сессии


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:18 | Сообщение # 24
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
если ты нормально сформулируешь проблему, я тебе помогу

Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...
 
AdminДата: Пятница, 06.11.2009, 17:18 | Сообщение # 25
Сообщений: 3946
Репутация: 84
Статус: Вне игры
z-kzn-z, не, со сборкой я сам разберусь smile

При выполнении скрипта, который ты мне дал, ничего не выводится


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
z-kzn-zДата: Пятница, 06.11.2009, 17:18 | Сообщение # 26
Master Z
Сообщений: 160
Репутация: 49
Замечания: 0%
Статус: Вне игры
а что ты хотел, я тебе дал функцию.... которая возвращает массив...
и тебе надо сначала получить этот массив.. а потом использовать его как-то....
а если хочешь посмотреть его содержимое, то выведи его функцией print_r()


Everything will slip away,
Shattered peaces will remain
When memories fade into emptiness.
Only time will tell its tale
If it all has been in vain...
 
KrotoVDimaNДата: Пятница, 06.11.2009, 17:18 | Сообщение # 27
Сообщений: 6
Репутация: 2
Замечания: 0%
Статус: Вне игры
AdMIn - Так держать

Смайлофлуд запрещён




Сообщение отредактировал Admin - Среда, 04.11.2009, 17:24
 
AdminДата: Понедельник, 30.11.2009, 21:45 | Сообщение # 28
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Собственно я бы его прямо сейчас мог открыть, но меня ещё смущает дизайн... Ко дню рождения сайта разберусь =)

Добавлено (06.11.2009, 18:43)
---------------------------------------------
Внимание! Запущено закрытое тестирование конструктора!
Каждому желающему тестеру будет выдан инвайт, который можно использовать лишь один раз. Всего инвайтов 10. Заявки на тестирование оставляем в этой теме: http://www.dinedi.ru/forum/36-663-1 .
Тестер должен:
Полностью исследовать систему, придиратья к любому недостатку
При нахождении любой ошибки сообщить в специальную тему-БагТрекер
Пополнять базу треками и скинами

Тестирование является закрытым, так как в системе ещё имеются недоработки (например, в комментах ещё нет капчи и премодерации, следовательно и защиты от спама)

Добавлено (06.11.2009, 22:51)
---------------------------------------------
Возможны перебои в работе т.к. тестирую сразу несколько хвостингов

Добавлено (08.11.2009, 12:35)
---------------------------------------------

Quote (z-kzn-z)
вот тебе пример чтения списка треков из mrg файла и записи данных в массив Code// функция которая возвращает int // собственно это я надеюсь объяснять не надо как все работает, лучше почитай об этом в инете function get_int($array) {    return ($array[0] << 24) | ($array[1] << 16) | ($array[2] << 8) | $array[3]; } // функция, читающая .mrg файл и возвращающая массив с данными // у функции единственный параметр - имя файла function get_mrg_info($file) {    $input = fopen($file, 'r'); // открываем файл         $return_array = array (); // это у нас будет массив куда мы все будем записывать    $temp_array = array(); // временный массив    $temp_string = ''; // и временная строка         for($i = 0; $i < 3; $i++) { // цикл, 3 итерации - для 3х уровней сложности, ага     // цикл, 4 итерации. читаем первые 4 байта - я выкладывал в инете свою статью о структуре mrg файла, там можешь посмотреть, это у нас количество треков на данном уровне сложности     for($j = 0; $j < 4; $j++)      $temp_array[$j] = ord(fread($input, 1)); // читаем, сразу обрабатывая данные ордом     // превращаем прочитанный массив в число     $levels = get_int($temp_array);           // это этакая проверка на битый файл, потому что число треков не может быть отрицательным     if($levels < 0) {      $return_array = array(); // чистим массив на всякий случай, если мы туда уже чото записали, например в предыдущих итерациях      $return_array['errors'][] = 'File corrupt: LEVEL '.($i + 1).', tracks count: '.$levels.'. I\'ts not possible'; // текст ошибки      return $return_array; // возвращаем сей массив..     }     // пишем количество треков в массив     $return_array[$i]['tracks_count'] = $levels;     // цикл, читаем треки     for($j = 0; $j < $levels; $j++) {      // цикл, читаем адрес трека в файле      for($k = 0; $k < 4; $k++)       $temp_array[$k] = ord(fread($input, 1));      // превращаем ардес в нормальное человеческое int      $track_start = get_int($temp_array);      // тоже проверка на ошибку      if($track_start <= 0) {       $return_array = array();       $return_array['errors'][] = 'LEVEL '.($i + 1).', TRACK '.($j + 1).': start of track < 0. It\'s not possible.';      }             // цикл, читаем имя файла до нулевого байта, ибо имя в mrg заканчивается 0x00      while(true) {       $b = fread($input, 1);       if(ord($b) == 0)        break;       else        $temp_string .= $b; // и добавляем прочитанные символы во временную строку      }      // имя трека....      $track_name = $temp_string;      $temp_string = ''; // чистим временную строку...             // добавляем в массив запись о треке - его адрес в файле и название      $return_array[$i]['tracks'][] = array (       'byte_start' => $track_start,       'title' => $track_name      );     }    }         // закрываем поток    fclose($input);         // возвращаем массив    return $return_array; } собственно эту функцию я писал когда-то раньше, но все комментарии к коду написал сейчас, вот тут, в форме форума. надеюсь понятно.

Попробовал вывести. Потратил 5 циклов foreach на это, но что-то получилось:

Добавлено (08.11.2009, 12:37)
---------------------------------------------
Я не понял как он работает только потому что ты не показал как правильно вывести из него что-нибудь

Добавлено (08.11.2009, 13:24)
---------------------------------------------
всё, я разобрался smile

Добавлено (30.11.2009, 23:45)
---------------------------------------------
Конструктор будет выглядеть как часть основного сайта с его же дизайном


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
hxДата: Вторник, 01.12.2009, 13:34 | Сообщение # 29
UCTeam Pro Coder
Сообщений: 482
Репутация: 34
Замечания: 0%
Статус: Вне игры
Quote (Admin)
хвостингов

представляю, сидит такой динго и тестирует хВостинги :))

Quote (Admin)
Я не понял как он работает только потому что ты не показал как правильно вывести из него что-нибудь

ты б сначала основные функции конструкции и языка выучил, а потом бы писал

Quote (Admin)
5 циклов foreach

в пхп foreach и т.п. обычно не используют (foreach...это типа аналог for и чем он отличается??), всё делают while, если надо, делают переменную счётчик
 
AdminДата: Вторник, 01.12.2009, 21:18 | Сообщение # 30
Сообщений: 3946
Репутация: 84
Статус: Вне игры
Quote (hx)
ты б сначала основные функции конструкции и языка выучил, а потом бы писал

Что ты подразумеваешь под основными функциями? О_о
Quote (hx)
(foreach...это типа аналог for и чем он отличается??)

Ооо, и кому это ещё основы учить надо =) foreach это обход по массиву


Motorola T190 -> LG B1300 -> Siemens C72 -> Nokia 3500 -> Nokia E65 -> Huawei U8860 -> Huawei H60-L02
 
Форум » Смежные проекты » GDmod.RU - онлайн конструктор Gravity Defied » GDmod.RU - обсуждение
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

Приветствуем, Гость


Гость, предлагаем тебе авторизироваться:



Меню


Статистика



© Dinedi.RU, 2007-2019 || Хостинг от uCoz