• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Не работает передача предметов

Subliminal

Добрый день, хотел сделать системку передачи предметов, это уже 2й тред по мой проблеме.
Так как я не шарю особо, начал искать пожожие фунции в моде, нашел стал переделывать под то что мне надо
Но оно не работает нормально, не отнимает деньги не выдает итемов, ни че го, кроме диалогов.
У меня в моде инвентарь там все по ячейкам использование, передача(которой я занимаюсь), и выкинуть.
C++:
                            case 8: // вот это ячейка с передачей броника
                            {
                           
                                if ( ! response )return 1;
                                SetPVarInt(playerid, "item_select", p_info[playerid][pItem][8]); // 8 ид броника
                                show_dialog ( playerid, inventarid, DIALOG_STYLE_INPUT, ""c_server"Найти игрока", ""c_grey"* Введён некорректный ID игрока.\n\n"c_white"Введите ID игрока, которому желаете передать предмет", "Принять", "Назад" ) ;
                                return 1 ;

                            }
И так по всем ячейкам(к которым это подходит)
Вот продолжение:
C++:
        case inventarid:
        {
            if ( ! response ) return 1;
            new targetid ;
            if ( sscanf ( inputtext, "u", targetid ) ) return show_dialog ( playerid, inventarid, DIALOG_STYLE_INPUT, ""c_server"Найти игрока", ""c_grey"* Введён некорректный ID игрока.\n\n"c_white"Введите ID игрока, которому желаете передать предмет", "Принять", "Назад" ) ;
            if ( ! IsPlayerConnected ( targetid ) || p_t_info [ targetid ] [ p_logged ] == false || targetid == playerid ) return show_dialog ( playerid, inventarid, DIALOG_STYLE_INPUT, ""c_server"Найти игрока", ""c_grey"* Введён некорректный ID игрока.\n\n"c_white"Введите ID игрока, которому желаете передать предмет", "Принять", "Назад" ) ;

            if ( ! IsPlayerInRangeOfPoint ( playerid, 5, p_t_info [ targetid ][ p_pos ] [ 0 ], p_t_info [ targetid ][ p_pos ] [ 1 ], p_t_info [ targetid ][ p_pos ] [ 2 ] ) || GetPlayerVirtualWorld ( targetid ) != GetPlayerVirtualWorld ( playerid ) )return show_dialog ( playerid, d_h_rent_invite, DIALOG_STYLE_INPUT, ""c_server"Найти игрока", ""c_grey"* Игрок слишком далеко.\n\n"c_white"Введите ID игрока, которому желаете передать предмет", "Принять", "Назад" ) ;

            SetPVarInt ( targetid, "item_id", playerid ) ;
            SetPVarInt ( playerid, "item_id", targetid ) ;

            show_dialog ( playerid, d_kilvo, DIALOG_STYLE_INPUT, ""c_server"Выберите игрока", ""c_white"Введите кол-во передаваемого предмета", "Принять", "Назад" ) ;
        }
        case d_kilvo: // количество предмета
        {
            if ( ! response ) return show_dialog ( playerid, inventarid, DIALOG_STYLE_INPUT, ""c_server"Найти игрока", ""c_grey"* Введён некорректный ID игрока.\n\n"c_white"Введите ID игрока, которому желаете передать предмет", "Принять", "Назад" ) ;
            new kolvo = strval(inputtext);
            SetPVarInt ( playerid, "kolvo_item", kolvo ) ;
            if ( kolvo < 1 || kolvo > 999) return show_dialog ( playerid, d_kilvo, DIALOG_STYLE_INPUT, ""c_server"Количество / предмета", ""c_grey"* от 1 до 999\n\n"c_white"Введите количество", "Принять", "Назад" ) ;
        //    SetPVarInt ( playerid, "kolvo_item", kolvo ) ;

            show_dialog ( playerid, d_cena_ak, DIALOG_STYLE_INPUT, ""c_server"Цена / предмета", ""c_white"Задайте цену на выбранныые предметы", "Принять", "Назад" ) ;

        }
        case d_cena_ak: // цена скока денет надо
        {

            if ( ! response )
            {
                show_dialog ( playerid, d_kilvo, DIALOG_STYLE_INPUT, ""c_server"Количество / предмета", ""c_grey"* от 1 до 999\n\n"c_white"Введите количество", "Принять", "Назад" ) ;
                return DeletePVar ( playerid, "kolvo_item" ) ;
            }
            new cena_item = strval ( inputtext ) ;
            SetPVarInt ( playerid, "item_money", cena_item );
            if ( cena_item < 0 || cena_item > 10000000) return show_dialog ( playerid, d_cena_ak, DIALOG_STYLE_INPUT, ""c_server"Цена / предмета", ""c_grey"* Сумма должна быть от 1$ до 10.000$\n\n"c_white"Введите сумму", "Принять", "Назад" ) ;
            new targetid = GetPVarInt ( playerid, "item_id" ) ;

        //    show_dialog ( playerid, d_kilvo, DIALOG_STYLE_INPUT, ""c_server"количество", ""c_white"Введите количество", "Принять", "Назад" ) ;

            SetPVarInt ( playerid, "item_inv", 1 ) ;

            new _dialog_string [ 144 ];
            format ( _dialog_string,sizeof ( _dialog_string ),""c_green"* "c_white"Вы предложили "c_green"%s "c_white"купить у вас"c_green"%s за %d$", p_info [ targetid ] [ name ], ItemsName, cena_item ) ;
            SendClientMessage ( playerid, col_white, _dialog_string ) ;

            format ( _dialog_string, sizeof ( _dialog_string ),""c_white"%s предлагает Вам купить %s дней за %d$.\n\n"c_grey"* Вы согласны на предложение?", p_info [ playerid ] [ name ], ItemsName, cena_item ) ;
            show_dialog ( targetid, d_acept_item, DIALOG_STYLE_MSGBOX, ""c_server"___",_dialog_string, "Да", "Нет" ) ;
        }
        case d_acept_item:
        {
            new opponent_target = GetPVarInt ( playerid, "item_id" ) ;
            new money_buy_pl = GetPVarInt ( playerid, "item_money") ;
            new    get_kol_vo = GetPVarInt ( playerid, "kolvo_item" ) ;
            new item_give = GetPVarInt ( playerid, "item_select") ;
           
            if ( ! response )
            {
                DeletePVar ( opponent_target, "item_inv" ) ;
                DeletePVar ( playerid, "item_money" ) ;
                DeletePVar ( opponent_target, "kolvo_item" ) ;
                DeletePVar ( opponent_target, "item_id" ) ;
                return DeletePVar ( playerid, "item_id" ) ;
            }
            if ( p_info [ opponent_target ] [ money ] < GetPVarInt ( playerid, "item_money" ) )
            {
                DeletePVar ( opponent_target, "item_inv" ) ;
                SendClientMessage ( opponent_target, col_gray, "* У Вас недостаточно средств для совершения сделки." ) ;
                SendClientMessage ( playerid, col_gray, "* У игрока недостаточно средств для совершения сделки." ) ;
                DeletePVar ( opponent_target, "kolvo_item" ) ;
                DeletePVar ( playerid, "item_money" ) ;
                DeletePVar ( opponent_target, "item_id" ) ;
                return DeletePVar ( playerid, "item_id" ) ;
            }
            if ( GetPVarInt ( opponent_target, "item_inv" ) == 0 )
            {
                DeletePVar ( opponent_target, "item_inv" ) ;
                DeletePVar ( opponent_target, "kolvo_item" ) ;
                SendClientMessage ( playerid, col_gray, "* Игрок уже покинул игру." ) ;
                DeletePVar ( playerid, "item_money" ) ;
                DeletePVar ( opponent_target, "item_id" ) ;
                return DeletePVar ( playerid, "item_id" ) ;
            }

            give_money ( opponent_target, -money_buy_pl) ;
            give_money ( playerid, money_buy_pl) ;

            p_info[playerid][pItem] = -item_give*get_kol_vo;
            p_info[opponent_target][pItem] = item_give*get_kol_vo ;

        //    SendClientMessage ( playerid, col_gray, "* сработало." ) ;
        //    SendClientMessage ( opponent_target, col_gray, "* сработало." ) ;


            DeletePVar ( opponent_target, "item_inv" ) ;
            DeletePVar ( opponent_target, "item_money" ) ;
            DeletePVar ( opponent_target, "kolvo_item" ) ;

            DeletePVar ( playerid, "item_id" ) ;
            DeletePVar ( opponent_target, "item_id" ) ;
        }
Мэйби кто поможет, я хз уже сижу 2+ часа блин
 
Сверху Снизу