- 0
Как сделать систему "Вы уронили ящик" из мода Attract RolePlay
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Доналдо Фарекелка
Скачать файл Christmas Live » RPG | XS
Приветствую, сливаю мод, который делал самолично. Мод недоработан, возможно где-то имеются баги, без лаунчера.
Взят под основу от Phantom RolePlay. Отдельная благодарность за мод WW.INC
Основная информация про мод:
Информация про сервер:
Записка:
ПРИМЕР - скриншот, сделанный для показа чего-либо и скриншот может является устаревшей информацией(Пояснение: Что-то изменилось, а что-то нет).
Добавил Доналдо Фарекелка Добавлено 14.03.2025 Категория Моды Автор Donaldo_Farekelka
-
От KAIF HOST
Если вы ищете надежный, стабильный и бюджетный хостинг для ваших серверов SAMP или CRMP, то KAIF-HOST.RU - лучший выбор для вас. Мы молодая компания среди игровых хостингов, но мы гарантируем стабильность и безопасность вашего сервера.
Мы предлагаем защиту от TCP SYN и UDP флуда, а также от Spoofing атак. Мы также обеспечиваем защиту на уровнях L3, L4 и L7.
Наши преимущества включают автоподнятие серверов после падения, удобную панель управления сервером и автоматическую установку сервера. Мы также гарантируем быструю техническую поддержку для всех наших клиентов.
Наши серверы доступны всего от 20 рублей в месяц, что делает нас одним из самых доступных хостингов на рынке.
Ссылки:
Сайт kaif-host.ru
Панель управления lk.kaif-host.ru
Группа ВКонтакте https://vk.com/kaif_host_official
P.s Промокод #pawnorus даст тебе скидку в размере 20%
-
От 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
-
Gaiduk Свой человек 3
Хочу сделать систему "Вы уронили ящик", но не знаю как.
public OnPlayerEnterCheckpoint(playerid) { new action_type = GetPlayerCPInfo(playerid, CP_ACTION_TYPE); if(IsPlayerInCheckpoint(playerid)) { switch(action_type) { case CP_ACTION_TYPE_LOADER_JOB_PUT: { if(GetPlayerTempJob(playerid) == TEAM_JOB_LOADER) { PayJob[playerid]++; ClearAnimations(playerid); RemovePlayerAttachedObject(playerid,1); DisablePlayerCheckpoint(playerid); static const fmt_msg[] = "Вы принесли ящик. Всего перенесено: {FF9900}%d {136711}ящиков."; new string[sizeof(fmt_msg)+(-2+3)]; format(string, sizeof(string), fmt_msg, PayJob[playerid]); Send(playerid, 0x136711FF, string); SetPlayerCheckpoint(playerid, 2350.9131,-258.1269,2.7890, 2.0, CP_ACTION_TYPE_LOADER_JOB_TAKE); DeletePVar(playerid, "gruz_load"); } } case CP_ACTION_TYPE_LOADER_JOB_TAKE: { if(GetPlayerTempJob(playerid) == TEAM_JOB_LOADER) { SetPlayerCheckpoint(playerid, 2322.2651,-264.2405,1.5128, 1.5, CP_ACTION_TYPE_LOADER_JOB_PUT); ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1); SetPlayerAttachedObject(playerid, 1 ,3052, 1,0.11,0.36,0.0,0.0,90.0); SetPVarInt(playerid, "gruz_load", 1); } } case DIALOG_TEMP_JOB_LOADER_START: { if(response) { new job = GetPlayerTempJob(playerid); if(job == TEMP_JOB_NONE) { Send(playerid, 0xFFFFFFAA, "Вы начали работу грузчика"); Send(playerid, COLOR_YELLOW, "Направляйтесь к красному чекпоинту!"); Send(playerid, COLOR_YELLOW, "После того, как закончите работу, встаньте на синий пикап одежды."); Send(playerid, COLOR_YELLOW, "Если Вы уйдёте далеко от места работы, то Ваша зарплата анулируется."); SetPlayerSkin(playerid, 254); SetPlayerCheckpoint(playerid, 2350.9131,-258.1269,2.7890, 2.0, CP_ACTION_TYPE_LOADER_JOB_TAKE); player_info[playerid][JOB] = TEAM_JOB_LOADER; PayJob[playerid] = 0; return 1; } if(job == TEAM_JOB_LOADER) { SendClientMessage(playerid, 0xFF6600FF, "Рабочий день завершён!"); new pay = PayJob[playerid]*WORK_LOADER_PAY; static const fmt_msg[] = "Получено за работу: {00FF00}%d рублей"; new query[sizeof(fmt_msg)+(-2+9)]; format(query, sizeof(query), fmt_msg, pay); Send(playerid, 0xFFFFFFAA, query); static const fmt_msg1[] = "Ящиков перенесено: {45cbff}%d"; new string[sizeof(fmt_msg1)+(-2+9)]; format(string, sizeof(string), fmt_msg1, PayJob[playerid]); Send(playerid, COLOR_BLUE, string); GiveMoney(playerid, pay, "Зарплата грузчика"); RemovePlayerAttachedObject(playerid,1); if(player_info[playerid][MEMBER] != 0) { SetPlayerSkin(playerid, player_info[playerid][FSKIN]); } else { SetPlayerSkin(playerid, player_info[playerid][SKIN]); } player_info[playerid][JOB] = TEMP_JOB_NONE; PayJob[playerid] = 0; DisablePlayerCheckpoint(playerid); return 1; } } return 1; }
Поделиться сообщением
Ссылка на сообщение