Вопросы

Здравствуйте, скачал мод Filer RP, одну проблему с ошибками решил, вторую решить не могу, а именно выбор скина при регистрации. Как только выбираю скин и нажимаю клавишу "SELECT" на TextDraw, далее ничего не происходит, регистрация не завершается и игрок не спавнится, а какие-либо стрелочки и текстдравы пропадают. Вот код, который я нашёл, отвечающий за этот TD и кликабельность, посмотрите пожалуйста, может тут что не хватает?

if(GetPVarInt(playerid,"registrations")) {
        if(_:clickedid == 65535) SelectTextDraw(playerid, 0x0080FFFF);
        else if(clickedid == reg_td[1]) SkinSelect(playerid, 0); // reg_td[1] - знак '<' на TD
        else if(clickedid == reg_td[11]) SkinSelect(playerid, 1); // reg_td[11] - знак '>' на TD
        else if(clickedid == reg_td[20]) {                          // reg_td[20] - знак 'SELECT' на TD
            for(new x; x < 35; x++) TextDrawHideForPlayer(playerid, reg_td[x]);
            CancelSelectTextDraw(playerid);
            DeletePVar(playerid,"registrations");
            new year, month, day;
            getdate(year, month, day);
            GetPlayerIp(playerid,PI[playerid][pIpReg],32);
            new query[512];
            mysql_format(connects, query, sizeof(query), "INSERT INTO `"TABLE_ACCOUNTS"` (`pHistor`,`Name`, `pLevel`, `pKey`, `pSex`, `pCash`, `pDataReg`, `pIpReg`, `pDrug`, `pEmail`,`Skin`) VALUES ('%d', '%s', '%d', MD5('%s'), '%i', '%d', '%02i/%02i/%02i', '%s', '%s', '%s', '%i')"
            ,PI[playerid][pHistor],player_name[playerid],PI[playerid][pLevel],player_pass[playerid],PI[playerid][pSex],PI[playerid][pCash],day,month,year,PI[playerid][pIpReg],PI[playerid][pDrug],PI[playerid][pEmail],skin_register[GetPVarInt(playerid,"join_ped_item")][0]);
            mysql_tquery(connects,query,"player_register","i",playerid);
            return 1;
        }
    }

 

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

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


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

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

  • 0

Оно и верно, у вас нет никакой функции для продолжения, попробуйте просто добавить функцию спавна в конце.

if(GetPVarInt(playerid,"registrations")) {
        if(_:clickedid == 65535) SelectTextDraw(playerid, 0x0080FFFF);
        else if(clickedid == reg_td[1]) SkinSelect(playerid, 0); // reg_td[1] - знак '<' на TD
        else if(clickedid == reg_td[11]) SkinSelect(playerid, 1); // reg_td[11] - знак '>' на TD
        else if(clickedid == reg_td[20]) {                          // reg_td[20] - знак 'SELECT' на TD
            for(new x; x < 35; x++) TextDrawHideForPlayer(playerid, reg_td[x]);
            CancelSelectTextDraw(playerid);
            DeletePVar(playerid,"registrations");
            new year, month, day;
            getdate(year, month, day);
            GetPlayerIp(playerid,PI[playerid][pIpReg],32);
            new query[512];
            mysql_format(connects, query, sizeof(query), "INSERT INTO `"TABLE_ACCOUNTS"` (`pHistor`,`Name`, `pLevel`, `pKey`, `pSex`, `pCash`, `pDataReg`, `pIpReg`, `pDrug`, `pEmail`,`Skin`) VALUES ('%d', '%s', '%d', MD5('%s'), '%i', '%d', '%02i/%02i/%02i', '%s', '%s', '%s', '%i')",
            PI[playerid][pHistor],player_name[playerid],PI[playerid][pLevel],player_pass[playerid],PI[playerid][pSex],PI[playerid][pCash],day,month,year,PI[playerid][pIpReg],PI[playerid][pDrug],PI[playerid][pEmail],skin_register[GetPVarInt(playerid,"join_ped_item")][0]);
            mysql_tquery(connects,query,"player_register","i",playerid);
            SpawnPlayer(playerid); // Вот функция для спавна игрока
            return 1;
        }
    }

 

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


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

@Yooozy смотрите mysql_log.

Скорее всего проблема с запросом к БД

22 часа назад, Sleash сказал:

mysql_tquery(connects,query,"player_register","i",playerid);

при успешном запросе будет выполнена функция player_register

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


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

и скиньте функцию player_register

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


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

@trevison вот

