Question

Mason
Постоянный

Всем привет! Задаюсь вопросом как сделать возможность отключать кейс на руках? 

 

У меня есть вот такая команда но она не задействована это просто диалог

CMD:remove(playerid, params[])
{
    ShowPlayerDialog(playerid, 18175, DIALOG_STYLE_LIST, "{ffff00}Кейс""1.\tКейс в руках: {33aa33}появляется\n2.\tИнформация""Выбор"">>>");
    return 1;
}

Как задействовать этот диалог чтобы можно было отключать и включать этот кейс?

Share this post


Link to post

9 answers to this question

  • 0
keyl
Великий Гуру

@Mason 

1 час назад, Mason сказал:

18175

вот ID вашего диалога. Переходите по нему в паблик диалогов и там реализуете необходимый вам функционал.
Что-то типа bool isCaseShowed = true;

Если нажали на этот пункт - isCaseShowed = false, и текст соответственно меняется. По самому функционалу, если не изменяет память, то есть AttachObjectToPlayer и RemoveAttachedObjectToPlayer

Share this post


Link to post
  • 0
Mason
Постоянный

@keyl Поможете реализовать я просто новичок и немного не понимаю

Share this post


Link to post
  • 0
Sleash
Завсегдатый

@Mason Вы бы хотя бы дали наименование переменной данных об игроке (PI, Player, PlayerInfo и т.п.)

Share this post


Link to post
  • 0
Mason
Постоянный

@Sleash`en Я сделал код и то ошибки выдает PlayerInfo

C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(38791) : error 014: invalid statement; not in switch
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(38791) : warning 215: expression has no effect
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(38791) : error 001: expected token: ";", but found ":"
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(38791) : error 029: invalid expression, assumed zero
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(38791) : fatal error 107: too many error messages on one line
        case 18175:
        {
                case 0:
                {
                    format(totalstring, 1000"{ffff00}Кейс""1.\tКейс в руках: %s\n2.\tИнформация",(!PlayerInfo[playerid][pCaseshow]) ? ("{ff0000}Не появляеться") : ("{33aa33}Появляеться"));
                    ShowPlayerDialog(playerid, 181752"{ffff00}Кейс", totalstring, "Выбор"">>>");
                }
            }
        }

 

Share this post


Link to post
  • 0
Sleash
Завсегдатый
        case 18175:
        {
            switch(listitem)
            {
                case 0:
                {
                    format(totalstring, 1000"{ffff00}Кейс""1.\tКейс в руках: %s\n2.\tИнформация",(!PlayerInfo[playerid][pCaseshow]) ? ("{ff0000}Не появляеться") : ("{33aa33}Появляеться"));
                    ShowPlayerDialog(playerid, 181752"{ffff00}Кейс", totalstring, "Выбор"">>>");
                }
            }
        }

 

Edited by Sleash`en

Share this post


Link to post
  • 0
Mason
Постоянный

@Sleash`en когда нажимаю на кнопку происходит это 29cadb6bf910be3d04efcb373af31a71.png.0eb

Заметка от DEST , создано

Загружайте картинки прямо на форум, не нужно использовать для этого сторонние хостинги.

Share this post


Link to post
  • 0
Mason
Постоянный

@Sleash`en Как сделать так чтобы кейс сохранялся то есть когда я включаю кейс а после перезахода в игру он пропадает я сделал систему через базу данных тойсть создал обычный столбец и уже через него все сделал

Вот мой код:

Сама команда

CMD:remove(playerid, params[])
{
    format(totalstring, 1000"1.\tКейс в руках: %s\n2.\tИнформация",(!PlayerInfo[playerid][pCaseshow]) ? ("{f74545}Не появляеться") : ("{33aa33}появляется"));
    ShowPlayerDialog(playerid, D_JOB+362"{ffff00}Кейс", totalstring, "Выбор"">>>");
    return 1;
}

Это у меня в OnDialogResponse

