-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFlare_System
101 lines (98 loc) · 2.43 KB
/
Flare_System
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
@name Flare_System
@persist List:array Pocket Delay EGP:wirelink
@trigger none
if(dupefinished()){reset()}
if(first()){
propSpawnUndo(0)
propSpawnASync(1)
Pocket=5
function flare_create(){
if(Pocket>0){
E=propSpawn("models/props_junk/flare.mdl",entity():pos()+vec(0,0,15),ang(),0)
E:setNoCollideAll(1)
noCollideAll(E,1)
E:use()
E:propFreeze(1)
List:pushEntity(E)
if(E:isValid()){
Pocket--
}
}
}
function flare_create(P:vector,D:vector){
if(Pocket>0){
E=propSpawn("models/props_junk/flare.mdl",P,D:toAngle(),0)
E:setNoCollideAll(1)
noCollideAll(E,1)
E:use()
E:propFreeze(1)
List:pushEntity(E)
if(E:isValid()){
Pocket--
}
}
}
function flare_create(P:vector,A:angle){
if(Pocket>0){
E=propSpawn("models/props_junk/flare.mdl",P,A,0)
E:setNoCollideAll(1)
noCollideAll(E,1)
E:use()
E:propFreeze(1)
List:pushEntity(E)
if(E:isValid()){
Pocket--
}
}
}
propSpawnUndo(0)
EGP2=spawnEgpHud(entity():pos(),entity():angles(),1)
EGP2:use()
EGP=EGP2:wirelink()
Reso=vec2(egpScrW(owner()),egpScrH(owner()))/2
EGP:egpText(1,"|||||",vec2(700,400)+Reso)
EGP:egpAlign(1,0,0)
EGP:egpFont(1,"Lucida Console",55)
}
interval(100)
if(changed(owner():keyPressed("t"))&owner():keyPressed("t")){
flare_create(owner():shootPos()+vec(0,0,-25),ang(owner():eyeAngles():pitch()-18,owner():eyeAngles():yaw(),0))
}
foreach(I,E:entity=List){
if(E:isFrozen()){
E:propFreeze(0)
E:propSetVelocityInstant(E:forward()*400)
}
if((curtime()-E:creationTime())>30){
E:propDelete()
List:remove(I)
Pocket++
}
if((curtime()-E:creationTime())>5){
E:setNoCollideAll(0)
noCollideAll(E,0)
}
}
if(changed(Pocket)){
switch(Pocket){
case 1,
Text=" |"
break
case 2,
Text=" ||"
break
case 3,
Text=" |||"
break
case 4,
Text=" ||||"
break
case 5,
Text="|||||"
break
default,
Text=""
break
}
EGP:egpSetText(1,Text)
}