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

    Статус
    Оффлайн
    Регистрация
    05.04.2020
    Сообщений
    37
    Репутация:
    0 ±

    создание бизнеса через Iterator

    Здравствуйте решил сделать создание/редактирование/удаление бизнесов через Iterator создает все хорошо но когда редактирую название проблема всегда сохраняет на 0 т.е 1 бизнес не могу понять почему

    PHP код:
        if(strcmp(cmd"/addbizz"true) == 0)
        {
            
    ShowPlayerDialog(playerid8DIALOG_STYLE_LIST"Меню создание бизнесов""[1] Создать бизнес""Далее""Отмена");
            return 
    1;
        } 
    PHP код:
            case 8:
            {
                if(!
    response)//Нет
                    
    return 1;
                switch(
    listitem)
                {
                case 
    0://Создание бизнеса
                    
    {
                        new 
    Floatx,
                            
    Floaty,
                            
    Floatz,
                            
    string_1[128];
                        
    GetPlayerPos(playeridxyz);
                        new 
    b_id Iter_Free(iBizz);
                        if(
    b_id == MAX_BIZZ)
                            return 
    SendClientMessage(playeridCOLOR_REDD"[Ошибка]: Все слоты под бизнесы заполнены!");
                        
    BizzInfo[b_id][bID] = b_id;//"house_id" записываем значение "h_id"
                        
    BizzInfo[b_id][bOwned] = 0;
                        
    BizzInfo[b_id][bX] = x// Записываешь информацию в ячейку, равную "b_id"
                        
    BizzInfo[b_id][bY] = y// Записываешь информацию в ячейку, равную "b_id"
                        
    BizzInfo[b_id][bZ] = z// Записываешь информацию в ячейку, равную "b_id"
                        
    BizzInfo[b_id][bLandTax] = 500;
                        
    BizzInfo[b_id][bBalance] = 0;
                        
    BizzInfo[b_id][bLock] = 0;
                        
    BizzInfo[b_id][bBuyBizz] = 100000;
                        
    BizzInfo[b_id][bBizzFree] = 500;
                        
    strmid(BizzInfo[b_id][bOwner], "The State"0strlen("The State"), 10);
                        
    strmid(BizzInfo[b_id][bMessage], "The State"0strlen("The State"), 10);
                        
    SendClientMessage(playeridCOLOR_WHITE"Бизнес успешно установлен!");
                        
    format(stringsizeof(string), "INSERT INTO `bizz` (`bOwner`,`bMessage`,`bizz_id`,`bOwned`,`bLandTax`,`bBalance`,`bLock`,`bBuyBizz`,`bBizzFree`,`bX`,`bY`,`bZ`)\
                        VALUE ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%f', '%f', '%f')"
    ,
                        
    BizzInfo[b_id][bOwner],
                        
    BizzInfo[b_id][bMessage], b_idBizzInfo[b_id][bOwned], BizzInfo[b_id][bLandTax],
                        
    BizzInfo[b_id][bBalance], BizzInfo[b_id][bLock], BizzInfo[b_id][bBuyBizz], BizzInfo[b_id][bBizzFree], xyz);
                        
    mysql_pquery(mysql_connect_IDstring);
                        
    format(string_1sizeof(string_1), "%s продаётся\nЦена: %d вирт\nЧтобы купить введите '/buybiz'"BizzInfo[b_id][bMessage], BizzInfo[b_id][bBuyBizz]);
                        
    BizzInfo[b_id][bLabel] = Create3DTextLabel(string_1COLOR_YELLOWBizzInfo[b_id][bX], BizzInfo[b_id][bY], BizzInfo[b_id][bZ], 20.001);
                        
    Iter_Add(iBizzplayerid);//Добавляем в интератор
                        
    printf("BizzID: %d создан!"b_id);
                        
    ShowPlayerDialog(playerid9DIALOG_STYLE_INPUT"Создание бизнеса""Введите название бизнеса""Готово""Отмена");
                        return 
    1;
                    }
                }
            }
            case 
    9:
            {
                if(!
    response)
                    return 
    1;
                if(!
    strlen(inputtext))
                    return 
    ShowPlayerDialog(playerid9DIALOG_STYLE_INPUT"Создание бизнеса""Введите название бизнеса""Готово""Отмена");
                for(new 
    strlen(inputtext)-1!= -1i--)
                {
                    switch(
    inputtext[i])
                    {
                         case 
    'A'..'Z''a'..'z'' ': continue;
                        default: return 
    ShowPlayerDialog(playerid9DIALOG_STYLE_INPUT"Создание бизнеса""Введите название бизнеса""Готово""Отмена");
                    }
                }
                foreach(new 
    b_idiBizz)
                {
                    
    strmid(BizzInfo[b_id][bMessage], inputtext0strlen(inputtext), 32);
                    
    format(stringsizeof(string), "%s продаётся\nЦена: %d вирт\nЧтобы купить введите '/buybiz'"BizzInfo[b_id][bMessage], BizzInfo[b_id][bBuyBizz]);
                    
    Update3DTextLabelText(BizzInfo[b_id][bLabel], COLOR_YELLOWstring);
                    
    SaveBizz(b_id);
                    
    printf("BizzID: %d сохранен! 'bMessage' = '%s'"BizzInfo[b_id][bID], BizzInfo[b_id][bMessage]);
                }
            } 

    PHP код:
    [04:13:22BizzID0 создан!
    [
    04:13:25Сохранение бизнеса 0:
    [
    04:13:25BizzID0 сохранен'bMessage' 'ADADAD'
    [04:13:29BizzID1 создан!
    [
    04:13:32Сохранение бизнеса 0:
    [
    04:13:32BizzID0 сохранен'bMessage' 'LOLOL' 
    PHP код:
    stock SaveBizz(h_id)//Сохранение бизнеса
    {
        new 
    string[(21)+(16+11)+(20+MAX_PLAYER_NAME)+(20+MAX_PLAYER_NAME)+(40)+(40)+(40)+(40)+(40)] = "UPDATE `bizz` SET";
        
    format(stringsizeof(string), "%s `bOwner` = '%s',"stringBizzInfo[h_id][bOwner]);// (20+MAX_PLAYER_NAME)
        
    format(stringsizeof(string), "%s `bMessage` = '%s',"stringBizzInfo[h_id][bMessage]);// (20+MAX_PLAYER_NAME)
        
    format(stringsizeof(string), "%s `bOwned` = '%d',"stringBizzInfo[h_id][bOwned]);
        
    format(stringsizeof(string), "%s `bLandTax` = '%d',"stringBizzInfo[h_id][bLandTax]);
        
    format(stringsizeof(string), "%s `bBalance` = '%d',"stringBizzInfo[h_id][bBalance]);
        
    format(stringsizeof(string), "%s `bLock` = '%d',"stringBizzInfo[h_id][bLock]);
        
    format(stringsizeof(string), "%s `bBuyBizz` = '%d',"stringBizzInfo[h_id][bBuyBizz]);
        
    format(stringsizeof(string), "%s `bBizzFree` = '%d'"stringBizzInfo[h_id][bBizzFree]);
        
    format(stringsizeof(string), "%s WHERE `bizz_id` = '%d'"stringBizzInfo[h_id][bID]);//
        
    mysql_function_query(mysql_connect_IDstringfalse"""");
        
    printf("Сохранение бизнеса %d:"h_id);
        return 
    1;

    - - - Добавлено - - -

    переделал код создание + редактирование заработало

    PHP код:
            case 8:
            {
                if(!
    response)//Нет
                    
    return 1;
                switch(
    listitem)
                {
                case 
    0ShowPlayerDialog(playerid9DIALOG_STYLE_INPUT"Создание бизнеса""Введите название бизнеса""Готово""Отмена");
                }
            }
            case 
    9:
            {
                if(!
    response)
                    return 
    1;
                if(!
    strlen(inputtext))
                    return 
    ShowPlayerDialog(playerid9DIALOG_STYLE_INPUT"Создание бизнеса""Введите название бизнеса""Готово""Отмена");
                for(new 
    strlen(inputtext)-1!= -1i--)
                {
                    switch(
    inputtext[i])
                    {
                         case 
    'A'..'Z''a'..'z'' ': continue;
                        default: return 
    ShowPlayerDialog(playerid9DIALOG_STYLE_INPUT"Создание бизнеса""Введите название бизнеса""Готово""Отмена");
                    }
                }
                new 
    Floatx,
                    
    Floaty,
                    
    Floatz,
                    
    string_1[128];
                
    GetPlayerPos(playeridxyz);
                new 
    b_id Iter_Free(iBizz);
                if(
    b_id == MAX_BIZZ)
                    return 
    SendClientMessage(playeridCOLOR_REDD"[Ошибка]: Все слоты под бизнесы заполнены!");
                
    BizzInfo[b_id][bID] = b_id;//"house_id" записываем значение "h_id"
                
    BizzInfo[b_id][bOwned] = 0;
                
    BizzInfo[b_id][bX] = x// Записываешь информацию в ячейку, равную "b_id"
                
    BizzInfo[b_id][bY] = y// Записываешь информацию в ячейку, равную "b_id"
                
    BizzInfo[b_id][bZ] = z// Записываешь информацию в ячейку, равную "b_id"
                
    BizzInfo[b_id][bLandTax] = 500;
                
    BizzInfo[b_id][bBalance] = 0;
                
    BizzInfo[b_id][bLock] = 0;
                
    BizzInfo[b_id][bBuyBizz] = 100000;
                
    BizzInfo[b_id][bBizzFree] = 500;
                
    strmid(BizzInfo[b_id][bOwner], "The State"0strlen("The State"), 10);
                
    strmid(BizzInfo[b_id][bMessage], inputtext0strlen(inputtext), 32);
                
    SendClientMessage(playeridCOLOR_WHITE"Бизнес успешно установлен!");
                
    format(stringsizeof(string), "INSERT INTO `bizz` (`bOwner`,`bMessage`,`bizz_id`,`bOwned`,`bLandTax`,`bBalance`,`bLock`,`bBuyBizz`,`bBizzFree`,`bX`,`bY`,`bZ`)\
                VALUE ('%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%f', '%f', '%f')"
    ,
                
    BizzInfo[b_id][bOwner],
                
    BizzInfo[b_id][bMessage], b_idBizzInfo[b_id][bOwned], BizzInfo[b_id][bLandTax],
                
    BizzInfo[b_id][bBalance], BizzInfo[b_id][bLock], BizzInfo[b_id][bBuyBizz], BizzInfo[b_id][bBizzFree], xyz);
                
    mysql_pquery(mysql_connect_IDstring);
                
    format(string_1sizeof(string_1), "%s продаётся\nЦена: %d вирт\nЧтобы купить введите '/buybiz'"BizzInfo[b_id][bMessage], BizzInfo[b_id][bBuyBizz]);
                
    BizzInfo[b_id][bLabel] = Create3DTextLabel(string_1COLOR_YELLOWBizzInfo[b_id][bX], BizzInfo[b_id][bY], BizzInfo[b_id][bZ], 20.001);
                
    Iter_Add(iBizzplayerid);//Добавляем в интератор
                
    printf("BizzID: %d создан!"BizzInfo[b_id][bID]);
                return 
    1;
            } 

  2. #2
    Аватар для Pa4enka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2016
    Адрес
    Украина
    Сообщений
    157
    Репутация:
    35 ±
    В итератор нужно заносить не playerid, а ид бизнеса.

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

    Статус
    Оффлайн
    Регистрация
    05.04.2020
    Сообщений
    37
    Репутация:
    0 ±
    Подправил спасибо

 

 

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

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

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

Ваши права

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