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

Тема: PlayerLogged

  1. #1
    Аватар для denis01
    Пользователь

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

    PlayerLogged

    Ув. пользователи как написать функцию:
    PHP код:
    new PlayerLogged[MAX_PLAYERS char]; 
    что бы в дальнейшом использовать эту функцию, для проверки подлключён ли игрок либо нет

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Что Вам мешает использовать стандартную функцию IsPlayerConnected? А если использовать массив то в OnPlayerConnect:
    PHP код:
    PlayerConnected{playerid} = 1// у Вас PlayerLogged (Logged же проверка на логин) 
    а в OnPlayerDisconnect:
    PHP код:
    PlayerConnected{playerid} = 0

  3. Пользователь сказал cпасибо:
    denis01 (27.05.2014)
  4. #3
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Что Вам мешает использовать стандартную функцию IsPlayerConnected? А если использовать массив то в OnPlayerConnect:
    PHP код:
    PlayerConnected{playerid} = 1// у Вас PlayerLogged (Logged же проверка на логин) 
    а в OnPlayerDisconnect:
    PHP код:
    PlayerConnected{playerid} = 0
    А что по вашему мнению лючше использовать?

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    IsPlayerConnected быстрее чем массив, а если с массивом, то память используется.

  6. Пользователь сказал cпасибо:
    denis01 (27.05.2014)
  7. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от denis01 Посмотреть сообщение
    А что по вашему мнению лючше использовать?
    Зависит от нужды. Если вам нужно проверять именно ПОДКЛЮЧЕНИЕ к серверу - лучше воспользоваться функцией. Если же вам нужно проверять авторизацию игрока, лучше сделать так:
    PHP код:
    new authorized_account[MAX_PLAYERS char]; 
    В функцию, отвечающую за загрузку аккаунта при авторизации
    PHP код:
    authorized_account{playerid} = 1
    В OnPlayerDisconect
    PHP код:
    authorized_account{playerid} = 0
    И для удобства можно создать функцию, типа
    PHP код:
    stock IsPlayerLogged(playerid) return authorized_account{playerid};
    //Это если с английским плохо. Я бы использовал код "authorized_account{playerid}" напрямую 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. 2 пользователя(ей) сказали cпасибо:
    $continue$ (08.07.2015) denis01 (27.05.2014)
  9. #6
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    Я использую для проверки авторизован ли игрок, если нет то он не может водить команды

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

    Статус
    Оффлайн
    Регистрация
    12.06.2013
    Адрес
    Казань
    Сообщений
    16
    Репутация:
    3 ±
    Зачем char? Можно ведь использовать переменную типа bool

    PHP код:
    new bool:login[MAX_PLAYERS];

    login[playerid] = true;// Игрок авторизован
    login[playerid] = false;// Игрок не авторизован

    if(login[playerid])// Игрок авторизован
    if(!login[playerid])// Игрок не авторизован 

  11. Пользователь сказал cпасибо:
    denis01 (27.05.2014)
  12. #8
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    Можешь по подробней.
    PHP код:
    login[playerid] = true;// это в OnPlayerConnect
    login[playerid] = false;// это вOnPlayerDisconnect 
    И далее использовать в командах
    PHP код:
    if(login[playerid])// Игрок авторизован 
    if(!login[playerid])// Игрок не авторизован 

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

    Статус
    Оффлайн
    Регистрация
    12.06.2013
    Адрес
    Казань
    Сообщений
    16
    Репутация:
    3 ±
    Это ставь когда игрок успешно авторизовался.
    PHP код:
    login[playerid] = true
    Это ставь когда игрок вышел с сервера.
    PHP код:
    login[playerid] = false
    А, если используешь public OnPlayerCommandText, то просто в начало паблика вставь
    PHP код:
    if(!login[playerid])) return SendClientMessage(playerid,-1,"Авторизуйтесь на сервере!"); 

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от Amfy Посмотреть сообщение
    Зачем char? Можно ведь использовать переменную типа bool

    PHP код:
    new bool:login[MAX_PLAYERS];

    login[playerid] = true;// Игрок авторизован
    login[playerid] = false;// Игрок не авторизован

    if(login[playerid])// Игрок авторизован
    if(!login[playerid])// Игрок не авторизован 
    Может наоборот? Типа bool в pawn нет (то есть он есть, но он берёт столько же памяти сколько и обычная переменная с типом integer). А char сокращает размер массива в (cellbits / charbits) раз (на данный момент 4). И установить значение ячейкам этого массива можно только от 0 до 255.
    Последний раз редактировалось L0ndl3m; 27.05.2014 в 20:10.

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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