Софт RakSAMP Lite

skym

Участник
30
0
чо делать если я пишу скрипт чтобы текст отправлялся в игру sampProcessChatInput("текст") и sampSendChat("текст") но не тот и не тот не работает, что делать
 

chromiusj

модерирую шмодерирую
Модератор
5,979
4,296
чо делать если я пишу скрипт чтобы текст отправлялся в игру sampProcessChatInput("текст") и sampSendChat("текст") но не тот и не тот не работает, что делать
1757695746624.png
 

skym

Участник
30
0
не понял как реализовать это
это вопще для хоткей

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

solution

Участник
79
12
не понял как реализовать это
это вопще для хоткей

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

skym

Участник
30
0
import time
import requests
import threading
import re
# 🔧 Настройки
BOT_TOKEN = ""
CHAT_ID = "" # пример: 123456789 или -1001234567890
LOG_PATH = r"C:\SAMPLOGS\RakSAMP Lite.log"
OUT_FILE = r"C:\SAMPLOGS\to_game.txt"
def send_to_telegram(text: str):
"""Отправка текста в Telegram"""
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
try:
requests.post(url, data={"chat_id": CHAT_ID, "text": text}, timeout=10)
except Exception as e:
print("Ошибка отправки:", e)
def remove_colors(text: str) -> str:
return re.sub(r"\{[0-9A-Fa-f]{6}\}", "", text)
def tail_log():
"""Слежение за логом и пересылка [MSG]"""
try:
with open(LOG_PATH, "r", encoding="cp1251", errors="ignore") as f:
f.seek(0, 2)
while True:
line = f.readline()
if not line:
time.sleep(1)
continue
if "[MSG]" in line:
clean = remove_colors(line.strip())
send_to_telegram(clean)
except FileNotFoundError:
print("Не найден лог:", LOG_PATH)
def listen_telegram():
"""Слушаем команды в Telegram (!cand ...)"""
url = f"https://api.telegram.org/bot{BOT_TOKEN}/getUpdates"
offset = None
while True:
try:
resp = requests.get(url, params={"timeout": 10, "offset": offset}, timeout=15).json()
for update in resp.get("result", []):
offset = update["update_id"] + 1
msg = update.get("message", {})
text = msg.get("text", "")
if text.startswith("!cand "):
command = text[len("!cand "):]
with open(OUT_FILE, "a", encoding="utf-8") as out:
out.write(command + "\n")
send_to_telegram(f"✅ В игру отправлено: {command}")
except Exception as e:
print("Ошибка получения обновлений:", e)
time.sleep(1)
if __name__ == "__main__":
threading.Thread(target=tail_log, daemon=True).start()
listen_telegram()
это чат из игры логирует

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

чекни:
🔥 Понял, тебе нужно связать Telegram-бота с RakSAMP, чтобы при написании команды !cand в телеграм-чате бот пересылал сообщение прямо в игру через sendInput("текст").

Сделаем так:

Python-скрипт работает как Telegram-бот.

При получении команды из чата он вызывает RakSAMP-функцию sendInput.

Для вызова Lua-функций мы будем писать промежуточный файл (например command.txt), а Lua-скрипт в RakSAMP будет читать этот файл и отправлять сообщение.

🔹 Часть 1. Python (Telegram-бот)

Сохрани как tg_bridge.py:

import telebot
import time

TOKEN = "ТОКЕН_ТВОЕГО_БОТА"  # замени на свой токен
CHAT_ID = -100123456789       # id беседы (можно взять у @getidsbot)

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=["cand"])
def handle_cand(message):
    if message.chat.id == CHAT_ID:
        # сохраняем текст в файл для RakSAMP
        with open("command.txt", "w", encoding="utf-8") as f:
            f.write("Привет из Telegram!")
        bot.reply_to(message, "🔥 Сообщение отправлено в игру!")

print("Бот запущен...")
bot.infinity_polling()

🔹 Часть 2. Lua (RakSAMP-скрипт)

Сохрани как tg_input.lua и положи в scripts/:

require("addon")

print("[TG-BRIDGE] Скрипт запущен.")

-- таск для проверки файла раз в 2 секунды
task = newTask(function()
    while true do
        local file = io.open("command.txt", "r")
        if file then
            local text = file:read("*a")
            file:close()
            if text ~= "" then
                sendInput(text) -- отправить в чат
                -- очищаем файл
                local clear = io.open("command.txt", "w")
                clear:close()
                print("[TG-BRIDGE] Отправлено в чат: " .. text)
            end
        end
        wait(2000) -- проверяем каждые 2 сек
    end
end, false)

⚙️ Как использовать

