Dennis_Chikin 3 658 Опубликовано 4 Января 2015 Поделиться Опубликовано 4 Января 2015 (изменено) С чего начинать и где взять. Установка Lua:http://www.amk-team.ru/forum/index.php?showtopic=11584&p=629106 Руководство «Программирование на языке Lua», третье издание:http://www.amk-team.ru/forum/index.php?showtopic=11584&p=905308 Изменено 2 Марта 2015 пользователем Kirgudu Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Nazgool 250 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 Надо знать ООП, а это уже явно выходит не только за пределы топика, но и форума Не согласен. Как раз топик для того и создан, чтобы узнавать что-то новое о Lua. Почему бы тут не делиться знаниями? Мне иногда гораздо проще и конструктивнее сделать что-то на базе классов. И созданных в самом 5.1.4 Без всякого luabind. Ссылка на комментарий
xStream 86 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 ООП не относится к ЛУА. Это общая парадигма. Ее не расскажешь в двух словах и не научишь за 10 минут. Максимум, чему можно научить в пределах топика - базовым принципам использования готового кода с использованием готовых классов, кем-то написанных. И созданных в самом 5.1.4 Без всякого luabind. А смысл извращаться? В ЛУА нет классов как таковых. Все имитируется с помощью метатаблиц. Луабинд это делает автоматически и предоставляет соответствующий функционал, благодаря чему праздник в дом приходит в ЛУА появляется удобный инструмент для использования ООП - классы и объекты этих классов. Описывать, как реализовать подобное вручную метатаблицами - нет ни желания, ни необходимых знаний. Все, кто стоит на моем пути: идите нахрен и там погибните! © Ссылка на комментарий
Nazgool 250 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 (изменено) А смысл извращаться? Не знаю кому как, а мне лишняя тренировка в создании метатаблиц, методов и т.д. никогда не помешает. Да и просто люблю это дело. Конечно я понимаю что тот же luabind уже создан для... А как же искуство? Хорошо, делайте кому как хочется... А я уж буду по старинке... нет ни желанияТак ведь кому нужно - спросит, кто захочет - ответит. Насильно никто, никого, ни к чему не принуждает.ни необходимых знанийЧитал топик потихоньку. Не хотел говорить, но всё же... Как-то странно, что программисты такого уровня не знали о тех же замыканиях... Ещё раз повторю, - "А не для того ли топик, чтобы находить эти знания?". Прошу прощения за то, что "насорил". Удаляюсь. Изменено 1 Января 2012 пользователем Gun12 Ссылка на комментарий
xStream 86 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 Конечно я понимаю что тот же luabind уже создан для... А как же искуство? Искусство ради искусства? Я ничего против не имею. Только с этим вопросом (имитациия классов через метатаблицы) точно не ко мне. Я не настолько "продвинута" в этом вопросе. Да и сочинять велосипед не очень хочется Насильно никто, никого, ни к чему не принуждает. Будем считать, что это был мой ответ на твой вопрос. Только мой. Как-то странно, что программисты такого уровня не знали о тех же замыканиях... Программисты знают в первую очередь то, что используют. Я, например, про замыкания знаю и вовсю их использую, потому что в работе нужны. Метатаблицы ЛУА я знаю, и даже не в теории. Но повторять то, что сделано просто классно и офигительно - никогда не было желания. Ибо, скорее всего, я сделаю хуже и менее производительно. Ещё раз повторю, - "А не для того ли топик, чтобы находить эти знания?". Так а разве нет? Нового ты не прочитал / не обнаружил на последних страницах? Этот топик читает очень мало людей, еще меньше что-то пишет. И уровень, в основном, так сказать, повышенной сложности. А если еще вспомнить предыдущие прения (где я настаивала на нововведениях, а Артос тут же пресекал тем, что это "чисто академические" вещи и использовать их нет смысла), то как-то грустно становится. Ты говоришь, что кому нужно, тот спросит? А где этот кто-то? Вот я что-то не наблюдаю. Может ты что-то спросишь? Поучавствуй в обсуждении. Хорошо, делайте кому как хочется... А я уж буду по старинке... Посижу в сторонке? Займусь велосипедами? Все, кто стоит на моем пути: идите нахрен и там погибните! © Ссылка на комментарий
Nazgool 250 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 Посижу в сторонке? Займусь велосипедами?А это дело может пойти во вред? Я видать ещё на очень низкой ступени развития. ОК. Как я обещал - чуть позже - выложу таймеры. Я их создал именно с помощью метатаблиц со всеми сопуствующими... Просто ради души... Кому нужно "переведут" на luabind. Ещё раз простите. Хватит голословности. Буду ждать окончания праздника. Добавлено через 14 мин.: Ой. Очень нужно добавить. что это "чисто академические" вещи и использовать их нет смыслаТут я полностью поддерживаю точку зрения "модулей". Как говорят, - "Не нужно плодить сущностей". Для этого конечно нужен как минимум средний уровень знаний (того же Lua). Ведь это уже ООП. Ссылка на комментарий
Artos 99 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 xStream, ну зачем же передергивать ...? Может быть мои слова читались несколько двузначно, но вкладываемый в них мною смысл был схож с тем, о чем говорит Gun12. Топик конечно же И для различной "академической" информации, но(!) как раз по моей мысли не только на нее лицезреть, а и "поизвращаться" над нею, чтобы даже путем искажения академичности, попытаться найти приемлемое к практике применение. И в то же время, конечно же следует помнить, что без соответствующих пояснений (для малоопытных), следует с некоторой опаской давать некоторые знания, т.к. результат может быть обратным ... (тут может быть отдельный и долгий разговор). И в чем плохо занятие искусством ради искусства? Для меня (да и ты вроде как разделяешь данный подход) моддинг - это хобби, т.е. трата времени/сил собственно не обязательно ради создания чего-то, а и просто отдохнуть или дать зарядку мозгам ... Максимум, чему можно научить в пределах топика - базовым принципам использования готового кода с использованием готовых классов, кем-то написанныхНо, все же, хотя раздел и носит название "Школа ...", но это не школа с учителями и учениками! ИМХО, тут мы все и учим и учимСЯ, т.е. даже обучая кого-то, делясь знаниями/навыками - подспудно оттачиваем и свои навыки/знания и ничего не мешает, получив порцию знаний, продолжить самостоятельно копать в этом направлении, набираясь уже не только базовых знаний. Согласен, что все наши слова/ответы - это только наше видение/мнение. Но никто же и не заставляет насильно делиться знаниями и, начав о чем-то - в обязательном порядке продолжать. Вполне начать может кто-то и если ему надоело (разинтереснилось) - это может продолжить другой/другие. Если затронутая тема интересна НЕ одному/двум - то почему бы и ради "чистого исскуства" над ней не покумекать? :-) Ну а кто-то и продолжая "изобретать велосипед" - все же и познает собственно что-же такое велосипед и глядишь ... мопед изобретет. ;-) Добавлено через 3 мин.: Gun12, хотел бы попросить выслать твои наработки по таймерам, т.к. этим вопросом занялся довольно глубоко и ... любая информации была бы полезна. "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
xStream 86 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 (изменено) Ув. Artos, я не передергиваю. Все к тому и пришло: "есть два мнения, мое и неправильное". Не хочу дальше эту тему развивать. А все остальное - слова, много слов. Не осилила прочитать, не обессудь ЗЫ Пойду лучше оливье доедать. Изменено 1 Января 2012 пользователем xStream Все, кто стоит на моем пути: идите нахрен и там погибните! © Ссылка на комментарий
Artos 99 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 (изменено) xStream, много буковок не только же для прочтения тобою понаписаны ... ;-) (плз. не коверкать по-возможности мой ник) P.S. и, конечно же, приятного аппетита за оливье и хорошего настроения на эти и последующие дни! Изменено 1 Января 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
xStream 86 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 Хорошо, исправлюсь. А много буковок тут и читать-то особо некому Тем более, что их ты написал в ответ на мой пост. Не прокатила отмазка. ЗЫ спасибо. Тебе желаю того же. Все, кто стоит на моем пути: идите нахрен и там погибните! © Ссылка на комментарий
Viнt@rь 50 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 (изменено) Согласен с Gun12: Не знаю кому как, а мне лишняя тренировка в создании метатаблиц, методов и т.д. никогда не помешает.... К тому же, как только я покопался в скриптах написаных Refresh-ом, для АМК 2.0, мне сразу понравилось как выглядят скрипты, как-то меньше "хлама", и "приятней" на глаз, да и лишняя практика еще никому не мешала... Ведь рано или поздно, скорей всего, что именно такой вид написания скриптов/схем может пригодиться, пусть даже не в моддинге... И поддерживаю Artos, особенно с: Ну а кто-то и продолжая "изобретать велосипед" - все же и познает собственно что-же такое велосипед и глядишь ... мопед изобретет. ;-) З.Ы. Artos и xStream, спасибо вам больше за придуманные и написанные вами схемы/скрипты, ибо именно по ним начинал открывать для себя LUA. Особенно хочу отметить мое постоянное поражение, как Artos умудрился совместить столько модов и скриптовых фитч в одну модификацию... Причем, что багов почти нет, а если и случаются, то они не критичные, да и если надо посмотреть пример какой-то схемы, то лучше чем примеры модулей из SIMBION`a просто не найти... . Это единственная солянка(не в обиду сказано), которую я люблю(касается только мода))) и уважаю, вместе с ее автором... Изменено 1 Января 2012 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Ссылка на комментарий
Artos 99 Опубликовано 1 Января 2012 Поделиться Опубликовано 1 Января 2012 (изменено) Viнt@rь, спаcибо за отзыв по моду. Ну и, в контексте топика, позволю себе дать небольшое пояснение: 1. "Солянка" - все же термин, который может выражать и суть (кратко: сборник из различных источников) и форму/качество (ругательно: мешанина из всякой всячины). SIMBION был (времена ABC+AMR+SRP+...) в полном смысле первой "глобальной" солянкой (и по сути и по форме). После него пошли и иные моды-солянки, но ... (см. п.2). 2. Можно коды собрать в нечто единое (солянку) по разному: а) Просто совместив коды, избежав синтаксических и логических ошибок; б) Интегрировать коды, т.е. помимо просто совмещения, совмещаемые коды привести к некоей единой концепции/сюжету. Тут ранее говорилось, что проще в каждом содуле/скрипте оставлять по нескольку однотипных строк/проверок/функций ... Моя же позиция в этом несколько иная: если кол-во таких дублирующих друг друга кодов превышает некий предел или даже порой просто дублируют - вынести это в единое место (в центральный модуль). Если в совмещаемых кодах однотипное выполнено различными способами - выбрать из них наиболее оптимальный и остальное переписать по аналогии (иначе: объединить множество разнотипных аналогичных сущностей/методов/функций в единые). и т.д. Т.о. "солянка" становится не просто сборником совмещенных кодов, где в каждом куске, как правило, имеются свои недостатки/ограничения и они соответственно суммируются, а единым кодом (хотя и разделенным на модули), который гораздо проще проверять и контролировать. К сожалению, давно многие научились грамотно совмещать, но ... лень/нежелание тратить время на "чужие" коды, вникая в них и исправляя/дополняя/оптимизируя, так и оставляют моды на уровне "солянки" по форме, а не по сути. Ну а различный "почерк" исходных кодов делает и плохо читаемым и соответственно понимаемым "соляночный код" и только усложняет поиск и исправление ошибок. Изменено 2 Января 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
*Shoker* 322 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 (изменено) Читаю топик и давно хотел спросить, xStream ты постоянно ругаешь LUA-вский метод создания классов через luabind, а собственно почему он плох и какие ограничения накладывает, и в чём его отличия от классических классов, которые делают его ущербным? Изменено 2 Января 2012 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
xStream 86 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 Я ругаю? Где? O_o Я его наоборот использую вовсю и всем остальным советую (кто знает как использовать). Ты, видимо, что-то не так понял. Я ругаю то, как это используют. Вон, хвалят АМК 2.0 за "приятность для глаз". А по сути хлам как был, так и остался. Просто оно все аккуратнее смотрится из-за организации в виде классов. Но по сути это все то же процедурное программирование. Скажем так - забивание микроскопом гвоздей, использование не по назначению. Просто подобный подход я видела не в одном языке и руки бы поотрывала а такое. Не знаете ООП - не трогайте классы. Все, кто стоит на моем пути: идите нахрен и там погибните! © Ссылка на комментарий
Artos 99 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 (изменено) Ну вот ... опять буду напрашиваться на плохое к себе отношение, но промолчать все же не могу. xStream, ну ведь есть же пословица: "Не боги горшки обжигают.", зачем же так резко: "Не знаете ООП - не трогайте классы". Понимаю отношение профессионала к теме, которая ему близка и дорога и в которую суют нос неумехи и/или недотепы ... Но посмотри, плз, на заголовок раздела ("Школа ..."), ведь без "трогания" не изучишь ни ООП ни иное даже полегче чего. Более 90% всех модмейкеров (позволю себе всех кто хотя бы как то серьезно ковырять коды игры) не знали (а многие и этого не знают) далее чем lua_help. С твоим подходом - остается всем не профессионалам только конфиги ковырять да текстуры перекрашивать или садиться "за парту" и грызть теорию программирования. ;-( Однако все начинается с малого, с неумелых шагов, неудачных использований (даже "за партой"). Кто-то так и будет забивать гвозди микроскопом, но ведь кто-то и может иначе его применить ... и может даже по назначению. ;-) Был бы инструмент - а применение ему найдется. xStream: Вон, хвалят АМК 2.0 за "приятность для глаз". А по сути хлам как был, так и остался ... Порою тоже за собою замечаю резкость в оценках и нетерпимость к кривому коду, но все же вот так давать нелицеприятную оценку труду других и не лично авторам кода - все же перебор (ИМХО). Все познается в сравнении, и то, что для тебя хлам, для многих (и не только начинающих) является достаточно неплохим примером и стимулом ровняться хотя бы на это. Понимаю, что это твой ответ на тебе лично адресованный вопрос, но топик все же публичный и не так уж малочитаемый, как ты считаешь. 12.000 просмотров за тройку месяцев - не такой уж плохой показатель для подобного топика в "школе". Порою (ИМХО) подобные оценки отбивают желание заниматься "не своим делом" не только у тех, кому собственно дается подобная оценка. Эх ... Изменено 2 Января 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 (изменено) Artos, оффтопить, так офтопить... Вот поддержу всеми конечностями. Когда скрипты той же НС всего-лишь после поверхностного касания худеют на четверть - это пол беды. Даже месиво из того, что вчера разбирали (и даже если половина не работает) - тоже еще на так страшно по сравнению с гораздо худшим. Во-первых, оно совмещалось вообще не думая. Например, могут быть подряд несколько попыток удалить один и тот же объект, разумеется, без проверки на его существование. Ну, заспавнено аддоном xStream аптечка, ну удаляется она по уходу непися в офлайн. Ну, нормально. Но так там еще 3 штуки таких, которые тоже удаляют. Причем существование аптечки запомнено еще при netspawn. Ага. Вот так вот прямо в виде серверного объекта... Результат понятен. Ну а что происходит потом с оффлайн_алайфом... В который тоже кусков понапихали. Этот и сам один и тот же предмет в цикле может пытаться удалять. И ведь что-то поправить - надо перелопатить 2 десятка скриптов. А потом перекомпилируется олспавн, и снова лопатим скрипты, вбивая в них руками изменившиеся координаты и номера... Тоже по 2-м десяткам. НУ и бесконечные простыни if ... elseif .... end'а не видно... Бесконечные сканирования for i = 1, 65535 do obj = level.object_by_id(i) ... по нескольку штук в одном апдейте. iterate_inventory() туда-же... Что до ООП и lua, то в данном конкретном случае вызовы вида obj:method() получились весьма неторопливыми, скажем так. И стремление все-все построить в виде якобы объектов оказывается крайне неполезным, если сравнить с результатом разворачивания этого творчества в самые обыкновенные функции. Upd: просто некоторые инструменты могут быть опасны. Особенно, используемые по принципу "а по тому, что все так делают". К ООП это вполне относится. Изменено 2 Января 2012 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Artos 99 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 (изменено) Dennis_Chikin, наверное xStream более резко возразит или даст оценку потугам разработчиков игры, я же пока дам реплику: Критерии при написании кода (как в прочем и во всем ином) могут быть самыми различными и нередко взаимоисклчающими их совмещение. Если смотрет на коды игры , то ведь видно, что писали многие куски далеко не профессионалы и ... возможность дать и им все же учавствовать в разработке игры/кодов как раз возможно и обусловило наличие критерия "простота в использовании объектов". Дать набор методов для использования даже "чайниками", пожертвовав производитеьностью - все же тоже немаловажно порою ... И это только одно из возможных возражений на довольно категоричную твою оценку. "Полезность" - все же понятие относительное. Ну а про код упомянутого тобою мода не поддержу тему , для меня это из уже закрытой категории: " о покойниках или хорошо или ничего" - это о кодах/моде, а не о чем-то ином. (сейчас мне кто-то врежет за такую, хотя и косвенную и личную, "оценку") ... хотя шанс разубедить у них все же есть. Изменено 2 Января 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
xStream 86 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 (изменено) Я не буду ни возражать, ни давать оценку. На вкус и цвет фломастеры разные. Скажу только одно. Про скорость и "а по тому, что все так делают". Всякие "оптимизации на скорость" и "неторопливые вызовы" это смех. Ребята, не занимайтесь фигней. Оптимизировать надо тогда, когда появляются боттлнеки, а абстрактно рассуждать о скорости - глупо. Что касается второго, то вот все и делают на функциях все свои потроха для модов, убер быстро, ага. Не надо присваивать свое видение другим. Итог: ООП - это удобная иерархическая архитектура. Позволяет инкапсулировать данные, заниматься рефлексией и наследованием. Не надо говорить, что это уберкруто или уберплохо. Надо знать, когда использовать и что использовать, выбирать инструмент исходя из задачи, а не в теоретическом ключе, сравнивая такты процессора, затраченные на то или иное. Если вы не можете оперировать разными категориями инструментов - это ваши проблемы. Я могу и оперирую, и классами и функциями, и разными методиками хранения данных. Но я могу выбирать, а вы, судя по всему - нет. (последнее высказывание в первую очередь адресовано Dennis_Chikin) Добавлено через 1 мин.: Засим я отказываюсь продолжать холиворного оттенка беседу, буду высказываться только по конкретным методикам и решениям. ЗЫ Ув. Artos, как бы то ни было, я имею полное право давать категоричную оценку тому, что было написано мной, не так ли? А код АМК и его последователя (и других модов, использующих куски АМК) в конкретном случае на очень неслабую часть - мой, спорить, надеюсь, не будем (моежете мне приписать огромное ЧСВ, если хотите)? Методики, использованые там, заложены Red75, sokol_jack и мной. Причем, скорее, в разных сферах и направленностях. Поэтому, я вполне в состоянии критически оценить и эффективность самих методик и их реализаций. Методики, подчеркиваю, и код для их реализации, остался по сути неизменным с тех времен по большей части. Хоть как перекомпонуйте, оберните в псевдо-классы, переназовите переменные и т.п. - суть остается той же. Изменено 2 Января 2012 пользователем xStream Все, кто стоит на моем пути: идите нахрен и там погибните! © Ссылка на комментарий
alpet 77 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 (изменено) kamikazze Мы не NLC делаем, которое не мод, а арт-объект, который нельзя трогать, в который ни в коем случае нельзя играть, потому что это искусство - им надо любоваться, восхищаясь замыслом и видением художников. Нельзя так категорично, играть можно и трогать при настойчивости тоже можно. Нравится искать соринку в чужом глазу, покритикуйте технические детали на примерах. Скажем тот-же биндер, вы мастер оптимизации наверное заметили там жуткие тормоза ) В целом доработка его с моей стороны закончилась на этапе... замедления количества циклов: elps = ElapsedTime(9) if elps < 19 then SleepEx( 20 - elps ) end Потому что даже на современных системах графика вылезает за 100FPS, что пропорционально связано с количеством вызовов update. А стремиться к таким запредельным показателям производительности нет смысла, ибо все это обходится недешево - греются комплектующие, шум раздражающий и т.п. Изредка возникают на самом деле потребности в больших расчетах, но на этот счет я веду разработку в пользу использования многоядерности ЦП. Изменено 2 Января 2012 пользователем alpet Плавайте поездами аэрофлота! Ссылка на комментарий
Viнt@rь 50 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 Мой пост был адресован не только xStream... Что касается: ... Я ругаю то, как это используют. Вон, хвалят АМК 2.0 за "приятность для глаз". А по сути хлам как был, так и остался. Просто оно все аккуратнее смотрится из-за организации в виде классов. Но по сути это все то же процедурное программирование. Скажем так - забивание микроскопом гвоздей, использование не по назначению. Просто подобный подход я видела не в одном языке и руки бы поотрывала а такое. Не знаете ООП - не трогайте классы. 1. Вы ведь сами говорили что в LUA скриптах сталкера некогда небыло ООП 2. За что руки то отрывать? Если в данном случае, по вашим же словам, организовывание функций в классы, ни на что не влияет Лично мне нравится то, что организовывание функций в классы, делает код внутри скрипта "приятней и красивей"(ИМХО), собственно потому и спрашивал, влияет ли это на что-то... GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Ссылка на комментарий
xStream 86 Опубликовано 2 Января 2012 Поделиться Опубликовано 2 Января 2012 1) Не было, за исключением биндеров и всяких ГУИ - там наследование и там оправданное использование. Никто в модах ООП не пользовал в том понимании, какое заложено парадигмой. 2) А что мешает писать аккуратный код и без этого, скажите мне? Каждый файл в сталкере - отдельный модуль, вот вам и неймспейс, там же локальные переменные. По сути, когда обворачивают в класс, получается аж две обертки для процедурного кода. Зачем? Красивый и читабельный код можно писать и без классов. Тем более, что в данном конкретном случае это использование не по назначению. Все, кто стоит на моем пути: идите нахрен и там погибните! © Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти