[PW] Веб Часть Сообщения из лк в игру ;)

  • Автор темы Автор темы Andrey
  • Дата начала Дата начала

Andrey

Я админ,смекаешь?
Команда форума
Админ
Зануда
Проверенный
Местный
может и баян, а может кому пригодится...
PHP:
function GameMessageSend( $iduser, $chat, $msg )
{
  $Chanel = pack("C*", $chat);        // канал
  $Id=pack("N*", $iduser);
  $Emotion = pack("C*",0);        // без эмоций
  $Message = iconv("UTF-8", "UTF-16LE", $msg);
  $MessageLengh = strlen($Message);
  if($MessageLengh < 128)
  {
      $MessageLengh = pack("C*", $MessageLengh);
  }
  else
  {
      $MessageLengh = pack("n*", $MessageLengh + 32768);
    }
  $Packet = $Chanel.$Emotion.$Id.$MessageLengh.$Message."\x00\x00";
  // тут была ошибка
  $PacketLen = strlen($Packet);
  if($PacketLen < 64)
      $PacketLen= strrev(pack("C*", $PacketLen));
  else
    $PacketLen= strrev(pack("S*", ($PacketLen | 0x8000)));

  $type = pack("C",120);
  $sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
  $sock2=socket_connect($sock, "localhost", "29300");
  socket_set_block($sock);
  $data = $type.$PacketLen.$Packet;
  $sbytes=socket_send($sock, $data, 8192, 0);
  $rbytes=socket_recv($sock, $buf, 8192, 0);
  socket_set_nonblock($sock);
  socket_close($sock);
}
где:
iduser - id чара для личного сообщения
chat = тип чата
0 - общий
1 - Мир
2 - Пати
3 - Клан
4 - Пм
6 - Инфо
7 - Торг
9 - Системный
12 - Горн
msg - текст сообщения.
Для системки в игру юзать так: GameMessageSend ( 0, 9, "Всем привет !!!");
Для личного сообщения чару с id=1024: GameMessageSend ( 1024, 4, "Привет !!!");
 
Alex написал(а):
ах да... функция требует файл config.php , где лежат нужные параметры такие как:
$GameServer = '127.0.0.1';
$GProviderPort = 29300;
ну так добавь в код готовое, или хочешь 100500 вопросов?)
и лучше прикреплять готовые файлы
 
ну если в конфиге все прописано, то ничего добавлять не надо :(
 
Назад
Сверху