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

Оптимизация кода

Статус
В этой теме нельзя размещать новые ответы.

Frolgen

Ученик
Добрый вечер пользователи PI, я делал донат скиллы, и мне кажется что то что наделал не совсем хорошо речь идет о
C++:
            new query_string [ 148 ] ;
            format(query_string, sizeof(query_string), "UPDATE `users` SET `u_donate` = `u_donate`-'350',`u_skills`='%d|%d|%d|%d|%d|%d|%d' WHERE `u_id`='%d' LIMIT 1", p_info[playerid][gun_skills][0], p_info[playerid][gun_skills][1], p_info[playerid][gun_skills][2], p_info[playerid][gun_skills][3], p_info[playerid][gun_skills][4], p_info[playerid][gun_skills][5], p_info[playerid][gun_skills][6], p_info[playerid][id]);
            mysql_query(sql_connection, query_string);
как этот new query_string ввести один раз, я знаю что такие строки нужно форматировать или как его(досчитывать), я читал про это но половины я не понял так как не опытен, половиной перечисленного в треде в котором я читал для меня не ясно, помогите пж
Я хочу этот код
C++:
        case d_donate_skill_sdpistol:
          {
            if ( ! response ) return show_donate ( playerid ) ;

            if ( 350 > get_player_donate ( playerid ) )
            {
                show_dialog ( playerid, d_donate_skill_sdpistol, DIALOG_STYLE_MSGBOX, ""c_server"Íàâûê îðóæèÿ","\
                "c_grey"- "c_white"Ïîêóïêà íàâûêà âëàäåíèÿ SDpistol \n\n\
                "c_grey"* Öåíà: "c_green"350 Äîíàèê"c_grey".\n\
                "c_grey"* Öåíà: "c_green"Íåäîñòàòî÷íî Äîíàèê"c_grey".\n\
                "c_grey"* Âû äåéñòâèòåëüíî õîòèòå èçó÷èòü íàâûê íà SDpistol \""c_white"Îðóæåå"c_grey"\"?","Ïðèíÿòü", "Íàçàä");
                return 1 ;
            }
            p_info[playerid][gun_skills][0] = 100;
            SetPlayerSkills(playerid);
            new query_string [ 148 ] ;
            format(query_string, sizeof(query_string), "UPDATE `users` SET `u_donate` = `u_donate`-'350',`u_skills`='%d|%d|%d|%d|%d|%d|%d' WHERE `u_id`='%d' LIMIT 1", p_info[playerid][gun_skills][0], p_info[playerid][gun_skills][1], p_info[playerid][gun_skills][2], p_info[playerid][gun_skills][3], p_info[playerid][gun_skills][4], p_info[playerid][gun_skills][5], p_info[playerid][gun_skills][6], p_info[playerid][id]);
            mysql_query(sql_connection, query_string);
            show_donate ( playerid ) ;
          }

        case d_donate_skill_deagle:
          {
            if ( ! response ) return show_donate ( playerid ) ;

            if ( 350 > get_player_donate ( playerid ) )
            {
                show_dialog ( playerid, d_donate_skill_deagle, DIALOG_STYLE_MSGBOX, ""c_server"Íàâûê îðóæèÿ ","\
                "c_grey"- "c_white"Ïîêóïêà íàâûêà âëàäåíèÿ Deagle \n\n\
                "c_grey"* Öåíà: "c_green"350 Äîíàèê"c_grey".\n\
                "c_grey"* Öåíà: "c_green"Íåäîñòàòî÷íî Äîíàèê"c_grey".\n\
                "c_grey"* Âû äåéñòâèòåëüíî õîòèòå èçó÷èòü íàâûê íà Deagle \""c_white"Îðóæåå"c_grey"\"?","Ïðèíÿòü", "Íàçàä");
                return 1 ;
            }

            p_info[playerid][gun_skills][1] = 100;
            SetPlayerSkills(playerid);

            new query_string [ 148 ] ;
            format(query_string, sizeof(query_string), "UPDATE `users` SET `u_donate` = `u_donate`-'350',`u_skills`='%d|%d|%d|%d|%d|%d|%d' WHERE `u_id`='%d' LIMIT 1", p_info[playerid][gun_skills][0], p_info[playerid][gun_skills][1], p_info[playerid][gun_skills][2], p_info[playerid][gun_skills][3], p_info[playerid][gun_skills][4], p_info[playerid][gun_skills][5], p_info[playerid][gun_skills][6], p_info[playerid][id]);
            mysql_query(sql_connection, query_string);
          }
        case d_donate_skill_shotgun:
          {
            if ( ! response ) return show_donate ( playerid ) ;

            if ( 350 > get_player_donate ( playerid ) )
            {
                show_dialog ( playerid, d_donate_skill_shotgun, DIALOG_STYLE_MSGBOX, ""c_server"Íàâûê îðóæèÿ ","\
                "c_grey"- "c_white"Ïîêóïêà íàâûêà âëàäåíèÿ ShotGun \n\n\
                "c_grey"* Öåíà: "c_green"350 Äîíàèê"c_grey".\n\
                "c_grey"* Öåíà: "c_green"Íåäîñòàòî÷íî Äîíàèê"c_grey".\n\
                "c_grey"* Âû äåéñòâèòåëüíî õîòèòå èçó÷èòü íàâûê íà ShotGun \""c_white"Îðóæåå"c_grey"\"?","Ïðèíÿòü", "Íàçàä");
                return 1 ;
            }

            p_info[playerid][gun_skills][2] = 100;
            SetPlayerSkills(playerid);

            new query_string [ 148 ] ;
            format(query_string, sizeof(query_string), "UPDATE `users` SET `u_donate` = `u_donate`-'350',`u_skills`='%d|%d|%d|%d|%d|%d|%d' WHERE `u_id`='%d' LIMIT 1", p_info[playerid][gun_skills][0], p_info[playerid][gun_skills][1], p_info[playerid][gun_skills][2], p_info[playerid][gun_skills][3], p_info[playerid][gun_skills][4], p_info[playerid][gun_skills][5], p_info[playerid][gun_skills][6], p_info[playerid][id]);
            mysql_query(sql_connection, query_string);
          }
Надеюсь что сформулировал понятно

P.S Блин чет одни иероглифы, кто знает как это фикстить очень раздражает)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу