Question

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

 

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

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

@Mason 

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

18175

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

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

@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
        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

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

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

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

Share this post


Link to post
  • 0

@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

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

Share this post


Link to post
  • 0

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

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

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

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

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0