Загрузка...

[Lesson #1] ID игрока в чате (для разработчиков серверов)

Тема в разделе "San Andreas: Multiplayer (SAMP)", создана пользователем Hidens, 28 июл 2016.

Войдите для ответа
  1. Hidens Постоянный пользователь

    Hidens
    Постоянный
    Статус:
    Вне сети
    Регистрация:
    25 июл 2016
    Сообщения:
    86
    Симпатии:
    79
    Для начала создадим переменную, которая будет отвечать за сообщение в чате.
    Назовем её
    chatstring[256];


    Теперь нам нужно узнать имя игрока, который будет посылать сообщение в чат.
    Для этого создадим еще одну переменную, и назовем её
    sendername[MAX_PLAYER_NAME];

    (MAX_PLAYER_NAME - максимальная длина ника игрока)

    Чтобы узнать ник игрока, мы воспользуемся функцией GetPlayerName
    Итак, используя переменную sendername узнаем ник игрока

    Код:
    GetPlayerName(playerid,sendername,MAX_PLAYER_NAME);

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

    Код:
    format(chatstring,sizeof(chatstring),"%s(%d):%s",sendername,playerid,text);

    Теперь нам остается вывести сообщение в чат. Выводить его мы будем при помощи функции SendClientMessageToAll
    Вроде-бы все успешно скомпилировалось, НО
    Мы видим, что помимо нашего нового сообщения в чате появляется и старое. Чтобы отключить данный эффект, нужно всего-лишь в конце OnPlayerText изменить return 1 на 0.
    И тогда данный эффект больше не будет показыватся
    P.S. - Тема создана для начинаюших разработчиков серверов самп.
    Завтра запилю второй урок.
     

Загрузка...
Top