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

    Статус
    Оффлайн
    Регистрация
    27.08.2017
    Сообщений
    87
    Репутация:
    -1 ±

    Продукты в бизнес

    Здравствуйте многоуважаемые скриптеры данного портала!
    У меня вот какая проблема, купил бизнес и поехал устраиваться развозчиком продуктов, что бы привести в него продукты, сажусь в машину развозчика, загорается красный чекпоинт на месте загрузки продуктов, подъезжаю все норм, и тут вылазит окно "Выберите количество продуктов, от 100 до 1000", я загружаю продукты и тут вылазит окно, мол выберите номер бизнеса куда хотите доставить продукт, ввожу номер биза, а мне говорит что владелец бизнеса продуктов не заказывал, прикиньте информация!
    Хотя после покупки биза, я в первую очередь сделал заказ на продукты, и в том окне где нужно выбрать номер биза, видно какое количество продуктов я заказывал, значит заказ прошел!!!
    Предоставляю вашему вниманию коды по этому делу!
    PHP код:
    publicsLoadProd(playerid

        
    format(string,144,"{f0f0f0}[Продуктов: %d/1000]\n{5DD174}Бизнес: Не выбран"GetPVarInt(playerid,"count_prod")); 
        
    UpdateDynamic3DTextLabelText(gPlayerProdText[playerid][0],0xFFFFFF20,string); 

        if(
    GetPVarInt(playerid,"count_prod") >= GetPVarInt(playerid,"count_prod2")) 
        { 
            
    SendClientMessage(playerid,-1,""#good"Продукты загружены, выберите бизнес куда вы хотите загрузить продукты."); 
            
    string="{919191}[номер] - {A8413A}[имя бизнеса] - {5364A3}[цена за один продукт] - {5364A3}[к-во требуемых продуктов]\n\n"
            for(new 
    i=1i!=20i++) 
            { 
                
    format(string,2400,"%s{919191}%d. "WHITE"- {A8413A}\" %s \" "WHITE"- {5364A3}'%d' "WHITE"- {5364A3}'%d'\n",string,i,BizInfo[i][bName],BizInfo[i][bProdOrderPrice],BizInfo[i][bProdOrder]); 
            } 
            
    strcat(string,"\n\n"WHITE"Используйте {"#cGREEN"}номер "WHITE"бизнеса в поле ниже\n{A8413A}0 "WHITE"для выхода из меню"); 
            
    ShowPlayerDialog(playerid,1113,DIALOG_STYLE_INPUT,""SERVER"Бизнес",string,"Выбрать","Далее ->"); 
            
    SetPVarInt(playerid,"prod_next",GetPVarInt(playerid,"prod_next")+20); 
            
    DeletePVar(playerid,"count_prod2"); 
        } 
        else 
        { 
            
    SetTimerEx("LoadProd",150,0,"i",playerid); 
            
    SetPVarInt(playerid,"count_prod"GetPVarInt(playerid,"count_prod") + 50); 
        } 
        return 
    1

    PHP код:
            gPlayerProdCP[playerid] = CreateDynamicCP(BizInfo[biz][EnterBiz][0],BizInfo[biz][EnterBiz][1],BizInfo[biz][EnterBiz][2],2.5,-1,-1,playerid,100.0); 
            
    SendClientMessage(playerid, -1""#information"Продать продукты бизнесу можно не по {FF0000}чекпоинту, {FFFFFF}а через команду. [/sellprod]"); 
            // 
            
    SetPVarInt(playerid,"prod_id"biz 1); 
            
    DeletePVar(playerid,"prod_next"); 
            return 
    1
        } 
        case 
    1114
        { 
            if(!
    response) return ShowPlayerDialog(playerid,1114,DIALOG_STYLE_INPUT,""SERVER"Продукты",""WHITE"Используйте количество продуктов которое вы хотите закупить {"#cGRAY"}(от 100 до 1000)","Ввод",""); 
            
    if(strval(inputtext) < 100 || strval(inputtext) > 1000) return ShowPlayerDialog(playerid,1114,DIALOG_STYLE_INPUT,""SERVER"Продукты",""WHITE"Используйте количество продуктов которое вы хотите закупить {"#cGRAY"}(от 100 до 1000)","Ввод",""); 

            
    SendClientMessage(playerid,-1,""#good"Вы купили продукты, сейчас они загрузятся в Вашу машину"); 

            
    SetTimerEx("LoadProd",0,0,"i",playerid); 
            
    SetPVarInt(playerid,"count_prod2"strval(inputtext)); 
            return 
    1
        } 

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Покажи код заказа продуктов
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    27.08.2017
    Сообщений
    87
    Репутация:
    -1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Покажи код заказа продуктов
    При заказе продуктов вылазит окно "Заказ продуктов" от 100 до 10000 я заказываю максимум, следом вылазит второе окно, тоже "Заказ продуктов", я опять же пишу 10000 и это окно появляется по новой, короче говоря оно не принимает максимальный заказ как первое окно, пропишу в нем 9999, и только после этого появляется окно о записи цен, сколько я заплачу за единицу продукта!
    По моему что то не так со 1111 кейсом, мне интересно, почему окно заказа продуктов вылазит 2 раза!
    PHP код:
        case dBusiness:
            {
                if(!
    response) return 1;
                new 
    bizid PlayerInfo[playerid][pBusiness];
                if(
    bizid == -1) return 1;
                switch(
    listitem)
                {
                    case 
    0ShowBusinessInformation(playerid,bizid);
                    case 
    1:
                        {
                            if(!
    BizInfo[bizid][bLock]) return BizInfo[bizid][bLock] = 1,SendClientMessage(playeridCOLOR_REDD"Вы закрыли свой бизнес."), UpdateBusinessData(bizid"bLock",BizInfo[bizid][bLock]);
                            if(
    BizInfo[bizid][bLock]) return BizInfo[bizid][bLock] = 0,SendClientMessage(playeridCOLOR_GREEN"Вы открыли свой бизнес."), UpdateBusinessData(bizid"bLock",BizInfo[bizid][bLock]);
                        }
                    case 
    2SellBusiness(playerid);
                    case 
    3SPD(playerid,71,2,""SERVER"Изменение цен",""WHITE"Цена за вход в бизнес\nТовар №1\nТовар №2\nТовар №3\nТовар №4\nТовар №5\nТовар №6\nТовар №7\nТовар №8\nТовар №9","Далее","Отмена");
                    case 
    4SetPlayerCheckpoint(playerid,BizInfo[bizid][EnterBiz][0],BizInfo[bizid][EnterBiz][1],BizInfo[bizid][EnterBiz][2],8.0), SetPVarInt(playerid"gps_pic"1);
                    case 
    5SPD(playerid,dBusinessBank,DIALOG_STYLE_LIST,""SERVER"Бизнес",""WHITE"1. Посмотреть сумму в кассе\n2. Положить деньги в кассу\n3. Снять деньги с кассы","Далее","Назад");
                    case 
    6SPD(playerid,5232,DIALOG_STYLE_MSGBOX,""SERVER"Реклама бизнеса","\n\n"WHITE"Стоимость рекламы: "SERVER"50.000$"WHITE"\n- Посылать рекламу можно раз в 5 минут.\n- Рекламный текст вводится Вашими руками.\n- Рекламу люди видят только один раз!\n\nВы действительно хотите рекламировать свой бизнес?""Принять""Отмена");
                    case 
    7ShowPlayerDialog(playerid,1110,DIALOG_STYLE_INPUT,""SERVER"Заказ продуктов"""WHITE"Используйте количество продуктов которое вы хотите заказать\nЗаказывать можно от "SERVER"100"WHITE" до "SERVER"10000"WHITE" продуктов""Далее""Отмена");
                }
                return 
    1;
            }
        case 
    1110:
        {
            if(!
    response) return SPD(playerid,dBusiness,DIALOG_STYLE_LIST,""SERVER"Управление бизнесом","1. Статистика бизнеса\n2. Открыть / закрыть бизнес\n3. Продать бизнес\n4. Установка цен\n5. Поставить маркер у входа в бизнес\n6. Касса\n7. Заказать рекламу бизнеса\n"WHITE"8. Заказ продуктов","Далее","Отмена");

            new 
    put strval(inputtext);
            new 
    bizid PlayerInfo[playerid][pBusiness];

            if(
    put 100 || put 10000) return ShowPlayerDialog(playerid,1110,DIALOG_STYLE_INPUT,""SERVER"Заказ продуктов"""WHITE"Используйте количество продуктов которое вы хотите заказать\nЗаказывать можно от "SERVER"100"WHITE" до "SERVER"10000"WHITE" продуктов""Далее""Отмена");
            if(
    BizInfo[bizid][bProd]+put >= BizInfo[bizid][bProdMax]) return ShowPlayerDialog(playerid,1110,DIALOG_STYLE_INPUT,""SERVER"Заказ продуктов"""WHITE"Используйте количество продуктов которое вы хотите заказать\nЗаказывать можно от "SERVER"100"WHITE" до "SERVER"10000"WHITE" продуктов\n"SERVER"Заказать можно не более максимального склада!""Далее""Отмена");

            
    BizInfo[bizid][bProdOrder] = put;
            
    SaveBusiness(bizid);

            
    ShowPlayerDialog(playerid,1111,DIALOG_STYLE_INPUT,""SERVER"Заказ продуктов"""WHITE"Используйте цену за 1 продукт\nВ разумных пределах экономики {afafaf}(до 50$)""Далее""");
            return 
    1;
        }
        case 
    1111:
        {
            new 
    put strval(inputtext);
            new 
    bizid PlayerInfo[playerid][pBusiness];
            if(!
    response) return ShowPlayerDialog(playerid,1111,DIALOG_STYLE_INPUT,""SERVER"Заказ продуктов"""WHITE"Используйте цену за 1 продукт\nВ разумных пределах экономики {afafaf}(до 50$)""Далее""");
            if(
    put || put 50) return ShowPlayerDialog(playerid,1111,DIALOG_STYLE_INPUT,""SERVER"Заказ продуктов"""WHITE"Используйте цену за 1 продукт\nВ разумных пределах экономики {afafaf}(до 50$)""Далее""Отмена");
            if(
    BizInfo[bizid][bProd]+put >= BizInfo[bizid][bProdMax]) return ShowPlayerDialog(playerid,1111,DIALOG_STYLE_INPUT,""SERVER"Заказ продуктов"""WHITE"Используйте цену за 1 продукт\nВ разумных пределах экономики {afafaf}(до 50$)\n"SERVER"Заказать можно не более максимального склада!""Далее""");
            
    BizInfo[bizid][bProdOrderPrice] = put;
            
    SaveBusiness(bizid);
            
    format(string128""#good"Вы заказали %d продуктов за %d$ на каждый",BizInfo[bizid][bProdOrder],BizInfo[bizid][bProdOrderPrice]);
            
    SendClientMessage(playerid,-1,string);
            
    SendClientMessage(playerid,-1,""#information"Ожидайте пока вам доставят продукты");
            
    SendClientMessage(playerid,-1,""#information"Также вы можете устроиться развозчиком сырья, и доставить сами {afafaf}(/gps > Важные места > Мэрия ЛС/СФ/ЛВ)");
            
    return 1;
        } 

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

    Статус
    Оффлайн
    Регистрация
    27.08.2017
    Сообщений
    87
    Репутация:
    -1 ±
    Подниму разок!

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Покажи весь код системы, а не эти огрызки. Где код с сообщением о том, что бизнес ничего не заказывал? Где всё остальное?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  7. Пользователь сказал cпасибо:
    GoJIoBoJIoMkA (14.08.2018)
  8. #6
    Аватар для GoJIoBoJIoMkA
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.08.2017
    Сообщений
    87
    Репутация:
    -1 ±
    Ошибку исправил, теперь всё норм!
    Но в связи с этим обнаружил другую ошибку, при загрузке продуктов нужно выбрать номер бизнеса из списка, который заказал продукты, прикол в том что выбираю номер биза 10, а метка на карте появляется на бизнесе номер 9, и так далее, выберу 20, метка стоит на 19, выберу 55, метка ставиться на 54 ну вы поняли о чем я, и соответственно продукты разгружаются на том бизе, где стоит метка, а не на том, который я выбрал из списка!
    Вот паблик и кейс, в котором есть список этих бизов, как сделать так, что бы метка появлялась на том номере, который я выбрал?

     Паблик загрузки продуктов
    PHP код:
    publicsLoadProd(playerid)
    {
        
    format(string,144,"{f0f0f0}[Продуктов: %d/1000]\n{5DD174}Бизнес: Не выбран"GetPVarInt(playerid,"count_prod"));
        
    UpdateDynamic3DTextLabelText(gPlayerProdText[playerid][0],0xFFFFFF20,string);

        if(
    GetPVarInt(playerid,"count_prod") >= GetPVarInt(playerid,"count_prod2"))
        {
            
    SendClientMessage(playerid,-1,""#good"Продукты загружены, выберите бизнес куда вы хотите загрузить продукты.");
            
    string="{919191}[номер] - {A8413A}[имя бизнеса] - {5364A3}[цена за один продукт] - {5364A3}[к-во требуемых продуктов]\n\n";
            for(new 
    i=1i!=20i++)
            {
                
    format(string,2400,"%s{919191}%d. "WHITE"- {A8413A}\" %s \" "WHITE"- {5364A3}'%d' "WHITE"- {5364A3}'%d'\n",string,i,BizInfo[i][bName],BizInfo[i][bProdOrderPrice],BizInfo[i][bProdOrder]);
            }
            
    strcat(string,"\n\n"WHITE"Используйте {"#cGREEN"}номер "WHITE"бизнеса в поле ниже\n{A8413A}0 "WHITE"для выхода из меню");
            
    ShowPlayerDialog(playerid,1113,DIALOG_STYLE_INPUT,""SERVER"Бизнес",string,"Выбрать","Далее ->");
            
    SetPVarInt(playerid,"prod_next",GetPVarInt(playerid,"prod_next")+20);
            
    DeletePVar(playerid,"count_prod2");
        }
        else
        {
            
    SetTimerEx("LoadProd",150,0,"i",playerid);
            
    SetPVarInt(playerid,"count_prod"GetPVarInt(playerid,"count_prod") + 50);
        }
        return 
    1;



     кейс 1113 вызываемый пабликом загрузки продуктов
    PHP код:
        case 1113:
        {
            if(!
    response)
            {
                
    string="{919191}[номер] - {A8413A}[имя бизнеса] - {5364A3}[цена] - {5364A3}[к-во требуемых продуктов]\n\n";
                new 
    prod_next GetPVarInt(playerid,"prod_next");
                for(new 
    i=prod_next+1i!=prod_next+20i++)
                {
                    if(
    >= BIZES) break;
                    
    format(string,2400,"%s{919191}%d. "WHITE"- {A8413A}\" %s \" "WHITE"- {5364A3}'%d' "WHITE"- {5364A3}'%d'\n",string,i,BizInfo[i][bName],BizInfo[i][bProdOrderPrice],BizInfo[i][bProdOrder]);
                }
                
    strcat(string,"\n\n"WHITE"Используйте {"#cGREEN"}номер "WHITE"бизнеса в поле ниже\n{A8413A}0 "WHITE"для выхода из меню");
                
    ShowPlayerDialog(playerid,1113,DIALOG_STYLE_INPUT,""SERVER"Бизнес",string,"Выбрать","Далее ->");
                if(
    prod_next+20 BIZESSetPVarInt(playerid,"prod_next",prod_next+20);
                return 
    1;
            }
            new 
    biz strval(inputtext)-1;
            if(
    biz || biz >= BIZES) return 1;

            if(!
    BizInfo[biz][bProdOrder])
            {
                
    SendClientMessage(playerid, -1""#net"Владелец бизнеса не заказывал продукты");
                
    DeletePVar(playerid,"prod_next");
                
    SetTimerEx("LoadProd",0,0,"i",playerid);
                return 
    1;
            }

            
    format(string255"Вы выбрали бизнес: %s - Цена за 1 продукт: %d $ - Количество требуемых продуктов: %d шт."BizInfo[biz][bName],BizInfo[biz][bProdOrderPrice],BizInfo[biz][bProdOrder]);
            
    SendClientMessage(playerid,-1,string);
            
    //
             
    format(string,144,"{f0f0f0}[Продуктов: %d/1000]\n{5DD174}Бизнес: %s"GetPVarInt(playerid,"count_prod"),BizInfo[biz][bName]);
              
    UpdateDynamic3DTextLabelText(gPlayerProdText[playerid][0],0xFFFFFF20,string);
            
    //
            
    SendClientMessage(playerid,-1,""#information"Бизнес отмечен на карте {"#cRED"}красной"WHITE" меткой.");
            
    SetPlayerGPS(playerid,80,BizInfo[biz][EnterBiz][0],BizInfo[biz][EnterBiz][1],BizInfo[biz][EnterBiz][2],Streamer_GetIntData(STREAMER_TYPE_MAP_ICONBizInfo[biz][bMapIcon], E_STREAMER_TYPE),-1,MAPICON_GLOBAL_CHECKPOINT);
            
    //
            
    gPlayerProdText[playerid][1]=CreateDynamic3DTextLabel("{f0f0f0}Место для разгрузки\n{5DD174}продуктов для бизнеса"0xFFFFFF20BizInfo[biz][EnterBiz][0],BizInfo[biz][EnterBiz][1],BizInfo[biz][EnterBiz][2]+1.05.0INVALID_PLAYER_IDINVALID_VEHICLE_ID0, -1, -1playerid);
            
    gPlayerProdCP[playerid] = CreateDynamicCP(BizInfo[biz][EnterBiz][0],BizInfo[biz][EnterBiz][1],BizInfo[biz][EnterBiz][2],2.5,-1,-1,playerid,100.0);
            
    SendClientMessage(playerid, -1""#information"Продать продукты бизнесу можно не по {FF0000}чекпоинту, {FFFFFF}а через команду. [/sellprod]");
            //
            
    SetPVarInt(playerid,"prod_id"biz 1);
            
    DeletePVar(playerid,"prod_next");
            return 
    1;
        } 
    Последний раз редактировалось GoJIoBoJIoMkA; 14.08.2018 в 14:30.

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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    В конце 1113 кейса:
    1. SetPVarInt(playerid,"prod_id", biz + 1);

    Исправь на:
    1. SetPVarInt(playerid,"prod_id", biz + 2);


    Потому что переменная biz равна:
    1. new biz = strval(inputtext)-1;

    Не понятно для чего -1, но раз такая система, то для корректного отображения надо strval(inputtext)+1 (а у тебя -1). Не рекомендую тут ничего менять, т.к. может что то поломаться, лучше вверху пвар prod_id biz+1 замени на biz + 2

  10. Пользователь сказал cпасибо:
    GoJIoBoJIoMkA (22.08.2018)
  11. #8
    Аватар для Shayba
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.10.2014
    Сообщений
    195
    Репутация:
    23 ±
    Вот это
    PHP код:
    new biz strval(inputtext)-1
    ЗАмени на это!
    PHP код:
    new biz strval(inputtext); 

  12. Пользователь сказал cпасибо:
    GoJIoBoJIoMkA (22.08.2018)
  13. #9
    Аватар для GoJIoBoJIoMkA
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.08.2017
    Сообщений
    87
    Репутация:
    -1 ±
    Спасибо всем кто помогал мне решить эту проблему!
    Вариант Shaybы помог, проблема решина, тема закрыта!

 

 

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

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

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

Ваши права

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