 |
|

13.05.2013, 22:04
|
|
Участник форума
Регистрация: 29.04.2013
Сообщений: 141
С нами:
6861401
Репутация:
0
|
|
Проблема решена, не правильно ставил задержку.
|
|
|

14.05.2013, 14:28
|
|
Участник форума
Регистрация: 20.04.2013
Сообщений: 183
С нами:
6874759
Репутация:
83
|
|
Объясните, что не так и то, что я не понял, пожалуйста:з
Код:
Код:
void cheat_handle_coordmaster()
{
static int time=0;
if(cheat_state->_generic.coordmaster == 1) //если коорд мастер включен
{
if( GetTickCount()-set.coord_time > time ) //тайминг из .ini
{
if (*(int *)0xBA6774 != 0) //проверяем на наличие маркера(из последуйщего сообщения понял)
{
float mapPos[3]; //записываем переменную mapPos[3]
for ( int i = 0; i GetWorld()->FindGroundZForPosition( mapPos[0], mapPos[1] ) + 2.0f; //Z с маркера
float cpos[3] = {pPedSelf->GetPosition()->fX,pPedSelf->GetPosition()->fY,pPedSelf->GetPosition()->fZ}; //в cpos[3] пишем x y z текущие
char opa=0; //устанавливаем переменной opa значение 0
if(cpos[0] > mapPos[0]) //если текущий X меньше маркерного X
{
if(cpos[0]-mapPos[0] > set.coord_distance) cpos[0] -= set.coord_distance; //вычитаем из текущего Х маркерный Х и если меньше дальности из .ini, то вычитаем эту дальность
else //если проверка "вычитаем из текущего Х маркерный Х и если меньше дальности из .ini" не прошла, то:
{
cpos[0] = mapPos[0]; //устанавливаем текущему Х маркерный Х
opa++; //прибавляем к переменной opa 1
}
}
else //если проверка "если текущий X меньше маркерного X" не прошла, то:
{
if(mapPos[0]-cpos[0] > set.coord_distance) cpos[0] += set.coord_distance; //если маркерный Х минус текущий Х меньше дальности из .ini, то прибавляем эту дальность
else //если проверка "если маркерный Х минус текущий Х меньше дальности из .ini", то:
{
cpos[0] = mapPos[0]; //устанавливаем текущему Х маркерный Х
opa++; //прибавляем к переменной opa 1
}
}
if(cpos[1] > mapPos[1]) //если текущий У меньше маркерного У
{
if(cpos[1]-mapPos[1] > set.coord_distance) cpos[1] -= set.coord_distance; //вычитаем из текущего У маркерный У и если меньше дальности из .ini, то вычитаем эту дальность
else //если проверка "если меньше дальности из .ini", то:
{
cpos[1] = mapPos[1]; //устанавливаем текущему У маркерный У
opa++; //прибавляем к переменной opa 1
}
}
else //если проверка "если текущий У меньше маркерного У" не прошла, то:
{
if(mapPos[1]-cpos[1] > set.coord_distance) cpos[1] += set.coord_distance; //если маркерный У минус текущий У меньше дальности из .ini, то прибавляем эту дальность
else //если проверка "если маркерный У минус текущий У меньше дальности из .ini", то:
{
cpos[1] = mapPos[1]; //устанавливаем текущему У маркерный У
opa++; //прибавляем к переменной opa 1
}
}
if(opa == 2) //если opa равно двум
{
cpos[2] = mapPos[2]; //устанавливаем текущему Z маркерный Z
cheat_state->_generic.coordmaster = 0; //выключаем в менюшке
GTAfunc_TogglePlayerControllable(0); //unfreeze
GTAfunc_LockActor(0); //unfreeze
}
else cpos[2] = pGameInterface->GetWorld()->FindGroundZForPosition( cpos[0], cpos[1] )-20; //если проверка "если opa равно двум" не прошла то:
cheat_teleport(cpos,0); //то он что-то делает:C
}
}
}
else //если "проверяем на наличие маркера(из последуйщего сообщения понял)" не прошла
{
addMessageToChatWindow("Поставьте метку на карте!");
cheat_state->_generic.coordmaster = 0;
}
time = GetTickCount(); //не пойму, записывает время из .ini в gettickcount()? при том в МИНУС
}
}
return; //возвращемся
}
|
|
|

