bot_qw.qc:
make all bots "lose" a player that disconnects waypoint.r: make sure all waypoint data structs get initialized
This commit is contained in:
parent
19fef1890c
commit
8b784f2ede
|
@ -227,7 +227,21 @@ void ()
|
||||||
ClientDisconnected =
|
ClientDisconnected =
|
||||||
{
|
{
|
||||||
local integer cl_no = ClientNumber (@self);
|
local integer cl_no = ClientNumber (@self);
|
||||||
|
local Bot p = NIL;
|
||||||
|
|
||||||
|
p = players[cl_no];
|
||||||
players[cl_no] = NIL;
|
players[cl_no] = NIL;
|
||||||
|
if (p) {
|
||||||
|
local entity e = p.ent;
|
||||||
|
local integer i;
|
||||||
|
for (i = 0; i < 32; i++) {
|
||||||
|
if (!players[i])
|
||||||
|
continue;
|
||||||
|
if (players[i].ent.enemy == e)
|
||||||
|
[players[i] lost:p:0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[p dealloc];
|
||||||
};
|
};
|
||||||
|
|
||||||
// BotConnect and related functions. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
// BotConnect and related functions. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||||
|
|
|
@ -50,16 +50,23 @@ Array waypoint_array;
|
||||||
@static entity waypoint_thinker;
|
@static entity waypoint_thinker;
|
||||||
@static List waypoint_queue;
|
@static List waypoint_queue;
|
||||||
|
|
||||||
|
@static void () waypoint_init =
|
||||||
|
{
|
||||||
|
waypoint_array = [[Array alloc] init];
|
||||||
|
if (!waypoint_queue)
|
||||||
|
waypoint_queue = [[List alloc] init];
|
||||||
|
if (!waypoint_thinker) {
|
||||||
|
waypoint_thinker = spawn ();
|
||||||
|
waypoint_thinker.classname = "waypoint_thinker";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
@implementation Waypoint
|
@implementation Waypoint
|
||||||
|
|
||||||
-(id)init
|
-(id)init
|
||||||
{
|
{
|
||||||
if (!waypoint_array) {
|
if (!waypoint_array)
|
||||||
waypoint_array = [[Array alloc] init];
|
waypoint_init ();
|
||||||
waypoint_queue = [[List alloc] init];
|
|
||||||
waypoint_thinker = spawn ();
|
|
||||||
waypoint_thinker.classname = "waypoint_thinker";
|
|
||||||
}
|
|
||||||
return [super init];
|
return [super init];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +186,7 @@ Waypoint Loading from file
|
||||||
{
|
{
|
||||||
if (waypoint_array)
|
if (waypoint_array)
|
||||||
[waypoint_array free];
|
[waypoint_array free];
|
||||||
waypoint_array = [[Array alloc] init];
|
waypoint_init ();
|
||||||
}
|
}
|
||||||
|
|
||||||
+(Waypoint)waypointForNum:(integer)num
|
+(Waypoint)waypointForNum:(integer)num
|
||||||
|
@ -193,7 +200,7 @@ Waypoint Loading from file
|
||||||
{
|
{
|
||||||
local integer i, tmp;
|
local integer i, tmp;
|
||||||
|
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
tmp = (integer)links[i];
|
tmp = (integer)links[i];
|
||||||
links[i] = [Waypoint waypointForNum:tmp];
|
links[i] = [Waypoint waypointForNum:tmp];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue