Гайд Интеграция telnet в CS:GO

щитпостер стат ратио 0.17
Участник
Статус
Оффлайн
Регистрация
28 Окт 2017
Сообщения
1,243
Реакции[?]
227
Поинты[?]
38K
Темы об этом на югейме не было, на юц об этом узнали три года назад.

Пожалуйста, авторизуйтесь для просмотра ссылки.
- github
Некоторые сурс игры имеют параметр запуска -netconport #, который запускает телнет сервер на клиенте игры.
Он позволяет подключаться к консоли игры из командной строки, или использовать библиотеки телнета в языках программирования для чтения консоли/отправки команд.
Мало полезен, после того как валв закрыли доступ к developer 1 конвару.

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

Примеры скриптов -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Скачиваете CSGOTelnet папку с гитхаба, кидаете рядом с ней скрипт.
Мой скрипт:
selfbot_csgo.py:
from CSGOTelnet import CommandHandler
from CSGOTelnet import Logger
import time
import random
import threading

YOUR_NAME = "h4rmy"

COMMAND_PREFIX = "!"

ECHO_COMMAND_PREFIX = "#"

# Log level DEBUG, INFO, WARNING, ERROR
LOG_LEVEL = Logger.LogLevel.DEBUG

IP = "127.0.0.1"
PORT = 23 # -netconport 23 < csgo launch parameter


handler = CommandHandler.CommandHandler(COMMAND_PREFIX, ECHO_COMMAND_PREFIX) # omitted LOG_LEVEL = default value INFO

def on_message(message):
    handler.logger.info(f"Message from {message.get_author()}: \"{message.get_content()}\"")

def on_incoming_data(data):
    decoded = data.decode("utf-8").replace("\n", " ").replace("\r", "").strip()
    handler.logger.dbg(f"Incoming: {decoded}")

def on_name_change(old_name, new_name):
    print(f"Owner changed name from {old_name} to {new_name}!")

def random_joke():
    lines = open("humor.txt").read().splitlines()
    return random.choice(lines)

def funny(message, args):
    handler.queue(f"{'say_team' if message.is_team_chat() else 'say'} {random_joke()}")

def random_fact():
    lines = open("facts.txt").read().splitlines()
    return random.choice(lines)

def fact(message, args):
    handler.queue(f"{'say_team' if message.is_team_chat() else 'say'} {random_fact()}")

#animated clantag
working = False
tagworker_thread = None
def tagworker():
    while True:
        if not working:
            break
        handler.queue("cl_clanid 44019385")
        time.sleep(1)
        handler.queue("cl_clanid 44019364")
        time.sleep(1)
        handler.queue("cl_clanid 44019360")
        time.sleep(1)
        handler.queue("cl_clanid 44019352")
        time.sleep(1)
        handler.queue("cl_clanid 44019336")
        time.sleep(1)
        handler.queue("cl_clanid 44019287")
        time.sleep(1)
        handler.queue("cl_clanid 43980640")
        time.sleep(1)

def console_clantag(args):
    global working
    global tagworker_thread
    if not working:
        working = True
        tagworker_thread = threading.Thread(target=tagworker)
        tagworker_thread.start()
    else:
        working = False
        tagworker_thread.join()
        tagworker_thread = None
        handler.queue("cl_clanid 43980640")

def jump(message, args):
    handler.queue("+jump")
    time.sleep(0.2)
    handler.queue("-jump")


def shoot(message, args):
    handler.queue("+attack")
    time.sleep(0.1)
    handler.queue("-attack")


def commands(message, args):
    handler.queue(f"{'say_team' if message.is_team_chat() else 'say'} commands are: !hahafunny, !fact, !jump, !shoot")


handler.set_owner_name(YOUR_NAME)

handler.set_on_incoming_data(on_incoming_data)

handler.set_on_message(on_message)

handler.set_on_name_change(on_name_change)

handler.commands.add_echo_command("clantag", "clantag", console_clantag)
handler.commands.add_global_command("commands", "commands", commands)
handler.commands.add_global_command("hahafunny", "replies with a joke", funny)
handler.commands.add_global_command("jump", "jumps", jump)
handler.commands.add_global_command("shoot", "shoots", shoot)
handler.commands.add_global_command("fact", "replies with a fact", fact)



handler.start(IP, PORT)

 

Вложения

