Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: PlayerLogged

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

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

    PlayerLogged

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

  2. #2
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±
    Что Вам мешает использовать стандартную функцию 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
    Аватар для Londlem
    Модератор

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

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от 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}" напрямую 
    Связаться со мной можно в личных сообщениях этой группы

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

  14. #10
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±
    Цитата Сообщение от 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.
    Последний раз редактировалось Londlem; 27.05.2014 в 20:10.

 

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

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

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

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

Ваши права

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