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.
AM2R-Multitroid-Fair-Team-PVP/Export_CodeServer/gml_Object_oServer_Other_14...

117 lines
3.3 KiB

var saxCountMax, saxCount, sockets, i, newTeam, size, type, alignment, bufferSize, f, arrList, findIDSAX, findIDSamus;
saxCountMax = 0
saxCount = 0
sockets = ds_list_size(playerList)
newTeamList = ds_list_create()
if (sockets > 2)
{
saxCountMax = round((sockets / 2))
if (saxCountMax > (sockets / 2))
saxCountMax--
for (i = 0; i < sockets; i++)
{
if (saxCount < saxCountMax)
{
ds_list_set(newTeamList, i, 2)
saxCount++
}
else
ds_list_set(newTeamList, i, 1)
}
ds_list_shuffle(newTeamList)
}
else if (sockets == 2)
{
ds_list_set(newTeamList, 0, 1)
ds_list_set(newTeamList, 1, 2)
ds_list_shuffle(newTeamList)
}
for (i = 0; i < sockets; i++)
{
newTeam = 0
if (sockets >= 2)
newTeam = ds_list_find_value(newTeamList, i)
if (!global.saxmode)
newTeam = 1
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, 112)
buffer_write(buffer, buffer_u8, global.saxmode)
buffer_write(buffer, buffer_u8, newTeam)
bufferSize = buffer_tell(buffer)
buffer_seek(buffer, buffer_seek_start, 0)
buffer_write(buffer, buffer_s32, bufferSize)
buffer_write(buffer, buffer_u8, 112)
buffer_write(buffer, buffer_u8, global.saxmode)
buffer_write(buffer, buffer_u8, newTeam)
network_send_packet(ds_list_find_value(playerList, i), buffer, buffer_tell(buffer))
f = 0
while (f < ds_list_size(idList))
{
arrList = ds_list_find_value(idList, f)
if (arrList[0, 1] == ds_list_find_value(playerList, i))
{
if (newTeam == 1)
{
findIDSAX = ds_list_find_index(saxList, arrList[0, 0])
if (findIDSAX >= 0)
{
ds_list_delete(saxList, findIDSAX)
ds_list_add(samusList, arrList[0, 0])
break
}
else if (newTeam == 2)
{
findIDSamus = ds_list_find_index(samusList, arrList[0, 0])
if (findIDSamus >= 0)
{
ds_list_delete(samusList, findIDSamus)
ds_list_add(saxList, arrList[0, 0])
break
}
else
{
f++
continue
}
}
else
{
f++
continue
}
}
else if (newTeam == 2)
{
findIDSamus = ds_list_find_index(samusList, arrList[0, 0])
if (findIDSamus >= 0)
{
ds_list_delete(samusList, findIDSamus)
ds_list_add(saxList, arrList[0, 0])
break
}
else
{
f++
continue
}
}
else
{
f++
continue
}
}
else
{
f++
continue
}
}
}
ds_list_destroy(newTeamList)