ID:171806
 
Im trying to get an idea how to create a way players can file a complaint to administative personel. Heres my idea:

The player creates an atom, preferably an object. Define the object's variables, and place it on a list only accessable to administrators.

Can I get some assistance?
A datum would be of better use to you.

Example:

var
Complaints
Complaint_Board
Complaints
var
list
Complaints=list()
mob
verb
Complaint_Board(msg as message|null)
if(!Complaint_Board)
Complaint_Board=new
if(!Complaint_Board.Complaints[src.ckey])
Complaint_Board.Complaints[src.ckey]=list()
Complaint_Board.Complaints[src.ckey]+=msg
admin
verb
View_Complaints()
var/Complaint=input(src,"Which complaint do you wish to view?","[world.name]") in Complaint_Board.Complaints|null
var/list/Complaints=Complaint_Board.Complaints[Complaint]
src<<"<b>Complaints made by: [Complaint]</b>"
for(var/X in Complaints)
src<<Complaints[X]
var/Complaints

mob/verb/Acess_List()
if(src.key == "Siientx")
src <<browse("[Complaints]","window=complaints")
else
src <<"Acess to list is denied."

mob/verb/File_Complaint(T as text)
Complaints = "[Complaints][html_encode(T)] - <i>[html_encode(src.name)]</i><br>"
In response to Teh Governator
Just wondering. Why would a dantum be of better use?
In response to ZLegend
Because /objs are just datums with a lot of unnecessary vars and procs tacked on that just take up extra memory of you aren't using them.

If its not on the map, it probably doesn't need to be an obj.