Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Закрытая тема
 
Опции темы
Старый 11.02.2006, 11:50   #1
AVin
AnyKey`щик
 
Регистрация: 11.12.2005
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Хорошо

Каким образом можно вывести свою строку в запущенной игре (к примеру в КС-е) Вот делают трейнеры, и там в некоторых есть такая вещь.
Я сейчас делаю примочку к чату сетевому, вот хочу чтоб он сообщения из чата в играх показывал
(Offline)
 
Старый 11.02.2006, 11:58   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Хым... в целом можно найти строку в ехе или конфигурационных файлах и просто перезаписть её.
В твоём случае нужно реализовать работу с памятью - а именно, просканировать память процесса и найти необходимые адреса для перезаписи. Ну или дизассемблировать ихсодник =/
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Старый 11.02.2006, 12:09   #3
AVin
AnyKey`щик
 
Регистрация: 11.12.2005
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
хм, не так мне не пойдет. Тут надо что то ттипа сообщение поверх всех окон
(Offline)
 
Старый 11.02.2006, 14:05   #4
Jet
ПроЭктировщик
 
Регистрация: 04.09.2005
Сообщений: 139
Написано одно полезное сообщение
http://www.rsdn.ru/Forum/Message/791968.htm

http://borland.xportal.ru/forum/printview....fe009eba1d32b64

- вот пара вариантов. а вообще яндекс рулит

PS. просьба - расскажи потом получилось или нет!
(Offline)
 
Старый 11.02.2006, 19:10   #5
jimon
 
Сообщений: n/a
если ето специально для игр :
перехватить хендл используемых api рисования
и рисовать уже там

если для всех прог
можно зделать мега хитро : работать с видухой напрямую, правда ето неполучится... ну вообщем бредово

а так идеальный вариант ето перхватить хендл окна которое в фокусе и рисовать в него
 
Старый 11.02.2006, 19:59   #6
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
Originally posted by jimon@11.2.2006, 18:10
если ето специально для игр :
перехватить хендл используемых api рисования
и рисовать уже там

если для всех прог
можно зделать мега хитро : работать с видухой напрямую, правда ето неполучится... ну вообщем бредово

а так идеальный вариант ето перхватить хендл окна которое в фокусе и рисовать в него
Интересно...а это тока с C++ можно сделать?
(Offline)
 
Старый 11.02.2006, 21:59   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Хоть кто-нибудь смотрел ссылки Джета?
Судя по постам - нет
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Старый 11.02.2006, 22:58   #8
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
чё-то ощущение что пора c++ поучивать
(Offline)
 
Старый 11.02.2006, 23:15   #9
jimon
 
Сообщений: n/a
я смотрел
и ниче толкового не нашол
 
Старый 12.02.2006, 00:56   #10
alex-mad
Модератор
 
Регистрация: 13.09.2005
Сообщений: 1,835
Написано 6 полезных сообщений
(для 10 пользователей)
Плохо

Originally posted by jimon@11.2.2006, 22:15
я смотрел
и ниче толкового не нашол
ээээ...ты блинов не свежих объелся? там неплохие советы...
и в итоге всё у всех работает...
(Offline)
 
Старый 12.02.2006, 13:19   #11
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
толкового там очень много!
(Offline)
 
Старый 12.02.2006, 15:00   #12
jimon
 
Сообщений: n/a
гм например ?
 
Старый 12.02.2006, 16:01   #13
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
Originally posted by jimon@12.2.2006, 14:00
гм например ?
Код:

//По умолчанию 10 секунд рисуем на экран
DWORD TextShow=10000;
//Выводимый на экран текст
char *Textbuf=NULL;
//Поток для рисования текста на экране
DWORD CALLBACK DoText(void *hInstance)
{
int bkmodeold;
COLORREF oldcolor;
//Запомним время начала показа
DWORD TextStart=GetTickCount();
//Берём контекст экрана
//Крутимся заданое в TextShow время
while(GetTickCount() -TextStart <=TextShow)
{
HDC ScreenDC=GetDC(0);
RECT R,Rtext;
GetClipBox(ScreenDC,&R);
//Устанавливаем цвет текста и прозрачный фон
oldcolor=SetTextColor(ScreenDC,COLORREF(0,0,255));
bkmodeold=SetBkMode(ScreenDC,TRANSPARENT);

Rtext.left=(R.right-R.left)/2; Rtext.right=Rtext.left+100;
Rtext.top=((R.bottom-R.top))/2; Rtext.bottom=Rtext.top+100;
if(Textbuf)
{
//Определяем прямоугольник для текста
DrawText(ScreenDC,Textbuf,strlen(Textbuf),&Rtext,D T_CALCRECT|DT_CENTER);
//Рисуем на экране
DrawText(ScreenDC,Textbuf,strlen(Textbuf),&Rtext,D T_CENTER);
}
SetBkMode(ScreenDC,bkmodeold);
SetTextColor(ScreenDC,oldcolor);
//Освобождаем контекст экрана
ReleaseDC(0,ScreenDC);
}
//Перерисовываем экран чтобы убрать нашу картинку
RedrawWindow(GetDesktopWindow(), NULL, NULL,
RDW_INVALIDATE |RDW_UPDATENOW |RDW_ALLCHILDREN);
return 0;
}
//Запуск потока для рисования текста на экране
ULONG Tid;
HANDLE hThread;
TextShow=10000; //Устанавливаем время показа
//Устанавливаем текст для показа
Textbuf="Sample Show Text";
hThread=::CreateThread(0,0,DoText,(void *)hInst, 0, &Tid);
::SetThreadPriority(hThread,THREAD_PRIORITY_NORMAL );
::CloseHandle(hThread);
//Остановить поток можно в любой момент
TextShow=0;
а это ч по твоему?
(Offline)
 
Старый 12.02.2006, 23:25   #14
jimon
 
Сообщений: n/a
а теперь преврати етот код для борланда в код под MSVC )
 
Старый 13.02.2006, 00:23   #15
alex-mad
Модератор
 
Регистрация: 13.09.2005
Сообщений: 1,835
Написано 6 полезных сообщений
(для 10 пользователей)
Хорошо

чем этот код тебе не нравится?
(Offline)
 
Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сеть в играх. Данил Blitz3D 36 30.04.2011 23:21
Музыка в играх Данил Болтовня 13 30.10.2007 13:24
Реализация сетевых механизмов в играх и Blitz Armageddon 3D-программирование 1 08.01.2007 16:26
Подскажите как вывести msgbox... untonee 3D-программирование 2 01.11.2006 16:30


Часовой пояс GMT +4, время: 01:59.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com