ID:269727
 
I have tried talking on wiz_chat and they didnt help so um here

        Make_Turf()
set category = "Advanced Building"
var/newtype = input("What type?")in typesof(/turf)+"Cancel"
usr.buildtype = newtype
if(newtype == "Cancel")
return
Make_Area()
set category = "Advanced Building"
var/newtype = input("What type?")in typesof(/area)+"Cancel"
usr.buildtype = newtype
if(newtype == "Cancel")
return

Choose_Building_Method()
set category = "Advanced Building"
usr.building = 1
usr.buildmethod = input("Select your method to build")in list("Click","Block","Flood","Drag","Cancel")
if(usr.buildmethod == "Cancel")
src<<"<font color = purple>You are not building</font>"
return
else
src<<"<font color = purple>Your building method is now <b>[buildmethod]</font></b>"
Stop_Build()
set category = "Advanced Building"

usr.building = 0
usr.MouseEntered(null,null)





turf
MouseDrag(typea,unused,location)
if(usr.building && usr.buildmethod == "Drag")

typea = usr.buildtype
new typea(location)
MouseDrop(turf/a,turf/b)
if(usr.building && usr.buildmethod == "Block")
for(var/turf/T in block(a,b))
new usr.buildtype(T)

obj/door





proc/fill(turf/T, type)
if(T.type == type)
new type (T)
for(var/j in list(1,2,4,8))
var/G = get_step(T, j)
if(G) fill(G, type)
new usr.buildtype(G)

turf/Click()
if(usr.buildmethod == "Flood")
fill(src, usr.buildtype)
if(usr.building && usr.buildmethod == "Click")
new usr.buildtype(src)


client
var/image/highlighter
New()
.=..()
highlighter = image('box.dmi',src)
turf/MouseEntered()
if(usr.buildmethod=="Flood"||usr.buildmethod=="Line"||usr.buildmethod=="Block"||usr.buildmethod=="Click"||usr.buildmethod=="Drag")
usr.client.highlighter.loc = src
usr << usr.client.highlighter
else
return
turf/MouseExited()
usr.client.images -= usr.client.highlighter


fill doesent work and how can i get line and rectangle(not filled)
Google "line formulas", "line algorithims", "rectangle algorithims", etc.