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

Реклама


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

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

    Сохранение MySQL.

    Всем привет. У меня опять вопрос по MySQL.
    Все было хорошо, все сохранялось. Сегодня добавил несколько переменных, вписал все правильно, перепроверил, до этого уже добавлял переменные. В БД тоже добавил ячейки, все как надо.
    Беда вот в чем, если я запускаю мод с новыми переменными, то не сохраняет ничего вообще (но загружает из БД все правильно), а если убрать новые переменные из паблика сохранения, тогда старые переменные сохраняет нормально.
    Неужели, есть какой-то лимит переменных? О_О
    Проблема именно в паблике сохранения.
    Ну и конечно же сам паблик:

    [php]stock SaveAccount ( playerid )
    {
    new float: health;
    new float: armour;
    GetPlayerHealth(playerid, Float:health);
    GetPlayerArmour(playerid, Float:armour);
    PlayerInfo[playerid]
    PHP код:
     health;
        
    PlayerInfo[playerid][pArmour] = armour;
            new 
    query 144 ] ;
            
    format querysizeof(query), "UPDATE `users` SET `Age` = '%d',\
         `pAdmin` = '%d',\
         `pLvL` = '%d',\
          `pExp` = '%d',\
            `pVip` = '%d',\
        `pFrak` = '%d',\
         `pLeader` = '%d',\
         `pMember` = '%d',\
          `pStatus` = '%d',\
           `pFLvL` = '%d',\
            `pRep` = '%d',\
         `pClLeader` = '%d', \
         `pClMember` = '%d',\
          `pModel` = '%d',\
           `pSkin` = '%d',\
           `pFSkin` = '%d',\
           `pHp` = '%f', \
           `pArmour` = '%f',\
        `pOtkr` = '%d'\
         WHERE `id` = '%d' LIMIT 1"
    ,
        
    PlayerInfo playerid ] [ Age ],
            
    PlayerInfo playerid ] [ pAdmin ],
            
    PlayerInfo playerid ] [ pLvL ],
        
    PlayerInfo playerid ] [ pExp ],
        
    PlayerInfo playerid ] [ pVip ],
        
    PlayerInfo playerid ] [ pFrak ],
        
    PlayerInfo playerid ] [ pLeader ],
        
    PlayerInfo playerid ] [ pMember ],
        
    PlayerInfo playerid ] [ pStatus ],
        
    PlayerInfo playerid ] [ pFLvL ],
        
    PlayerInfo playerid ] [ pRep ],
        
    PlayerInfo playerid ] [ pClLeader ],
        
    PlayerInfo playerid ] [ pClMember ],
        
    PlayerInfo playerid ] [ pModel ],
        
    PlayerInfo playerid ] [ pSkin ],
        
    PlayerInfo playerid ] [ pFSkin ],
        
    PlayerInfo playerid ] [ pHp ],
        
    PlayerInfo playerid ] [ pArmour ],
        
    PlayerInfo playerid ] [ pOtkr ],
            
    PlayerInfo playerid ] [ ID ]) ;
            
    mysql_function_query dbHandlequeryfalse"""" ) ;
            return 
    1;


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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Просто увеличь размер массива, в котором формируется запрос.
    PHP код:
    new query[144] ; 
    Уже без содержимого переменных у тебя около 360 ячеек занимает текст, а ты выделил только 144.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  3. #3
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    sizeof(query) не для этого разве?
    А если я еще в 3 раза больше ячеек сделаю? Мне придется выделять 1500-2000 ячеек?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от Trane911 Посмотреть сообщение
    sizeof(query) не для этого разве?
    А если я еще в 3 раза больше ячеек сделаю? Мне придется выделять 1500-2000 ячеек?
    Изучи переменные лучше и научись с ними работать :)
    sizeof как раз и определяет число ячеек, которые ты выделил для переменной.
    А количество ячеек в переменной зависит от максимально возможной длинны строки, а длинна строки зависит от длинны информации, которую ты будешь в неё помещать.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    25.11.2013
    Сообщений
    74
    Репутация:
    41 ±
    Цитата Сообщение от Trane911 Посмотреть сообщение
    sizeof(query) не для этого разве?
    А если я еще в 3 раза больше ячеек сделаю? Мне придется выделять 1500-2000 ячеек?
    sizeof(query) не для этого.

    Считать нужно, сколько ячеек займёт запрос.
    Как считать?

    PHP код:
    UPDATE `usersSET `Age` = '%d',\
         `
    pAdmin` = '%d',\
         `
    pLvL` = '%d',\
          `
    pExp` = '%d',\
            `
    pVip` = '%d',\
        `
    pFrak` = '%d',\
         `
    pLeader` = '%d',\
         `
    pMember` = '%d',\
          `
    pStatus` = '%d',\
           `
    pFLvL` = '%d',\
            `
    pRep` = '%d',\
         `
    pClLeader` = '%d', \
         `
    pClMember` = '%d',\
          `
    pModel` = '%d',\
           `
    pSkin` = '%d',\
           `
    pFSkin` = '%d',\
           `
    pHp` = '%f', \
           `
    pArmour` = '%f',\
        `
    pOtkr` = '%d'\
         
    WHERE `id` = '%d' LIMIT 1 
    Количество символов здесь + значения переменных.

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

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Спасибо огромное вам двоим. Отлично объяснили.
    P.S. проблема исправлена.
    Тему можно закрывать.
    Спасибо еще раз! :)

 

 

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

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

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

Ваши права

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