Всем привет, и это урок по добавлению в sobeit CarShot aka CarDrive
В samp.cpp
В cheat_generic.cpp
В cheat.h ко всем generic
Теперь в cheat_vehicle.cpp
Находим
Удаляем весь это-т void и ставим место него вот это-т код
Теперь в new_menu.cpp
С вами был Jesus, огромное спасибо FYP, EnD1ZeR,Cico, Могайка, MISTER_GONWIK Специально для сайта BlastHack.Net
При копировании указывать источник BlastHack.Net
В samp.cpp
Код:
if (cheat_state->_generic.cardrive == 1)
{
struct actor_info *self = actor_info_get(-1, ACTOR_ALIVE);
struct vehicle_info *info = vehicle_info_get( -1, 0 );
if (info != NULL)
{
self->fCurrentRotation = -pGame->GetCamera()->GetCameraRotation();
self->fTargetRotation = self->fCurrentRotation;
info->base.matrix[4] = sinf(-self->fCurrentRotation);
info->base.matrix[5] = cosf(-self->fCurrentRotation);
if (KEY_DOWN('W')) ///W для езды вперед
{
info->speed[0] = sinf(-self->fCurrentRotation) * 0.8; ///0.8 скорость
info->speed[1] = cosf(-self->fCurrentRotation) * 0.8;
}
if (KEY_DOWN('S'))///S для езды назад
{
info->speed[0] = sinf(-self->fCurrentRotation) * -0.5;
info->speed[1] = cosf(-self->fCurrentRotation) * -0.5;
}
if (KEY_DOWN(0x20))//Space для взлета
{
info->speed[2] += 0.05;
}
if (KEY_DOWN(0xA2))///LCtrl для приземления
{
info->speed[2] -= 0.05;
}
if (KEY_DOWN(0xA0))//LShift для торможения
{
info->speed[0] = 0.0;
info->speed[1] = 0.0;
}
}
}
В cheat_generic.cpp
Код:
void cheat_handle_cardrive()
{
traceLastFunc( "cheat_handle_cardrive()" );
if (cheat_state->_generic.cardrive == 1)
{
return;
}
}
В cheat.h ко всем generic
Код:
int cardrive;
Теперь в cheat_vehicle.cpp
Находим
Код:
void cheat_handle_vehicle_unflip ( struct vehicle_info *info, float time_diff )
Удаляем весь это-т void и ставим место него вот это-т код
Код:
void cheat_handle_vehicle_unflip ( struct vehicle_info *info, float time_diff )
{
traceLastFunc( "cheat_handle_vehicle_unflip()" );
if ( KEY_DOWN(set.key_unflip) || cheat_state->_generic.cardrive == 1 && cheat_state->state == CHEAT_STATE_VEHICLE )
{
struct vehicle_info *info = vehicle_info_get( VEHICLE_SELF, NULL );
struct actor_info *self = actor_info_get(ACTOR_SELF, ACTOR_ALIVE);
self->fCurrentRotation = -pGame->GetCamera()->GetCameraRotation();
self->fTargetRotation = self->fCurrentRotation;
traceLastFunc( "cheat_handle_vehicle_unflip()" );
float fTimeStep = *(float *)0xB7CB5C;
CVehicle *cveh = getSelfCVehicle();
CVector cvehGrav;
CMatrix cvehMatrix;
cveh->GetGravity( &cvehGrav );
cveh->GetMatrix( &cvehMatrix );
CVector rotationAxis = cheat_vehicle_getPositionUnder( cveh );
cvehGrav.Normalize();
rotationAxis.Normalize();
float theta = acos( rotationAxis.DotProduct(&cvehGrav) );
if ( !near_zero(theta) )
{
rotationAxis.CrossProduct( &cvehGrav );
rotationAxis.Normalize();
rotationAxis.ZeroNearZero();
cvehMatrix = cvehMatrix.Rotate( &rotationAxis, -theta );
}
theta = M_PI / ( 75.0f / fTimeStep );
CVector slowTurnAxis = cvehMatrix.vUp;
slowTurnAxis.Normalize();
slowTurnAxis.ZeroNearZero();
cvehMatrix = cvehMatrix.Rotate( &cvehMatrix.vUp, theta );
cveh->SetMatrix( &cvehMatrix );
CVector vZero ( 0.0f, 0.0f, 0.0f );
cveh->SetTurnSpeed( &vZero );
info->base.matrix[4] = sinf(-self->fCurrentRotation);
info->base.matrix[5] = cosf(-self->fCurrentRotation);
}
}
Теперь в new_menu.cpp
Код:
TwAddVarRW(twBar_SPNewCheats, "Car Drive", TW_TYPE_BOOLCPP, &cheat_state->_generic.cardrive, " label='Car Drive' group='WithCar' ");
С вами был Jesus, огромное спасибо FYP, EnD1ZeR,Cico, Могайка, MISTER_GONWIK Специально для сайта BlastHack.Net
При копировании указывать источник BlastHack.Net