Учи ООП. Это идет класс в классе. Да простит меня фип, если я не прав.Как сделать такое:
Класс->Группа->функция;
Типа
SFPlugin->Client()->SendMes();
У меня выходит только так:
Класс->Функция;
Хочу свои классы с группами написать, но не выходит.
Учи ООП. Это идет класс в классе. Да простит меня фип, если я не прав.Как сделать такое:
Класс->Группа->функция;
Типа
SFPlugin->Client()->SendMes();
У меня выходит только так:
Класс->Функция;
Хочу свои классы с группами написать, но не выходит.
void RedirectIOToConsole()
RedirectIOToConsole();
_beginthread(DLLProject, NULL, NULL);
cout << "Test output to cout" << endl;
cerr << "cerr" << endl;
clog << "clog" << endl;
cout << "cout";
wcout << L"wcout" << endl;
wcerr << L"wcerr" << endl;
wclog << L"wclog" << endl;
fprintf(stdout, "fprintf\n");
printf("printf");
потому что под указатель Client не выделена память, а ты обращаешься к немуПорылся, вот че накидал
C++:class date { public: bool CMDS() { // Действие return true; } }; class Cedit { public: date *Client; }; class Cedit *Plugin;
Вот так использую
Программу крашитC++:Plugin->Client->CMDS();
Вызвать AddChatWnd, в собе есть адресМожно, пожалуйста, пример, как через dll написать что-нибудь в чат?
Вместо cout шли инфу в функцию по адресу 0x00821982, это вывод в который стучит играМожет что-то не так понял, но:
добавил функцию
потом в bool WINAPI DllMain после выполнения условия DLL_PROCESS_ATTACH добавилC++:void RedirectIOToConsole()
после чего в след. строке начал потокC++:RedirectIOToConsole();
В DLLProject сделал вывод текста разными способами:C++:_beginthread(DLLProject, NULL, NULL);
В консоль ничего из этого не выводится. Но там появляется строка "Initialised SoundManager, которая вообще хер пойми откуда берется.C++:cout << "Test output to cout" << endl; cerr << "cerr" << endl; clog << "clog" << endl; cout << "cout"; wcout << L"wcout" << endl; wcerr << L"wcerr" << endl; wclog << L"wclog" << endl; fprintf(stdout, "fprintf\n"); printf("printf");
Можно, пожалуйста, пример, как через dll написать что-нибудь в чат?
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);
}
144 максимум.char tmp[512];
в c++11 можно так:memset(tmp, 0, 512);
так можно и в си.в c++11 можно так:
char tmp[512] = { 0 };
Я стандартов C не знаю, а вот в C++98 такого вроде нельзя было делатьтак можно и в си.
@iAmerican будет вылетать, т.к. g_Chat == 0.
https://github.com/MISTERGONWIK/efc/blob/master/sampBase.hppМожно, пожалуйста, пример, как через dll написать что-нибудь в чат?