Маленький волк
Участник
Статус
Оффлайн
Регистрация
17 Апр 2021
Сообщения
798
Реакции[?]
236
Поинты[?]
6K
А для чего собственно это нужно? Объясните ньюкаму
 
щитпостер стат ратио 0.17
Участник
Статус
Оффлайн
Регистрация
28 Окт 2017
Сообщения
1,243
Реакции[?]
227
Поинты[?]
38K
Забаненный
Статус
Оффлайн
Регистрация
2 Июл 2021
Сообщения
155
Реакции[?]
21
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
какойто
telnet
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,540
Реакции[?]
575
Поинты[?]
13K
я уж обрадовался, неужели proper pep8 compliant code, но нет, превратить код из модуля в скрипт нас не научили

if __name__ == "__main__" не просто так придуман.

цистерну говна за паскаль кейс в названиях файлов

цистерну говна за библиотеку которую не установить без ебли ведь мы не знаем про pyproject.toml

edit: я правильно понимаю что ты написал time.sleep(.01) вместо того чтоб заняться асинхронностью этого дерьма? ну блять ну мне обидно за питон...

yougame release at it's finest
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
22 Дек 2018
Сообщения
617
Реакции[?]
182
Поинты[?]
12K
я уж обрадовался, неужели proper pep8 compliant code, но нет, превратить код из модуля в скрипт нас не научили

if __name__ == "__main__" не просто так придуман.

цистерну говна за паскаль кейс в названиях файлов

цистерну говна за библиотеку которую не установить без ебли ведь мы не знаем про pyproject.toml

edit: я правильно понимаю что ты написал time.sleep(.01) вместо того чтоб заняться асинхронностью этого дерьма? ну блять ну мне обидно за питон...

yougame release at it's finest
Умный дофига?
 
щитпостер стат ратио 0.17
Участник
Статус
Оффлайн
Регистрация
28 Окт 2017
Сообщения
1,243
Реакции[?]
227
Поинты[?]
38K
я уж обрадовался, неужели proper pep8 compliant code, но нет, превратить код из модуля в скрипт нас не научили

if __name__ == "__main__" не просто так придуман.

цистерну говна за паскаль кейс в названиях файлов

цистерну говна за библиотеку которую не установить без ебли ведь мы не знаем про pyproject.toml

edit: я правильно понимаю что ты написал time.sleep(.01) вместо того чтоб заняться асинхронностью этого дерьма? ну блять ну мне обидно за питон...

yougame release at it's finest
я прикрепил свой скрипт просто для демонстрации, иди и делай с модулем че хочешь
 
Начинающий
Статус
Оффлайн
Регистрация
12 Май 2023
Сообщения
29
Реакции[?]
27
Поинты[?]
25K
я уж обрадовался, неужели proper pep8 compliant code, но нет, превратить код из модуля в скрипт нас не научили

if __name__ == "__main__" не просто так придуман.

цистерну говна за паскаль кейс в названиях файлов

цистерну говна за библиотеку которую не установить без ебли ведь мы не знаем про pyproject.toml

edit: я правильно понимаю что ты написал time.sleep(.01) вместо того чтоб заняться асинхронностью этого дерьма? ну блять ну мне обидно за питон...

yougame release at it's finest
Чел, все что не на продакшн - ваще похуй. Так что твои complaints тут вообще не уместны. Иди пиши скрипты с if __name__ == "__main__" и усцыкайся от радости, потому что ты написал Скрыпт ептыть а не модуль ))).
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,540
Реакции[?]
575
Поинты[?]
13K
Чел, все что не на продакшн - ваще похуй. Так что твои complaints тут вообще не уместны. Иди пиши скрипты с if __name__ == "__main__" и усцыкайся от радости, потому что ты написал Скрыпт ептыть а не модуль ))).
лмао, так если ты такие модули пишешь, то че ты в прод толкаешь)))

вот это у тя тейк залупой воняет конечно
 
Начинающий
Статус
Оффлайн
Регистрация
12 Май 2023
Сообщения
29
Реакции[?]
27
Поинты[?]
25K
лмао, так если ты такие модули пишешь, то че ты в прод толкаешь)))

вот это у тя тейк залупой воняет конечно
Ты кажись пока кипятком усцыкался от "модулей" своих без if __name__ == "__main__" случайно свои глаза забрызгал. Я ведь нигде не писал что я такие модули пишу в прод. Да я и в принципе на питоне не пишу :)
 
Сверху Снизу