
20.08.2013, 18:49
|
|
Новичок
Регистрация: 28.06.2013
Сообщений: 2
С нами:
6775002
Репутация:
0
|
|
1.Ваш вопрос: как "взять" координаты позади игрока? (хочу реализовать телепорт за спину), я пробовал сделать на примере stick`a но получилось.
|
|
|

20.08.2013, 19:39
|
|
Познающий
Регистрация: 31.03.2013
Сообщений: 92
С нами:
6903095
Репутация:
0
|
|
Сообщение от Soting
1.Ваш вопрос: как "взять" координаты позади игрока? (хочу реализовать телепорт за спину), я пробовал сделать на примере stick`a но получилось.
Делаешь тп к игроку,и отнимаешь себе координаты,если что добався в скайп polishyk20 , помогу
|
|
|

20.08.2013, 20:03
|
|
Новичок
Регистрация: 28.06.2013
Сообщений: 2
С нами:
6775002
Репутация:
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 по команде то ты появляешься слева или справа, а может и позади.
|
|
|

22.08.2013, 09:45
|
|
Новичок
Регистрация: 03.07.2013
Сообщений: 12
С нами:
6767880
Репутация:
0
|
|
Можно ли сделать в собейте время сервера? а не компьютера
|
|
|

22.08.2013, 11:09
|
|
Познающий
Регистрация: 31.03.2013
Сообщений: 92
С нами:
6903095
Репутация:
0
|
|
Сообщение от Nikolay1994
Можно ли сделать в собейте время сервера? а не компьютера
можно,но я не знаю как 
|
|
|

23.08.2013, 11:28
|
|
Познающий
Регистрация: 31.03.2013
Сообщений: 92
С нами:
6903095
Репутация:
0
|
|
вот функция:
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_S YNC_DATA));
g_RakClient->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
}
функа не пашет,помогите :3
|
|
|

23.08.2013, 15:39
|
|
Познающий
Регистрация: 08.04.2013
Сообщений: 35
С нами:
6891688
Репутация:
58
|
|
Сообщение от Skel
вот функция:
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_S YNC_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;
}
}
}
Не проверял,но вроде должно работать
|
|
|

23.08.2013, 15:59
|
|
Познающий
Регистрация: 08.04.2013
Сообщений: 35
С нами:
6891688
Репутация:
58
|
|
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; // ВЫКЛ
}
}
}
|
|
|

23.08.2013, 23:37
|
|
Познающий
Регистрация: 31.03.2013
Сообщений: 92
С нами:
6903095
Репутация:
0
|
|
Сообщение от Maddy
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; // ВЫКЛ
}
}
}
не пашет,кикает
|
|
|

24.08.2013, 20:11
|
|
Познающий
Регистрация: 08.04.2013
Сообщений: 35
С нами:
6891688
Репутация:
58
|
|
задержку ставь
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|