Показать сообщение отдельно
Старый 11.07.2008, 22:30   #11
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: Уже наболевшее..

Пример обработки снарядов, только вместо коллизии ентитипик.
Function UpdateIonShot()

    For all.plasma_shots=Each plasma_shots
    all\life=all\life-1
    TranslateEntity all\mesh,all\tx#*dt#,all\ty#*dt#,all\tz#*dt#,1
        ob=EntityPick (all\mesh,5);               ----------------Zamenit'!!!!!!!
        If ob>0 Then
            If GetEntityType (ob)=2 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(ob))
                u\health#=u\health#-(LP#*.01*(100-u\shield));If u\plr=0
                u\speed#=u\speed#*.6

                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)
                CrtPShotSpark(all\mesh,EntityYaw(all\mesh),EntityPitch(all\mesh),20)

            EndIf
        EndIf
    If (all\life<=0) Or (ob) Then FreeEntity all\mesh Delete all
    Next
    
End Function
ну и спарки при пикании бота
Function CrtPShotSpark(boat,vecy=0,vecp=0,ang=0,spd#=3,min#=2,max#=4)
            splasher.PShotSpark=New PShotSpark
            splasher\parent=boat
            splasher\sprite=CopyEntity(PShotSparkspr)
            RotateEntity splasher\sprite,vecp+Rnd(-ang,ang)-180,vecy+Rnd(-ang,ang),0
                splasher\scale#=min#;Rnd(min#,max#)
                splasher\spd#=spd#;+mass
            ScaleEntity splasher\sprite,splasher\scale#,splasher\scale#,splasher\scale#*3
            PositionEntity splasher\sprite,EntityX(splasher\parent,True),EntityY(splasher\parent,True),EntityZ(splasher\parent,True)
End Function
может пригодится, спарки выглядят имхо неплохо.
(Offline)
 
Ответить с цитированием