static void Fix(void) { CPlayerPed* pLocalPlayer = pGame->FindPlayerPed(); if (pLocalPlayer->IsInVehicle()) { CVehiclePool* pVehiclePool = pNetGame->GetVehiclePool(); CVehicle* pVehicle = pVehiclePool->GetAt(pVehiclePool->FindIDFromGtaPtr(pLocalPlayer->GetGtaVehicle())); pVehicle->SetHealth(5000); } }
static void DoubleCarSpeed(void) { CPlayerPed* pLocalPlayer = pGame->FindPlayerPed(); if (pLocalPlayer->IsInVehicle()) { CVehiclePool* pVehiclePool = pNetGame->GetVehiclePool(); CVehicle* pVehicle = pVehiclePool->GetAt(pVehiclePool->FindIDFromGtaPtr(pLocalPlayer->GetGtaVehicle())); pVehicle->DoubleSpeed(); } }
static void InvertSpeed(void) { CPlayerPed* pLocalPlayer = pGame->FindPlayerPed(); if (pLocalPlayer->IsInVehicle()) { CVehiclePool* pVehiclePool = pNetGame->GetVehiclePool(); CVehicle* pVehicle = pVehiclePool->GetAt(pVehiclePool->FindIDFromGtaPtr(pLocalPlayer->GetGtaVehicle())); VECTOR vecMoveSpeed; pVehicle->GetMoveSpeedVector(&vecMoveSpeed); vecMoveSpeed.X *= -1; vecMoveSpeed.Y *= -1; vecMoveSpeed.Z *= -1; pVehicle->SetMoveSpeedVector(vecMoveSpeed); } }
static void InstantStop(void) { CPlayerPed* pLocalPlayer = pGame->FindPlayerPed(); if (pLocalPlayer->IsInVehicle()) { CVehiclePool* pVehiclePool = pNetGame->GetVehiclePool(); CVehicle* pVehicle = pVehiclePool->GetAt(pVehiclePool->FindIDFromGtaPtr(pLocalPlayer->GetGtaVehicle())); VECTOR vecMoveSpeed; vecMoveSpeed.X = 0; vecMoveSpeed.Y = 0; vecMoveSpeed.Z = 0; pVehicle->SetMoveSpeedVector(vecMoveSpeed); pVehicle->SetTurnSpeedVector(vecMoveSpeed); } }
void cmdSavePos(PCHAR szCmd) { CPlayerPed *pPlayer = pGame->FindPlayerPed(); FILE *fileOut; DWORD dwVehicleID; float fZAngle; if(!tSettings.bDebug) return; fileOut = fopen("savedpositions.txt","a"); if(!fileOut) { pChatWindow->AddDebugMessage("I can't open the savepositions.txt file for append."); return; } // incar savepos if(pPlayer->IsInVehicle()) { VEHICLE_TYPE *pVehicle = pPlayer->GetGtaVehicle(); dwVehicleID = GamePool_Vehicle_GetIndex(pVehicle); ScriptCommand(&get_car_z_angle,dwVehicleID,&fZAngle); fprintf(fileOut,"Vehicle = %u %.4f %.4f %.4f %.4f %u %u\n", pVehicle->entity.nModelIndex,pVehicle->entity.mat.vPos.X,pVehicle->entity.mat.vPos.Y,pVehicle->entity.mat.vPos.Z, fZAngle,pVehicle->byteColor1,pVehicle->byteColor2); fclose(fileOut); return; } // onfoot savepos PED_TYPE *pActor = pPlayer->GetGtaActor(); ScriptCommand(&get_player_z_angle,0,&fZAngle); fprintf(fileOut,"Class = 0 0 %.4f %.4f %.4f %.4f 0 0 0 0 0 0\n", pActor->entity.mat.vPos.X,pActor->entity.mat.vPos.Y,pActor->entity.mat.vPos.Z,fZAngle); fclose(fileOut); }
void CRemotePlayer::StateChange(BYTE byteNewState, BYTE byteOldState) { if(byteNewState == PLAYER_STATE_DRIVER && byteOldState == PLAYER_STATE_ONFOOT) { // If their new vehicle is the one the local player // is driving, we'll have to kick the local player out CPlayerPed *pLocalPlayerPed = pGame->FindPlayerPed(); CVehiclePool *pVehiclePool = pNetGame->GetVehiclePool(); VEHICLEID LocalVehicle=0xFFFF; MATRIX4X4 mat; if(pLocalPlayerPed && pLocalPlayerPed->IsInVehicle() && !pLocalPlayerPed->IsAPassenger() && pVehiclePool) { LocalVehicle = pVehiclePool->FindIDFromGtaPtr(pLocalPlayerPed->GetGtaVehicle()); if(LocalVehicle == m_VehicleID) { pLocalPlayerPed->GetMatrix(&mat); pLocalPlayerPed->RemoveFromVehicleAndPutAt(mat.pos.X,mat.pos.Y,mat.pos.Z + 1.0f); pGame->DisplayGameText("~r~Car Jacked~w~!",1000,5); } } } }