Спойлер

        case D_JOB+36:
        {
            if(!response) return 1;
            switch(listitem)
            {
                case 0:
                {
                    if(PlayerInfo[playerid][pCaseshow] == 1)
                    {
                        SendClientMessage(playerid, COLOR_GREY, " Теперь если Вы держите большую сумму на руках, то чемодан не будет появляться!");
                        RemovePlayerAttachedObject(playerid,3);
                        PlayerInfo[playerid][pCaseshow] = 0;
                        cmd_remove(playerid, inputtext);
                    }
                    else
                    {
                        SendClientMessage(playerid, 0xefff85ff, " Теперь если Вы держите большую сумму на руках, то появится чемодан!");
                        PlayerInfo[playerid][pCaseshow] = 1;
                           if(GetPlayerMoney(playerid) < 1500000)
                        {
                        if(IsPlayerAttachedObjectSlotUsed(playerid, 3))
                        return RemovePlayerAttachedObject(playerid,3);
                        }
                        else
                        {
                            if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) return 1;
                            SetPlayerAttachedObject(playerid, 3, 1210, 5, 0.299999, 0.099999, 0.000000, 0.000000, -83.000000, 0.000000, 1.000000, 1.000000, 1.000000,0xFF000000,0xFF000000);
                        }
                        cmd_remove(playerid, inputtext);
                    }   }
            }
        }

 

Share this post


Link to post
  • 0
Sleash
Завсегдатый

@Mason Почитайте о запросах в MySQL, на моём примере вы мало что поймёте.

Share this post


Link to post
  • 0
Mason
Постоянный

@Sleash`en Ладно спасибо что уделили время)

Заметка от keyl , создано

2.8. Если вы нашли ответ на свой вопрос, рекомендуется поощрить автора лучшего ответа поднятием репутации, а также обязательно пометить ответ на вопрос лучшим.  Как пометить ответ лучшим?

Устное предупреждение.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • tgfoscar
      By tgfoscar
      Требуется свободное владение C++. Античит, новый способ добавления техники на сервер, совместимость с CEF и возможность добавления полезных функций. За дополнительной информацией обращайтесь к wayne_gm в Discord.
    • enotplaysupptor
      By enotplaysupptor
      Основа для мода Samp для начинающих
      Скачать файл ╔══════════════════════════════════════════════════╗
      ║               Test-RolePlay v0.1           ║
      ║       Современная основа для SA-MP серверов      ║
      ╚══════════════════════════════════════════════════╝
      ✦ О ПРОЕКТЕ:
         Добро пожаловать в Test-RolePlay - мод с нуля, 
         созданный как универсальная основа для SA-MP проектов.
         Проект был создан для тех кто не знает с чего начать и начинающих разработчиков
         Версия: T-RP v0.1 [Актуальная]
      ✦ ОСНОВНЫЕ ПЛАГИНЫ:
         ▸ CrashDetect    - отладка ошибок
         ▸ MySQL R41+     - работа с базой данных
         ▸ Pawn.CMD       - система команд
         ▸ Pawn.Regex     - регулярные выражения
         ▸ SKY            - улучшенные игровые функции
         ▸ sscanf2        - парсинг параметров
         ▸ Streamer       - динамические объекты
         ▸ TOTP           - двухфакторная аутентификация
      ✦ КЛЮЧЕВЫЕ СИСТЕМЫ:
         ┌──────────────────────────────────────────────┐
         │ 🔹 Умная регистрация/авторизация:            │
         │    - Хеширование паролей                     │
         │    - Привязка Email                          │
         │    - Выбор пола и расы персонажа             │
         ├──────────────────────────────────────────────┤
         │ 🔹 Командная система:                        │
         │    - Полный набор РП-команд                  │
         │    - Расширенные админ-команды               │
         ├──────────────────────────────────────────────┤
         │ 🔹 Игровое меню:                             │
         │    - Персональная статистика                 │
         │    - Настройки аккаунта                      │
         │    - Система жалоб и вопросов                │
         ├──────────────────────────────────────────────┤
         │ 🔹 Дополнительные системы:                   │
         │    - АФК-режим с автоматическим детектом      │
         │    - Интегрированный античит (Nex-AC)        │
         └──────────────────────────────────────────────┘
      ✦ ПЛАНЫ РАЗРАБОТКИ:
         » Добавление новых игровых систем
         » Оптимизация существующего кода
         » Расширение возможностей для администраторов
         » Улучшение пользовательского интерфейса
      Если увижу что вы хотите что бы я продолжил разработку данного мода пишите или можете проявиться большую активность










      Добавил enotplaysupptor Добавлено 09.07.2025 Категория Моды Автор Я  
    • Nekit2019
      By Nekit2019
      Добрый день, имеется сервер в CRMP 0.3е (старичок, знаю, решил поностальгировать) . меняю погоду через ркон, но она скипается через пару минут на нулевую! Не пойму от чего, скриптом отдельно на погоду нет. Пожскажите, может в gamemod0 или где еще и куда прописать можно погоду? либо чтоб менялась сама, либо статическую. Вставлял из инета код в гейммод на рандомную погоду через пол часа с уведомлениями - результат такой же, меняется на 1-20 ,но сама сбрасывается на 0 через минуту.