Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


   
IP:176.32.36.96:7777 Ha6op adm,liderov + bonuse.

**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 100руб/мес, Текстовая 50руб/мес.
Показано с 1 по 5 из 5
  1. #1
    Аватар для StevenH
    Пользователь

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

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

    Доброго времени суток. Делаю вывод бизнесов в /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
    Адрес
    Восточный Мордор
    Сообщений
    3,013
    Репутация:
    1206 ±
    Ну записывай в pVar номер страницы и относительно этого номера начинай цикл с 0/10/20/30/40...
    И уже при нажатии на "далее" прибавляй единицу, а при нажатии на "назад" - отнимай
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    273
    Репутация:
    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
    Сообщений
    297
    Репутация:
    11 ±
    Цитата Сообщение от 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
    Сообщений
    297
    Репутация:
    11 ±
    Сделал, тему можно в архив)

 

 

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

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

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

Ваши права

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