SA-MP Forums Archive
Появление диалога авторизации - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Появление диалога авторизации (/showthread.php?tid=542594)



Появление диалога авторизации - Parlianment - 20.10.2014

Всех приветствую.
В общем возникла не большая но все же проблема, в чем может быть дело?
- Когда игрок заходит на сервер у него появляется окно авторизации.
- Заходит в этот же момент другой игрок у него не появляется, а бывает появляется только секунд через 10-15.
Словно рандомно. Проблему найти не могу, помогите пожалуйста решить данный вопрос.
При регистрации вроде бы все всегда появляется, жалоб не было.

Бывает все вообще отлично у меня например, все грузится все на УРА а у другого игрока диалог авторизации не появляется, подвисает.

Код авторизации:
PHP код:
public Register(playerid)
{
    new 
rf;
    new 
string[300];
    
cache_get_data(rf);
    if(
r)
    {
        
format(string,300,AutorizePlayer,User[playerid][Name]);
        
ShowPlayerDialog(playeridD_LOGIN3"{FFFFFF}Авторизация",string"Вход""Выход");
    }
    else
    {
        
format(string,300,RegPlayer,User[playerid][Name]);
        
ShowPlayerDialog(playeridD_REG1"{FFFFFF}Регистрация",string"Далее""Выход");
    }
    return 
true;

PHP код:
    case D_LOGIN:
        {
            if(!
response || User[playerid][Login]) return MKick(playerid,"Используйте (/q)uit для выхода");
            if(!
strlen(inputtext))
            {
                new 
string[300];
                
format(string,300,AutorizePlayer,User[playerid][Name]);
                return 
ShowPlayerDialog(playeridD_LOGIN3"{FFFFFF}Авторизация",string"Вход""Выход");
            }
            
mysql_format(dbHandleQUERYsizeof(QUERY), "SELECT * FROM `accounts` WHERE `Name` = '%e' AND `Password` = '%e'",User[playerid][Name],inputtext);
            return 
mysql_function_query(dbHandleQUERYtrue"OnLogin""d"playerid);
        } 
PHP код:
public OnLogin(i)
{
    new 
rows,fields;
    
cache_get_data(rowsfields);
    if(!
rows)
    {
        if(
GetPVarInt(i"PasswordNot") > 2) return MKick(i,"Введен неверный пароль 3 раза, вы были кикнуты с сервера");
        
SetPVarInt(i"PasswordNot"GetPVarInt(i"PasswordNot")+1);
        
SendMes(i,-1,"Вы ввели неверный пароль (%i/3)",GetPVarInt(i"PasswordNot"));
        new 
string[300];
        
format(string,300,AutorizePlayer,User[i][Name]);
        return 
ShowPlayerDialog(iD_LOGIN3"{FFFFFF}Авторизация",string"Вход""Выход");
    }
    new 
ip[30];
    
GetPlayerIp(i,ip,sizeof(ip));
    
cache_get_field_content(0"IpVhod",User[i][IpVhod],dbHandle,16);
    
User[i][CheckIp] = cache_get_field_content_int(0,"CheckIp");
    if(
User[i][CheckIp] && strcmp(ipUser[i][IpVhod],false) != 0)
    {
        
ShowPlayerDialog(i,1000,DIALOG_STYLE_INPUT"{FF8300}Введите ключ безопасности""{ffffff}Ваш IP адрес сменился, для входа в аккаунт\nнеобходимо ввести ключ безопасности""Готово""Отмена");
        return 
true;
    } 



Re: Появление диалога авторизации - devil77771 - 20.10.2014

Дебаг сделай, засеки время и в какой именно момент у игрока появляется окно. Возможно и не в этом коде, который ты представил, ошибка. А там, где вызывается паблик Register


Re: Появление диалога авторизации - Parlianment - 20.10.2014

Quote:
Originally Posted by devil77771
Посмотреть сообщение
Дебаг сделай, засеки время и в какой именно момент у игрока появляется окно. Возможно и не в этом коде, который ты представил, ошибка. А там, где вызывается паблик Register
Протестировали повторно, мускул никаких ошибок не выдает.
Оказывается:
Регистрация работает на УРА.
А вот Авторизация в общем когда не высвечивается диалог сразу ждешь секунд 10 (по разному от 1 до 30) - он высвечивается и работает. Хотя мускул R7 многопоточный, проблема думаю не в мускуле...
Крашдетект тоже молчит.