You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.4 KiB
102 lines
3.4 KiB
var sockets, size, type, alignment, bufferSize, i, time, a, match, b, arrList, evnt;
|
|
if (prevPlayerListSize != ds_list_size(playerList) && ds_list_size(playerList) > 0)
|
|
{
|
|
prevPlayerListSize = ds_list_size(playerList)
|
|
sockets = ds_list_size(playerList)
|
|
buffer_delete(buffer)
|
|
size = 1024
|
|
type = buffer_grow
|
|
alignment = 1
|
|
buffer = buffer_create(size, type, alignment)
|
|
buffer_seek(buffer, buffer_seek_start, 0)
|
|
buffer_write(buffer, buffer_u8, 102)
|
|
buffer_write(buffer, buffer_string, strict_compress(ds_list_write(idList)))
|
|
bufferSize = buffer_tell(buffer)
|
|
buffer_seek(buffer, buffer_seek_start, 0)
|
|
buffer_write(buffer, buffer_s32, bufferSize)
|
|
buffer_write(buffer, buffer_u8, 102)
|
|
buffer_write(buffer, buffer_string, strict_compress(ds_list_write(idList)))
|
|
for (i = 0; i < sockets; i++)
|
|
network_send_packet(ds_list_find_value(playerList, i), buffer, buffer_tell(buffer))
|
|
}
|
|
if (ds_list_size(playerList) > 0 && ds_list_size(timeList) > 0)
|
|
{
|
|
if (ds_list_size(playerList) == ds_list_size(timeList) || ds_list_size(timeList) > ds_list_size(playerList))
|
|
{
|
|
ds_list_sort(timeList, 0)
|
|
time = ds_list_find_value(timeList, 0)
|
|
sockets = ds_list_size(playerList)
|
|
buffer_delete(buffer)
|
|
size = 1024
|
|
type = buffer_grow
|
|
alignment = 1
|
|
buffer = buffer_create(size, type, alignment)
|
|
buffer_seek(buffer, buffer_seek_start, 0)
|
|
buffer_write(buffer, buffer_u8, 20)
|
|
buffer_write(buffer, buffer_s32, time)
|
|
bufferSize = buffer_tell(buffer)
|
|
buffer_seek(buffer, buffer_seek_start, 0)
|
|
buffer_write(buffer, buffer_s32, bufferSize)
|
|
buffer_write(buffer, buffer_u8, 20)
|
|
buffer_write(buffer, buffer_s32, time)
|
|
for (i = 0; i < sockets; i++)
|
|
network_send_packet(ds_list_find_value(playerList, i), buffer, buffer_tell(buffer))
|
|
ds_list_clear(timeList)
|
|
}
|
|
}
|
|
for (a = 0; a < ds_list_size(samusList); a++)
|
|
{
|
|
match = 0
|
|
for (b = 0; b < ds_list_size(idList); b++)
|
|
{
|
|
arrList = ds_list_find_value(idList, b)
|
|
if (ds_list_find_value(samusList, a) == arrList[0, 0])
|
|
match = 1
|
|
}
|
|
if (!match)
|
|
ds_list_delete(samusList, a)
|
|
}
|
|
for (a = 0; a < ds_list_size(saxList); a++)
|
|
{
|
|
match = 0
|
|
for (b = 0; b < ds_list_size(idList); b++)
|
|
{
|
|
arrList = ds_list_find_value(idList, b)
|
|
if (ds_list_find_value(saxList, a) == arrList[0, 0])
|
|
match = 1
|
|
}
|
|
if (!match)
|
|
ds_list_delete(saxList, a)
|
|
}
|
|
for (a = 0; a < ds_list_size(deadList); a++)
|
|
{
|
|
match = 0
|
|
for (b = 0; b < ds_list_size(idList); b++)
|
|
{
|
|
arrList = ds_list_find_value(idList, b)
|
|
if (ds_list_find_value(deadList, a) == arrList[0, 0])
|
|
match = 1
|
|
}
|
|
if (!match)
|
|
ds_list_delete(deadList, a)
|
|
}
|
|
if (ds_list_size(samusList) > 0 && ds_list_size(deadList) > 0)
|
|
{
|
|
if (ds_list_size(samusList) == ds_list_size(deadList) || ds_list_size(deadList) > ds_list_size(samusList))
|
|
{
|
|
evnt = global.event[308]
|
|
evnt++
|
|
if (global.event[308] < 4)
|
|
global.event[308] = evnt
|
|
ds_list_clear(deadList)
|
|
}
|
|
}
|
|
if (ds_list_size(playerList) > 0 && ds_list_size(resetList) > 0)
|
|
{
|
|
if (ds_list_size(playerList) == ds_list_size(resetList) || ds_list_size(resetList) > ds_list_size(playerList))
|
|
{
|
|
event_user(0)
|
|
ds_list_clear(resetList)
|
|
}
|
|
}
|