
26.09.2016, 14:12
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
@Picador похоже что игра перенаправляет вывод. это как-то можно пофиксить, но как я не знаю, не приходилось аттачить консоль к sa.
|
|
|

26.09.2016, 15:04
|
|
Новичок
Регистрация: 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
(
)
;
Программу крашит
|
|
|

26.09.2016, 15:34
|
|
Познавший АНТИЧАТ
Регистрация: 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++, мы тут не собираемся тебя обучать
|
|
|

26.09.2016, 21:56
|
|
Участник форума
Регистрация: 12.01.2016
Сообщений: 205
С нами:
5438612
Репутация:
68
|
|
Можно, пожалуйста, пример, как через dll написать что-нибудь в чат?
|
|
|

27.09.2016, 00:13
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Perojek)0
Можно, пожалуйста, пример, как через dll написать что-нибудь в чат?
Вызвать AddChatWnd, в собе есть адрес
|
|
|

27.09.2016, 10:52
|
|
Постоянный
Регистрация: 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
)
;
}
|
|
|

27.09.2016, 12:21
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от iAmerican
char tmp[512];
144 максимум.
Сообщение от iAmerican
memset(tmp, 0, 512);
в c++11 можно так:
char tmp[512] = { 0 };
|
|
|

27.09.2016, 12:36
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
Сообщение от SR_team
в c++11 можно так:
char tmp[512] = { 0 };
так можно и в си.
@iAmerican будет вылетать, т.к. g_Chat == 0.
|
|
|

27.09.2016, 13:42
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от FYP
так можно и в си.
@iAmerican будет вылетать, т.к. g_Chat == 0.
Я стандартов C не знаю, а вот в C++98 такого вроде нельзя было делать
|
|
|

27.09.2016, 14:18
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|