Перейти к содержимому
  • На сайт
  • Главная
  • Правила форума
  • Последние
  • Популярные
  • Пользователи
  • Группы
Collapse

Форум Octothorp Team

GeoG

Geo

@Geo
Сводка
Сообщений
23
Темы
7
Репосты
0
Группы
0
Подписчики
3
Подписки
1

Сообщений

Последние Лучшие сообщения Спорные

  • Заявка
    GeoG Geo
    1. МаркДаллас, Леон Тайсон
    2. STEAM_1:1:183099854
    3. lkjohhn12
    4. 19
    5. yes
    6. +0
    7. Описание
    8. Я стремлюсь быть полезным администрации, быстро и оперативно отвечая на мелкие вопросы игроков, чтобы она могла сконцентрироваться на важных задачах. Также я готов обучать новых участников игры основам механик и ролевого процесса, помогая им влиться в игровой процесс.
    9. Староград - старший игм. Разработчик/администратор на Беллвуде (копии вообщем, но староград хоть чуть серьезнее был)
    10. 8
    11. 9
    12. 10
    13. Ноуп
    14. Да
    Решенные заявки одобрено

  • JazzTime
    GeoG Geo

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

    Фото заведения
    Фото нового заведения
    Дискорд
    (Меню допиливается)

    Описание

    Филипп Хартон родился в музыкальной семье афроамериканцев, он с роду имел превосходный слух и страсть к музыке. Семья состояла из двух братьев и стандартной пары родителей.

    Семья Хартон кроме музыки занималась ресторанным бизнесом еще со времен золотой лихорадки, от чего были довольно успешны и обеспечены поколениями. В 30-ый день рождения Филипп лишился своих родителей, они погибли от рук полицейского расиста. Имущество было поделено пополам, брат Филиппа раскидывался деньгами выпуская свои альбомы с посредственной и пафосной музыкой. Катался на дорогих машинах, снимал кучу женщин. Жил в кайф. Филипп же продолжил ресторанный бизнес, ему достался 1 неплохой ресторан в Детройте.

    Описание

    Филипп не хотел паразитировать на наследстве, он хотел что-то свое, а не только готовый бизнес, к тому открытие своего заведения принесет опыт. Так как Филипп любил музыку, искусство и выпить, он открыл бар “JazzTime” в городе Доброград на Рузвельте, это было спонтанное решение, в этом городе не было подобных заведений, потому Филипп занял эту нишу. Там он сам любил выступать и играть на всех инструментах, это был небольшой уютный бар собиравший большое количество людей вечерами под живую музыку и пение Филиппа. Он также открыл несколько Баров в штате Мичиган, но бар JazzTime был для него роднее из-за приятной атмосферы и людей которые приходили туда. Филипп продолжал открывать новые бары, рестораны и расширял старые.

    Описание

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

    Список сотрудников:
    Марк Даллас - Директор/Управляющий баром.
    Фред Уильямс - Администратор.
    Алекс Коллинс - Бармен.

    Архив архив

  • Рэнди Вашингтон
    GeoG Geo

    Считаю надо запретить фамилии, не дай бог человека в прошлом популярного упомянем… 🫣

    Чубаков это обычная фамилия, че вы к ней прикопались, никакая это не Чубака. Моему другу было бы обидно. 👿
    https://famiry.ru/database/surnames/chubakov

    Да и проблемы в использовании фамилии Чубайс я тоже не вижу, ладно бы он указал имя и фамилию этого человека, но зачем за фамилию только притягивать не понимаю на каждую фамилию по миллион однофамильцев.

    Решенные жалобы отклонено

  • упс
    GeoG Geo

    Прости челог ;(
    Единственный кто мне поверил, но я тебя так и не подвел, правда за мной, на дбг спустя все это время с читами я так и не зашёл.

    Ситуация тогда была схожа с этой, но я тогда как “герой” играл на fust rp с читами, после забав я удалил читы, переустановил ГМОД и зашёл на дбг, после чего некий LEYN забанил меня за аларм, как оказалось у меня папочка осталась. Меня тогда все шпыняли, но челог единственный кто меня выслушал, за что спасибо ему огромное.

    2025-11-28_16-42-09.png
    2025-11-28_16-42-26.png

    Решенные заявки отклонено

  • Создание бота отображающего онлайн серверов гаррис мод.
    GeoG Geo

    Гайд составлен Mr. Geo.
    Контакты:
    discord: lkjohhn12

    Приветствую, в этом небольшом гайде я вам расскажу как быстро и просто создать бота для отображения онлайна серверов Garry’s Mod на языке python.

    Почему творчество? Потому что в гайды пишут только какие-то бесполезные рп штучки и взаимодействия именно с окто рп сервером, идеальнее места для этого топика я не нашел.

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

    И так, мы будем писать бота на языке python версии 3.10 и выше, для проекта нам понадобится несколько библиотек, вот их список:

    • python-a2s
    • discord_webhook

    И так приступим!

    Для самого начала вам нужно изучить python, его основы, для понимания происходящего.
    Вот полезные статьи:

    • Хабр, журнал Хакер
    • Здесь прям много интересного, даже не для новичков

    И так мы выучили основы python и готовы!

    Для начала, определимся с средой разработки, удобнее всего использовать Visual Studio Code или PyCharm. Разницы особо нет, но PyCharm удобнее для новичков и рассматривать будем именно его.

    Стартуем, при первом запуске у нас будет окон Welcome to PyCharm, в нем тыкаем New Project.

    2025-12-03_13-49-09.png

    Дальше необходимо указать где будут храниться ваш проект, в моем случае D:/PycharmProjects/online-gmod-bot
    2025-12-03_13-50-38.png

    Чем удобен pycharm, он автоматически создает виртуальное окружение, благодаря виртуальному окружению можно изолировать проекты друг от друга и не засорять глобальное окружение, все библиотеки скаченные в окружении будут находится в этом самом окружение и не вызовут зависимости при запуске какой-то программы вне этого окружения.

    Может не очень понятно, проще говоря это удобно и правильно.

    И так перед нами сейчас такое вот окно:
    2025-12-03_13-54-10.png

    Для начала нам нужно скачать необходимые библиотеки, это можно сделать через консоль или же через интерфейс pycharm, разницы особо нет, я уже привык через консоль. Для этого слева внизу находим иконку консоли и тыкаем.

    Открывается powershell с уже активированным venv, опять же очень удобно, экономит время.

    2025-12-03_13-58-48.png

    Чтобы запустить любой файл python в pycharm, достаточно нажать на зеленую кнопочку play справа сверху, или слева в поле с файлами нажать на него правой кнопкой мыши -> Run.

    Так как вы уже знаете основы python, ну предполагается, качаем библиотеки python-a2s и discord-webhook, для этого вводим комманды:

    pip install python-a2s
    pip install discord-webhook
    

    Все теперь приступаем к написанию кода. Для начала очистим main и импортируем наши библиотеки:

    import a2s
    import discord_webhook
    

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

    Для начала изучим библиотеку a2s, там написано что для того чтобы получить информацию нужно использовать функцию info, вот таким образом:

    a2s.info(address, timeout=DEFAULT_TIMEOUT, encoding=DEFAULT_ENCODING)
    

    Но нам не обязательно указывать timeout и encoding, потому что по она указаны в функции но умолчанию. Также надо сразу понять что именно нужно передать в поле address, и это тоже описано в документации:

    address: Tuple[str, int] - Address of the server.
    
    Пример:
    address = ("chi-1.us.uncletopia.com", 27015)
    

    В поле адрес нужно передать список где первое будет это ip сервера или его домен, а второе его порт.

    Отлично, теперь создадим функцию которая нам будет возвращать информацию о сервере и постепенно улучшим её:

    def get_server_info(address: tuple[str, int]):
        info = a2s.info(address)
        return info
    

    Как видим я сразу указал какие данные необходимо передать в address, это называется аннотация типов, я вам рекомендую так делать всегда и с любыми даже простыми функциями, благодаря этому можно сразу понять что именно передавать в функцию.

    И теперь воспользуемся нашей функцией выведя результат сразу в консоль, в качестве теста будем использовать ip доброграда, итоговый код:

    import a2s
    import discord_webhook
    
    def get_server_info(address: tuple[str, int]):
        info = a2s.info(address)
        return info
    
    print(get_server_info(("46.174.50.203", 27015)))
    

    И в консоль нам выведется:

    SourceInfo(protocol=17, server_name='[#] Доброград – Осень 🍂', map_name='rp_evocity_dbg_251105', folder='garrysmod', game='base', app_id=4000, player_count=34, max_players=88, bot_count=0, server_type='d', platform='l', password_protected=False, vac_enabled=True, version='2025.03.26', edf=177, ping=0.0, port=27015, steam_id=85568392923369091, stv_port=None, stv_name=None, keywords='gm:darkrp gmc:rp loc:ru ver:251112', game_id=4000)
    

    Вауля, с этим уже можно работать, но вот в чем беда, если мы укажем какой-то несуществующий адрес или же адрес сервера который оффлайн, то нам выведет ошибку в консоль, чтобы избежать остановки кода напишем обработчик ошибок и укажем ошибки которые мы хотим получить, это timeout (окончание счетчика запроса), gaierror (исключение связанное с доменными именами) и a2s.BrokenMessageError. Это все ошибки которые у меня попадались, но также добавим стандартный обработчик с выводом неизвестной ошибки:

    def get_server_info(address: tuple[str, int]) -> a2s.SourceInfo | None:
        try:
            info = a2s.info(address)
            return info
        except(gaierror, timeout, a2s.BrokenMessageError) as e:
            print(f"Не удалось получить информацию для {address}: {e}")
            return None
        except Exception as e:
            print(f"Неизвестная ошибка при получении информации для адреса {address}: {e}")
            return None
    

    Также можно заметить я указал: -> a2s.SourceInfo | None
    Это тоже аннотация, которая показывает что возвращает функция, в нашем случае это либо класс из библиотеки a2s, либо None.

    Теперь это уже выглядит правильно и не вызывает ошибок, а лишь информирует о них. Далее как мы и планировали, необходимо эту информацию обработать и отправить вебхуком в дискорд, для этого напишем новую функцию, назовем её send_to_discord, где вначале будем получать информацию о сервере:

    def send_to_discord():
        ip = ("46.174.50.203", 27015)
        info = get_server_info(ip)
    

    Для начала разобьем информацию на удобные для нас переменные,мы будем получать основную информацию: название сервера, карту, максимальное кол-во игроков, сколько сейчас играет игроков и есть ли пароль на сервере

    def send_to_discord():
        ip = ("46.174.50.203", 27015)
        info = get_server_info(ip)
    
        server_name = info.server_name
        map_name = info.map_name
        player_count = info.player_count
        max_players = info.max_players
        password_protected = info.password_protected
    

    И теперь мы опять столкнемся с новой проблемой, а именно, если у нас не получилось получить информацию о сервере, тогда при присваивании переменных нам выдаст ошибку, ведь info у нас None. Чтобы избежать этого необходимо кэшировать данные, для этого добавим в начало кода переменную server_info_cache и отредактируем наши функции:

    import a2s
    import discord_webhook
    from socket import gaierror, timeout
    import time
    
    server_info_cache = {}
    
    class DefaultInfo:
        server_name = "Сервер не отвечает"
        map_name = "Неизвестно"
        player_count = 0
        max_players = 0
        password_protected = False
    
    def get_server_info(address: tuple[str, int]) -> a2s.SourceInfo | None:
        try:
            info = a2s.info(address)
    
            # добавлено!
            server_info_cache[address] = (time.time(), info)
    
            return info
        except(gaierror, timeout, a2s.BrokenMessageError) as e:
            print(f"Не удалось получить информацию для {address}: {e}")
            return None
        except Exception as e:
            print(f"Неизвестная ошибка при получении информации для адреса {address}: {e}")
            return None
    
    def send_to_discord():
        ip = ("46.174.52.203", 27015)
        info = get_server_info(ip)
        if not info:
            info = ip in server_info_cache and server_info_cache[ip] or DefaultInfo
    
        server_name = info.server_name
        map_name = info.map_name
        player_count = info.player_count
        max_players = info.max_players
        password_protected = info.password_protected
    
    
    send_to_discord()
    

    Реализовать можно разными способами, это уже так сказать на усмотрение каждого, здесь же я сделал так, чтобы точно не было ошибок при выполнении кода.

    И так, информация есть, осталось все это отправить в дискорд, для этого откроем документацию и посмотрим каким образом работает discord_webhook. Для начала надо инициализировать класс:

    webhook = DiscordWebhook(
            url=url,
            username=username,
            id=message_id,
            avatar_url=""
        )
    

    Здесь из основного нам надо указать url, остальное по желанию и не обязательно, укажем url и имя.

    webhook = DiscordWebhook(
            url="https://discord.com/api/webhooks/******",
            username="Онлайн серверов",
        )
    

    Чтобы получить вебхук, надо зайти на свой сервер дискорд или же если у вас есть доступ, навестись на канал куда вы хотите получать сообщения, и нажать на шестеренку. Там будет вкладка интеграция, в ней нажимаете “Вебхуки” и создаете вебхук или копируете url уже созданного.

    Теперь из функционала библиотеки, можно добавлять embed, это красивые сообщения которые могут отправляться только ботами или вебхуками или же просто отправлять текст. Для этого есть функции: add_embed и set_content.

    В нашем гайде мы рассмотрим только обычные сообщения, как заполняются embed можете изучить самостоятельно.

    И так сначала мы создадим строку с информацией и добавим её:

    password = "Сервер под паролем" and password_protected or ""
    text = f"Название сервера: {server_name}\nКарта: {map_name}\nИгроков: {player_count} из {max_players}\n{password}"
    
    webhook.set_content(text)
    

    Осталось лишь отправить наш вебхук, для этого есть комманда execute, и вот такой код у нас по итогу получается:

    import a2s
    from discord_webhook import DiscordWebhook
    from socket import gaierror, timeout
    import time
    
    server_info_cache = {}
    
    class DefaultInfo:
        server_name = "Сервер не отвечает"
        map_name = "Неизвестно"
        player_count = 0
        max_players = 0
        password_protected = False
    
    def get_server_info(address: tuple[str, int]) -> a2s.SourceInfo | None:
        try:
            info = a2s.info(address)
    
            # добавлено!
            server_info_cache[address] = (time.time(), info)
    
            return info
        except(gaierror, timeout, a2s.BrokenMessageError) as e:
            print(f"Не удалось получить информацию для {address}: {e}")
            return None
        except Exception as e:
            print(f"Неизвестная ошибка при получении информации для адреса {address}: {e}")
            return None
    
    def send_to_discord():
        ip = ("46.174.50.203", 27015)
        info = get_server_info(ip)
        if not info:
            info = ip in server_info_cache and server_info_cache[ip] or DefaultInfo
    
        server_name = info.server_name
        map_name = info.map_name
        player_count = info.player_count
        max_players = info.max_players
        password_protected = info.password_protected
    
        webhook = DiscordWebhook(
            url="https://discord.com/api/webhooks/*****",
            username="Онлайн серверов",
        )
        password = "Сервер под паролем" and password_protected or ""
        text = f"Название сервера: {server_name}\nКарта: {map_name}\nИгроков: {player_count} из {max_players}\n{password}"
    
        webhook.set_content(text)
        webhook.execute()
        
    send_to_discord()
    

    Запускаем и смотрим в дискорд!
    2025-12-03_15-17-48.png

    Вот мы и получили сообщение! Теперь сделаем нашего бота цикличным, чтоб он раз допустим в 2 минуты обновлял информацию. И это очень просто, добавим в конце этот код и все:

    while True:
        send_to_discord()
        time.sleep(120)
    

    Но есть проблема, каждые 2 минуты бот отправляет новое сообщение! А было бы удобно если бы он редактировал его. Так сделать можно! Для этого есть у discord_webhook есть функция .edit, внесем правки в нашу функцию send_to_discord и создадим переменную message_id:

    message_id = None
    
    def send_to_discord():
        global message_id
        ip = ("46.174.50.203", 27015)
        info = get_server_info(ip)
        if not info:
            info = ip in server_info_cache and server_info_cache[ip] or DefaultInfo
    
        server_name = info.server_name
        map_name = info.map_name
        player_count = info.player_count
        max_players = info.max_players
        password_protected = info.password_protected
    
        webhook = DiscordWebhook(
            url="https://discord.com/api/webhooks/*****",
            username="Онлайн серверов",
            id=message_id
        )
        password = "Сервер под паролем" and password_protected or ""
        text = f"Название сервера: {server_name}\nКарта: {map_name}\nИгроков: {player_count} из {max_players}\n{password}"
    
        webhook.set_content(text)
    
        if message_id:
            response = webhook.edit()
            if response.status_code == 200:
                return
        response = webhook.execute()
        message_id = response.json().get('id')
    

    И получаем такой итоговый код:

    import a2s
    from discord_webhook import DiscordWebhook
    from socket import gaierror, timeout
    import time
    
    server_info_cache = {}
    
    class DefaultInfo:
        server_name = "Сервер не отвечает"
        map_name = "Неизвестно"
        player_count = 0
        max_players = 0
        password_protected = False
    
    def get_server_info(address: tuple[str, int]) -> a2s.SourceInfo | None:
        try:
            info = a2s.info(address)
    
            # добавлено!
            server_info_cache[address] = (time.time(), info)
    
            return info
        except(gaierror, timeout, a2s.BrokenMessageError) as e:
            print(f"Не удалось получить информацию для {address}: {e}")
            return None
        except Exception as e:
            print(f"Неизвестная ошибка при получении информации для адреса {address}: {e}")
            return None
    
    message_id = None
    
    def send_to_discord():
        global message_id
        ip = ("46.174.50.203", 27015)
        info = get_server_info(ip)
        if not info:
            info = ip in server_info_cache and server_info_cache[ip] or DefaultInfo
    
        server_name = info.server_name
        map_name = info.map_name
        player_count = info.player_count
        max_players = info.max_players
        password_protected = info.password_protected
    
        webhook = DiscordWebhook(
            url="https://discord.com/api/webhooks/*****",
            username="Онлайн серверов",
            id=message_id
        )
        password = "Сервер под паролем" and password_protected or ""
        text = f"Название сервера: {server_name}\nКарта: {map_name}\nИгроков: {player_count} из {max_players}\n{password}"
    
        webhook.set_content(text)
    
        if message_id:
            response = webhook.edit()
            if response.status_code == 200:
                return
        response = webhook.execute()
        message_id = response.json().get('id')
    
    while True:
        send_to_discord()
        time.sleep(30)
    

    Вот я показал вам как сделать простенькую основу для скрипта который показывает онлайн, тут не надо создавать бота, настраивать, добавлять бота на сервер, нужна лишь ссылка на вебхук и все. Надеюсь было интересно.

    Если у вас будут вопросы, пишите их в этом топике на все со временем отвечу.

    Творчество

  • CHAOSEREMIX
    GeoG Geo

    Описание

    Радиостанция CHAOSEREMIX

    CHAOSEREMIX - Танцевально-зажигательная радиостанция включающая в себя треки жанров клубной музыки, ремиксов и EDM-жанров. Музыкальный формат включает в себя Русские и зарубежные танцевальные хиты.

    Очень не хватало зажигательной и басовой музыки, как было на радиостанции WHYNOT, но она ушла в архив. По-этому я временно возрождаю ее под другим именем. В случае если WHYNOT вернется, радиостанция CHAOSEREMIX будет закрыта. Все и для всех🥹

    Заставляем двигаться!💃

    Ссылки

    Плейлист: Тык
    Поток: Тык
    Мини студия: Тык

    Архив отклонено

  • JazzTime
    GeoG Geo

    @Dimoma На счет интерьера. Было на много больше деталей, но постройка строилась на Старограде где у меня были роль Старшего игма. Там у меня лимиты понятное дело были больше.

    Да и вообще планируется переезд заведения прямо сейчас

    Почему открылся на Рузвельте: Филипп хотел чего-то своего, а не только готовое от родителей, по-этому чтобы не рисковать деньгами открыл в дешевом первом попавшемся месте свой бар и начал развивать его, дальше он открыл еще пару точек по Мичигану уже имея опыт в этой сфере. Люди часто делают спонтанные не ожиданные действия.

    Застрелила полиция: Это просто интерпретированная история со Старограда. Там реально прямо на сцене погиб Филипп Хартон, но в руках у него был страйкбольный дробовик нужный для сценки, полиция этого не оценила и когда он навел на людей дробовик (часть сценки), его застрелили. Я подумал что это будет звучать тупо, поэтому во время рейда его случайно зацепили или нет 🫢

    А за ошибки сорян, у меня в общем экзамене за теорию ноль, а за изложение и сочинение максимальные баллы. Сочинять умею, грамоту тоже знаю, но не до конца)

    UPD: История была переписана чтобы было больше логики.

    Архив архив

  • Создание бота отображающего онлайн серверов гаррис мод.
    GeoG Geo

    @chelog допили форум, я указываю ```python, а у меня код не подсвечивается.

    Творчество

  • SAZONOFF & CO | Адвокатское Агенство
    GeoG Geo

    Делают контент и смешные мемы, уже за это одобрить можно

    Архив отклонено

  • [JazzTime] Напитки
    GeoG Geo
    1. lkjohhn12
    2. STEAM_1:1:183099854
    3. https://forum.octothorp.team/topic/3253/jazztime/6

    Бутилированный алкоголь

    Название: Bellussi Blanc de Noir Brut
    Описание: Ароматное, хорошо структурированное игристое вино Bellussi, Blanc de Noir Brut производится из тщательно отобранного винограда сорта Пино Неро, собранного вручную в горной местности в Ольтрепо Павезе (Ломбардия). Пино Неро проходит винификацию как для белых вин, с частичной холодной мацерацией, мягким прессованием и вторичной ферментацией по методу Шарма (от 120 до 180 дней)
    Объем одного предмета (л): 0,75
    Масса одного предмета (кг): 0,75
    Иконка: octoteam/icons/food_bar10.png
    Модель: models/mark2580/gtav/barstuff/cava.mdl
    Срок действия (сек): -

    Название: Diplomatico Botucal Reserva Exclusiva
    Описание: Ром медного цвета с оттенками красного дерева. Ром обладает богатым и насыщенным вкусом с тонами шоколадного соуса, карамели и спелых тропических фруктов. В послевкусии чувствуются оттенки черного шоколада, ванили и апельсина. Сложный аромат рома раскрывается нотами фруктовых пирожных, мороженого с ромом и изюмом, оттенками какао, имбиря, корицы и гвоздики.
    Объем одного предмета (л): 0,7
    Масса одного предмета (кг): 0,7
    Иконка: octoteam/icons/bottle_wine.png
    Модель: models/mark2580/gtav/barstuff/bottle_cognac.mdl
    Срок действия (сек): -

    Название: Jagermeister
    Описание: Ликер Егермейстер относится к травяным ликерам-биттерам — горьким крепким напиткам. Содержание алкоголя в нем равняется 35%, но в его аромате и вкусе не чувствуется резкой спиртовой отдушки, поскольку за время настаивания в бочках он насыщается нотами и оттенками десятков трав, кореньев и дубовой древесины.
    Объем одного предмета (л): 0,7
    Масса одного предмета (кг): 0,7
    Иконка: octoteam/icons/bottle_wine.png
    Модель: models/mark2580/gtav/barstuff/whiskey_bottle_2.mdl
    Срок действия (сек): -

    Название: Achim Maler Riesling Landwein Rhein
    Описание: Изысканное белое полусухое вино, изготовленное из винограда сорта Рислинг, который выращивается на виноградниках компании в долине реки Рейн и отличаются своей энергетикой и яркой минеральностью. Последняя возникает благодаря уникальным известковым почвам, содержащим остатки раковин и морских окаменелостей от покрывавшего эту территорию древнего моря.
    Объем одного предмета (л): 0,75
    Масса одного предмета (кг): 0,75
    Иконка: octoteam/icons/bottle_wine.png
    Модель: models/mark2580/gtav/barstuff/wine_white.mdl
    Срок действия (сек): -

    Название: Mastro Binelli Moscato
    Описание: Легкое белое игристое вино, изготавливаемое из винограда сорта Москато Бьянко, выращиваемого в итальянском регионе Пьемонт. Вино производится по традиционной технологии шампанизации в стальных резервуарах.
    Объем одного предмета (л): 0,75
    Масса одного предмета (кг): 0,75
    Иконка: octoteam/icons/food_bar10.png
    Модель: models/mark2580/gtav/barstuff/champ_jer_01a.mdl
    Срок действия (сек): -

    Коктейли

    Название: Пина колада
    Описание: Традиционный карибский алкогольный коктейль, состоящий из светлого рома, кокосового молока и ананасового сока.
    Объем одного предмета (л): 0,3
    Масса одного предмета (кг): 0,3
    Иконка: octoteam/icons/food_gogol_mogul.png
    Модель: models/mark2580/gtav/barstuff/glass_09.mdl
    Срок действия (сек): -

    Название: Б-52
    Описание: Слоистый коктейль (pousse café) из трёх ликёров: кофейный ликёр, сливочный ликёр и крепкий апельсиновый ликёр — трипл-сек или куантро.
    Объем одного предмета (л): 0,2
    Масса одного предмета (кг): 0,2
    Иконка: octoteam/icons/food_bar3.png
    Модель: models/mark2580/gtav/barstuff/glass_07.mdl
    Срок действия (сек): -

    Название: Маргарита
    Описание: Алкогольный коктейль, содержащий текилу, ликёр и сок лайма.
    Объем одного предмета (л): 0,2
    Масса одного предмета (кг): 0,2
    Иконка: octoteam/icons/food_cocktail.png
    Модель: models/mark2580/gtav/barstuff/tequila.mdl
    Срок действия (сек): -

    Название: Мохито
    Описание: Алкогольный коктейль, который включает в себя светлый ром и листья мяты.
    Объем одного предмета (л): 0,2
    Масса одного предмета (кг): 0,2
    Иконка: octoteam/icons/food_cocktail.png
    Модель: models/mark2580/gtav/barstuff/glass_09.mdl
    Срок действия (сек): -

    1. Закупка алкоголя у поставщиков, коктейли делают наши талантливые бармены.
    Игровые запросы одобрено

  • упс
    GeoG Geo
    1. Mr. Geo (Geometric) Марк Даллас
    2. STEAM_1:1:183099854
    3. lkjohhn12
    4. хз
    5. Пермач
    6. 28.11.2025
    7. Я луа читы под копии пишу, у меня в корне гмода ничего не понимаю как у вас античит че-то нашел вообще. На дбг с читами ни разу в жизни не играл из-за клятвы перед челогом (не шучу) и как минимум там донат у меня был. Да я в принципе на дбг не заходил ппц долго, сегодня вот решил зайти к челеку проконтролировать работу макдональдса, я ему крутую кассу написал для работу, чтобы он адекватно считал прибыль и расход. А в итоге после минуты пробежки по карте меня забанило, автоматом или нет ХЗ. Вы меня поймите, я просто симпл программист который пишет все что только вызывает интерес, луа читы писал потому что это прикольно, аддоны писал потому что прикольно и в основном для себя. Даже копии пастить помогал в свое время. Я не злостный чувак который только ищет как же насрать людям и придумать какой-то ебический крашер) Читы на пк были, но не юзались, бан по факту не спорю. Следите за моими проектами здесь: https://discord.com/channels/188610335656247296/1390044446308958341 (ссылка на топик на сервере ДБГ в дискорд я там публикую проекты которые делаю). Бля я вообще просто хотел в маке на дбг поработать, как в старые добрые студенческие годы.
    8. Я за всю свою игру на дбг нанес проекту ноль ущерба и только с своими корешами приносил контент и веселье. Конечно меня щас никто не знает скорее всего, сменилось 3 поколения уже пока я чилил на копиях. Мб меня вообще забанило за аддон на камеру который я писал. Хотелось бы увидеть какой аларм на меня пришел.
    9. Нечего кидать
    10. Да
    Решенные заявки отклонено
  • 1 / 1
  • Войти

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • На сайт
  • Главная
  • Правила форума
  • Последние
  • Популярные
  • Пользователи
  • Группы