kmarchenko 0 Posted November 12, 2017 Как определить что противник был уничтожен взрывом БК? Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #411365 Posted November 12, 2017 markersDeadNormal.xc // Текст при взрыве боеукладки (см. описание макросов в macros.txt). "blowupMessage": "{{l10n:blownUp}}\n{{dmg}}" Quote Share this post Link to post Short link Share on other sites
kmarchenko 0 #411366 Posted November 12, 2017 3 минуты назад, H_E_K_P_O_M_A_H_T_ сказал: markersDeadNormal.xc // Текст при взрыве боеукладки (см. описание макросов в macros.txt). "blowupMessage": "{{l10n:blownUp}}\n{{dmg}}" Спасибо, вот только мне нужно это определить без xvm :) Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #411367 Posted November 12, 2017 from Vehicle import Vehicle def NewVehicleInit(self): self.effectsMode = 0 OldVehicleInit(self) OldVehicleInit = Vehicle.__init__ Vehicle.__init__ = NewVehicleInit def showBlowUpSound(self, mode, attackerID): if attackerID == BigWorld.player().playerVehicleID: if mode == 1: взрыв бк self.effectsMode = 0 Vehicle.showBlowUpSound = showBlowUpSound def NewshowAmmoBayEffect(self, mode, fireballVolume, projectedTurretSpeed): OldshowAmmoBayEffect(self, mode, fireballVolume, projectedTurretSpeed) self.effectsMode = mode OldshowAmmoBayEffect = Vehicle.showAmmoBayEffect Vehicle.showAmmoBayEffect = NewshowAmmoBayEffect def new_Vehicle_onHealthChanged(self, newHealth, attackerID, attackReasonID): old_Vehicle_onHealthChanged(self, newHealth, attackerID, attackReasonID) self.showBlowUpSound(self.effectsMode, attackerID) old_Vehicle_onHealthChanged = Vehicle.onHealthChanged Vehicle.onHealthChanged = new_Vehicle_onHealthChanged 1 Quote Share this post Link to post Short link Share on other sites
kmarchenko 0 #411368 Posted November 12, 2017 1 минуту назад, Ekspoint сказал: from Vehicle import Vehicle def NewVehicleInit(self): self.effectsMode = 0 OldVehicleInit(self) OldVehicleInit = Vehicle.__init__ Vehicle.__init__ = NewVehicleInit def showBlowUpSound(self, mode, attackerID): if attackerID == BigWorld.player().playerVehicleID: if mode == 1: взрыв бк self.effectsMode = 0 Vehicle.showBlowUpSound = showBlowUpSound def NewshowAmmoBayEffect(self, mode, fireballVolume, projectedTurretSpeed): OldshowAmmoBayEffect(self, mode, fireballVolume, projectedTurretSpeed) self.effectsMode = mode OldshowAmmoBayEffect = Vehicle.showAmmoBayEffect Vehicle.showAmmoBayEffect = NewshowAmmoBayEffect def new_Vehicle_onHealthChanged(self, newHealth, attackerID, attackReasonID): old_Vehicle_onHealthChanged(self, newHealth, attackerID, attackReasonID) self.showBlowUpSound(self.effectsMode, attackerID) old_Vehicle_onHealthChanged = Vehicle.onHealthChanged Vehicle.onHealthChanged = new_Vehicle_onHealthChanged Спасибки) Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #411369 Posted November 12, 2017 1 минуту назад, kmarchenko сказал: Спасибки) код старый, но рабочий может уже есть более компактный вид...... Quote Share this post Link to post Short link Share on other sites
IzeBerg 128 #411430 Posted November 12, 2017 (edited) import constants if SPECIAL_VEHICLE_HEALTH.IS_AMMO_BAY_DESTROYED(vehicle.health): # Твой код Если ивентом нужно - просто вешаешь на FEEDBACK_EVENT_ID.VEHICLE_HEALTH, ну или хуком в Vehicle.onHealthChanged. Edited November 13, 2017 by IzeBerg Quote Share this post Link to post Short link Share on other sites