ID:170558
 
You see, we want to make a ship that once boarded, you can move freely on the Ocean, but we need it to allow 1-4 people parties and not allow people on board that didnt do boat quest to get the boat.
This dosen't belong in Code Problems. Code Problems is only for when you actually have code that you need to fix. Newbie Central would be the place for this question.
In response to Artekia
On top of that, you are asking a lot. You're going to have to find a way to do this that is very smart. I've devised a small system to handle this:

turf
water
density = 1
Enter(var/atom/movable/O)
if(istype(O,/obj/ship))
for(var/atom/movable/B in src)
if(B.density)
return 0
return 1
else
return ..(O)
dock
mob
var
obj/vehicle
client
Move(var/turf/newloc,var/ndir)
if(src.mob.vehicle)
return src.mob.vehicle.Move(newloc,ndir)
else
return src.mob.Move(newloc,ndir)
obj
ship
var
mob/pilot
density = 1
verb
pilot()
set src = usr.loc //I'm not certain about this line
if(!src.pilot)
src.pilot = usr
usr.vehicle = src
else
usr << "There is already a pilot!"
board()
set src in oview(1)
if(src.contents.len<4)
if(!src.pilot)
src.pilot = usr
usr.vehicle = src
src.contents += usr
unboard() //I don't forgot the word.
src src = usr.loc
var/turf/dock = locate(/turf/dock) in oview(1,src)
if(dock)
usr.loc = dock
if(src.pilot==usr)
src.pilot = null
usr.vehicle = null


You're on your own for anything else, as it is, I feel kind of bad just giving this to you.
In response to Ter13
Thank you