Появление диалога авторизации
#1

Всех приветствую.
В общем возникла не большая но все же проблема, в чем может быть дело?
- Когда игрок заходит на сервер у него появляется окно авторизации.
- Заходит в этот же момент другой игрок у него не появляется, а бывает появляется только секунд через 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;
    } 
Reply
#2

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

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


Forum Jump:


Users browsing this thread: 1 Guest(s)