Запусти tg_bridge.py (бот в Telegram).

Запусти RakSAMP, чтобы подгрузился tg_input.lua.

Напиши в беседе с ботом команду:

/cand


(или !cand, если настроишь хендлер на текст).

Сообщение из command.txt бот отправит в чат игры.

этот код написал чат гпт типо чтобы сообщения в самп кидать
но он тоже не рабоатет
 
Последнее редактирование:

chromiusj

модерирую шмодерирую
Модератор
5,979
4,296
import time
import requests
import threading
import re
# 🔧 Настройки
BOT_TOKEN = ""
CHAT_ID = "" # пример: 123456789 или -1001234567890
LOG_PATH = r"C:\SAMPLOGS\RakSAMP Lite.log"
OUT_FILE = r"C:\SAMPLOGS\to_game.txt"
def send_to_telegram(text: str):
"""Отправка текста в Telegram"""
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
try:
requests.post(url, data={"chat_id": CHAT_ID, "text": text}, timeout=10)
except Exception as e:
print("Ошибка отправки:", e)
def remove_colors(text: str) -> str:
return re.sub(r"\{[0-9A-Fa-f]{6}\}", "", text)
def tail_log():
"""Слежение за логом и пересылка [MSG]"""
try:
with open(LOG_PATH, "r", encoding="cp1251", errors="ignore") as f:
f.seek(0, 2)
while True:
line = f.readline()
if not line:
time.sleep(1)
continue
if "[MSG]" in line:
clean = remove_colors(line.strip())
send_to_telegram(clean)
except FileNotFoundError:
print("Не найден лог:", LOG_PATH)
def listen_telegram():
"""Слушаем команды в Telegram (!cand ...)"""
url = f"https://api.telegram.org/bot{BOT_TOKEN}/getUpdates"
offset = None
while True:
try:
resp = requests.get(url, params={"timeout": 10, "offset": offset}, timeout=15).json()
for update in resp.get("result", []):
offset = update["update_id"] + 1
msg = update.get("message", {})
text = msg.get("text", "")
if text.startswith("!cand "):
command = text[len("!cand "):]
with open(OUT_FILE, "a", encoding="utf-8") as out:
out.write(command + "\n")
send_to_telegram(f"✅ В игру отправлено: {command}")
except Exception as e:
print("Ошибка получения обновлений:", e)
time.sleep(1)
if __name__ == "__main__":
threading.Thread(target=tail_log, daemon=True).start()
listen_telegram()
это чат из игры логирует

код для того чтобы в игру текст выводил я через чат гтп делал потомучто лень уже думать, и блять на это 3 часа убил, бесполезно
ну и сиди с этим кодом сам мучайся сделанный какой-то кривой китайской нейронкой, раз не можешь дать нейросети изучить апи раксампа, и дать примеры скриптов по типу https://www.blast.hk/threads/180478/ чтоб она нормальный код дала
 

skym

Участник
30
0
читай:
Окей 👍 Я понял, ты не хочешь, чтобы я сейчас переписывал твой код, а просто чтобы я разобрался в нём и в API RakSAMP.

Что делает твой код

Работа с JSON (CheckerList.json)

Хранит token, chatid и список nicknames.

Есть функции для добавления/удаления ников, форматирования JSON и возврата параметров.

Telegram API

Используется ssl.https через effil.thread (асинхронные запросы).

Реализован sendTG(msg) → отправка сообщения в чат.

get_telegram_updates() → постоянный опрос getUpdates.

processing_telegram_messages() → обработка команд из телеги:

!add ник

!dell ник

!onlist

!offlist

!cmds

RakSAMP события (libs.samp.events)

onPlayerJoin → если ник в списке, пишет в TG «зашёл».

onPlayerQuit → если ник в списке, пишет в TG «вышел».

Основной цикл

При загрузке (onLoad) → получает updateid, запускает опрос TG, шлёт в TG приветствие.

Где пробел

Сейчас бот работает только в одну сторону:

Игра → Telegram (через join/quit + ручные команды).

Telegram → пока только управление списком.

Но в коде нет вызова API RakSAMP для отправки сообщений в игру.

Что есть в API RakSAMP (RakBot / addon)

sampSendChat("текст") → сразу пишет в чат игры.

sampSendCommand("/команда") → отправляет команду.

sendInput("текст") → вводит текст в чат (как будто вручную).

sampAddChatMessage("текст", цвет) → сообщение в клиентский чат (видишь только ты).

onLoad, onUnload → хуки на загрузку/выгрузку.

sampev.onServerMessage → ловить сообщения сервера.

sampev.onSendChat → ловить отправку сообщений.

✅ Вывод:
Твой код уже умеет:

