Question

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

 

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

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

Edited by Crmpik

Share this post


Link to post

1 answer to this question

  • 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]);

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

Edited by Sleash`en

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0