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

  #11  
Старый 05.12.2016, 19:27
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

Хук DirectX, работают все функи, коме DrawLine. Спиздил ее отсюда: https://github.com/BlastHackNet/mod_.../d3drender.cpp

Вот вызовы:







C++:





Код:
pD3DHook
->
pRender
->
DrawLine
(
v
[
0
]
,
v
[
1
]
,
0xffff0000
)
;
pD3DHook
->
pRender
->
DrawLine
(
xy
[
0
]
,
xy
[
1
]
,
0xff00ff00
)
;


где v[2] и xy[2] имеют тип D3DXVECTOR3

v
заполнил вручную (1.0;1.0 ... 500.0, 500.0)
xy содержит 2д координаты (мои и таргета)
В результате должно быть две линии - красная(диагональ с левого верхнего угла экрана) и зеленая - от меня до цели.
Но нихуя. Рисует непонятно что (квадраты мои, на них внимание не обращайте):
Цитата:
Сообщение от Спойлер  


Если целюсь в педа с другой стороны - рисует вообще в другом месте:
Цитата:
Сообщение от Спойлер  


Если стать по другому. То ее вообще не видно будет.
Прямо внутри функи CD3DRender:: DrawLine сделал вывод координат в чат, так же отрендерил доп. инфу (слева). Числа правильные. Почему зеленая линия рисуется вообще не там, где мне нужно, а красной вообще нет?

Вот функция из соба(из сурса, ссылка на который в начале сообщения), в ней абсолютно ничего не менял, только добавил вывод в чат

C++:





Код:
bool
CD3DRender
::
DrawLine
(
const
D3DXVECTOR3
&
a
,
const
D3DXVECTOR3
&
b
,
DWORD dwColor
)
{
if
(
FAILED
(
CD3DBaseRender
::
BeginRender
(
)
)
)
return
false
;
////////////////////////////////////////////////////
// Make sure we have a valid vertex buffer.
if
(
m_pD3Dbuf
==
NULL
)
{
return
false
;
}
m_pD3Ddev
->
SetTextureStageState
(
0
,
D3DTSS_COLOROP
,
D3DTOP_SELECTARG2
)
;
m_pD3Ddev
->
SetTextureStageState
(
0
,
D3DTSS_ALPHAOP
,
D3DTOP_SELECTARG2
)
;
//m_pD3Ddev->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
//m_pD3Ddev->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE );
m_pD3Ddev
->
SetRenderState
(
D3DRS_CLIPPING
,
false
)
;
m_pD3Ddev
->
SetRenderState
(
D3DRS_ZENABLE
,
false
)
;
//m_pD3Ddev->SetRenderState ( D3DRS_LIGHTING, false );
D3DLVERTEX    lineList
[
2
]
;
//////////////////////////////////////////////////
// Lock the vertex buffer and copy in the verts.
m_pD3Dbuf
->
Lock
(
0
,
0
,
(
void
*
*
)
&
lineList
,
D3DLOCK_DISCARD
|
D3DLOCK_NOSYSLOCK
)
;
// flogs: D3DLOCK_NOSYSLOCK, D3DLOCK_DISCARD
{
lineList
[
0
]
.
x
=
a
.
x
;
lineList
[
0
]
.
y
=
a
.
y
;
lineList
[
0
]
.
z
=
a
.
z
;
lineList
[
0
]
.
color
=
dwColor
;
lineList
[
0
]
.
specular
=
dwColor
;
lineList
[
1
]
.
x
=
b
.
x
;
lineList
[
1
]
.
y
=
b
.
y
;
lineList
[
1
]
.
z
=
b
.
z
;
lineList
[
1
]
.
color
=
dwColor
;
lineList
[
1
]
.
specular
=
dwColor
;
}
m_pD3Dbuf
->
Unlock
(
)
;
// store FVF to restore original at the end of this function
DWORD        fvf
;
m_pD3Ddev
->
GetFVF
(
&
fvf
)
;
m_pD3Ddev
->
SetFVF
(
D3DFVF_LVERTEX
)
;
//m_pD3Ddev->SetFVF( D3DFVF_PRIMITIVES );
////////////////////////////////////////////////////
// Draw!
p1c
->
addMessageToChat
(
0xFFe1e1e1
,
"1) %.1f %.1f %.1f %.1f | %x"
,
a
.
x
,
a
.
y
,
b
.
x
,
b
.
y
,
dwColor
)
;
p1c
->
addMessageToChat
(
0xFFc1c1c1
,
"2) %.1f %.1f %.1f %.1f | %x"
,
lineList
[
0
]
.
x
,
lineList
[
0
]
.
y
,
lineList
[
1
]
.
x
,
lineList
[
1
]
.
y
,
dwColor
)
;
m_pD3Ddev
->
DrawPrimitiveUP
(
D3DPT_LINESTRIP
,
1
,
lineList
,
sizeof
(
lineList
)
/
2
)
;
// reset states
m_pD3Ddev
->
SetTextureStageState
(
0
,
D3DTSS_COLOROP
,
D3DTOP_MODULATE
)
;
m_pD3Ddev
->
SetTextureStageState
(
0
,
D3DTSS_ALPHAOP
,
D3DTOP_MODULATE
)
;
m_pD3Ddev
->
SetRenderState
(
D3DRS_ZENABLE
,
true
)
;
m_pD3Ddev
->
SetRenderState
(
D3DRS_CLIPPING
,
true
)
;
// restore FVF
m_pD3Ddev
->
SetFVF
(
fvf
)
;
CD3DBaseRender
::
EndRender
(
)
;
return
true
;
}

Была такая проблема. Пизди линии из antTweakBar
 
Ответить с цитированием
 





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

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