ID:163978
 
OK, in reality, this would return a random start point and place the player there, as its what pick() does.

world
New()
..()
starts = new /list()
for(var/area/Start/BE in world)
starts.Add(BE)
var
list
starts[]

mob
Player
Login()
..()
var/turf/T=pick(starts)
loc=locate(T.x,T.y,T.z)


But it only returns the first unblocked start point it finds (which would be the closest to 1,1,1 as if it was one of those 1 to 100 number posters) Screw you, DM Reference.

What should I do to make actually random start points?
i think someone asked that before, why dont you try and look for their topic?
In response to Jman9901
In response to RedlineM203
oh, soz lol, and i cant help with that. i tried to too before, didnt work out... :|
In response to Jman9901
I would think it would be better to actually have a variable that represents the player's x,y,z. Lets say the area "start" ranged from 1-10 in x and 1-10 in y (10x10 tile area) and the z is 1.
mob/Login()
var/rx = rand(1,10)//rx is an abbreviation for Random X, Random X could be 1 - 10
var/ry = rand(1,10)//ditto except it represents the y
src.loc = locate(rx,ry,1)
<dm>
Hope that helps. Lets say the area was in the middle of a map.
ranging from 50-100 x and 50 - 100 y(50x50 tile area) it would be the same as above except the rand() would be changed to rand(50,100).
In response to Kakashi24142
Hmm.. yeah, I could use that, but its ineffective when it comes to multiple start points, especially 1 point on its own.

And I'd have to change the code over the simplicity of just changing the map.
The problem is that in normal circumstances, there is only one instance of an area that exists in the world. That means all of those little blots of /area/Start you added on the map is one actual area split up into many locations. An easy solution is to either use turfs or invisible objs, and instead set the player's loc to the obj's loc.
In response to Unknown Person
Unknown Person wrote:
The problem is that in normal circumstances, there is only one instance of an area that exists in the world. That means all of those little blots of /area/Start you added on the map is one actual area split up into many locations. An easy solution is to either use turfs or invisible objs, and instead set the player's loc to the obj's loc.

Hmm... I forgot why I chose areas over objs, except the fact you'd know how much of a pain using turfs is.

I guess I just didn't find objs appropriate until now