- 0
Войдите для возможности подписаться
Подписчики
0
Проблема с табуляцией в диалогах
Вопросы
Лучший ответ
@Рустик Не в этом дело.
Решил проблему сменой компилятора, закрыто.

Эта тема закрыта для публикации ответов.
Войдите для возможности подписаться
Подписчики
0
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От watson
Привет всем!
Выкладываю рабочий инструмент, который лично писал под задачи для крупных бонусных проектов. От меня недавно произошла доработка - теперь при записи маршрута сохраняются все сообщения, которые вы пишете в чат.
Как это работает Запуск записи:
Вводите /route с названием скрипта (или биндите на клавишу) — скрипт начинает фиксировать всё ваше передвижение (onfoot/incar/aim пакеты) и любые ваши сообщения в чат. Завершение:
Ещё раз /route с названием скрипта или /stop — сохраняется маршрут вместе с чатом в файл формата .rt в папке MoonLoader/rakbotRoutes. Воспроизведение:
Через команду !play <название> в консоли RakSamp LITE — бот воспроизводит маршрут один в один с вашими действиями, повторяет весь ввод, а так-же отправляет в чат все сохранённые сообщения (имитация через Enter). Поддержка цикла:
Можно включить повтор маршрута (!loop), пока не надоест. Что важно в коде
Запись всех синк-пакетов (движения, анимации, aim и т.д.):
Пакеты по движению (onfoot/incar/aim) записываются подробно — никакой халтуры, каждое значение (позиция, кватернион, скорость, анимации, флаги и т.д.) фиксируется для полной копии.
Запись сообщений чата по индексам
Каждое сообщение, которое отправляется в чат во время записи маршрута, сохраняется в отдельную таблицу с текущим индексом (counter). То есть при воспроизведении бот знает, на каком этапе какой текст нужно “цитировать” в чат.
Воспроизведение маршрута и чата
На каждом этапе воспроизведения проверяется, было ли сообщение в этот момент — если да, оно “отправляется” как будто в оригинале, без задержек и рассинхрона. Пакеты проигрываются по индексу — как только доходит до конца, скрипт сам решает, останавливать ли выполнение или запускать по кругу (если включен loop).
Формат сохранения
Файл маршрута содержит не только действия, но и отдельную секцию [chat], что позволяет воспроизвести всё как было, а не только беготню.
Если кому-то реально нужна автоматизация для бонусных серверов и не только как например фейковые игроки и вам важна последовательность действий и чата — этот инструмент сэкономит часы времени. Всё написано максимально просто для внедрения.
P.S. Если есть определённые проблемы, вопросы или даже идеи для доработки — пишите.
Desktop.zip
-
От gooding
Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
-
Andy Постоянный 28
Приветик, скачал мод с великого интернета и встретился с проблемой табуляции в диалогах, впервые с ней встречаюсь и соответственно не имею понятия как её фиксить. Надеюсь на вашу помощь ;d
publics ShowPlayerDialogEx(playerid,dialogid,style,theme[],string[],button1[],button2[]) { if(theme[0]=='|') format(theme, 256, ""); if(string[0]=='|') format(string, 256, ""); if(button1[0]=='|') format(button1, 256, ""); if(button2[0]=='|') format(button2, 256, ""); new dtheme[100] = "{FF6666}"; strcat(dtheme, theme); new dstring[4500] = "{FFFFFF}"; strcat(dstring, string); if(!TI[playerid][tLogin]) { if(dialogid != 0 && dialogid != 1 && dialogid != 2 && dialogid != 3 && dialogid != 4 && dialogid != 402 && dialogid != 463) Kick(playerid); } //if(TI[playerid][tHeal]) TI[playerid][tHeal] = false; TI[playerid][tDialog] = true; if(OldDialogID[playerid] == INVALID_DIALOG_ID) PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); OldDialogID[playerid] = dialogid; ShowPlayerDialog(playerid,dialogid,style,dtheme,dstring,button1,button2); return true; }
Поделиться сообщением
Ссылка на сообщение