• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.
Статус
В этой теме нельзя размещать новые ответы.

Vladimir_Shkumatov

Новичок
Здравствуйте. Сделал я систему регистрации. Вроде, всё работало. Но в какой то момент с файла начала пропадать строка с паролем.
PHP:
public SavePlayer(i)
{
    new string[64];
    GetPlayerName(i, playername, sizeof(playername));
    format(string, sizeof(string), "Users/%s.ini", playername);
    new iniFile = ini_openFile(string);
    ini_setString(iniFile,"Pass",Player[i][pPass]);
    ini_setInteger(iniFile,"Register",Player[i][pRegister]);
    ini_setInteger(iniFile,"Level",Player[i][pLevel]);
    ini_setInteger(iniFile,"Exp",Player[i][pExp]);
    ini_setInteger(iniFile,"Sex",Player[i][pSex]);
    ini_setInteger(iniFile,"Skin",Player[i][pSkin]);
    ini_setInteger(iniFile,"Money",Player[i][pCash]);
    ini_setInteger(iniFile,"Admin",Player[i][pAdmin]);
    ini_setInteger(iniFile,"Helper",Player[i][pHelper]);
    ini_setInteger(iniFile,"ADostup",Player[i][pADostup]);
    ini_setInteger(iniFile,"HDostup",Player[i][pHDostup]);
    ini_closeFile(iniFile);
}
PHP:
public OnPlayerRegister(playerid, password[])
{
    if(IsPlayerConnected(playerid))
    {
        new s[128];
        new string[64];
        GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
        format(s,sizeof(s),"{FFFAFA}Äîáðî ïîæàëîâàòü íà ñåðâåð Sun-Trope Role Play\nÂàø íèê çàðåãèñòðèðîâàí\n\nËîãèí: {00FF00}%s",playername);
        format(string,sizeof(string), "Users/%s.ini", playername);
        new iniFile = ini_createFile(string);
        if(iniFile < 0)// Åñëè Ôàéëà íåò
        {
            iniFile = ini_openFile(string);// Îòêðûâàåì
        }
        if(iniFile >= 0)// Åñëè ôàéë åñòü
        {
            strmid(Player[playerid][pPass],password,0,strlen(password),255);
            ini_setString(iniFile,"Pass",Player[playerid][pPass]);
            ini_setInteger(iniFile,"Register",Player[playerid][pRegister]);
            ini_setInteger(iniFile,"Level",Player[playerid][pLevel]);
            ini_setInteger(iniFile,"Exp",Player[playerid][pExp]);
            ini_setInteger(iniFile,"Sex",Player[playerid][pSex]);
            ini_setInteger(iniFile,"Skin",Player[playerid][pSkin]);
            ini_setInteger(iniFile,"Money",Player[playerid][pCash]);
            ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);
            ini_setInteger(iniFile,"Helper",Player[playerid][pHelper]);
            ini_setInteger(iniFile,"ADostup",Player[playerid][pADostup]);
            ini_setInteger(iniFile,"HDostup",Player[playerid][pHDostup]);
            ini_closeFile(iniFile);// Çàêðûâàåì ôàéë
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"{FF0000}Àâòîðèçàöèÿ",s,"Âõîä","");// Ïîêàçûâàåì äèàëîã âõîäà â èãðó.
        }
    }
    return 1;
}
PHP:
public OnPlayerLogin(playerid,password[])
{
    if(IsPlayerConnected(playerid))
    {
        new s[128];
         new string[64];
         new pass[64];
        GetPlayerName(playerid, playername, sizeof(playername));
        GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
        format(s,sizeof(s),"{FFFAFA}Äîáðî ïîæàëîâàòü íà ñåðâåð Sun-Trope Role Play\nÂàø íèê çàðåãèñòðèðîâàí\n\nËîãèí: {00FF00}%s",playername);
        format(string,sizeof(string), "Users/%s.ini", playername);
        new iniFile = ini_openFile(string);
          ini_getString(iniFile,"Pass",pass,64);
        if(strcmp(pass,password,true) == 0)
        {
             ini_getString(iniFile,"Pass",Player[playerid][pPass],64);
             ini_getInteger(iniFile,"Register",Player[playerid][pRegister]);
             ini_getInteger(iniFile,"Level",Player[playerid][pLevel]);
            ini_getInteger(iniFile,"Exp",Player[playerid][pExp]);
             ini_getInteger(iniFile,"Sex",Player[playerid][pSex]);
            ini_getInteger(iniFile,"Skin",Player[playerid][pSkin]);
            ini_getInteger(iniFile,"Money",Player[playerid][pCash]);
            ini_getInteger(iniFile,"Admin",Player[playerid][pAdmin]);
            ini_getInteger(iniFile,"Helper",Player[playerid][pHelper]);
            ini_getInteger(iniFile,"ADostup",Player[playerid][pADostup]);
            ini_getInteger(iniFile,"HDostup",Player[playerid][pHDostup]);
             ini_closeFile(iniFile);
             GivePlayerMoney(playerid,Player[playerid][pCash] );
        }
        else
        {
            ini_closeFile(iniFile);
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"{FF0000}Àâòîðèçàöèÿ",s," Äàëåå","Îòìåíà");
        }
        SendClientMessage(playerid,0xF6CF00AA,"Âû óñïåøíî âîøëè â ñâîé àêêàóíò!");
        SpawnPlayer(playerid);
    }
    return 1;
}

UPD: Пропадает все, рядом с "Pass". Сам "Pass" не пропадает.
PHP:
public OnPlayerConnect(playerid)
{
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),"Users/%s.ini", playername);
    if(fexist(string))
     {
        PAccount[playerid] = 1;
    }
    else
    {
        PAccount[playerid] = 0;
    }
    p_ac[playerid] = 0;
    Player[playerid][pRegister] = 0;
    Player[playerid][pSex] = 0;
    Player[playerid][pSkin] = 148;
    Player[playerid][pCash] = 2500;
    Player[playerid][pAdmin] = 0;
    Player[playerid][pADostup] = 335577;
    Player[playerid][pHelper] = 0;
    Player[playerid][pHDostup] = 2525;
    Player[playerid][pLevel] = 1;
    Player[playerid][pExp] = 0;
    Player[playerid][pVopros] = 0;
    Player[playerid][pReport] = 0;
    userconnect[playerid] = 1;
    TextDrawShowForPlayer(playerid,Clock);
    for(new i=0; i< 5; i++)
    {
    TextDrawShowForPlayer(playerid,LogTime[i]);
    }
    GetPlayerName(playerid, player_name[playerid], MAX_PLAYER_NAME);
    return 1;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу