HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 27 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Запрещения запуска через custom game, или что-то подобное. (https://hlfx.ru/forum/showthread.php?threadid=2523)


Отправлено Alex_Gordon 04-01-2011 в 13:47:

Запрещения запуска через custom game, или что-то подобное.

Если это не большой секрет, то расскажите пожалуйста, как это делается.
У меня просто на лаунчере обновления для мода, а если запускать через custom game, то юзер не будет обновляться.
Помнится, в HLFX:Single demo такое было.

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено XaeroX 04-01-2011 в 13:56:

Лаунчер копирует какой-нибудь файл, игра его проверяет. Если его нет - значит, запускали через кастом гейм. Если есть - игра его удаляет и продолжает работу.
Только советую позволить пользователю продолжить игру несмотря ни на что, как в хлфх-лбм. Иначе будет бесить. К тому же обновления обычно никому не нужны.

__________________

xaerox on Vivino


Отправлено Alex_Gordon 04-01-2011 в 14:46:

XaeroX, спасибо. А какой код проверки на кастом гейм? я имею ввиду что писать в
if (условие....)
{
Что тут писать?
}

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



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

Alex_Gordon
MessageBox(NULL, "Something bad happens", "Error", MB_OK|MB_SETFOREGROUND|MB_ICONSTOP );
exit( 1 );

__________________
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 04-01-2011 в 14:52:

Дядя Миша, еще один нубский вопрос: это в условии или замест его?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Government-Man 04-01-2011 в 14:55:

Цитата:
Дядя Миша писал:
MB_SETFOREGROUND


MB_SYSTEMMODAL лучше

Добавлено 04-01-2011 в 09:55:

Цитата:
Alex_Gordon писал:
еще один нубский вопрос: это в условии или замест его?


Гм... Ты написал лаунчер с системой обновления и задаешь такие вопросы?
Или я чота недопонял?


Отправлено Alex_Gordon 04-01-2011 в 14:57:

Government-Man ээ.. ну да)
Лаунчер-то на дельфи)

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



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

Цитата:
Alex_Gordon писал:
еще один нубский вопрос: это в условии или замест его?

ну а ты спрашивал про что?
Цитата:
Alex_Gordon писал:
if (условие....)
{
Что тут писать?
}

Или ты уже себе недоверяеш? )

Добавлено 04-01-2011 в 18:11:

Цитата:
Government-Man писал:
MB_SYSTEMMODAL лучше

армян лучше чем грузин?

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 04-01-2011 в 15:20:

Только не exit, а TerminateProcess(GetCurrentProcess(), 0);
Это ж дллке, а не в ехе.

__________________

xaerox on Vivino


Отправлено Alex_Gordon 04-01-2011 в 16:11:

Дядя Миша, со мной такое бывает иногда))

Добавлено 04-01-2011 в 21:11:

И еще: я как страннейший человек для проверки на существования файла пытался использовать if fileexists(...).
Но это же с C++ Builder!
Есть ли альтернатива для визуалки?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Government-Man 04-01-2011 в 16:35:

C++ Source Code:
1
#include <stdio.h>
2
 
3
...
4
 
5
bool fileexists( const char *filename )
6
{
7
  FILE *file = fopen( filename, "r" );
8
  if ( file )
9
  {
10
    fclose( file );
11
    return true;
12
  }
13
 
14
  return false;
15
}


Добавлено 04-01-2011 в 11:35:

Цитата:
Дядя Миша писал:
армян лучше чем грузин?


В данном случае ога


Отправлено Alex_Gordon 04-01-2011 в 16:42:

Привел функцию к виду

C++ Source Code:
1
bool fileexist( const char *filename )
2
{
3
  FILE *file = fopen( "main.txt", "r" );
4
  if ( file )
5
  {
6
    fclose( file );
7
    return true;
8
  }
9
  MessageBox(NULL, "Something bad happens", "Error", MB_OK|MB_SETFOREGROUND|MB_ICONSTOP );
10
  TerminateProcess(GetCurrentProcess(), 0);
11
  return false;
12
}

И вызвал ее из ClientConnect. Ноль реакции. В чем дело?

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Government-Man 04-01-2011 в 17:04:

Цитата:
Alex_Gordon писал:
Привел функцию к виду


C++ Source Code:
1
if ( !fileexist( "main.txt" ) )
2
{
3
  MessageBox(NULL, "Something bad happens", "Error", MB_OK|MB_SETFOREGROUND|MB_ICONSTOP );
4
  TerminateProcess(GetCurrentProcess(), 0);
5
}


- так лучше будет.

По поводу эффекта: у тебя файл где должен лежать? В папке мода? Дык тогда тебе надо вызвать <не-помню-какую-функцию> для получения пути к папке мода, присобачить туда "\\main.txt" и потом уже проверять.

Добавлено 04-01-2011 в 11:57:

Цитата:
Alex_Gordon писал:
И вызвал ее из ClientConnect


Ты на сервере это делаешь?

Добавлено 04-01-2011 в 12:04:

Цитата:
Alex_Gordon писал:
Лаунчер-то на дельфи


А что в делфи уже есть компонент "Half-Life Mod Updater"?


Отправлено XaeroX 04-01-2011 в 17:11:

Это надо делать на клиенте, в HUD_Init скажем.

__________________

xaerox on Vivino


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

XaeroX, вызываю твое условие из hud_init:
C:\Program Files\Half-Life3\ungr3\UnGr3_src\cl_dll\cdll_int.cpp(208) : error C2065: 'MessageBox' : undeclared identifier
C:\Program Files\Half-Life3\ungr3\UnGr3_src\cl_dll\cdll_int.cpp(208) : error C2065: 'MB_OK' : undeclared identifier
C:\Program Files\Half-Life3\ungr3\UnGr3_src\cl_dll\cdll_int.cpp(208) : error C2065: 'MB_SETFOREGROUND' : undeclared identifier
C:\Program Files\Half-Life3\ungr3\UnGr3_src\cl_dll\cdll_int.cpp(208) : error C2065: 'MB_ICONSTOP' : undeclared identifier
C:\Program Files\Half-Life3\ungr3\UnGr3_src\cl_dll\cdll_int.cpp(209) : error C2065: 'TerminateProcess' : undeclared identifier
C:\Program Files\Half-Life3\ungr3\UnGr3_src\cl_dll\cdll_int.cpp(209) : error C2065: 'GetCurrentProcess' : undeclared identifier
Error executing cl.exe.

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

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Временная зона GMT. Текущее время 06:39. Страницы (2): [1] 2 »
Показать все 27 сообщений этой темы на одной странице

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