 |
|

14.08.2016, 22:55
|
|
Новичок
Регистрация: 25.07.2015
Сообщений: 4
С нами:
5685447
Репутация:
0
|
|
Сообщение от Gabriel__
CVector *pos = ped->GetPosition();
ped->Teleport(pos->fX, pos->fY, pos->fZ);
Не работает. Может знаешь еще способ?
|
|
|

15.08.2016, 12:17
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от loominati
Не работает. Может знаешь еще способ?
Ты же на свои координаты телепортируешься.
|
|
|

15.08.2016, 12:19
|
|
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами:
5731627
Репутация:
108
|
|
Сообщение от Dark_Knight
Ты же на свои координаты телепортируешься.
Ну и анимация сбивается при телепортации.
|
|
|

15.08.2016, 12:20
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от Gabriel__
Ну и анимация сбивается при телепортации.
Это понятно. Но функа рабочая на 100 процентов.
|
|
|

17.08.2016, 02:40
|
|
Новичок
Регистрация: 25.07.2015
Сообщений: 4
С нами:
5685447
Репутация:
0
|
|
Сообщение от Dark_Knight
Это понятно. Но функа рабочая на 100 процентов.
Анимация не сбивается, не буду же я врать вам. Может не так беру CPed* локального игрока. Как это делаете вы? Хотя, например, ped->GetHealth() работает.
|
|
|

17.08.2016, 03:48
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от loominati
Анимация не сбивается, не буду же я врать вам. Может не так беру CPed* локального игрока. Как это делаете вы? Хотя, например, ped->GetHealth() работает.
У меня через PEDSELF->SetPosition(CVector &vector) сделано и мне этого хватает.
|
|
|

24.08.2016, 13:27
|
|
Участник форума
Регистрация: 23.10.2010
Сообщений: 125
С нами:
8186006
Репутация:
1
|
|
добавляю в proxyIDirect3DDevice9.cpp в renderSAMP после g_renderSAMP_initSAMPstructs
C++:
Код:
g_GameInfo
=
stGetGameInfo
(
)
;
if
(
isBadPtr_writeAny
(
g_GameInfo
,
sizeof
(
stGameInfo
)
)
)
return
;
Если добавляю в начало - краш.
Если в конец, то работает, но не рендерит clickWarp.
В Чём дело?
|
|
|

27.08.2016, 15:19
|
|
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами:
5731627
Репутация:
108
|
|
Хочу взять адрес метода класса и передать в функцию преобразовав в тип long но ошибка. Вроде можно брать адреса только со статических методов а они требуют статические переменные внутри класса. Помогите передать адрес. Вот код
C++:
Код:
class
HookedWndProc
{
public
:
HookedWndProc
(
HWND hWnd
,
WNDPROC WndProc
)
;
~
HookedWndProc
(
)
;
private
:
LRESULT CALLBACK
m_WindowProc
(
HWND hWnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
;
// data
HWND m_hWnd
;
WNDPROC m_WndProc
;
WNDPROC m_prevWndProc
;
}
;
HookedWndProc
::
HookedWndProc
(
HWND hWnd
,
WNDPROC WndProc
)
{
m_hWnd
=
hWnd
;
m_WndProc
=
WndProc
;
m_prevWndProc
=
(
WNDPROC
)
SetWindowLongA
(
m_hWnd
,
GWL_WNDPROC
,
/*error C2440: приведение типов*/
(
LONG
)
m_WindowProc
)
;
// Ставим свой Window proc
}
HookedWndProc
::
~
HookedWndProc
(
)
{
SetWindowLongA
(
m_hWnd
,
GWL_WNDPROC
,
(
LONG
)
m_prevWndProc
)
;
// Восстанавливаем прежний Window proc
}
LRESULT HookedWndProc
::
m_WindowProc
(
HWND hWnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
/* callback */
{
CallWindowProcA
(
this
->
m_WndProc
,
hWnd
,
uMsg
,
wParam
,
lParam
)
;
// Вызыв пользовательского Window proc
return
CallWindowProcA
(
this
->
m_prevWndProc
,
hWnd
,
uMsg
,
wParam
,
lParam
)
;
// Вызов оригинального
}
|
|
|

27.08.2016, 16:16
|
|
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами:
5706781
Репутация:
43
|
|
Сообщение от Gabriel__
Хочу взять адрес метода класса и передать в функцию преобразовав в тип long но ошибка. Вроде можно брать адреса только со статических методов а они требуют статические переменные внутри класса. Помогите передать адрес. Вот код
C++:
Код:
class
HookedWndProc
{
public
:
HookedWndProc
(
HWND hWnd
,
WNDPROC WndProc
)
;
~
HookedWndProc
(
)
;
private
:
LRESULT CALLBACK
m_WindowProc
(
HWND hWnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
;
// data
HWND m_hWnd
;
WNDPROC m_WndProc
;
WNDPROC m_prevWndProc
;
}
;
HookedWndProc
::
HookedWndProc
(
HWND hWnd
,
WNDPROC WndProc
)
{
m_hWnd
=
hWnd
;
m_WndProc
=
WndProc
;
m_prevWndProc
=
(
WNDPROC
)
SetWindowLongA
(
m_hWnd
,
GWL_WNDPROC
,
/*error C2440: приведение типов*/
(
LONG
)
m_WindowProc
)
;
// Ставим свой Window proc
}
HookedWndProc
::
~
HookedWndProc
(
)
{
SetWindowLongA
(
m_hWnd
,
GWL_WNDPROC
,
(
LONG
)
m_prevWndProc
)
;
// Восстанавливаем прежний Window proc
}
LRESULT HookedWndProc
::
m_WindowProc
(
HWND hWnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
/* callback */
{
CallWindowProcA
(
this
->
m_WndProc
,
hWnd
,
uMsg
,
wParam
,
lParam
)
;
// Вызыв пользовательского Window proc
return
CallWindowProcA
(
this
->
m_prevWndProc
,
hWnd
,
uMsg
,
wParam
,
lParam
)
;
// Вызов оригинального
}
Нужно что бы функция m_WindowProc была статической.
|
|
|

27.08.2016, 16:18
|
|
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами:
5731627
Репутация:
108
|
|
Сообщение от AWRage
Нужно что бы функция m_WindowProc была статической.
Да, и из-за этого переменные в private тоже делать статическими ?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|