Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±

    Страницы в диалоге при выводе бизнесов

    Доброго времени суток. Делаю вывод бизнесов в /gps, думаю создать около 80 бизнесов (сейчас 25), и для 80 бизнесов, чтобы их все вывести в диалог, нужно очень много стринга, и решил сделать чтобы выводилось 19 бизнесов и текст "следующая страница", когда нажимаешь следующая страница, должно перекидывать на бизнесы с идом 20..39 и текст след, страница, ну и так далее.

    Как такое можно сделать?) Вот как вывожу бизы:

    PHP код:
                    case 4
                    {
                        
    SetPVarInt(playerid"pGPS"1);
                        new 
    string[1200];
                        for(new 
    1<= TOTAL_BUSINESSb++)
                        {
                            
    format(stringsizeof(string), "%s{FF9900}%d.{FFFFFF} %s\n"stringbBusinessInfo[b][bName]);
                            
    ShowPlayerDialog(playeriddGPSBusiness2"{FF9900}Бизнесы"string"Далее""Назад");
                        }
                        return 
    true;
                    } 

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну записывай в pVar номер страницы и относительно этого номера начинай цикл с 0/10/20/30/40...
    И уже при нажатии на "далее" прибавляй единицу, а при нажатии на "назад" - отнимай
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    StevenH (26.12.2016)
  4. #3
    Аватар для qwezert
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    Деимос все верно написал. Только нужно учитывать - что если ты хочешь только 19 элементов которые бы выводились на каждую страницу - тебе нужно будет делать проверку на каждый 20-й эелемент, что бы остановить цикл заполнения строки. И да то что тут написанно -
    PHP код:
    new string[1200];
    for(new 
    1<= TOTAL_BUSINESSb++)
                        {
                            
    format(stringsizeof(string), "%s{FF9900}%d.{FFFFFF} %s\n"stringbBusinessInfo[b][bName]);
                            
    ShowPlayerDialog(playeriddGPSBusiness2"{FF9900}Бизнесы"string"Далее""Назад");
                        } 
    в корне не верно. Ты не только тут форматируешь строку, такое кол-во раз какого размера у тебя TOTAL_BUSINESS, но и столько же раз показываешь диалог игроку. Верно вот так
    PHP код:
    new string[1200];
    for(new 
    1<= TOTAL_BUSINESSb++)
                        {
                            
    format(stringsizeof(string), "%s{FF9900}%d.{FFFFFF} %s\n"stringbBusinessInfo[b][bName]);
                       
                        } 
    ShowPlayerDialog(playeriddGPSBusiness2"{FF9900}Бизнесы"string"Далее""Назад"); 

  5. #4
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от qwezert Посмотреть сообщение
    Деимос все верно написал. Только нужно учитывать - что если ты хочешь только 19 элементов которые бы выводились на каждую страницу - тебе нужно будет делать проверку на каждый 20-й эелемент, что бы остановить цикл заполнения строки. И да то что тут написанно -
    PHP код:
    new string[1200];
    for(new 
    1<= TOTAL_BUSINESSb++)
                        {
                            
    format(stringsizeof(string), "%s{FF9900}%d.{FFFFFF} %s\n"stringbBusinessInfo[b][bName]);
                            
    ShowPlayerDialog(playeriddGPSBusiness2"{FF9900}Бизнесы"string"Далее""Назад");
                        } 
    в корне не верно. Ты не только тут форматируешь строку, такое кол-во раз какого размера у тебя TOTAL_BUSINESS, но и столько же раз показываешь диалог игроку. Верно вот так
    PHP код:
    new string[1200];
    for(new 
    1<= TOTAL_BUSINESSb++)
                        {
                            
    format(stringsizeof(string), "%s{FF9900}%d.{FFFFFF} %s\n"stringbBusinessInfo[b][bName]);
                       
                        } 
    ShowPlayerDialog(playeriddGPSBusiness2"{FF9900}Бизнесы"string"Далее""Назад"); 
    На счет показа диалога езе вчера заметил, вечером проверю вариант деимоса)

  6. #5
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Сделал, тему можно в архив)

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •