HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Вызов клиентских функций с сервера.
Страницы (3): [1] 2 3 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



Вызов клиентских функций с сервера.

Я знаю, что это делается мессагами. Можете дать какой-нибудть пример такой мессаги, или объяснить основной синтаксис?

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 77170

Старое сообщение 02-05-2011 17:12
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32262
Нанёс повреждений: 392 ед.

Рейтинг



Alex_Gordon и это человек спрашивает, который ковыряет систему субтитров?
ну вон же твой любимый UTIL_ShowMessage это что по твоему?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 77173

Старое сообщение 02-05-2011 19:05
-
HAWK0044
Житель форума

Дата регистрации: Oct 2010
Проживает: Анапа
Сообщений: 563
Возраст: 27

Рейтинг



опять же ,удивляюсь, как он смог написать UG3 там же почти все эффекты на мессагах...
эх ты...
вобщем. в плеер.цпп объявляем мессагу к примеру int gmsgFirstMessage = 0;
далее ищем что-то с рег_мессэйдж , добавляем по аналогии имя мессаги там в ковычках , к примеру "FirstMessageName" ,далее можешь отправлять... но учти отправлять надо каждый кадр , если хочешь сделать хад... Лучше для этого юзать UpdateClientData в том же плеер.цпп. Далее на клиенте как и везде хукаем мессагу (HOOK_MESSAGE) в худ_мсг.цпп добавляем её,в hud.h соответственно декларим. Я смог разобраться в этом сам! Это же очень просто, за пример ,если что-то не понятно ,возьми gmsgHealth

Сообщить модератору | | IP: Записан
Сообщение: 77188

Старое сообщение 03-05-2011 06:48
- За что?
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



gmsgSomeMessage = REG_USER_MSG("SomeMessage", 3);
Что значит эта цифра?

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 77191

Старое сообщение 03-05-2011 08:23
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34565
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Размер мессаги в байтах.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 77192

Старое сообщение 03-05-2011 08:39
-
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



XaeroX понятно. И еще, у меня при хуке
HOOK_MESSAGE(SomeThing);
выдается ошибка:
error C2065: '__MsgFunc_SomeThing' : undeclared identifier
хотя я hud.h проинклюдил.

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 77193

Старое сообщение 03-05-2011 08:43
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32262
Нанёс повреждений: 392 ед.

Рейтинг



а ты своей мессаге сделал вот такую процедурную обёртку?

C++ Source Code:
1
int __MsgFunc_ViewMode(const char *pszName, int iSize, void *pbuf)
2
{
3
  gHUD.MsgFunc_ViewMode( pszName, iSize, pbuf );
4
  return 1;
5
}

Ну разумеется ViewMode на SomeThing заменить.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 77196

Старое сообщение 03-05-2011 09:14
-
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



Да, сделал

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 77201

Старое сообщение 03-05-2011 09:38
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32262
Нанёс повреждений: 392 ед.

Рейтинг



а в hud.h в class Chud добавил декларацию?

C++ Source Code:
int  _cdecl MsgFunc_SomeThing( const char *pszName, int iSize, void *pbuf );

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 77204

Старое сообщение 03-05-2011 09:53
-
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



У меня void, но да, добавил.

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 77207

Старое сообщение 03-05-2011 09:57
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32262
Нанёс повреждений: 392 ед.

Рейтинг



__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 77208

Старое сообщение 03-05-2011 10:00
-
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



Дядя Миша я соответственно добавил как void, а ты как думал? Я уж не настолько тупой)

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 77209

Старое сообщение 03-05-2011 10:02
- За что?
fire64
Житель форума

Дата регистрации: Apr 2007
Проживает: Москва
Сообщений: 2362
Возраст: 34

Рейтинг



omg

Alex_Gordon, неужели копипаста это так трудно ?

Функция должна иметь только такой вид:

C++ Source Code:
int _cdecl MsgFunc_YourFunc(const char *pszName, int iSize, void *pbuf );


И никакой другой, не меняй никакие типы, оставь все так как есть.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей

Сообщить модератору | | IP: Записан
Сообщение: 77214

Старое сообщение 03-05-2011 10:48
- За что?
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



Да я уж понял, пока 8 минут инет не работал)

Добавлено 03-05-2011 в 16:33:

Сейчас бы понять, как отослать ее, чтобы функция на каждой карте активировалась. Нет, ну понятно что из ParmsChangeLevel, но как вообще отослать...
Обработчик там такой:
int CHud::MsgFunc_SomeThing( const char *pszName, int iSize, void *pbuf )
{
UploadWorldHDTextures();
return 1;
}

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 77216

Старое сообщение 03-05-2011 11:33
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32262
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Alex_Gordon писал:
Я уж не настолько тупой)

Цитаты:
Цитата:
Alex_Gordon писал:
Нет, ну понятно что из ParmsChangeLevel, но как вообще отослать...

Цитата:
Alex_Gordon писал:
Обработчик там такой:
int CHud::MsgFunc_SomeThing( const char *pszName, int iSize, void *pbuf )
{
UploadWorldHDTextures();
return 1;
}

Не отошлешь ты ничего из ParamsChangelevel. Движок убьет сетевое подключение, сразу же после сохранения даты в сейв. Кроме этого ParmsChangelevel вызывается всякий раз, когда ты ты жмешь квик-сейв или обычный сейв.
И зачем тебе посылать отдельную миссагу в этом случае? Ну пихни её в InitHUD и всё.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 77220

Старое сообщение 03-05-2011 12:07
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 00:06. Новая тема    Ответить
Страницы (3): [1] 2 3 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Вызов клиентских функций с сервера.
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024