Вопросы

Nestor_Matroskin
Новичок

Приветствую вечером вчера сидел писал систему Шахти, сделал пикап и диалоговое окно но, после того как нажимаем в диалоговом окне "Да" должно выдать скин и в чате написать что успешно устроились на роботу шахтёром, но ничего не происходит вот сам диалог
Устройство:
 

        case dialog_MINEJOB:
        {
            if(!response) return true;
            if(response)
            {
                SendClientMessage(playerid, COLOR_YELLOW, "Вы успешно устроились на роботу шахтёром!{F81414}Возьмите инструмент по зади вас!");
                SetPlayerSkin(playerid, 16);
                SetPVarInt(playerid, "lowwork"1);
                SetPVarInt(playerid, "minelow"1);
            }
        }

Вот окончания роботи:
 

        case dialog_MINEJOBLEFT:
        {
            if(!response) return true;
            if(response)
            {
                SendClientMessage(playerid, COLOR_YELLOW, "Вы успешно успешно завершили работу шахтёром!");
                DeletePVar(playerid, "lowwork");
                DeletePVar(playerid, "minelow");
                SetPlayerSkin(playerid, PLAYER_DATA[playerid][data_SKIN]);
            }
        }

вот сам if которий связан с диалоговим окном:
 

    if(pickupid == shahta[0])
    {
        if(GetPVarInt(playerid, "minelow") == 1)
        {
            if(IsPlayerAttachedObjectSlotUsed(playerid, 9)) return SendClientMessage(playerid, COLOR_RED, "Сначала положите инструмент на место!");
            ShowPlayerDialog(playerid, dialog_MINEJOBLEFT, DIALOG_STYLE_MSGBOX, "{ff9300}Завершение работы""{F81414}Вы уверени что хотите завершить роботу?""Да""Нет");
        }
        else
        {
        if(GetPVarInt(playerid, "lowwork") == 1return SendClientMessage(playerid, COLOR_RED, "Вы уже работаете в другом месте!");
        ShowPlayerDialog(playerid, dialog_MINEJOB, DIALOG_STYLE_MSGBOX, "{ff9300}Устройство на роботу шахтёром""{FFFFFF}Мы предлагаем вам роботу шахтер\nВаша задача состоит в том, чтобы добывать руду\nВам будуть платить 6 рублей за 1 кг. руды\n\t\tВы согласны?""Да""Нет");
        }
    }
    else if(pickupid == shahta[1])
    {
        if(IsPlayerAttachedObjectSlotUsed(playerid, 9))
        {
            RemovePlayerAttachedObject(playerid, 9);
        }
        else
        {
            SetPlayerAttachedObject(playerid,118634140.3333910.0000000.042249358.219909268.014739170.0329742.0038671.7648111.579773);// дали кирку
        }
        return 1;
    }

Так же да я понимаю написал не всю систему но остановился из-за данной ситуации.

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 0
Nestor_Matroskin
Новичок

@Cawfee Вот прикреплю видио по том что происходит с данним пикапом:
ВИДЕО весь связаний код с данной системой я прикрепил

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Nestor_Matroskin, убедитесь, что значение для dialog_MINEJOB уникальное, убедитесь, что функция OnDialogResponse действительно вызывается с корректными входными параметрами. Так, например, в начале OnDialogResponse вы можете выводить ID диалога (dialogid), который поступил на обработку и ID dialog_MINEJOB, дабы сверять их. В предоставленном коде проблем я не вижу.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • watson
      От 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
    • bezd2rr
      От bezd2rr
      Как по итогу то забилдить свой лаунчер с гта са? Взять за основу дефолт гта са и засунуть либку билд 69 и все?