14.05.2013, 14:35
|
|
Участник форума
Регистрация: 29.04.2013
Сообщений: 141
С нами:
6861401
Репутация:
0
|
|
Вс
Сообщение от Thomas_Johnson
Объясните, что не так и то, что я не понял, пожалуйста:з
Код:
Код:
void cheat_handle_coordmaster()
{
static int time=0;
if(cheat_state->_generic.coordmaster == 1) //если коорд мастер включен
{
if( GetTickCount()-set.coord_time > time ) //тайминг из .ini
{
if (*(int *)0xBA6774 != 0) //проверяем на наличие маркера(из последуйщего сообщения понял)
{
float mapPos[3]; //записываем переменную mapPos[3]
for ( int i = 0; i GetWorld()->FindGroundZForPosition( mapPos[0], mapPos[1] ) + 2.0f; //Z с маркера
float cpos[3] = {pPedSelf->GetPosition()->fX,pPedSelf->GetPosition()->fY,pPedSelf->GetPosition()->fZ}; //в cpos[3] пишем x y z текущие
char opa=0; //устанавливаем переменной opa значение 0
if(cpos[0] > mapPos[0]) //если текущий X меньше маркерного X
{
if(cpos[0]-mapPos[0] > set.coord_distance) cpos[0] -= set.coord_distance; //вычитаем из текущего Х маркерный Х и если меньше дальности из .ini, то вычитаем эту дальность
else //если проверка "вычитаем из текущего Х маркерный Х и если меньше дальности из .ini" не прошла, то:
{
cpos[0] = mapPos[0]; //устанавливаем текущему Х маркерный Х
opa++; //прибавляем к переменной opa 1
}
}
else //если проверка "если текущий X меньше маркерного X" не прошла, то:
{
if(mapPos[0]-cpos[0] > set.coord_distance) cpos[0] += set.coord_distance; //если маркерный Х минус текущий Х меньше дальности из .ini, то прибавляем эту дальность
else //если проверка "если маркерный Х минус текущий Х меньше дальности из .ini", то:
{
cpos[0] = mapPos[0]; //устанавливаем текущему Х маркерный Х
opa++; //прибавляем к переменной opa 1
}
}
if(cpos[1] > mapPos[1]) //если текущий У меньше маркерного У
{
if(cpos[1]-mapPos[1] > set.coord_distance) cpos[1] -= set.coord_distance; //вычитаем из текущего У маркерный У и если меньше дальности из .ini, то вычитаем эту дальность
else //если проверка "если меньше дальности из .ini", то:
{
cpos[1] = mapPos[1]; //устанавливаем текущему У маркерный У
opa++; //прибавляем к переменной opa 1
}
}
else //если проверка "если текущий У меньше маркерного У" не прошла, то:
{
if(mapPos[1]-cpos[1] > set.coord_distance) cpos[1] += set.coord_distance; //если маркерный У минус текущий У меньше дальности из .ini, то прибавляем эту дальность
else //если проверка "если маркерный У минус текущий У меньше дальности из .ini", то:
{
cpos[1] = mapPos[1]; //устанавливаем текущему У маркерный У
opa++; //прибавляем к переменной opa 1
}
}
if(opa == 2) //если opa равно двум
{
cpos[2] = mapPos[2]; //устанавливаем текущему Z маркерный Z
cheat_state->_generic.coordmaster = 0; //выключаем в менюшке
GTAfunc_TogglePlayerControllable(0); //unfreeze
GTAfunc_LockActor(0); //unfreeze
}
else cpos[2] = pGameInterface->GetWorld()->FindGroundZForPosition( cpos[0], cpos[1] )-20; //если проверка "если opa равно двум" не прошла то:
cheat_teleport(cpos,0); //то он что-то делает:C
}
}
}
else //если "проверяем на наличие маркера(из последуйщего сообщения понял)" не прошла
{
addMessageToChatWindow("Поставьте метку на карте!");
cheat_state->_generic.coordmaster = 0;
}
time = GetTickCount(); //не пойму, записывает время из .ini в gettickcount()? при том в МИНУС
}
}
return; //возвращемся
}
Можно гораздо легче описать
Проверка стоит ли маркет на карте или нет, если не стоит то вывести в чат "Поставьте метку на карте!"
если стоит проверить если координаты маркета больше нашего то прибавить наши и т.д
правильно описал но это слегка кривой Coord Master
|
|
|

14.05.2013, 14:44
|
|
Участник форума
Регистрация: 29.04.2013
Сообщений: 141
С нами:
6861401
Репутация:
0
|
|
1.Ваш вопрос: Как заморозить машину? Актёра морозят так GTAfunc_LockActor(1);
|
|
|

14.05.2013, 15:09
|
|
Постоянный
Регистрация: 19.03.2013
Сообщений: 586
С нами:
6920791
Репутация:
113
|
|
Сообщение от Norma_Cheater
1.Ваш вопрос: Как заморозить машину? Актёра морозят так GTAfunc_LockActor(1);
2. предлагаю не лучший вариант но сам делал так
Код:
Код:
cheat_vehicle_air_brake_set( 1 );
|
|
|

14.05.2013, 16:15
|
|
Участник форума
Регистрация: 29.04.2013
Сообщений: 141
С нами:
6861401
Репутация:
0
|
|
Ты просто включаешь "Air Brk" ? Просто мне нужно тп + заморозка а аир тут не пойдёт
|
|
|

14.05.2013, 16:36
|
|
Постоянный
Регистрация: 19.03.2013
Сообщений: 586
С нами:
6920791
Репутация:
113
|
|
Сообщение от Norma_Cheater
Ты просто включаешь "Air Brk" ?
Нет
|
|
|

14.05.2013, 17:00
|
|
Участник форума
Регистрация: 29.04.2013
Сообщений: 141
С нами:
6861401
Репутация:
0
|
|
Хорошо сейчас попробую.
|
|
|

14.05.2013, 19:57
|
|
Участник форума
Регистрация: 29.04.2013
Сообщений: 141
С нами:
6861401
Репутация:
0
|
|
1.Ваш вопрос Вот решил сделать kicker пассажиров и столкнулся в такой проблемой вот код
Код:
Код:
void kick()
{
say("/eject %d", id );
Sleep(1000);
say("/eject %d", id );
Sleep(1000);
say("/eject %d", id );
}
void cmd_kick(char *params)
{
int id = atoi(params);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)kick, 0, 0, 0);
}
Как и где нужно зарегать atoi(params) что бы работало правильно?
|
|
|

14.05.2013, 20:22
|
|
Постоянный
Регистрация: 19.03.2013
Сообщений: 586
С нами:
6920791
Репутация:
113
|
|
Код:
Код:
void cmd_kick(char *params)
{
int &id = atoi(params);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)kick, 0, 0, 0);
}
void kick()
{
say("/eject %d", id );
Sleep(1000);
say("/eject %d", id );
Sleep(1000);
say("/eject %d", id );
}
Вроде так не проверял
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|