
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
|
|
|