Вопросы

Crmpik
Новичок

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

 

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

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
Sleash
Завсегдатый

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

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 пользователей онлайн

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

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

    • Helados
      От Helados
      Короче, мы протестировали наш GTA на другом хостинге — голосовой чат там работает, всё включается нормально. Также проверили на другом хостинге с нашим игровым модом — voice chat тоже работает.
      Но на нашем личном хостинге, который мы купили на OVH и установили панель, не получается запустить голосовой чат. Похоже, проблема связана с портами. После перезапуска сервер почему-то случайным образом выбирает порты сам и мы не можем это исправить.
      Если кто-то знает человека, который может помочь разобраться с этой проблемой, буду благодарен.