Другое С/С++ Вопрос - Ответ

NarutoUA

NarutoUA
BH Team
692
1,539
можно ли из исходников мта вырезать некоторые функции и всунуть в самп? (например, поддержка lua скриптов, шейдеров и т.д)
 

Norma_Cheater

Новичок
141
6
Как сделать что бы я нажал например кнопку "9" и рядом появилась жёлтая надпись "Встань тут" типо / teleport: 0
 

Skel

Потрачен
92
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как сделать что бы я нажал например кнопку "9" и рядом появилась жёлтая надпись "Встань тут" типо / teleport: 0
void RenderTeleportTexts ( void )
{
inti;
struct actor_info*self = actor_info_get( ACTOR_SELF, 0 );
charbuf[32];

if ( cheat_state->_generic.cheat_panic_enabled )
return;

if ( self != NULL )
{
for ( i = 0; i < TELEPORT_MAX; i++ )
{
floatpos[3], screenpos[3];
D3DXVECTOR3 poss, screenposs;
vect3_copy( &cheat_state->teleport.matrix[4 * 3], pos );
if ( vect3_near_zero(pos) )
continue;
if ( vect3_dist(pos, &self->base.matrix[4 * 3]) > set.player_tags_dist )
continue;

poss.x = pos[0];
poss.y = pos[1];
poss.z = pos[2];
CalcScreenCoors( &poss, &screenposs );
screenpos[0] = screenposs.x;
screenpos[1] = screenposs.y;
screenpos[2] = screenposs.z;
if ( screenpos[2] < 1.f )
continue;

sprintf( buf, "Teleport: %d", i );
pD3DFontFixed->PrintShadow( screenpos[0], screenpos[1] - 5.0f, D3DCOLOR_XRGB(0, 200, 200), buf );
}
}
}

наверно это
 

Norma_Cheater

Новичок
141
6
void RenderTeleportTexts ( void )
{
inti;
struct actor_info*self = actor_info_get( ACTOR_SELF, 0 );
charbuf[32];

if ( cheat_state->_generic.cheat_panic_enabled )
return;

if ( self != NULL )
{
for ( i = 0; i < TELEPORT_MAX; i++ )
{
floatpos[3], screenpos[3];
D3DXVECTOR3 poss, screenposs;
vect3_copy( &cheat_state->teleport.matrix[4 * 3], pos );
if ( vect3_near_zero(pos) )
continue;
if ( vect3_dist(pos, &self->base.matrix[4 * 3]) > set.player_tags_dist )
continue;

poss.x = pos[0];
poss.y = pos[1];
poss.z = pos[2];
CalcScreenCoors( &poss, &screenposs );
screenpos[0] = screenposs.x;
screenpos[1] = screenposs.y;
screenpos[2] = screenposs.z;
if ( screenpos[2] < 1.f )
continue;

sprintf( buf, "Teleport: %d", i );
pD3DFontFixed->PrintShadow( screenpos[0], screenpos[1] - 5.0f, D3DCOLOR_XRGB(0, 200, 200), buf );
}
}
}

наверно это
Да код я видел, я уже кажется понял как сделать
 

Skel

Потрачен
92
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
static DWORD time = 0;
if (GetTickCount() -11000 > time) // время
{
float x = *(float *)(0xC7DD58+48+160);
float y = *(float *)(0xC7DD58+52+160);
float z = *(float *)(0xC7DD58+56+160);
if((x > 2695 && x < 2696 && y > -1705 && y < -1704) || (x > 1099 && x < 1100 && y > 1601 && y < 1602) || (x == 0 && y == 0) || *(WORD *) (0xC7DD58+80+160));
float pos[3] = {x,y,z};
cheat_teleport(pos,0);
}
Корочё это тп по чекпоинтам.Но столкнулся с проблемой при телепорте более 100 метров кик,как сделать чтоб если дистанция больше нужной, был переход к следующему чекпоинту
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,260
1,742
static DWORD time = 0;
if (GetTickCount() -11000 > time) // время
{
float x = *(float *)(0xC7DD58+48+160);
float y = *(float *)(0xC7DD58+52+160);
float z = *(float *)(0xC7DD58+56+160);
if((x > 2695 && x < 2696 && y > -1705 && y < -1704) || (x > 1099 && x < 1100 && y > 1601 && y < 1602) || (x == 0 && y == 0) || *(WORD *) (0xC7DD58+80+160));
float pos[3] = {x,y,z};
cheat_teleport(pos,0);
}
Корочё это тп по чекпоинтам.Но столкнулся с проблемой при телепорте более 100 метров кик,как сделать чтоб если дистанция больше нужной, был переход к следующему чекпоинту

я вижу лишь кучу говнокода, не иначе..
и вообще такие вещи делаются через структуру чекпоинтов, где и хранится вся инфа с которой очень удобно работать
 

Skel

Потрачен
92
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я вижу лишь кучу говнокода, не иначе..
и вообще такие вещи делаются через структуру чекпоинтов, где и хранится вся инфа с которой очень удобно работать

можешь сделать урок/привести пример?
 

NarutoUA

NarutoUA
BH Team
692
1,539
Как создать диалог типа list, и при выборе пункта из списка выполнялась функция?