Показать сообщение отдельно
Старый 19.07.2008, 04:21   #40
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Re: Уже наболевшее..

Я делал так
 
add_spark(0,0,38,100,2,monster\model,1,2)
где monster\model - модель бота. пишем это там где у тебя идёт колиззион с ботом

Function add_spark(x#,y#,z#,times#,scale#,parent,types,ismagic)
 spark.spark=New spark
 spark\is=1
 spark\ismagic=ismagic
 ;add_spark(0,0,0,30,1,allfire\spr[i],2,2)
If ismagic<2
 If types=1
  spark\img=CopyEntity(flame01,parent)
  EntityColor spark\img,Rnd(150,250),Rnd(0,100),0
 ElseIf types=2
  spark\img=CopyEntity(flame02,parent)
  EntityColor spark\img,0,Rnd(0,100),Rnd(150,250)
  
 EndIf
ElseIf ismagic=2
 spark\img=CopyEntity(spr1,parent)
 EntityColor spark\img,Rnd(150,250),Rnd(0,100),0
ElseIf ismagic=3
 spark\img=CopyEntity(flame01,parent)
 EntityColor spark\img,Rnd(150,250),Rnd(0,100),0
EndIf
EntityType spark\img,20
 
 spark\parent=parent
If ismagic=0
 spark\x#=Rnd(-0.8,0.8)
 spark\y#=Rnd(0.8,1.6)
 spark\z#=Rnd(-0.8,0.8)
 PositionEntity spark\img,x#,y#,z#
ElseIf ismagic=1
 spark\x#=Rnd(-0.4,0.4)
 spark\y#=Rnd(-0.1,0.6)
 spark\z#=Rnd(-0.3,1)
 PositionEntity spark\img,x#,y#,z#
 EntityParent spark\img,0
ElseIf ismagic=2
 spark\x#=Rnd(-0.3,0.3)
 spark\y#=Rnd(-0.1,0.4)
 spark\z#=Rnd(-0.1,0.2)
 PositionEntity spark\img,x#,y#,z#
 EntityParent spark\img,0
ElseIf ismagic=3
 spark\x#=Rnd(-0.04,0.04)
 spark\y#=Rnd(0.01,0.08)
 spark\z#=Rnd(-0.04,0.04)
EndIf
 
 ScaleSprite spark\img,scale,scale
 ShowEntity spark\img
 spark\scale#=scale#
 spark\times#=times#
 spark\alp#=1/times#*1000
End Function


Function update_spark()
For spark.spark=Each spark
 If spark\is=1
  spark\times#=spark\times#-1
  If spark\times>0
   If EntityCollided (spark\img,1)
    FreeEntity spark\img
    Delete spark
    Goto nesx
   EndIf
   MoveEntity spark\img,spark\x#,spark\y#,spark\z#
   EntityAlpha spark\img,spark\times#*spark\alp#/1000
   If spark\ismagic<>1
    spark\y#=spark\y#-Rnd(0.01,0.03)
   Else
    spark\y#=spark\y#-Rnd(0.004,0.008)
   EndIf 
  Else
   FreeEntity spark\img
   Delete spark
  EndIf
 EndIf
 .nesx
Next 
End Function
где flame01,flame02, spr1 - загруженые спрайты.
update_spark() - вставь в основном цикле
поэксперементируй с параметрами add_spark(x#,y#,z#,times#,scale#,parent,types,isma gic)
(Offline)
 
Ответить с цитированием