работать с Telegram,

следить за игроками,

хранить список в JSON.

Но он не вызывает sampSendChat или sendInput внутри обработчика TG-команд. Поэтому твои команды из телеги не отображаются в чате игры.

Хочешь, я сделаю тебе карту соответствий: какие функции в RakSAMP API отвечают за ввод/вывод, чтобы ты понимал куда их встраивать?

Вы сказали:
хочу
ChatGPT сказал:

🔥 Отлично, вот тебе карта соответствий API RakSAMP, специально под твой случай.

📌 Ввод сообщений в игру

sampSendChat("текст")

Отправляет текст в чат игры (как будто ты написал и нажал Enter).

Работает для всех (видят игроки + сервер).

sampSendCommand("/команда")

Отправляет команду на сервер (например /stats).

Отличие: не просто сообщение, а именно команду.

sendInput("текст")

Вводит текст в чат от лица игрока, но иногда работает криво (зависит от сборки).

По сути аналогично sampSendChat, но идёт через эмуляцию клавиатуры.

📌 Вывод сообщений (только для клиента)

sampAddChatMessage("текст", цвет)

Сообщение видно только тебе (например [TG] сообщение пришло).

Используется для отладки и отображения статуса.

print("текст")

Выводит сообщение в консоль RakSAMP, но не в игровой чат.

📌 Хуки (чтобы ловить события)

sampev.onServerMessage(color, text)

Ловит все серверные сообщения.

Можно фильтровать по text.

sampev.onSendChat(text)

Срабатывает, когда ты сам отправляешь сообщение.

sampev.onShowDialog(...)

Ловит открытие диалога (например при регистрации/авторизации).

📌 Практика (как встроить в твой код)

В обработчике телеграм-команд (processing_telegram_messages) нужно:

elseif text:find('^!cand%s+(.+)$') then
    local msg = text:match('^!cand%s+(.+)$')
    sampSendChat(msg) -- отправляем в игровой чат
    sendTG("✅ Сообщение отправлено в игру: " .. msg)
end


⚡ Таким образом:

из TG → ловишь команду !cand ТЕКСТ → sampSendChat("ТЕКСТ").

в игре → видят все игроки.

в TG → получаешь подтверждение.

Хочешь, я отмечу прямо в твоём коде, куда воткнуть этот кусок, чтобы оно работало?
вот так

ну блять я не хочу париться сидеть, я хочу простой код чтобы из тг бот пересылал сообщения в чат игры

какие библеотеки надо установить чтобы нормально работал раксамп с апи?

ну и сиди с этим кодом сам мучайся сделанный какой-то кривой китайской нейронкой, раз не можешь дать нейросети изучить апи раксампа, и дать примеры скриптов по типу https://www.blast.hk/threads/180478/ чтоб она нормальный код дала
библиотеки(samp.events, cjson, effil, ffi, bit, socket, inicfg, encoding, ssl.https). где найти эти библеотеки? просто надо для скрипта

[01:46:33] [LUA] Loading scripts...
[01:46:33] [LUA] C:\Users\Арсений\Desktop\scripts\Tolik.lua:10: module 'cjson' not found:
no field package.preload['cjson']
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjson.lua'
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjson\init.lua'
no file 'C:\Users\Арсений\Desktop\scripts\cjson.lua'
no file 'C:\Users\Арсений\Desktop\scripts\cjson\init.lua'
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjson.dll'
https://www.blast.hk/threads/234784/ варнинги кидает
 
Последнее редактирование:

Нейросеть

Активный
136
74
читай:
Окей 👍 Я понял, ты не хочешь, чтобы я сейчас переписывал твой код, а просто чтобы я разобрался в нём и в API RakSAMP.

Что делает твой код

Работа с JSON (CheckerList.json)

Хранит token, chatid и список nicknames.

Есть функции для добавления/удаления ников, форматирования JSON и возврата параметров.

Telegram API

Используется ssl.https через effil.thread (асинхронные запросы).

Реализован sendTG(msg) → отправка сообщения в чат.

get_telegram_updates() → постоянный опрос getUpdates.

processing_telegram_messages() → обработка команд из телеги:

!add ник

!dell ник

!onlist

!offlist

!cmds

RakSAMP события (libs.samp.events)

onPlayerJoin → если ник в списке, пишет в TG «зашёл».

onPlayerQuit → если ник в списке, пишет в TG «вышел».

Основной цикл

При загрузке (onLoad) → получает updateid, запускает опрос TG, шлёт в TG приветствие.

Где пробел

Сейчас бот работает только в одну сторону:

Игра → Telegram (через join/quit + ручные команды).

Telegram → пока только управление списком.

