Загрузка...

[Lesson #1] Player ID in chat

Thread in SAMP Guides created by Search_inactive41474 Jun 23, 2016. 350 views

  1. Search_inactive41474
    Search_inactive41474 Topic starter Jun 23, 2016 11 Jun 22, 2016
    Для начала создадим переменную, которая будет отвечать за сообщение в чате.
    Назовем её chatstring[256];

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

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

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

    Итак, используя переменную sendername узнаем ник игрока

    Code

    GetPlayerName(playerid,sendername,MAX_PLAYER_NAME);

    Когда мы узнали ник игрока, нам нужно соединить ник игрока и сообщение, которое он отправит в чат.
    Для этого мы воспользуемся функцией format, которая позволяет включать в строку переменные и другие строки.
    Code
    format(chatstring,sizeof(chatstring),"%s(%d):%s",sendername,playerid,text);

    Теперь нам остается вывести сообщение в чат. Выводить его мы будем при помощи функции SendClientMessageToAll

    Code
    SendClientMessageToAll(0xFFFFFFAA,chatstring);

    Вроде-бы все успешно скомпилировалось, но при отправлении сообщения в чат у вас получается что-то похожее на это:

    [IMG]
    Мы видим, что помимо нашего нового сообщения в чате появляется и старое. Чтобы отключить данный эффект, нужно всего-лишь в конце OnPlayerText изменить return 1 на 0.
    И тогда данный эффект больше не будет показыватся
     
Loading...
Top