mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 23:52:12 +00:00
(Rebased and reopened #3347) Attempted to fix pipe and door rendering Fixed Table, carpet rendering Ported full map-capture tool from bay, with python script to merge captured images.
81 lines
3.0 KiB
Plaintext
81 lines
3.0 KiB
Plaintext
/datum/admins/proc/capture_map_part(tx as null|num, ty as null|num, tz as null|num, range as null|num)
|
|
set category = "Server"
|
|
set name = "Capture Map Part"
|
|
set desc = "Usage: Capture-Map-Part target_x_cord target_y_cord target_z_cord range (captures part of a map originating from bottom left corner)"
|
|
|
|
if(!check_rights(R_ADMIN|R_DEBUG|R_SERVER))
|
|
usr << "You are not allowed to use this command"
|
|
return
|
|
|
|
if(isnull(tx) || isnull(ty) || isnull(tz) || isnull(range))
|
|
usr << "Capture Map Part, captures part of a map using camara like rendering."
|
|
usr << "Usage: Capture-Map-Part target_x_cord target_y_cord target_z_cord range"
|
|
usr << "Target coordinates specify bottom left corner of the capture, range defines render distance to opposite corner."
|
|
return
|
|
|
|
if(range > 32 || range <= 0)
|
|
usr << "Capturing range is incorrect, it must be within 1-32."
|
|
return
|
|
|
|
if(locate(tx,ty,tz))
|
|
var/ligths = 0
|
|
if(alert("Do you want lighting to be included in capture?", "Map Capture", "No", "Yes") == "Yes")
|
|
ligths = 1
|
|
var/cap = generate_image(tx ,ty ,tz ,range, CAPTURE_MODE_PARTIAL, null, ligths, 1)
|
|
var/file_name = "map_capture_x[tx]_y[ty]_z[tz]_r[range].png"
|
|
usr << "Saved capture in cache as [file_name]."
|
|
usr << browse_rsc(cap, file_name)
|
|
else
|
|
usr << "Target coordinates are incorrect."
|
|
|
|
/datum/admins/proc/capture_map_capture_next(currentz, currentx, currenty, ligths)
|
|
if(locate(currentx, currenty, currentz))
|
|
var/cap = generate_image(currentx ,currenty ,currentz ,16, CAPTURE_MODE_PARTIAL, null, ligths, 1)
|
|
var/file_name = "map_capture_x[currentx]_y[currenty]_z[currentz]_r16.png"
|
|
usr << "Saved capture in cache as [file_name]."
|
|
usr << browse_rsc(cap, file_name)
|
|
currentx = currentx + 16
|
|
spawn (6)
|
|
del(cap)
|
|
.(currentz, currentx, currenty, ligths)
|
|
else
|
|
currenty = currenty + 16
|
|
currentx = 1
|
|
if(locate(currentx, currenty, currentz))
|
|
var/cap = generate_image(currentx ,currenty ,currentz ,16, CAPTURE_MODE_PARTIAL, null, ligths, 1)
|
|
var/file_name = "map_capture_x[currentx]_y[currenty]_z[currentz]_r16.png"
|
|
usr << "Saved capture in cache as [file_name]."
|
|
usr << browse_rsc(cap, file_name)
|
|
currentx = currentx + 16
|
|
spawn (6)
|
|
del(cap)
|
|
.(currentz, currentx, currenty, ligths)
|
|
else
|
|
usr << "End of map, capture is done."
|
|
|
|
/datum/admins/proc/capture_map(tz as null|num)
|
|
set category = "Server"
|
|
set name = "Capture Map"
|
|
set desc = "Usage: Capture-Map target_z_cord (captures map)"
|
|
|
|
if(!check_rights(R_ADMIN|R_DEBUG|R_SERVER))
|
|
usr << "You are not allowed to use this command"
|
|
return
|
|
|
|
if(isnull(tz))
|
|
usr << "Map Part, map using camara like rendering."
|
|
usr << "Usage: Capture-Map target_z_cord"
|
|
usr << "Target Z coordinates define z level to capture."
|
|
return
|
|
|
|
if(!locate(1, 1, tz))
|
|
usr << "Target z-level is incorrect."
|
|
return
|
|
|
|
var/ligths = 0
|
|
if(alert("Do you want lighting to be included in capture?", "Map Capture", "No", "Yes") == "Yes")
|
|
ligths = 1
|
|
|
|
switch(alert("Are you sure? (This will cause masive lag!!!)", "Map Capture", "No", "Yes"))
|
|
if("Yes")
|
|
usr.client.holder.capture_map_capture_next(tz, 1, 1, ligths) |