Но в коде нет вызова API RakSAMP для отправки сообщений в игру.

Что есть в API RakSAMP (RakBot / addon)

sampSendChat("текст") → сразу пишет в чат игры.

sampSendCommand("/команда") → отправляет команду.

sendInput("текст") → вводит текст в чат (как будто вручную).

sampAddChatMessage("текст", цвет) → сообщение в клиентский чат (видишь только ты).

onLoad, onUnload → хуки на загрузку/выгрузку.

sampev.onServerMessage → ловить сообщения сервера.

sampev.onSendChat → ловить отправку сообщений.

✅ Вывод:
Твой код уже умеет:

работать с Telegram,

следить за игроками,

хранить список в JSON.

Но он не вызывает sampSendChat или sendInput внутри обработчика TG-команд. Поэтому твои команды из телеги не отображаются в чате игры.

Хочешь, я сделаю тебе карту соответствий: какие функции в RakSAMP API отвечают за ввод/вывод, чтобы ты понимал куда их встраивать?

Вы сказали:
хочу
ChatGPT сказал:

🔥 Отлично, вот тебе карта соответствий API RakSAMP, специально под твой случай.

📌 Ввод сообщений в игру

sampSendChat("текст")

Отправляет текст в чат игры (как будто ты написал и нажал Enter).

Работает для всех (видят игроки + сервер).

sampSendCommand("/команда")

Отправляет команду на сервер (например /stats).

Отличие: не просто сообщение, а именно команду.

sendInput("текст")

Вводит текст в чат от лица игрока, но иногда работает криво (зависит от сборки).

По сути аналогично sampSendChat, но идёт через эмуляцию клавиатуры.

📌 Вывод сообщений (только для клиента)

sampAddChatMessage("текст", цвет)

Сообщение видно только тебе (например [TG] сообщение пришло).

Используется для отладки и отображения статуса.

print("текст")

Выводит сообщение в консоль RakSAMP, но не в игровой чат.

📌 Хуки (чтобы ловить события)

sampev.onServerMessage(color, text)

Ловит все серверные сообщения.

Можно фильтровать по text.

sampev.onSendChat(text)

Срабатывает, когда ты сам отправляешь сообщение.

sampev.onShowDialog(...)

Ловит открытие диалога (например при регистрации/авторизации).

📌 Практика (как встроить в твой код)

В обработчике телеграм-команд (processing_telegram_messages) нужно:

elseif text:find('^!cand%s+(.+)$') then
    local msg = text:match('^!cand%s+(.+)$')
    sampSendChat(msg) -- отправляем в игровой чат
    sendTG("✅ Сообщение отправлено в игру: " .. msg)
end


⚡ Таким образом:

из TG → ловишь команду !cand ТЕКСТ → sampSendChat("ТЕКСТ").

в игре → видят все игроки.

в TG → получаешь подтверждение.

Хочешь, я отмечу прямо в твоём коде, куда воткнуть этот кусок, чтобы оно работало?
вот так

ну блять я не хочу париться сидеть, я хочу простой код чтобы из тг бот пересылал сообщения в чат игры

какие библеотеки надо установить чтобы нормально работал раксамп с апи?


библиотеки(samp.events, cjson, effil, ffi, bit, socket, inicfg, encoding, ssl.https). где найти эти библеотеки? просто надо для скрипта

[01:46:33] [LUA] Loading scripts...
[01:46:33] [LUA] C:\Users\Арсений\Desktop\scripts\Tolik.lua:10: module 'cjson' not found:
no field package.preload['cjson']
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjson.lua'
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjson\init.lua'
no file 'C:\Users\Арсений\Desktop\scripts\cjson.lua'
no file 'C:\Users\Арсений\Desktop\scripts\cjson\init.lua'
no file 'C:\Users\Арсений\Desktop\scripts\libs\cjson.dll'
https://www.blast.hk/threads/234784/ варнинги кидает
Боже, тут написано же прямым текстом, ты раз с нейронкой работаешь так закинь ей, а так у тебя библиотек просто нет, проще скрипт закажи у исполнителей
 

skym

Участник
30
0
Боже, тут написано же прямым текстом, ты раз с нейронкой работаешь так закинь ей, а так у тебя библиотек просто нет, проще скрипт закажи у исполнителей
а где скачать эти библиотеки? просто исполнитель этого скрипта забанили в этом году https://www.blast.hk/threads/198100

1000041947.jpg

Что это за пиздец, как этот текст в нормальный сделать
 
Последнее редактирование:

Newmcpe

Известный
3
0
Посоветуйте дешевые прокси для Аризоны. Кроме proxyline (цена не подходит за 1 штуку :( )