Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 10 из 10
  1. #1
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±

    Все время пишет одно и тоже.

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

    В

    PHP код:
    public OnPlayerConnect(playerid
    PHP код:
        if(GetPVarInt(playerid,"Reg") == 1)
        {
            if(
    Player[playerid][pAdmin] != 0)
            {
                
    f(string,"(( %s[%d] авторизуется на сервере | IP: {FFFF00}%s {AFAFAF}))",sendername(playerid),playerid,ip);
                
    ABroadCast(0xAFAFAFAA,string,1);
            }
            else
            {
                
    f(string,"(( %s[%d] авторизуется на сервере | IP: {FFFFFF}%s {AFAFAF}))",sendername(playerid),playerid,ip);
                
    ABroadCast(0xAFAFAFAA,string,1);
            }
        }
        else
        {
            
    f(string,"(( %s[%d] начинает регистрацию | IP: {FFFFFF}%s {AFAFAF}))",sendername(playerid),playerid,ip);
            
    ABroadCast(0xAFAFAFAA,string,1);
        } 

  2. #2
    Аватар для _lizard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    А может значение "Reg" обнуляется к моменту выполнения этого кода?

  3. #3
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    и где же ты задаешь значение для "Reg"?
    Ты выполняешь этот код до того как устанавливаешь значение для "Reg". Конечно всегда будет так, как будто игрок регается.
    Последний раз редактировалось Geebrox; 23.01.2017 в 16:50.

  4. #4
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    и где же ты задаешь значение для "Reg"?
    Ты выполняешь этот код до того как устанавливаешь значение для "Reg". Конечно всегда будет так, как будто игрок регается.
    А можно ли как до узнать значение до того как установить значение? Или же как то по другому можно реализовать?

  5. #5
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от kala4iks Посмотреть сообщение
    А можно ли как до узнать значение до того как установить значение? Или же как то по другому можно реализовать?
    WAT?

    Где ты узнаешь зареган ли игрок или нет, вот там и делай отправку сообщение админам.

  6. #6
    Аватар для _lizard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Цитата Сообщение от kala4iks Посмотреть сообщение
    А можно ли как до узнать значение до того как установить значение? Или же как то по другому можно реализовать?
    Когда игрок авторизуется - отправляй сообщение об авторизации, когда регистрируется - о регистрации

  7. Пользователь сказал cпасибо:
    kala4iks (23.01.2017)
  8. #7
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от _lizard Посмотреть сообщение
    Когда игрок авторизуется - отправляй сообщение об авторизации, когда регистрируется - о регистрации
    Спасибо работает но теперь столкнулся с другой проблемой когда игрок авторизуется пишет что авторизуется и IP белый я сделал чтоб когда админ авторизуется то желтый будет IP но когда и игрок и админ авторизуется IP и там и там белый.

    PHP код:
    public OnPlayerRequestClass(playerid,classid)
    {
        
    GetPlayerName(playerid,Player[playerid][pName],MAX_PLAYER_NAME);
        if(
    IsPlayerNPC(playerid)) return true;
        
    SetPVarInt(playerid,"ReSpawn",1);
        
    SetPlayerFacingAngle(playerid19.1733);
        
    TogglePlayerSpectating(playerid,1);
        
    TextDrawShowForPlayer(playerid,ServerLogo);
        
    TextDrawShowForPlayer(playerid,ServerDate);
        
    SetPlayerCameraPos(playerid,1415.4607,-815.2944,75.4216);
        
    SetPlayerCameraLookAt(playerid,1414.4186,-810.1878,75.4523,CAMERA_CUT);
        
    SetPlayerVirtualWorld(playerid,playerid 1);
        new 
    query[256];
        
    mysql_format(mySQLDB,query,256,"SELECT `Nickname` FROM `accounts` WHERE `Nickname` = '%s'",Player[playerid][pName]);
        
    mysql_function_query(mySQLDB,query,true,"OnPlayerRegCheck","d",playerid);
        return 
    true;


    PHP код:
    publics OnPlayerRegCheck(playerid)
    {
        new 
    ip[MAX_PLAYER_NAME],string[124];
        
    GetPlayerIp(playerid,ip,sizeof(ip));
        
    ConnectIP[playerid] = ip;
        new 
    rows,fields;
        
    cache_get_data(rowsfields);
        if(
    rows)
        {
            
    ShowLogin(playerid);
            if(
    Player[playerid][pAdmin] != 0)
            {
                
    f(string,"(( %s[%d] авторизуется на сервере | IP: {FFFF00}%s {AFAFAF}))",sendername(playerid),playerid,ip);
                
    ABroadCast(0xAFAFAFAA,string,1);
            }
            else
            {
                
    f(string,"(( %s[%d] авторизуется на сервере | IP: {FFFFFF}%s {AFAFAF}))",sendername(playerid),playerid,ip);
                
    ABroadCast(0xAFAFAFAA,string,1);
            }
        }
        else
        {
            
    f(string,"(( %s[%d] начинает регистрацию | IP: {FFFFFF}%s {AFAFAF}))",sendername(playerid),playerid,ip);
            
    ABroadCast(0xAFAFAFAA,string,1);
            
    ShowRegister(playerid);
        }
        return 
    true;


  9. #8
    Аватар для _lizard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Цитата Сообщение от kala4iks Посмотреть сообщение
    Спасибо работает но теперь столкнулся с другой проблемой когда игрок авторизуется пишет что авторизуется и IP белый я сделал чтоб когда админ авторизуется то желтый будет IP но когда и игрок и админ авторизуется IP и там и там белый.

    PHP код:
    public OnPlayerRequestClass(playerid,classid)
    {
        
    GetPlayerName(playerid,Player[playerid][pName],MAX_PLAYER_NAME);
        if(
    IsPlayerNPC(playerid)) return true;
        
    SetPVarInt(playerid,"ReSpawn",1);
        
    SetPlayerFacingAngle(playerid19.1733);
        
    TogglePlayerSpectating(playerid,1);
        
    TextDrawShowForPlayer(playerid,ServerLogo);
        
    TextDrawShowForPlayer(playerid,ServerDate);
        
    SetPlayerCameraPos(playerid,1415.4607,-815.2944,75.4216);
        
    SetPlayerCameraLookAt(playerid,1414.4186,-810.1878,75.4523,CAMERA_CUT);
        
    SetPlayerVirtualWorld(playerid,playerid 1);
        new 
    query[256];
        
    mysql_format(mySQLDB,query,256,"SELECT `Nickname` FROM `accounts` WHERE `Nickname` = '%s'",Player[playerid][pName]);
        
    mysql_function_query(mySQLDB,query,true,"OnPlayerRegCheck","d",playerid);
        return 
    true;


    PHP код:
    publics OnPlayerRegCheck(playerid)
    {
        new 
    ip[MAX_PLAYER_NAME],string[124];
        
    GetPlayerIp(playerid,ip,sizeof(ip));
        
    ConnectIP[playerid] = ip;
        new 
    rows,fields;
        
    cache_get_data(rowsfields);
        if(
    rows)
        {
            
    ShowLogin(playerid);
            if(
    Player[playerid][pAdmin] != 0)
            {
                
    f(string,"(( %s[%d] авторизуется на сервере | IP: {FFFF00}%s {AFAFAF}))",sendername(playerid),playerid,ip);
                
    ABroadCast(0xAFAFAFAA,string,1);
            }
            else
            {
                
    f(string,"(( %s[%d] авторизуется на сервере | IP: {FFFFFF}%s {AFAFAF}))",sendername(playerid),playerid,ip);
                
    ABroadCast(0xAFAFAFAA,string,1);
            }
        }
        else
        {
            
    f(string,"(( %s[%d] начинает регистрацию | IP: {FFFFFF}%s {AFAFAF}))",sendername(playerid),playerid,ip);
            
    ABroadCast(0xAFAFAFAA,string,1);
            
    ShowRegister(playerid);
        }
        return 
    true;

    Ну так конечно. Вы же не получаете вообще никаких данных, в т.ч. и уровень администратора

  10. #9
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от _lizard Посмотреть сообщение
    Ну так конечно. Вы же не получаете вообще никаких данных, в т.ч. и уровень администратора
    А вообще больше не как не льзя реализовать это так чтоб оставалось в public OnPlayerConnect?

  11. #10
    Аватар для qwezert
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    Цитата Сообщение от kala4iks Посмотреть сообщение
    А вообще больше не как не льзя реализовать это так чтоб оставалось в public OnPlayerConnect?
    Если ты хочешь что бы у тебя писалось одним цветом что подключился админ, а другим что пользователь(Нафига это нужно?)
    Загружай из БД уровень админа при коннекте игрока и там же форматируй строку в тот цвет - который хочешь - потом выводи сообщением. Только не забудь потом что у тебя админка если что уже загружена в массив.
    Лучше лишний раз показаться глупым и что то узнать, чем вы*бнуться и обосраться.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •