ID:139681
 
Code:
var
Collecting = 0
bonus_list = new/list()
red_team = new/list()
blue_team = new/list()
proc
GameStart()
if(Collecting) return
if(PlayersOnline == 1)
world << "You need more than yourself to play!"
return
for(var/client/c)
if(c.mob.IsReady)
if(length(red_team)==length(blue_team))
var/d = rand(1,2)
if(d == 1)
c.mob.Team = "Red"
c.mob.icon = 'WhiteSpy.dmi'
c+=red_team
c.mob.loc = locate(/area/Spawns/RedSpawn)
else
c.mob.Team = "Blue"
c.mob.icon = 'BlackSpy.dmi'
c+=blue_team
c.mob.loc = locate(/area/Spawns/BlueSpawn)
else if(length(red_team) > length(blue_team))
c.mob.Team = "Red"
c.mob.icon = 'WhiteSpy.dmi'
c+=red_team
c.mob.loc = locate(/area/Spawns/RedSpawn)
else if(length(blue_team) > length(red_team))
c.mob.Team = "Blue"
c.mob.icon = 'BlackSpy.dmi'
c+=blue_team
c.mob.loc = locate(/area/Spawns/BlueSpawn)
else
c.mob.loc = locate(2,2,1)
c.mob.invisibility = 1
c.mob.sight |= (SEE_SELF|SEE_MOBS)

Collecting = 1
sleep(3000)
world << "You have 5 minutes!"
sleep(1500)
world << "You have 2.5 minutes left!"
sleep(900)
world << "You have 1 minute left!"
sleep(500)
world << "You have 10 seconds left!"
sleep(100)
world << "GAME'S OVER!"
GameEnd()
GameEnd()
Collecting = 0
if(RedTeamPoints > BlueTeamPoints)
world << "Red team wins!"
else if(RedTeamPoints < BlueTeamPoints)
world << "Blue team wins!"
else
world << "Its a tie!"
world << "World is rebooting in 30 seconds!"
sleep(200)
world << "World is rebooting in 10 seconds!"
sleep(100)
world.Reboot("New Game")

world
New()
..()


Problem description:
Basically, when i call this proc, the game doesn't start or move the players to the locations. I'm unsure why is it doing this.
I believe the game does start in single player but unsure if it would work in multiplayer.

runtime error: type mismatch: Gamemakingdude (/client) += /list (/list)
proc name: GameStart (/proc/GameStart)
source file: Procs.dm,31
usr: Gamemakingdude (/mob/Spy)
src: null
call stack:
GameStart()
Gamemakingdude (/client): StartGame()

Run time error when i try to add something to the lists.
c += red_team

// should be

red_team += c

You're adding in the wrong direction.
In response to Kaiochao
wow i read over this code 3 or 4 times trying to find the problem for this guy and i totally missed it. good eyes :)
In response to Gunbuddy13
Also I suggest you use if(players_online <= 1) instead of if(players_online == 1).
In response to Darker Legends
If you come across a time where yourself wouldn't be counted, that's a different bug to fix.