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

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

    Mysql[Сохранение], баги c mysql_format?

    Здраствуйте Уважаемые читатели данного вопроса, есть такой ньюанс то что в моде есть сохранине вроде работать все должно нормально,
    но что то происходит с сохранением данных т.e выдал админку вышел не сохранилось, выдал бабки вышел не сохранилось а если и сохранились бабки то в таком порядке "У игрока 0 вирт, givepcash +100 -100 +50 -50 +25 -15" должно сохранится то что у игрока 10 вирт а сохранка идет в передпоследними вычитаниями т.e 25 вирт выдам конечно же исходники от сохранения и тд
    Сохранение всего(UPDATE) везде, OnPlayerDisconnect, после регистрации(OnPlayerConnect)
    PHP код:
    stock SaveAccount(playerid)
    {
        new 
    queryty2[849];
        if(!
    Logged{playerid}) return true;
        
    CheckMySQLConnection();
        new 
    sqlname[MAX_PLAYER_NAME];
        
    mysql_real_escape_string(Player[playerid][pName], sqlname);
        
    mysql_format(connects,queryty2,sizeof(queryty2),"UPDATE `accounts` SET `Nickname`='%s',`Level`='%i',`Admin`='%i',`Sex`='%i',`Exp`='%i',`Money`='%i',`BPass`='%i',`Bank`='%i',`Job`='%i',`PCheck`='%i',`Jailed`='%i' WHERE `ID`='%i'",
        
    sqlname,
        
    Player[playerid][pLevel],
        
    Player[playerid][pAdmin],
        
    Player[playerid][pSex],
        
    Player[playerid][pExp],
        
    Player[playerid][pMoney],
        
    Player[playerid][pBankPass],
        
    Player[playerid][pBank],
        
    Player[playerid][pJob],
        
    Player[playerid][pPayCheck],
        
    Player[playerid][pJailed],
        
    Player[playerid][pMysqlID]);
    }
    //Сохранение еще дольше чуточку просто вместил важное дальше мало чем отличается 
    Выдача денег сервером -
    PHP код:
    stock GivePlayerCash(playeridcash)
    {
        new 
    string[24],fmt_str[64-2+11-2+MAX_PLAYER_NAME+1];
        if(
    cash 0format(string,sizeof(string),"~g~+$%d",cash);
        else if(
    cash 0format(string,sizeof(string),"~r~$%d",cash);
        
    GameTextForPlayer(playeridstring20001);
        
    Player[playerid][pMoney] += cash;
        
    GivePlayerMoney(playeridcash);
        
    mysql_format(connects,fmt_str,sizeof(fmt_str),"UPDATE `accounts` SET `Money` = '%i' WHERE `NickName` = '%e'",Player[playerid][pMoney],Player[playerid][pName]);
        
    mysql_function_query(connectsfmt_strfalse"""");
        return 
    true;

    Для тех кто будет писать а почему массив имеет размер 849 ячеек это пока что временно, в сохранение пока что в массивах ячейки временные(т.e имеют большой чуток размер чем придпологалось, исправлю)
    Последний раз редактировалось Salik_Davince; 15.12.2015 в 09:02.

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

    Статус
    Оффлайн
    Регистрация
    08.12.2013
    Сообщений
    170
    Репутация:
    3 ±
    Пропинтуй и покажи логи.
    print(наименование стринга);

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

    Статус
    Оффлайн
    Регистрация
    10.12.2013
    Сообщений
    69
    Репутация:
    2 ±
    Почему выдачу денег сразу , записать в бд ?
    На сервера игроки часто передают друг другу деньги , и столько раз запрос к бд , думаю это не хорошо .
    Лучше записать все в переменную , и при выходе из игры сразу записать в бд

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от Bady Посмотреть сообщение
    Пропинтуй и покажи логи.
    print(наименование стринга);
    No.
    PHP код:
    print("text"); 
    Только printf может вывести стринг.
    PHP код:
    new string 5;
        
    printf("бла бла бла %d",string); 

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

    Статус
    Оффлайн
    Регистрация
    10.12.2013
    Сообщений
    69
    Репутация:
    2 ±
    P.S Салик написал в лс
    Последний раз редактировалось Blood; 15.12.2015 в 18:42.

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

    Статус
    Оффлайн
    Регистрация
    18.02.2014
    Сообщений
    93
    Репутация:
    1 ±
    В том то и дело я временно сделал запись в БД в GivePlayerCash что бы убедится в том что, что то с сохранением не то, но дело в том что с модом все нормально записывает в БД, сделал по другому убрал вовсе формат через mysql_format(тупо убирало ``) сделал вместо нее стандарт format, все нормально сохроняет все.
    Последний раз редактировалось Salik_Davince; 15.12.2015 в 23:53.

 

 

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

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

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

Ваши права

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