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

q0_

Известный
150
23
Можно ли разобрать собейт и покопаться в нем?
 

Soting

Новичок
2
0
1.Ваш вопрос: как "взять" координаты позади игрока? (хочу реализовать телепорт за спину), я пробовал сделать на примере stick`a но получилось.
 

Skel

Потрачен
92
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1.Ваш вопрос: как "взять" координаты позади игрока? (хочу реализовать телепорт за спину), я пробовал сделать на примере stick`a но получилось.

Делаешь тп к игроку,и отнимаешь себе координаты,если что добався в скайп polishyk20 , помогу
 

Soting

Новичок
2
0
я некорректно задал вопрос, мне нужно отнять, ну или прибавить координату относительно игрока а не карты к примеру взять CLEO опкод:
04C4: store_coords_to 1@ 2@ 3@ from_actor 28@ with_offset 10.0 0.0 0.0
это значит что мы записали координаты в переменные 1@ 2@ 3@ на против игрока с хэндлом 28@, в данном случае with_offset 10.0 0.0 0.0 если телепортнуться по этим кордам то я буду впереди игрока, а если изменять корды из примера warp`a по команде то ты появляешься слева или справа, а может и позади.
 

Skel

Потрачен
92
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
вот функция:
void potok228()
{
float fPos[3];
float speed[3];
fPos[0] = 2230.9578;
fPos[1] = -2285.3037;
fPos[2] = 14.3751;
g_RakClient->SendFakeOnFootSyncData(fPos, speed);
Sleep(8000);
fPos[0] = 2171.5110;
fPos[1] = -2255.3018;
fPos[2] = 13.3038;
g_RakClient->SendFakeOnFootSyncData(fPos, speed);
}
void cheat_handle_bot()
{
traceLastFunc( "cheat_handle_bot()" );
if ( KEY_PRESSED(set.key_bot) )
{

if( cheat_state->_generic.bot == 1 )
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)potok228, 0, 0, 0);
}
}
cheat_state->_generic.bot == 0;
}
вот пакет
void RakClient::SendFakeOnFootSyncData(float fPos[3], float speed[3])
{
ONFOOT_SYNC_DATA picSync;
memset(&picSync, 0, sizeof(ONFOOT_SYNC_DATA));
BitStream bsOnfootSync;
picSync.vecPos[0] = fPos[0];
picSync.vecPos[1] = fPos[1];
picSync.vecPos[2] = fPos[2];
picSync.vecMoveSpeed[0] = speed[0];
picSync.vecMoveSpeed[1] = speed[1];
picSync.vecMoveSpeed[2] = speed[2];
bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
bsOnfootSync.Write((PCHAR)&picSync,sizeof(ONFOOT_SYNC_DATA));
g_RakClient->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
}
функа не пашет,помогите :3
 

Maddy

Известный
34
11
вот функция:
void potok228()
{
float fPos[3];
float speed[3];
fPos[0] = 2230.9578;
fPos[1] = -2285.3037;
fPos[2] = 14.3751;
g_RakClient->SendFakeOnFootSyncData(fPos, speed);
Sleep(8000);
fPos[0] = 2171.5110;
fPos[1] = -2255.3018;
fPos[2] = 13.3038;
g_RakClient->SendFakeOnFootSyncData(fPos, speed);
}
void cheat_handle_bot()
{
traceLastFunc( "cheat_handle_bot()" );
if ( KEY_PRESSED(set.key_bot) )
{

if( cheat_state->_generic.bot == 1 )
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)potok228, 0, 0, 0);
}
}
cheat_state->_generic.bot == 0;
}
вот пакет
void RakClient::SendFakeOnFootSyncData(float fPos[3], float speed[3])
{
ONFOOT_SYNC_DATA picSync;
memset(&picSync, 0, sizeof(ONFOOT_SYNC_DATA));
BitStream bsOnfootSync;
picSync.vecPos[0] = fPos[0];
picSync.vecPos[1] = fPos[1];
picSync.vecPos[2] = fPos[2];
picSync.vecMoveSpeed[0] = speed[0];
picSync.vecMoveSpeed[1] = speed[1];
picSync.vecMoveSpeed[2] = speed[2];
bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
bsOnfootSync.Write((PCHAR)&picSync,sizeof(ONFOOT_SYNC_DATA));
g_RakClient->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
}
функа не пашет,помогите :3

Код:
void potok228() 
{
// Краткое описание: тут вообщем наша функция, которую мы запихнем в отдельный поток
// Засовываем все действия в цикл ( while() ) , чтобы они повторялись если cheat_state->_generic.bot равен одному
while(cheat_state->_generic.bot)
{
float fPos1[3] = {2230.9578, -2285.3037,-2285.3037}; // массив с координатами #1
float fPos2[3] = {2171.5110, 2255.3018,13.3038}; // массив с координатами #2
float speed[3] = { 0,0,0}; // скорость актера
g_RakClient->SendFakeOnFootSyncData(fPos, speed); // выполняем онфут синхру по координатам #1
Sleep(8000);
g_RakClient->SendFakeOnFootSyncData(fPos2, speed); // выполняем онфут синхру по координатам #2
// тут тоже можно поставить задержку ( Sleep() ). Пусть будет 1 секунда
Sleep(1000);
}
}
 
void cheat_handle_bot() 
{
traceLastFunc( "cheat_handle_bot()" );
 
// кнопку переделал. думаю разберешься
if ( KEY_PRESSED(set.key_bot) ) 
{ 
if(cheat_state->_generic.bot == 0 )
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)potok228, 0, 0, 0);
cheat_state->_generic.bot = 1;
}
else cheat_state->_generic.bot = 0;
}
 
}
}

Не проверял,но вроде должно работать
 

Maddy

Известный
34
11
int ThreadCreated = 0; // Чтобы не создавать хуеву тучу потоков

void potok228()
{
// Краткое описание: тут вообщем наша функция, которую мы запихнем в отдельный поток
// Засовываем все действия в цикл ( while() ) , чтобы они повторялись если cheat_state->_generic.bot равен одному
while(cheat_state->_generic.bot)
{
float fPos1[3] = {2230.9578, -2285.3037,-2285.3037}; // массив с координатами #1
float fPos2[3] = {2171.5110, 2255.3018,13.3038}; // массив с координатами #2
float speed[3] = { 0,0,0}; // скорость актера
g_RakClient->SendFakeOnFootSyncData(fPos, speed); // выполняем онфут синхру по координатам #1
Sleep(8000);
g_RakClient->SendFakeOnFootSyncData(fPos2, speed); // выполняем онфут синхру по координатам #2
// тут тоже можно поставить задержку ( Sleep() ). Пусть будет 1 секунда
Sleep(1000);
}
}

void cheat_handle_bot()
{
traceLastFunc( "cheat_handle_bot()" );

// кнопку переделал. думаю разберешься
if ( KEY_PRESSED(set.key_bot) )
{
if(cheat_state->_generic.bot == 0 ) // ВКЛ
{
if(ThreadCreated == 0 )// Чтобы не создавать хуеву тучу потоков
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)potok228, 0, 0, 0);
ThreadCreated = 1;
}
cheat_state->_generic.bot = 1;
}
else cheat_state->_generic.bot = 0; // ВЫКЛ
}

}
}
 
  • Нравится
Реакции: Skel

Skel

Потрачен
92
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
int ThreadCreated = 0; // Чтобы не создавать хуеву тучу потоков

void potok228()
{
// Краткое описание: тут вообщем наша функция, которую мы запихнем в отдельный поток
// Засовываем все действия в цикл ( while() ) , чтобы они повторялись если cheat_state->_generic.bot равен одному
while(cheat_state->_generic.bot)
{
float fPos1[3] = {2230.9578, -2285.3037,-2285.3037}; // массив с координатами #1
float fPos2[3] = {2171.5110, 2255.3018,13.3038}; // массив с координатами #2
float speed[3] = { 0,0,0}; // скорость актера
g_RakClient->SendFakeOnFootSyncData(fPos, speed); // выполняем онфут синхру по координатам #1
Sleep(8000);
g_RakClient->SendFakeOnFootSyncData(fPos2, speed); // выполняем онфут синхру по координатам #2
// тут тоже можно поставить задержку ( Sleep() ). Пусть будет 1 секунда
Sleep(1000);
}
}

void cheat_handle_bot()
{
traceLastFunc( "cheat_handle_bot()" );

// кнопку переделал. думаю разберешься
if ( KEY_PRESSED(set.key_bot) )
{
if(cheat_state->_generic.bot == 0 ) // ВКЛ
{
if(ThreadCreated == 0 )// Чтобы не создавать хуеву тучу потоков
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)potok228, 0, 0, 0);
ThreadCreated = 1;
}
cheat_state->_generic.bot = 1;
}
else cheat_state->_generic.bot = 0; // ВЫКЛ
}

}
}

не пашет,кикает
 

Maddy

Известный
34
11

Код:
int ThreadCreated = 0; // Чтобы не создавать хуеву тучу потоков
 
void potok228()
{
// Краткое описание: тут вообщем наша функция, которую мы запихнем в отдельный поток
// Засовываем все действия в цикл ( while() ) , чтобы они повторялись если cheat_state->_generic.bot равен одному
while(cheat_state->_generic.bot)
{
float fPos1[3] = {2230.9578, -2285.3037,-2285.3037}; // массив с координатами #1
float fPos2[3] = {2171.5110, 2255.3018,13.3038}; // массив с координатами #2
float speed[3] = { 0,0,0}; // скорость актера
g_RakClient->SendFakeOnFootSyncData(fPos, speed); // выполняем онфут синхру по координатам #1
Sleep(8000);
g_RakClient->SendFakeOnFootSyncData(fPos2, speed); // выполняем онфут синхру по координатам #2
Sleep(8000);
}
}
 
void cheat_handle_bot()
{
traceLastFunc( "cheat_handle_bot()" );
 
// кнопку переделал. думаю разберешься
if ( KEY_PRESSED(set.key_bot) )
{
if(cheat_state->_generic.bot == 0 ) // ВКЛ
{
if(ThreadCreated == 0 )// Чтобы не создавать хуеву тучу потоков
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)potok228, 0, 0, 0);
ThreadCreated = 1;
}
cheat_state->_generic.bot = 1;
}
else cheat_state->_generic.bot = 0; // ВЫКЛ
}
 
}
}

вот так попробуй. после каждого тп надо таймер, это бот грузчик сампрп я угадал? я просто не проверял даже код, писал в блокноте