если одновременно в одного врага попадают 2 пули, выбивает ошибку, что не может удалить enemy\ent, поскольку его уже нет
|
obi=(EntityCollided(all\mesh,2))
If obi Then
If obi<>all\parent Then
If all\typ=1 LP#=GP1_power# Else If all\typ=2 LP#=GP2_power# Else If all\typ=3 LP#=GP3_power# Else If all\typ=4 LP#=GP4_power# Else If all\typ=5 LP#=GP5_power#
u.Unit=Object.Unit(EntityName(obi))
If u\pivot<>0 Then
tmpuron=(LP#*.01*(100-u\shield))
u\health#=u\health#-tmpuron;If u\plr=0
u\speed#=u\speed#*.6
If all\plr Then player_score=player_score+tmpuron
CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),200,all\typ)
obx=1
EndIf
Else
ResetEntity all\mesh
EndIf
EndIf
Я сделал так, помимо того необходимо обрабатывать пули и врагов отдельно друг от друга, и удалять бота не в снарядах а в обработке ботов. Так и быстрее и бот
не будет исчезать посреди обработки снарядов.