-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplayer.gsc
executable file
·116 lines (93 loc) · 2.5 KB
/
player.gsc
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
lookAt(toIgnore)
{
player = self;
originStart = player getEye() + (0,0,25);
angles = player getPlayerAngles();
forward = anglesToForward(angles);
originEnd = originStart + std\math::vectorScale(forward, 1000000);
trace = bullettrace(originStart, originEnd, false, toIgnore);
if (trace["fraction"] == 1)
return undefined;
return trace;
}
/*
functions:
0 == setVelocity
1 == getVelocity
2 == aimButtonPressed
3 == forwardButtonPressed
4 == backButtonPressed
5 == moveleftButtonPressed
6 == moverightButtonPressed
*/
setVelocityBase(velocity)
{
player = self;
if (!isDefined(player.baseVelocity))
player.baseVelocity = (0,0,0);
if (!isDefined(player.baseVelocityLast))
player.baseVelocityLast = 0;
if (getTime() - player.baseVelocityLast > 100)
player.baseVelocity = (0,0,0);
velocity += player.baseVelocity;
player setVelocity(velocity);
}
getVelocityBase()
{
player = self;
if (!isDefined(player.baseVelocity))
player.baseVelocity = (0,0,0);
if (!isDefined(player.baseVelocityLast))
player.baseVelocityLast = 0;
if (getTime() - player.baseVelocityLast > 100)
player.baseVelocity = (0,0,0);
ret = player getVelocity();
//iprintln("ret=", ret);
ret -= player.baseVelocity;
return ret;
}
spawnIntermission()
{
self notify("spawned");
self notify("end_respawn");
resettimeout();
// Stop shellshock and rumble
self stopShellshock();
self stoprumble("damage_heavy");
self.sessionstate = "intermission";
self.spectatorclient = -1;
self.archivetime = 0;
self.psoffsettime = 0;
self.friendlydamage = undefined;
spawnpointname = "mp_global_intermission";
spawnpoints = getentarray(spawnpointname, "classname");
spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random(spawnpoints);
if(isDefined(spawnpoint))
self spawn(spawnpoint.origin, spawnpoint.angles);
else
maps\mp\_utility::error("NO " + spawnpointname + " SPAWNPOINTS IN MAP");
}
/* players.gsc */
countActivePlayers(team)
{
count = 0;
players = getEntArray("player", "classname");
for (i=0; i<players.size; i++)
{
player = players[i];
if (!isDefined(team))
{
if (player.pers["team"] == "axis" && player.sessionstate == "playing")
count++;
if (player.pers["team"] == "allies" && player.sessionstate == "playing")
count++;
} else if (team == "axis") {
if (player.pers["team"] == "axis" && player.sessionstate == "playing")
count++;
} else if (team == "allies") {
if (player.pers["team"] == "allies" && player.sessionstate == "playing")
count++;
}
}
return count;
}