HLFX.Ru Forum
Показать все 27 сообщений этой темы на одной странице

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=2789)


Отправлено Alex_Gordon 29-04-2011 в 17:24:

Помогите доработать.

Если вы помните код субтитров
(http://hlfx.ru/forum/showthread.php?s=&threadid=2657)
то вы знаете, что если субтитры не прописаны в titles.txt, то они отображаются именем сентенса. Можете помочь мне сделать проверку на существование записи в titles.txt, и если ее нет - то не выводить ничего?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 29-04-2011 в 17:54:

Цитата:
Alex_Gordon писал:
Можете помочь мне сделать проверку на существование записи в titles.txt, и если ее нет - то не выводить ничего?

онож в движке.

__________________
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 30-04-2011 в 01:26:

Дядя Миша что в движке? Почему в движке? Это функции, ЕМНИП, из файла util.cpp. Просто надо сделать проверку на существование фразы в titles.txt, и если ее нет - то ничего не выводить.
Или мы о разном сейчас говорим?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 30-04-2011 в 08:11:

Цитата:
Alex_Gordon писал:
Это функции, ЕМНИП, из файла util.cpp

угу. И эта функция засылает мессагу на клиент. А движок её парсит и отдает клиенту готовой. Это только так кажется, что она чисто клиентская.

__________________
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 30-04-2011 в 13:52:

Дядя Миша а, ну хотя да. Т.е. это не профиксить? Или что с этим вообще делать?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 30-04-2011 в 13:57:

попробуй проверять имя и содержание мессаги при помощи stricmp.
Если совпадают - мессага не найдена. Чота такое.

__________________
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 30-04-2011 в 14:11:

Как я понял, там за содержание отвечает pString. А за имя?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 30-04-2011 в 14:22:

pName, pMessage.

__________________
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 30-04-2011 в 15:06:

C++ Source Code:
1
if (strcmp(pName, pMessage) = 0)
2
{
3
 
4
}
5
else
6
{
7
  WRITE_STRING( pString );
8
}


Не понял, куда проверку-то пихать)

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 30-04-2011 в 15:29:

Эээээ! На клиенте проверяй, там де text_message_t диспатчится.
на сервере ты ничего не отловишь (ты же не хочешь грузить titles.txt локально и там заниматься сверками, правда?).

__________________
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 01-05-2011 в 11:25:

Цитата:
Дядя Миша писал:
На клиенте проверяй, там де text_message_t диспатчится.

это где вообще такое?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 01-05-2011 в 11:27:

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 01-05-2011 в 11:35:

Ну кажется тут:

C++ Source Code:
pText = gEngfuncs.COM_ParseFile((char*)pText, postMsgName);
postMsg = TextMessageGet( &postMsgName[1] );


Добавлено 01-05-2011 в 16:35:

А там во какой код есть:
C++ Source Code:
if (!postMsg)
  gEngfuncs.Con_Printf("WARNING: post-message %s not found in titles.txt!\n", postMsgName);

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 01-05-2011 в 12:56:

ну а TextMessageGet - это по твоему што? Движковая функция и есть.

__________________
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 01-05-2011 в 13:13:

Тогда код такой?

C++ Source Code:
1
if (strcmp(pName, pMessage) = 0)
2
{
3
 
4
}
5
else
6
{
7
  postMsg = TextMessageGet( &postMsgName[1] );
8
}

Прости, туплю сильно

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 01-05-2011 в 13:35:

для начала попробуй развить условие которое ты привёл.
Если TextMessageGet возвращает NULL то это и есть условие, что мессага не найдена.

__________________
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 01-05-2011 в 13:46:

Дядя Миша, то бишь

C++ Source Code:
1
if (TextMessageGet( &postMsgName[1] )=NULL )
2
{
3
 
4
}
5
else
6
{
7
  postMsg = TextMessageGet( &postMsgName[1] );
8
}

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 01-05-2011 в 15:52:

__________________
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 01-05-2011 в 16:00:

Дядя Миша да уж сам понял что ступил) по компиляции)
Ну я же с мессагами вообще ни разу не работал. Понимаю, что туплю, но разобраться-то хочется. Как проверить что она NULL возвращает?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено PomanoB 01-05-2011 в 17:31:

Цитата:
Alex_Gordon писал:
if (TextMessageGet( &postMsgName[1] )=NULL )


Отправлено Alex_Gordon 01-05-2011 в 17:38:

Ну хватит смайлы рисовать. Помогите пожалуйста с кодом.

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено CrazyRussian 01-05-2011 в 18:04:

Alex_Gordon
еще раз напоминаю что сравнения в языках с и с++ делаются оператором ==, использование оператора = в конструкции if приводит к тому что левое значение не сравнивается с правым, а левому значению присвается значение правого и в таком случае if получит истину если правое значение не равно NULL.
а еще можно вот так:

C++ Source Code:
1
if (!TextMessageGet( &postMsgName[1] ) )
2
{
3
  //код выполняющийся при условии TextMessageGet возвратил NULL
4
  //ругательства например и выход из функции
5
}

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено KiQ 01-05-2011 в 18:05:

Хм...

C++ Source Code:
1
if(TextMessageGet
2
  (&postMsgName
3
[1])!=NULL)
4
postMsg=
5
TextMessageGet
6
(&postMsgName[1]);
7
}

Так что ли? Кстати, я допилил таки аптечку

__________________
-Brain is dead-


Отправлено fire64 01-05-2011 в 18:34:

Неужели так трудно понять, что надо писать вот этот код ?

C++ Source Code:
1
postMsg = TextMessageGet( &postMsgName[1] );
2
 
3
if(!postMsg )
4
{
5
  //код
6
}

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


Отправлено Дядя Миша 01-05-2011 в 20:08:

Ну такими темпами вы не скоро результатов добьетесь. Простую фигню уже две страницы обсуждаем.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Government-Man 02-05-2011 в 00:13:

Дядя Миша зато счетчик крутится, не?


Отправлено Дядя Миша 02-05-2011 в 08:36:

Government-Man да и счетчик вяло крутится.

__________________
My Projects: download page

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

Цитата:

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


Временная зона GMT. Текущее время 15:12.
Показать все 27 сообщений этой темы на одной странице

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