![]() |
Показать все 44 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Вызов клиентских функций с сервера. (https://hlfx.ru/forum/showthread.php?threadid=2793)
Вызов клиентских функций с сервера.
Я знаю, что это делается мессагами. Можете дать какой-нибудть пример такой мессаги, или объяснить основной синтаксис?
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
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'
опять же ,удивляюсь, как он смог написать UG3 там же почти все эффекты на мессагах...
эх ты...
вобщем. в плеер.цпп объявляем мессагу к примеру int gmsgFirstMessage = 0;
далее ищем что-то с рег_мессэйдж , добавляем по аналогии имя мессаги там в ковычках , к примеру "FirstMessageName" ,далее можешь отправлять... но учти отправлять надо каждый кадр , если хочешь сделать хад... Лучше для этого юзать UpdateClientData в том же плеер.цпп. Далее на клиенте как и везде хукаем мессагу (HOOK_MESSAGE) в худ_мсг.цпп добавляем её,в hud.h соответственно декларим. Я смог разобраться в этом сам! Это же очень просто, за пример ,если что-то не понятно ,возьми gmsgHealth
gmsgSomeMessage = REG_USER_MSG("SomeMessage", 3);
Что значит эта цифра?
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Размер мессаги в байтах.
__________________
XaeroX понятно. И еще, у меня при хуке
HOOK_MESSAGE(SomeThing);
выдается ошибка:
error C2065: '__MsgFunc_SomeThing' : undeclared identifier
хотя я hud.h проинклюдил.
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
а ты своей мессаге сделал вот такую процедурную обёртку?
1 | int __MsgFunc_ViewMode(const char *pszName, int iSize, void *pbuf) |
2 | { |
3 | gHUD.MsgFunc_ViewMode( pszName, iSize, pbuf ); |
4 | return 1; |
5 | } |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Да, сделал
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
а в hud.h в class Chud добавил декларацию?
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'
У меня void, но да, добавил.
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша я соответственно добавил как void, а ты как думал? Я уж не настолько тупой)
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
omg
Alex_Gordon, неужели копипаста это так трудно ?
Функция должна иметь только такой вид:
int _cdecl MsgFunc_YourFunc(const char *pszName, int iSize, void *pbuf ); |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Да я уж понял, пока 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.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша пихнуть кого, мессагу? А обработчики? И куда вообще пихнуть? Да,
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Пихаю в ресет - ошибка двига.
Пихаю в инит - не выполняется функция. Тестуры не гузятся.
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Ну значит ищи более другое место.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
я уже не знаю, куда его пихать.. везде либо вылет, либо не работает. У кого-нибудь есть варианты?
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Alex_Gordon дык это ты буржуйский код мучаешь? или свой собственный? А то разведка донесла, что там уже какой-то Unabeliveable Xash намечается
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша не unbelievable xash, а Unbelievable Graphic mod on xash. Опенсорс, успокойтесь.
Нет, код не буржуйский, а Crazy Russian'a
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша ну я уж спрашиваю, пока безрезультатно. Поэтому решил спросить у большинства, что-то типа мозгового штурма.
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Alex_Gordon когда пациент сам себе помочь не хочет - доктор ему не поможет. Работает ли оно под халфу, для начала?
И сам код было бы неплохо показать.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ну сам код собственно вот: http://pastebin.com/buhXFG8X
CrazyRussian его в теме про буржуйский код постил.
В ориг. халфе работает, но тоже до первого чейнджлевела.
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Alex_Gordon я тебе дам совет. Открой сорцы ксаш 0.45 и погляди как там подменяются текстуры для зеркала и порталов.
На этом и строй свою систему - перезаписывай gl_texturenum.
Не надо генерить новые номера, бинди на уже существующие.
И будет у тебя хай-рес текстуры. А еще лучше - включи поддержку таковых в самом ксаше, благо всё необходимое для этого уже имеется, надо только продумать "пути к файлам".
Поясню на примере: в ксаше, в файле engine\common\model.c функция Mod_LoadTextures.
там вот такой код
1 | // convert to lowercase |
2 | Q_strnlwr( mt->name, mt->name, sizeof( mt->name )); |
3 | Q_strncpy( tx->name, mt->name, sizeof( tx->name )); |
4 | Q_snprintf( texname, sizeof( texname ), "%s%s.mip", ( mt->offsets[0] > 0 ) ? "#" : "", mt->name ); |
5 |
6 | tx->width = mt->width; |
7 | tx->height = mt->height; |
8 |
9 | // check for sky texture (quake1 only!) |
10 | if( world.version == Q1BSP_VERSION && !Q_strncmp( mt->name, "sky", 3 )) |
11 | { |
12 | R_InitSky( mt, tx ); |
13 | } |
14 | else if( mt->offsets[0] > 0 ) |
15 | { |
16 | // NOTE: imagelib detect miptex version by size |
17 | // 770 additional bytes is indicated custom palette |
18 | int size = (int)sizeof( mip_t ) + ((mt->width * mt->height * 85)>>6); |
19 | if( world.version == HLBSP_VERSION ) size += sizeof( short ) + 768; |
20 |
21 | tx->gl_texturenum = GL_LoadTexture( texname, (byte *)mt, size, 0 ); |
22 | } |
23 | else |
24 | { |
25 | // okay, loading it from wad |
26 | tx->gl_texturenum = GL_LoadTexture( texname, NULL, 0, 0 ); |
27 | } |
Q_snprintf( texname, sizeof( texname ), "textures/%s/%s.tga", loadmodel->name, mt->name ); |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша то бишь в ксаше это уже есть, нужно лишь пути указать, так? И где же пути прописывать, если не секрет)
Добавлено 03-05-2011 в 21:32:
Прости, не совсем понял просто
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Alex_Gordon
>> В ориг. халфе работает, но тоже до первого чейнджлевела.
Скорее всего ты что то там нахимичил, у меня этот код работает отлично, даже лучше чем загрузчик тга текстур в ксаше. Или просто не правильно вызвал функцию.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша пытаюсь учиться в процессе. Как я понял, требуется создать два аналога приведенного тобой кода: один - когда текстура подгружается из вада, другой - когда из тга. Если текстуры-тга нет - то подгружается текстура из вада, так? То бишь проверка, или я не прав?
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Типа того, но условие должно быть хитрее чем простая проверка. начнешь разбираться - поймешь почему.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша, try-except?
Добавлено 03-05-2011 в 22:13:
FiEctro если есть, скин сорц глянуть где я чего нахимичил
Добавлено 03-05-2011 в 22:13:
И еще, Дядя Миша, в твоем коде loadmodel->name, mt->name это что?
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Alex_Gordon у меня в последнее время стойкое ощущение, что весна украла у тебя остатки мозга. Раньше ты так не тупил.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
И тем не менее. У меня два варианта: либо один из них тупой, либо оба.
loadmodel->name это либо название вадника, либо карты, так? mt->name ясно что такое.
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Alex_Gordon
>> если есть, скин сорц глянуть где я чего нахимичил
Ну а ты сам подумай что нада сделать, перед тем как пройти через чанжлевел .
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Наверное положить толопу монстров и одолеть финального босса?
Или просто зайти в комнату с 2 дверями противоположными
кстать я юзал этот же код CR и всё отлично(!!!) работает. Так что это ты накосячил.
__________________
еще , если хочешь делать действительно Unbelievable Graphic,то делай сам,а не копипасть, по теме: зачем там мессага?! у меня всё и так работает, а если надо сделать что оно обновлялось при ченжлевеле ,то для этого есть другие методы
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 17:19. | Показать все 44 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024