player_register(playerid) {
    SetPlayerDrunkLevel(playerid, 0);
    SendClientMessage(playerid, COLOR_BLUE, "Поздравляем Вас с успешной регистрацией!");
    StopAudioStreamForPlayer(playerid);
    for(new i = 0; i < 2; i++) {
        new query[128];
        mysql_format(connects, query, sizeof(query), "INSERT INTO `"TABLE_CARS"` (`owner`) VALUES ('%s')" ,player_name[playerid]);
        mysql_tquery(connects, query, """");
    }
    PlayerRegister(playerid);
    return 1;

 

@Sleash Да, я уже пробовал, и сделал ещё раз, я заспавнился, вроде бы проблема решилась), но, аккаунт не зарегистрировался 

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


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

@mr1fl Извини, не могу понять где посмотреть и как в случае чего исправить, если проблема в нём. Я так понимаю на локалке как-то можно посмотреть, а на хостинге если смотреть? К тому же с MySQL ещё не особо дружу

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


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

Вот сток SaveAccount, может тут что не так?

stock SaveAccount(playerid) {
    if(!TI[playerid][tLogin]) return false;
    if(GetPVarInt(playerid,"player_save")) return false;
    SetPVarInt(playerid,"player_save",1);

    new weapons[54],ammos[54];
    format(weapons,53,"%i, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i",GunPlayer[playerid][0][0], GunPlayer[playerid][1][0], GunPlayer[playerid][2][0], GunPlayer[playerid][3][0],
    GunPlayer[playerid][4][0], GunPlayer[playerid][5][0], GunPlayer[playerid][6][0], GunPlayer[playerid][7][0], GunPlayer[playerid][8][0], GunPlayer[playerid][9][0], GunPlayer[playerid][10][0]);
    format(ammos,53,"%i, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i",GunPlayer[playerid][0][1], GunPlayer[playerid][1][1], GunPlayer[playerid][2][1], GunPlayer[playerid][3][1],
    GunPlayer[playerid][4][1], GunPlayer[playerid][5][1], GunPlayer[playerid][6][1], GunPlayer[playerid][7][1], GunPlayer[playerid][8][1], GunPlayer[playerid][9][1], GunPlayer[playerid][10][1]);
    new skills[33];
    format(skills,32,"%i, %i, %i, %i, %i, %i, %i",PI[playerid][pGunSkill][0], PI[playerid][pGunSkill][1], PI[playerid][pGunSkill][2], PI[playerid][pGunSkill][3],
    PI[playerid][pGunSkill][4], PI[playerid][pGunSkill][5]);

    new query[3100],str[100];
    query = "UPDATE `"TABLE_ACCOUNTS"` SET ";
    format(str,sizeof(str),"`pLevel`= '%i',",PI[playerid][pLevel]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pExp`= '%i',",PI[playerid][pExp]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pJail`= '%i',",PI[playerid][pJail]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pHistor`= '%i',",PI[playerid][pHistor]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pvIp`= '%s',",player_ip[playerid]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pHP`= '%f',",GetPlayerHP(playerid)),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`house`= '%i',",PI[playerid][pHouse]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`tempkey`= '%i',",PI[playerid][pTempKey]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`bussiness`= '%i',",PI[playerid][pBusiness]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`hotelroom`= '%i',",PI[playerid][pRoom]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pMats`= '%i',",PI[playerid][pMats]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`mute`= '%i',",PI[playerid][pMute]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pJailTime`= '%i',",PI[playerid][pJailTime]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pDrugs`= '%i',",PI[playerid][pDrugs]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pLeader`= '%i',",PI[playerid][pLeader]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pMember`= '%i',",PI[playerid][pMember]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pRank`= '%i',",PI[playerid][pRank]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pJob`= '%i',",PI[playerid][pJob]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pModel`= '%i',",PI[playerid][pFracSkin]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`Skin`= '%i',",PI[playerid][pSkin]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pZakonp`= '%i',",PI[playerid][pZakonp]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pBank`= '%i',",PI[playerid][pBank]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pMobile`= '%i',",PI[playerid][pMobile]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pSearch`= '%i',",PI[playerid][pSearch]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pGunSkills`= '%s',",skills),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pPlayTime_one`= '%i',",PI[playerid][pPlayTime][0]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pPlayTime_two`= '%i',",PI[playerid][pPlayTime][1]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pAccusedof`= '%s',",PI[playerid][pAccusedof]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pVictim`= '%s',",PI[playerid][pVictim]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pHospital`= '%i',",PI[playerid][pHospital]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pWorms`= '%i',",PI[playerid][pWorms]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pFish`= '%f',",PI[playerid][pFish]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`family`= '%i',",PI[playerid][pFamily]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`progress`= '%i',",PI[playerid][pProgress]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`spawn`= '%i',",PI[playerid][pSpawn]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`salary`= '%i',",PI[playerid][pSalary]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`MedHeal`= '%i',",PI[playerid][pMedHeal]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`Advert`= '%i',",PI[playerid][pAdvert]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pWeapons`= '%s',",weapons),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pAmmos`= '%s',",ammos),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`FracDuty`= '%i',",start_work[playerid]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pSatiety`= '%i',",PI[playerid][pSatiety]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pSnow`= '%f' ",PI[playerid][pSnow]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pAsk`= '%i',",PI[playerid][pAsk]),strcat(query,str,sizeof(query));
    format(str,sizeof(str),"`pAskmute`= '%i'",PI[playerid][pAskmute]),strcat(query,str,sizeof(query));

    format(str,sizeof(str),"`pTadmin`= '%i'",PI[playerid][pTadmin]),strcat(query,str,sizeof(query));

    //strdel(query, strlen(query)-1, strlen(query));

    mysql_format(connects, query,sizeof(query),"%s WHERE `pID`='%d'",query, PI[playerid][pID]);
    mysql_tquery(connects, query, """");

    DeletePVar(playerid, "player_save");
    return true;

 

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


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

при регистрации вам пишет: "Поздравляем Вас с успешной регистрацией!"?

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


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

@trevison Нет, аккаунт не регистрируется почему-то, а когда пытаешься ввести любую команду, то пишет: "Необходимо авторизоваться"

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


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

ищите public player_register

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


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

@Yooozy у тебя моментами пропадать , стала, исправь лучше

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


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

@Yooozy очистите файл server_log, mysql.log

После очистки запустите сервере и зарегистрируйтесь

и записанные данные в server_log и mysql.log присылайте

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


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

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

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

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо