mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 19:10:01 +00:00
more script stuff
This commit is contained in:
parent
e3291b0cb1
commit
b587d835e8
|
@ -129,12 +129,12 @@ CPickup::GiveUsAPickUpObject(int32 handle)
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CPickup::CanBePickedUp(CPlayerPed *player)
|
CPickup::CanBePickedUp(CPlayerPed *player, int playerId)
|
||||||
{
|
{
|
||||||
assert(m_pObject != nil);
|
assert(m_pObject != nil);
|
||||||
bool cannotBePickedUp =
|
bool cannotBePickedUp =
|
||||||
(m_pObject->GetModelIndex() == MI_PICKUP_BODYARMOUR && player->m_fArmour > 99.5f)
|
(m_pObject->GetModelIndex() == MI_PICKUP_BODYARMOUR && player->m_fArmour > CWorld::Players[playerId].m_nMaxArmour - 0.5f)
|
||||||
|| (m_pObject->GetModelIndex() == MI_PICKUP_HEALTH && player->m_fHealth > 99.5f)
|
|| (m_pObject->GetModelIndex() == MI_PICKUP_HEALTH && player->m_fHealth > CWorld::Players[playerId].m_nMaxHealth - 0.5f)
|
||||||
|| (m_pObject->GetModelIndex() == MI_PICKUP_BRIBE && player->m_pWanted->m_nWantedLevel == 0)
|
|| (m_pObject->GetModelIndex() == MI_PICKUP_BRIBE && player->m_pWanted->m_nWantedLevel == 0)
|
||||||
|| (m_pObject->GetModelIndex() == MI_PICKUP_KILLFRENZY && (CTheScripts::IsPlayerOnAMission() || CDarkel::FrenzyOnGoing() || !CGame::nastyGame));
|
|| (m_pObject->GetModelIndex() == MI_PICKUP_KILLFRENZY && (CTheScripts::IsPlayerOnAMission() || CDarkel::FrenzyOnGoing() || !CGame::nastyGame));
|
||||||
return !cannotBePickedUp;
|
return !cannotBePickedUp;
|
||||||
|
@ -190,7 +190,7 @@ CPickup::Update(CPlayerPed *player, CVehicle *vehicle, int playerId)
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we didn't then we've got nothing to do
|
// if we didn't then we've got nothing to do
|
||||||
if (isPickupTouched && CanBePickedUp(player)) {
|
if (isPickupTouched && CanBePickedUp(player, playerId)) {
|
||||||
CPad::GetPad(0)->StartShake(120, 100);
|
CPad::GetPad(0)->StartShake(120, 100);
|
||||||
switch (m_eType)
|
switch (m_eType)
|
||||||
{
|
{
|
||||||
|
@ -430,14 +430,14 @@ CPickups::GivePlayerGoodiesWithPickUpMI(int16 modelIndex, int playerIndex)
|
||||||
DMAudio.PlayFrontEndSound(SOUND_PICKUP_ADRENALINE, 0);
|
DMAudio.PlayFrontEndSound(SOUND_PICKUP_ADRENALINE, 0);
|
||||||
return true;
|
return true;
|
||||||
} else if (modelIndex == MI_PICKUP_BODYARMOUR) {
|
} else if (modelIndex == MI_PICKUP_BODYARMOUR) {
|
||||||
player->m_fArmour = 100.0f;
|
player->m_fArmour = CWorld::Players[playerIndex].m_nMaxArmour;
|
||||||
DMAudio.PlayFrontEndSound(SOUND_PICKUP_ARMOUR, 0);
|
DMAudio.PlayFrontEndSound(SOUND_PICKUP_ARMOUR, 0);
|
||||||
return true;
|
return true;
|
||||||
} else if (modelIndex == MI_PICKUP_INFO) {
|
} else if (modelIndex == MI_PICKUP_INFO) {
|
||||||
DMAudio.PlayFrontEndSound(SOUND_PICKUP_BONUS, 0);
|
DMAudio.PlayFrontEndSound(SOUND_PICKUP_BONUS, 0);
|
||||||
return true;
|
return true;
|
||||||
} else if (modelIndex == MI_PICKUP_HEALTH) {
|
} else if (modelIndex == MI_PICKUP_HEALTH) {
|
||||||
player->m_fHealth = 100.0f;
|
player->m_fHealth = CWorld::Players[playerIndex].m_nMaxHealth;
|
||||||
DMAudio.PlayFrontEndSound(SOUND_PICKUP_HEALTH, 0);
|
DMAudio.PlayFrontEndSound(SOUND_PICKUP_HEALTH, 0);
|
||||||
return true;
|
return true;
|
||||||
} else if (modelIndex == MI_PICKUP_BONUS) {
|
} else if (modelIndex == MI_PICKUP_BONUS) {
|
||||||
|
|
|
@ -46,7 +46,7 @@ public:
|
||||||
bool Update(CPlayerPed *player, CVehicle *vehicle, int playerId);
|
bool Update(CPlayerPed *player, CVehicle *vehicle, int playerId);
|
||||||
private:
|
private:
|
||||||
bool IsMine() { return m_eType >= PICKUP_MINE_INACTIVE && m_eType <= PICKUP_FLOATINGPACKAGE_FLOATING; }
|
bool IsMine() { return m_eType >= PICKUP_MINE_INACTIVE && m_eType <= PICKUP_FLOATINGPACKAGE_FLOATING; }
|
||||||
inline bool CanBePickedUp(CPlayerPed *player);
|
inline bool CanBePickedUp(CPlayerPed *player, int playerId);
|
||||||
void RemoveKeepType();
|
void RemoveKeepType();
|
||||||
void Remove();
|
void Remove();
|
||||||
};
|
};
|
||||||
|
|
|
@ -4821,7 +4821,7 @@ int8 CRunningScript::ProcessCommands500To599(int32 command)
|
||||||
CollectParameters(&m_nIp, 2);
|
CollectParameters(&m_nIp, 2);
|
||||||
CPlayerPed* pPed = CWorld::Players[ScriptParams[0]].m_pPed;
|
CPlayerPed* pPed = CWorld::Players[ScriptParams[0]].m_pPed;
|
||||||
assert(pPed);
|
assert(pPed);
|
||||||
pPed->m_fHealth = ScriptParams[1];
|
pPed->m_fHealth = Min(ScriptParams[1], CWorld::Players[ScriptParams[0]].m_nMaxHealth);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
case COMMAND_SET_CHAR_HEALTH:
|
case COMMAND_SET_CHAR_HEALTH:
|
||||||
|
@ -7173,7 +7173,7 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
|
||||||
CollectParameters(&m_nIp, 2);
|
CollectParameters(&m_nIp, 2);
|
||||||
CPlayerPed* pPlayerPed = CWorld::Players[ScriptParams[0]].m_pPed;
|
CPlayerPed* pPlayerPed = CWorld::Players[ScriptParams[0]].m_pPed;
|
||||||
assert(pPlayerPed);
|
assert(pPlayerPed);
|
||||||
pPlayerPed->m_fArmour = clamp(pPlayerPed->m_fArmour + ScriptParams[1], 0.0f, 100.0f);
|
pPlayerPed->m_fArmour = clamp(pPlayerPed->m_fArmour + ScriptParams[1], 0.0f, CWorld::Players[ScriptParams[0]].m_nMaxArmour);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
case COMMAND_ADD_ARMOUR_TO_CHAR:
|
case COMMAND_ADD_ARMOUR_TO_CHAR:
|
||||||
|
@ -9870,6 +9870,10 @@ int8 CRunningScript::ProcessCommands1200To1299(int32 command)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
case COMMAND_ADD_MONEY_SPENT_ON_CLOTHES:
|
case COMMAND_ADD_MONEY_SPENT_ON_CLOTHES:
|
||||||
|
CollectParameters(&m_nIp, 1);
|
||||||
|
CStats::MoneySpentOnFashion(ScriptParams[0]);
|
||||||
|
return 0;
|
||||||
|
|
||||||
case COMMAND_SET_HELI_ORIENTATION:
|
case COMMAND_SET_HELI_ORIENTATION:
|
||||||
case COMMAND_CLEAR_HELI_ORIENTATION:
|
case COMMAND_CLEAR_HELI_ORIENTATION:
|
||||||
case COMMAND_PLANE_GOTO_COORDS:
|
case COMMAND_PLANE_GOTO_COORDS:
|
||||||
|
@ -10077,10 +10081,41 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
|
||||||
case COMMAND_GET_CLOSEST_WATER_NODE:
|
case COMMAND_GET_CLOSEST_WATER_NODE:
|
||||||
case COMMAND_ADD_PORN_LEAFLET_TO_RUBBISH:
|
case COMMAND_ADD_PORN_LEAFLET_TO_RUBBISH:
|
||||||
case COMMAND_CREATE_CLOTHES_PICKUP:
|
case COMMAND_CREATE_CLOTHES_PICKUP:
|
||||||
|
{
|
||||||
|
CollectParameters(&m_nIp, 4);
|
||||||
|
CVector pos = *(CVector*)&ScriptParams[0];
|
||||||
|
if (pos.z <= MAP_Z_LOW_LIMIT)
|
||||||
|
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y) + PICKUP_PLACEMENT_OFFSET;
|
||||||
|
CPickups::GetActualPickupIndex(CollectNextParameterWithoutIncreasingPC(m_nIp));
|
||||||
|
ScriptParams[0] = CPickups::GenerateNewOne(pos, MI_PICKUP_CLOTHES, PICKUP_ON_STREET, ScriptParams[3]);
|
||||||
|
StoreParameters(&m_nIp, 1);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
case COMMAND_CHANGE_BLIP_THRESHOLD:
|
case COMMAND_CHANGE_BLIP_THRESHOLD:
|
||||||
|
assert(0);
|
||||||
case COMMAND_MAKE_PLAYER_FIRE_PROOF:
|
case COMMAND_MAKE_PLAYER_FIRE_PROOF:
|
||||||
|
{
|
||||||
|
CollectParameters(&m_nIp, 2);
|
||||||
|
CPlayerInfo* pPlayerInfo = &CWorld::Players[ScriptParams[0]];
|
||||||
|
pPlayerInfo->m_bFireproof = ScriptParams[1];
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
case COMMAND_INCREASE_PLAYER_MAX_HEALTH:
|
case COMMAND_INCREASE_PLAYER_MAX_HEALTH:
|
||||||
|
{
|
||||||
|
CollectParameters(&m_nIp, 2);
|
||||||
|
CPlayerInfo* pPlayerInfo = &CWorld::Players[ScriptParams[0]];
|
||||||
|
pPlayerInfo->m_nMaxHealth += ScriptParams[1];
|
||||||
|
pPlayerInfo->m_pPed->m_fHealth = pPlayerInfo->m_nMaxHealth;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
case COMMAND_INCREASE_PLAYER_MAX_ARMOUR:
|
case COMMAND_INCREASE_PLAYER_MAX_ARMOUR:
|
||||||
|
{
|
||||||
|
CollectParameters(&m_nIp, 2);
|
||||||
|
CPlayerInfo* pPlayerInfo = &CWorld::Players[ScriptParams[0]];
|
||||||
|
pPlayerInfo->m_nMaxArmour += ScriptParams[1];
|
||||||
|
pPlayerInfo->m_pPed->m_fArmour = pPlayerInfo->m_nMaxArmour;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
case COMMAND_CREATE_RANDOM_CHAR_AS_DRIVER:
|
case COMMAND_CREATE_RANDOM_CHAR_AS_DRIVER:
|
||||||
case COMMAND_CREATE_RANDOM_CHAR_AS_PASSENGER:
|
case COMMAND_CREATE_RANDOM_CHAR_AS_PASSENGER:
|
||||||
case COMMAND_SET_CHAR_IGNORE_THREATS_BEHIND_OBJECTS:
|
case COMMAND_SET_CHAR_IGNORE_THREATS_BEHIND_OBJECTS:
|
||||||
|
@ -10090,6 +10125,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command)
|
||||||
assert(0);
|
assert(0);
|
||||||
case COMMAND_SET_OBJECT_AREA_VISIBLE:
|
case COMMAND_SET_OBJECT_AREA_VISIBLE:
|
||||||
{
|
{
|
||||||
|
CollectParameters(&m_nIp, 2);
|
||||||
CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]);
|
CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]);
|
||||||
assert(pObject);
|
assert(pObject);
|
||||||
pObject->m_area = ScriptParams[1];
|
pObject->m_area = ScriptParams[1];
|
||||||
|
@ -10157,7 +10193,11 @@ int8 CRunningScript::ProcessCommands1400To1499(int32 command)
|
||||||
case COMMAND_SET_LOAD_COLLISION_FOR_OBJECT_FLAG:
|
case COMMAND_SET_LOAD_COLLISION_FOR_OBJECT_FLAG:
|
||||||
case COMMAND_ADD_BIG_GUN_FLASH:
|
case COMMAND_ADD_BIG_GUN_FLASH:
|
||||||
case COMMAND_HAS_CHAR_BOUGHT_ICE_CREAM:
|
case COMMAND_HAS_CHAR_BOUGHT_ICE_CREAM:
|
||||||
|
assert(0);
|
||||||
case COMMAND_GET_PROGRESS_PERCENTAGE:
|
case COMMAND_GET_PROGRESS_PERCENTAGE:
|
||||||
|
*(float*)&ScriptParams[0] = CStats::GetPercentageProgress();
|
||||||
|
StoreParameters(&m_nIp, 1);
|
||||||
|
return 0;
|
||||||
case COMMAND_SET_SHORTCUT_PICKUP_POINT:
|
case COMMAND_SET_SHORTCUT_PICKUP_POINT:
|
||||||
case COMMAND_SET_SHORTCUT_DROPOFF_POINT_FOR_MISSION:
|
case COMMAND_SET_SHORTCUT_DROPOFF_POINT_FOR_MISSION:
|
||||||
case COMMAND_GET_RANDOM_ICE_CREAM_CUSTOMER_IN_AREA:
|
case COMMAND_GET_RANDOM_ICE_CREAM_CUSTOMER_IN_AREA:
|
||||||
|
|
|
@ -100,7 +100,7 @@ void WeaponCheat()
|
||||||
void HealthCheat()
|
void HealthCheat()
|
||||||
{
|
{
|
||||||
CHud::SetHelpMessage(TheText.Get("CHEAT3"), true);
|
CHud::SetHelpMessage(TheText.Get("CHEAT3"), true);
|
||||||
FindPlayerPed()->m_fHealth = 100.0f;
|
FindPlayerPed()->m_fHealth = CWorld::Players[0].m_nMaxHealth;
|
||||||
if (FindPlayerVehicle()) {
|
if (FindPlayerVehicle()) {
|
||||||
FindPlayerVehicle()->m_fHealth = 1000.0f;
|
FindPlayerVehicle()->m_fHealth = 1000.0f;
|
||||||
if (FindPlayerVehicle()->m_vehType == VEHICLE_TYPE_CAR)
|
if (FindPlayerVehicle()->m_vehType == VEHICLE_TYPE_CAR)
|
||||||
|
@ -224,7 +224,7 @@ void MoneyCheat()
|
||||||
void ArmourCheat()
|
void ArmourCheat()
|
||||||
{
|
{
|
||||||
CHud::SetHelpMessage(TheText.Get("CHEAT4"), true);
|
CHud::SetHelpMessage(TheText.Get("CHEAT4"), true);
|
||||||
FindPlayerPed()->m_fArmour = 100.0f;
|
FindPlayerPed()->m_fArmour = CWorld::Players[0].m_nMaxArmour;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WantedLevelUpCheat()
|
void WantedLevelUpCheat()
|
||||||
|
|
|
@ -140,6 +140,7 @@ CPlayerInfo::Clear(void)
|
||||||
m_nUpsideDownCounter = 0;
|
m_nUpsideDownCounter = 0;
|
||||||
m_bInfiniteSprint = false;
|
m_bInfiniteSprint = false;
|
||||||
m_bFastReload = false;
|
m_bFastReload = false;
|
||||||
|
m_nMaxHealth = m_nMaxArmour = 100;
|
||||||
m_bGetOutOfJailFree = false;
|
m_bGetOutOfJailFree = false;
|
||||||
m_bGetOutOfHospitalFree = false;
|
m_bGetOutOfHospitalFree = false;
|
||||||
m_nPreviousTimeRewardedForExplosion = 0;
|
m_nPreviousTimeRewardedForExplosion = 0;
|
||||||
|
|
|
@ -52,6 +52,9 @@ public:
|
||||||
int32 field_272;
|
int32 field_272;
|
||||||
bool m_bInfiniteSprint;
|
bool m_bInfiniteSprint;
|
||||||
bool m_bFastReload;
|
bool m_bFastReload;
|
||||||
|
bool m_bFireproof;
|
||||||
|
uint8 m_nMaxHealth;
|
||||||
|
uint8 m_nMaxArmour;
|
||||||
bool m_bGetOutOfJailFree;
|
bool m_bGetOutOfJailFree;
|
||||||
bool m_bGetOutOfHospitalFree;
|
bool m_bGetOutOfHospitalFree;
|
||||||
char m_aSkinName[32];
|
char m_aSkinName[32];
|
||||||
|
|
|
@ -61,6 +61,7 @@ int32 CStats::HighestScores[CStats::TOTAL_HIGHEST_SCORES];
|
||||||
int32 CStats::Sprayings;
|
int32 CStats::Sprayings;
|
||||||
float CStats::AutoPaintingBudget;
|
float CStats::AutoPaintingBudget;
|
||||||
int32 CStats::NoMoreHurricanes;
|
int32 CStats::NoMoreHurricanes;
|
||||||
|
float CStats::FashionBudget;
|
||||||
|
|
||||||
void CStats::Init()
|
void CStats::Init()
|
||||||
{
|
{
|
||||||
|
@ -208,6 +209,19 @@ void CStats::SetTotalNumberMissions(int32 total)
|
||||||
TotalNumberMissions = total;
|
TotalNumberMissions = total;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float CStats::GetPercentageProgress()
|
||||||
|
{
|
||||||
|
float p;
|
||||||
|
if (TotalProgressInGame == 0.0f)
|
||||||
|
p = 0.0f;
|
||||||
|
else if (CGame::nastyGame)
|
||||||
|
p = 100.0f * ProgressMade / TotalProgressInGame;
|
||||||
|
else
|
||||||
|
p = 100.0f * ProgressMade / (TotalProgressInGame - 1);
|
||||||
|
|
||||||
|
return Min(100.0f, p);
|
||||||
|
}
|
||||||
|
|
||||||
wchar *CStats::FindCriminalRatingString()
|
wchar *CStats::FindCriminalRatingString()
|
||||||
{
|
{
|
||||||
int rating = FindCriminalRatingNumber();
|
int rating = FindCriminalRatingNumber();
|
||||||
|
@ -249,6 +263,11 @@ int32 CStats::FindCriminalRatingNumber()
|
||||||
return rating;
|
return rating;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CStats::MoneySpentOnFashion(int32 money)
|
||||||
|
{
|
||||||
|
FashionBudget += money;
|
||||||
|
}
|
||||||
|
|
||||||
void CStats::SaveStats(uint8 *buf, uint32 *size)
|
void CStats::SaveStats(uint8 *buf, uint32 *size)
|
||||||
{
|
{
|
||||||
CheckPointReachedSuccessfully();
|
CheckPointReachedSuccessfully();
|
||||||
|
|
|
@ -65,6 +65,7 @@ public:
|
||||||
static int32 Sprayings;
|
static int32 Sprayings;
|
||||||
static float AutoPaintingBudget;
|
static float AutoPaintingBudget;
|
||||||
static int32 NoMoreHurricanes;
|
static int32 NoMoreHurricanes;
|
||||||
|
static float FashionBudget;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void Init(void);
|
static void Init(void);
|
||||||
|
@ -88,6 +89,9 @@ public:
|
||||||
static void CheckPointReachedSuccessfully() { TotalLegitimateKills += KillsSinceLastCheckpoint; KillsSinceLastCheckpoint = 0; };
|
static void CheckPointReachedSuccessfully() { TotalLegitimateKills += KillsSinceLastCheckpoint; KillsSinceLastCheckpoint = 0; };
|
||||||
static void CheckPointReachedUnsuccessfully() { KillsSinceLastCheckpoint = 0; };
|
static void CheckPointReachedUnsuccessfully() { KillsSinceLastCheckpoint = 0; };
|
||||||
static int32 FindCriminalRatingNumber();
|
static int32 FindCriminalRatingNumber();
|
||||||
|
static float GetPercentageProgress();
|
||||||
static void SaveStats(uint8 *buf, uint32 *size);
|
static void SaveStats(uint8 *buf, uint32 *size);
|
||||||
static void LoadStats(uint8 *buf, uint32 size);
|
static void LoadStats(uint8 *buf, uint32 size);
|
||||||
|
|
||||||
|
static void MoneySpentOnFashion(int32);
|
||||||
};
|
};
|
||||||
|
|
|
@ -160,7 +160,8 @@
|
||||||
X("subplatform_sub", MI_SUBPLATFORM_SUB2, 0x5F5BC0) \
|
X("subplatform_sub", MI_SUBPLATFORM_SUB2, 0x5F5BC0) \
|
||||||
X("files", MI_FILES, 0x5F5BC4) \
|
X("files", MI_FILES, 0x5F5BC4) \
|
||||||
X("property_locked", MI_PICKUP_PROPERTY, 0x0) \
|
X("property_locked", MI_PICKUP_PROPERTY, 0x0) \
|
||||||
X("property_fsale", MI_PICKUP_PROPERTY_FORSALE, 0x0)
|
X("property_fsale", MI_PICKUP_PROPERTY_FORSALE, 0x0) \
|
||||||
|
X("clothesp", MI_PICKUP_CLOTHES, 0x0)
|
||||||
|
|
||||||
#define X(name, var, addr) extern int16 var;
|
#define X(name, var, addr) extern int16 var;
|
||||||
MODELINDICES
|
MODELINDICES
|
||||||
|
|
|
@ -325,7 +325,7 @@ CCivilianPed::ProcessControl(void)
|
||||||
CWorld::Players[CWorld::PlayerInFocus].m_nSexFrequency = Max(250, playerSexFrequency - 10);
|
CWorld::Players[CWorld::PlayerInFocus].m_nSexFrequency = Max(250, playerSexFrequency - 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pMyVehicle->pDriver->m_fHealth = Min(125.0f, 1.0f + m_pMyVehicle->pDriver->m_fHealth);
|
m_pMyVehicle->pDriver->m_fHealth = Min(CWorld::Players[0].m_nMaxHealth + 25.0f, 1.0f + m_pMyVehicle->pDriver->m_fHealth);
|
||||||
if (CWorld::Players[CWorld::PlayerInFocus].m_nSexFrequency == 250)
|
if (CWorld::Players[CWorld::PlayerInFocus].m_nSexFrequency == 250)
|
||||||
CWorld::Players[CWorld::PlayerInFocus].m_nNextSexFrequencyUpdateTime = CTimer::GetTimeInMilliseconds() + 3000;
|
CWorld::Players[CWorld::PlayerInFocus].m_nNextSexFrequencyUpdateTime = CTimer::GetTimeInMilliseconds() + 3000;
|
||||||
} else {
|
} else {
|
||||||
|
@ -336,7 +336,7 @@ CCivilianPed::ProcessControl(void)
|
||||||
} else {
|
} else {
|
||||||
bWanderPathAfterExitingCar = true;
|
bWanderPathAfterExitingCar = true;
|
||||||
CWorld::Players[CWorld::PlayerInFocus].m_pHooker = nil;
|
CWorld::Players[CWorld::PlayerInFocus].m_pHooker = nil;
|
||||||
m_pMyVehicle->pDriver->m_fHealth = 125.0f;
|
m_pMyVehicle->pDriver->m_fHealth = CWorld::Players[0].m_nMaxHealth + 25.0f;
|
||||||
SetObjective(OBJECTIVE_LEAVE_VEHICLE, m_pMyVehicle);
|
SetObjective(OBJECTIVE_LEAVE_VEHICLE, m_pMyVehicle);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1080,14 +1080,14 @@ CVehicle::SetDriver(CPed *driver)
|
||||||
|
|
||||||
if(bFreebies && driver == FindPlayerPed()){
|
if(bFreebies && driver == FindPlayerPed()){
|
||||||
if(GetModelIndex() == MI_AMBULAN)
|
if(GetModelIndex() == MI_AMBULAN)
|
||||||
FindPlayerPed()->m_fHealth = Min(FindPlayerPed()->m_fHealth + 20.0f, 100.0f);
|
FindPlayerPed()->m_fHealth = Min(FindPlayerPed()->m_fHealth + 20.0f, CWorld::Players[0].m_nMaxHealth);
|
||||||
else if(GetModelIndex() == MI_TAXI)
|
else if(GetModelIndex() == MI_TAXI)
|
||||||
CWorld::Players[CWorld::PlayerInFocus].m_nMoney += 25;
|
CWorld::Players[CWorld::PlayerInFocus].m_nMoney += 25;
|
||||||
else if (GetModelIndex() == MI_POLICE) {
|
else if (GetModelIndex() == MI_POLICE) {
|
||||||
CStreaming::RequestModel(WEAPONTYPE_SHOTGUN, STREAMFLAGS_DONT_REMOVE);
|
CStreaming::RequestModel(WEAPONTYPE_SHOTGUN, STREAMFLAGS_DONT_REMOVE);
|
||||||
driver->GiveWeapon(WEAPONTYPE_SHOTGUN, 5);
|
driver->GiveWeapon(WEAPONTYPE_SHOTGUN, 5);
|
||||||
} else if (GetModelIndex() == MI_ENFORCER)
|
} else if (GetModelIndex() == MI_ENFORCER)
|
||||||
driver->m_fArmour = Max(driver->m_fArmour, 100.0f);
|
driver->m_fArmour = Max(driver->m_fArmour, CWorld::Players[0].m_nMaxArmour);
|
||||||
else if(GetModelIndex() == MI_CABBIE || GetModelIndex() == MI_ZEBRA) // TODO(MIAMI): check zebra
|
else if(GetModelIndex() == MI_CABBIE || GetModelIndex() == MI_ZEBRA) // TODO(MIAMI): check zebra
|
||||||
CWorld::Players[CWorld::PlayerInFocus].m_nMoney += 25;
|
CWorld::Players[CWorld::PlayerInFocus].m_nMoney += 25;
|
||||||
bFreebies = false;
|
bFreebies = false;
|
||||||
|
|
Loading…
Reference in a new issue