HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1151  
Старый 26.09.2016, 11:38
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от #WH1SKEY  

Как сделать такое:
Класс->Группа->функция;
Типа
SFPlugin->Client()->SendMes();

У меня выходит только так:
Класс->Функция;

Хочу свои классы с группами написать, но не выходит.
Учи ООП. Это идет класс в классе. Да простит меня фип, если я не прав.
 
Ответить с цитированием

  #1152  
Старый 26.09.2016, 14:03
p1cador
Участник форума
Регистрация: 19.03.2014
Сообщений: 222
С нами: 6395080

Репутация: 128
По умолчанию

Может что-то не так понял, но:

добавил функцию

C++:





Код:
void
RedirectIOToConsole
(
)


потом в bool WINAPI DllMain после выполнения условия DLL_PROCESS_ATTACH добавил

C++:





Код:
RedirectIOToConsole
(
)
;


после чего в след. строке начал поток

C++:





Код:
_beginthread
(
DLLProject
,
NULL
,
NULL
)
;


В DLLProject сделал вывод текста разными способами:

C++:





[CODE]
cout



В консоль ничего из этого не выводится. Но там появляется строка "Initialised SoundManager, которая вообще хер пойми откуда берется.
 
Ответить с цитированием

  #1153  
Старый 26.09.2016, 14:12
FYP
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами: 6935121

Репутация: 233


По умолчанию

@Picador похоже что игра перенаправляет вывод. это как-то можно пофиксить, но как я не знаю, не приходилось аттачить консоль к sa.
 
Ответить с цитированием

  #1154  
Старый 26.09.2016, 15:04
#WH1SKEY
Новичок
Регистрация: 19.09.2016
Сообщений: 6
С нами: 5077190

Репутация: 0
По умолчанию

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

C++:





Код:
class
date
{
public
:
bool
CMDS
(
)
{
// Действие
return
true
;
}
}
;
class
Cedit
{
public
:
date
*
Client
;
}
;
class
Cedit
*
Plugin
;


Вот так использую

C++:





Код:
Plugin
->
Client
->
CMDS
(
)
;


Программу крашит
 
Ответить с цитированием

  #1155  
Старый 26.09.2016, 15:34
MISTER_GONWIK
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,262
С нами: 6935116

Репутация: 183


По умолчанию

Цитата:
Сообщение от #WH1SKEY  

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

C++:





Код:
class
date
{
public
:
bool
CMDS
(
)
{
// Действие
return
true
;
}
}
;
class
Cedit
{
public
:
date
*
Client
;
}
;
class
Cedit
*
Plugin
;


Вот так использую

C++:





Код:
Plugin
->
Client
->
CMDS
(
)
;


Программу крашит
потому что под указатель Client не выделена память, а ты обращаешься к нему

и вообще, иди не позорься, почитай нормально о C++, мы тут не собираемся тебя обучать
 
Ответить с цитированием

  #1156  
Старый 26.09.2016, 21:56
Perojek)0
Участник форума
Регистрация: 12.01.2016
Сообщений: 205
С нами: 5438612

Репутация: 68
По умолчанию

Можно, пожалуйста, пример, как через dll написать что-нибудь в чат?
 
Ответить с цитированием

  #1157  
Старый 27.09.2016, 00:13
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Цитата:
Сообщение от Perojek)0  

Можно, пожалуйста, пример, как через dll написать что-нибудь в чат?
Вызвать AddChatWnd, в собе есть адрес
 
Ответить с цитированием

  #1158  
Старый 27.09.2016, 00:23
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

[QUOTE="Picador"]

Может что-то не так понял, но:
добавил функцию

C++:





Код:
void
RedirectIOToConsole
(
)


потом в bool WINAPI DllMain после выполнения условия DLL_PROCESS_ATTACH добавил

C++:





Код:
RedirectIOToConsole
(
)
;


после чего в след. строке начал поток

C++:





Код:
_beginthread
(
DLLProject
,
NULL
,
NULL
)
;


В DLLProject сделал вывод текста разными способами:

C++:





[CODE]
cout
 
Ответить с цитированием

  #1159  
Старый 27.09.2016, 10:52
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

Цитата:
Сообщение от Perojek)0  

Можно, пожалуйста, пример, как через dll написать что-нибудь в чат?
ну как то так

C++:





Код:
stChatInfo
*
g_Chat
=
0x0
;
#define SAMP_FUNC_ADDTOCHATWND                        0x064010
void
addMessageToChat
(
D3DCOLOR cColor
,
char
*
szMsg
,
.
.
.
)
{
void
(
__thiscall
*
AddToChatWindowBuffer
)
(
const
void
*
_this
,
int
iType
,
char
*
szText
,
char
*
szPrefix
,
DWORD cColor
,
DWORD cPrefixColor
)
=
(
void
(
__thiscall
*
)
(
const
void
*
,
int
,
char
*
,
char
*
,
DWORD
,
DWORD
)
)
(
dwSAMPAddr
+
SAMP_FUNC_ADDTOCHATWND
)
;
va_list ap
;
char
tmp
[
512
]
;
memset
(
tmp
,
0
,
512
)
;
va_start
(
ap
,
szMsg
)
;
vsnprintf
(
tmp
,
sizeof
(
tmp
)
-
1
,
szMsg
,
ap
)
;
va_end
(
ap
)
;
return
AddToChatWindowBuffer
(
(
void
*
)
g_Chat
,
8
,
tmp
,
NULL
,
cColor
,
0x00
)
;
}
 
Ответить с цитированием

  #1160  
Старый 27.09.2016, 12:21
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Цитата:
Сообщение от iAmerican  

char tmp[512];
144 максимум.

Цитата:
Сообщение от iAmerican  

memset(tmp, 0, 512);
в c++11 можно так:

char tmp[512] = { 0 };
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.