Четверг, 17.07.2025, 18:03
Приветствую Вас Гость | RSS
[•X•X•X•X•X•X•X•X•X• SRK •X•X•X•X•X•X•X•X•X•] - 193.107.179.214:7777
Главная | Урок №14 Коннект и Дисконнект - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: DimanCC, Awesome, [Tuner_Life]Nikotin  
Урок №14 Коннект и Дисконнект
AwesomeДата: Среда, 22.02.2012, 21:18 | Сообщение # 1
Генерал-майор
Группа: Проверенные
Сообщений: 70
Награды: 14
Репутация: 25
Статус: Offline
Итак, по сути, этот урок повторение и закрепление 11 урока. Сейчас я покажу, как выдавать
в чат всем игрокам сообщение о входе или выходе игрока на сервере. Для начала создадим две
константы.
Code
#define COLOR_GREEN 0x33AA33AA //ЗЕЛЕНЫЙ   
#define COLOR_RED 0xAA3333AA //КРАСНЫЙ


Создаем их, чтобы не писать HEX-код цвета, которым будет выделено сообщение мы будем
писать имя константы вместо кода. Теперь пишем скрипт сообщения, когда игрок подключился к
серверу, скрипт приведен ниже:
Code
public OnPlayerConnect(playerid)   
{   
new plname[MAX_PLAYER_NAME];   
new string[40];   
GetPlayerName(playerid,plname,24);   
format(string,sizeof(string),"***К нам присоединился %s [ID:%d]",plname,playerid);   
SendClientMessageToAll(COLOR_GREEN,string);   
return 1;   
}


Для вас сделать сообщение о входе игрока на сервер, думаю, не составит труда, потому что
тут все понятно. Переходим к другой части скрипта – «Сообщение о выходе игрока из сервера» (по
причинам).
Рассмотрим автовызываемую функцию OnPlayerDisconnect.
Code
public OnPlayerDisconnect(playerid, reason)   
{   
return 1;   
}


Reason – это причина отключения от сервера. Данный параметр может принимать 3
значения: 0 – принудительно отключился по причине ошибки клиента или иной другой ошибки. 1
– покинул игру самостоятельно, 2 – был кикнут администратором.
Для того чтобы правильно выдать сообщение, тут нам нужен оператор switch, а проверять
значение мы будем у параметра reason. Если вы хорошо поняли 9 урок, думаю, вам тут все будет
понятно. В зависимости от значения параметра reason, в чат будет выдаваться всем игрокам
определенное сообщение с указанием причины отключения игрока. Скрипт будет выглядеть
следующим образом:

Code
public OnPlayerDisconnect(playerid, reason)   
{   
new string[64], plname[25];   
switch(reason)   
{   
case 0:   
{   
GetPlayerName(playerid,plname,24);   
format(string,sizeof(string), "*** %s [ID:%d] Покинул(а) сервер(Вылет)",plname,playerid);   
SendClientMessageToAll(COLOR_RED,string);   
}   
case 1:   
{   
GetPlayerName(playerid,plname,24);   
format(string,sizeof(string), "*** %s [ID:%d] Покинул(а) Сервер(Выход)",plname,playerid);   
SendClientMessageToAll(COLOR_RED,string);   
}   
case 2:   
{   
GetPlayerName(playerid,plname,24);   
format(string,sizeof(string), " %s [ID:%d] Покинул(а) Сервер(кик/бан)",plname,playerid);   
SendClientMessageToAll(COLOR_RED,string);   
}   
}   
return 1;   
}


Итак, я думаю тут у вас не возникнет сложностей.



я вернулся
 
  • Страница 1 из 1
  • 1
Поиск:

Поддержка пишите на наш форум:Walter & alisa