Вопросы

Добрый вечер уважаемые форумчане такая проблема. на сервере не сохраняется лидерка выдаю лидерку все хорошо она есть стоит перезайти как лидерка слетает прошу помочь решить данную проблему

 

команда выдачи лидерки 

CMD:makeleader(playerid, params[])
{
    if(IsAdmin(playerid, 6)) return 1;
    if(sscanf(params, "dd", params[0],params[1])) return SCM(playerid, COLOR_WHITE, "Используйте: /makeleader [id игрока] [id фракции или 0, чтобы уволить из организации]");
    if( !IsPlayerLogged( params[0] ) ) return SCM( playerid, COLOR_DARK_GRAY, !INCORRECT_PLAYER_ID );
    if(params[1]>7 || params[1]<0return SCM(playerid, COLOR_WHITE, "id фракции от 1 до 7");

    pInfo[params[0]][pFrak]=params[1]; new frak[30];

    switch(params[1])
    {
        case 0// снятие с фракции
        {
            pInfo[params[0]][pRang]=0;
            pInfo[params[0]][pFrak]=0;
            strmid(pInfo[params[0]][pDol], "0"0, strlen("0"), 35);
            strmid(pInfo[params[0]][pDols], "0"0, strlen("0"), 35);

            pformat:( "Администратор "C_GRAY"%s[%d]"C_WHITE" снял Вас с фракции!", pInfo[playerid][pName], playerid );
            psend:( params[0], COLOR_WHITE );

            pformat:( "Вы сняли "C_GRAY"%s[%d]"C_WHITE" с фракции!", pInfo[params[0]][pName], params[0] );
            psend:( playerid, COLOR_WHITE );

            mysql_format:str_cmd("UPDATE `" #DB_ACCOUNTS "` SET `Frak` = '0|0', `Dol` = '0', `Org` = '0', `Orang` = '0' WHERE `ID` = '%d'",pInfo[params[0]][pID]);
            mysql_function_query(mysql_connect_ID, str_cmdfalse"""");

            return 1;
        }
        case 1: pInfo[params[0]][pRang]=5, f(frak),"ОМВД"), strmid(pInfo[params[0]][pDol], "Сотрудник ОМВД"0, strlen("Сотрудник ОМВД"), 35);
        case 2: pInfo[params[0]][pRang]=5, f(frak),"ФСВНГ"), strmid(pInfo[params[0]][pDol], "Сотрудник ФСВНГ"0, strlen("Сотрудник ФСВНГ"), 35);
        case 3: pInfo[params[0]][pRang]=5, f(frak),"ОГИБДД"), strmid(pInfo[params[0]][pDol], "Сотрудник ОГИБДД"0, strlen("Сотрудник ОГИБДД"), 35);
        case 4: pInfo[params[0]][pRang]=5, f(frak),"Правительство"), strmid(pInfo[params[0]][pDol], "Сотрудник правительства"0, strlen("Сотрудник правительства"), 35);
        case 5: pInfo[params[0]][pRang]=5, f(frak),"ПСЧ №15"), strmid(pInfo[params[0]][pDol], "Сотрудник ПСЧ №15"0, strlen("Сотрудник ПСЧ №15"), 35);
        case 6: pInfo[params[0]][pRang]=5, f(frak),"БСМП №54"), strmid(pInfo[params[0]][pDol], "Сотрудник БСМП №54"0, strlen("Сотрудник БСМП №54"), 35);
        case 7: pInfo[params[0]][pRang]=5, f(frak),"ТРК Нижегородск-24"), strmid(pInfo[params[0]][pDol], "Сотрудник ТРК"0, strlen("Сотрудник ТРК"), 35);
    }

    pformat:( "Вы назначили игрока "C_GRAY"%s[%d]"C_WHITE" лидером фракции "C_GRAY"%s", pInfo[params[0]][pName],params[0], frak );
    psend:( playerid, COLOR_WHITE );

    pformat:( "Администратор "C_GRAY"%s[%d]"C_WHITE" назначил Вас лидером фракции "C_GRAY"%s", pInfo[playerid][pName], playerid, frak );
    psend:( params[0], COLOR_WHITE );

    mysql_format:str_cmd("UPDATE `" #DB_ACCOUNTS "` SET `Frak` = '%d|%d', `Dol` = '%s', `Dols` = '%s' WHERE `ID` = '%d'",
        pInfo[params[0]][pFrak],
        pInfo[params[0]][pRang],
        pInfo[params[0]][pDol],
        pInfo[params[0]][pDols],
        pInfo[params[0]][pID]);

    mysql_function_query(mysql_connect_ID, str_cmd, false"""");
    SaveFrak(playerid);

    return 1;
}

так же сто сохранения 

SaveFrak(playerid)
{
    mysql_format:str_big("UPDATE `" #DB_ACCOUNTS "` SET `Frak` = '%d'  WHERE `Name` = '%s'",pInfo[playerid][pFrak],pInfo[playerid][pName]);
    mysql_function_query(mysql_connect_ID, str_bigfalse"""");
    return 1;
}

 

забыл сразу сказать в базе данных записывает значение во frak но вот еще что увидел есть какой то frak2 а в моде нет такого и там значение 0 623f6020e04d9_.PNG.af3021ee255095b497ab308133c8d53c.PNG

Отредактировано пользователем Crmpik

Поделиться сообщением


Ссылка на сообщение

1 ответ на этот вопрос

  • 0

У вас неверная запись в базу данных:

1 час назад, Crmpik сказал:

SET `Frak` = '%d|%d'

создайте переменную в enum о игроке pRang и столб в базе дынных Rang

после чего сохраняйте не как указано выше, а так:

mysql_format:str_cmd("UPDATE `" #DB_ACCOUNTS "` SET `Frak` = '%d', `Rang` = '%d', `Dol` = '%s', `Dols` = '%s' WHERE `ID` = '%d'",
        pInfo[params[0]][pFrak],
        pInfo[params[0]][pRang],
        pInfo[params[0]][pRang],
        pInfo[params[0]][pDol],
        pInfo[params[0]][pDols],
        pInfo[params[0]][pID]);

После чего поправьте загрузку в базе данных и выдачу лидерки и ранга при спавне

Отредактировано пользователем Sleash`en

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?