@@ -1585,7 +1585,12 @@ bool CStaticFunctionDefinitions::SetElementModel(CElement* pElement, unsigned sh
15851585 Arguments.PushNumber (usOldModel);
15861586 pPed->SetModel (usModel); // Set the new model
15871587 Arguments.PushNumber (usModel); // Get the new model
1588- if (!pPed->CallEvent (" onElementModelChange" , Arguments))
1588+ bool bContinue = pPed->CallEvent (" onElementModelChange" , Arguments);
1589+ // Check for another call to setElementModel
1590+ if (usModel != pPed->GetModel ())
1591+ return false ;
1592+ 1593+ if (!bContinue)
15891594 {
15901595 // Change canceled
15911596 pPed->SetModel (usOldModel);
@@ -1605,7 +1610,12 @@ bool CStaticFunctionDefinitions::SetElementModel(CElement* pElement, unsigned sh
16051610 Arguments.PushNumber (usOldModel);
16061611 pVehicle->SetModel (usModel); // Set the new model
16071612 Arguments.PushNumber (usModel); // Get the new model
1608- if (!pVehicle->CallEvent (" onElementModelChange" , Arguments))
1613+ bool bContinue = pVehicle->CallEvent (" onElementModelChange" , Arguments);
1614+ // Check for another call to setElementModel
1615+ if (usModel != pVehicle->GetModel ())
1616+ return false ;
1617+ 1618+ if (!bContinue)
16091619 {
16101620 // Change canceled
16111621 pVehicle->SetModel (usOldModel);
@@ -1643,7 +1653,12 @@ bool CStaticFunctionDefinitions::SetElementModel(CElement* pElement, unsigned sh
16431653 Arguments.PushNumber (usOldModel);
16441654 pObject->SetModel (usModel); // Set the new model
16451655 Arguments.PushNumber (usModel); // Get the new model
1646- if (!pObject->CallEvent (" onElementModelChange" , Arguments))
1656+ bool bContinue = pObject->CallEvent (" onElementModelChange" , Arguments);
1657+ // Check for another call to setElementModel
1658+ if (usModel != pObject->GetModel ())
1659+ return false ;
1660+ 1661+ if (!bContinue)
16471662 {
16481663 // Change canceled
16491664 pObject->SetModel (usOldModel);
0 commit comments