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

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

    Как узнать ID игрока по его нику?

    Как проверить игрока по нику что он онлайн?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    stock GetPlayerID(name[])
    {
        new 
    player_name[MAX_PLAYER_NAME];
        for(new 
    iMAX_PLAYERSi++)
        {
            
    GetPlayerName(iplayer_nameMAX_PLAYER_NAME);
            if(!
    strcmp(player_namename))
                return 
    i;
        }
        return 
    INVALID_PLAYER_ID;

    PHP код:
    if(GetPlayerID("DeimoS") == INVALID_PLAYER_ID)
        return 
    SendClientMessage(playerid, -1"Игрок оффлайн!"); 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    24.04.2017
    Сообщений
    133
    Репутация:
    0 ±
    Не понял, как этому игроку вывести текст?

  4. #4
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    stock GetPlayerID(name[])
    {
        new 
    player_name[MAX_PLAYER_NAME];
        for(new 
    iMAX_PLAYERSi++)
        {
            
    GetPlayerName(iplayer_nameMAX_PLAYER_NAME);
            if(!
    strcmp(player_namename))
                return 
    i;
        }
        return 
    INVALID_PLAYER_ID;

    PHP код:
    if(GetPlayerID("DeimoS") == INVALID_PLAYER_ID)
        return 
    SendClientMessage(playerid, -1"Игрок оффлайн!"); 
    Предложу вариант со sscanf:
    PHP код:
    stock GetPlayerID(name[])
    {
        new 
    id;
        
    sscanf(name"?<MATCH_NAME_PARTIAL=0>r"id);  
        return 
    id;

    Цитата Сообщение от Killer Посмотреть сообщение
    Не понял, как этому игроку вывести текст?
    PHP код:
    new id GetPlayerID("DeimoS");
    if (
    id == INVALID_PLAYER_ID) {
        
    SendClientMessage(playerid, -1"Игрок оффлайн!");
    } else {
        
    SendClientMessage(id, -1"hello");

    Последний раз редактировалось DeimoS; 08.10.2017 в 22:00.

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Предложу вариант со sscanf:
    PHP код:
    stock GetPlayerID(name[])
    {
        new 
    id;
        
    sscanf(name"r"id);
        return 
    id;

    Его минус в том, что если ты будешь искать игрока, например, с ником Ziggi, а у меня будет ник I_Ziggi, он найдёт меня (так же, как и если я окажусь на более низком ID, чем ты). Он же ищет как strfind
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  6. #6
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Его минус в том, что если ты будешь искать игрока, например, с ником Ziggi, а у меня будет ник I_Ziggi, он найдёт меня (так же, как и если я окажусь на более низком ID, чем ты). Он же ищет как strfind
    Можно выключить MATCH_NAME_PARTIAL.
    PHP код:
    SSCANF_Option(MATCH_NAME_PARTIAL0); 

  7. 2 пользователя(ей) сказали cпасибо:
    DeimoS (26.09.2017) SooBad (26.09.2017)
  8. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Можно выключить MATCH_NAME_PARTIAL.
    PHP код:
    SSCANF_Option(MATCH_NAME_PARTIAL0); 
    Ну только если постоянно включать/выключать внутри функции, дабы не было проблем с другими случаями использования функции, где нужен поиск по части ника.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    26.12.2016
    Адрес
    Беларусь
    Сообщений
    41
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну только если постоянно включать/выключать внутри функции, дабы не было проблем с другими случаями использования функции, где нужен поиск по части ника.
    PHP код:
    sscanf(name"?<MATCH_NAME_PARTIAL=0>r"id); 
    UPD: извиняюсь, не так понял.
    Последний раз редактировалось Mr_LemoneZ; 26.09.2017 в 00:52.

  10. #9
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Mr_LemoneZ Посмотреть сообщение
    PHP код:
    sscanf(name"?<MATCH_NAME_PARTIAL=0>r"id); 
    Я именно про это и говорил же =) И говорил просто чтоб автор понял что ему делать, если захочет взять версию со sscanf.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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