When I Start the Server Everything loads properly except th Datum Rank I get
## ERROR: Admin datum created without a rank. Datum has been deleted in code/modules/admin/holder2.dm at line 22 src: /datum/admins usr: .
## ERROR: Admin datum created without a rank. Datum has been deleted in code/modules/admin/holder2.dm at line 22 src: /datum/admins usr: .
In the Dream Deamon Text I canot Figure it OUt Because I am Farily new to Byond Code Thanks for the Help PS I am running TG Station build
Numbered Steps to Reproduce Problem:
1 Download the TG Station Build from Git Hub
2 Compile The Code in Dream Seeker
3 Run the Server from Dream Deamon
Code Snippet (if applicable) to Reproduce Problem:
var/list/admin_datums = list()
/datum/admins
var/datum/admin_rank/rank
var/client/owner = null
var/fakekey = null
var/datum/marked_datum
var/admincaster_screen = 0 //See newscaster.dm under machinery for a full description
var/datum/feed_message/admincaster_feed_message = new /datum/feed_message //These two will act as holders.
var/datum/feed_channel/admincaster_feed_channel = new /datum/feed_channel
var/admincaster_signature //What you'll sign the newsfeeds as
/datum/admins/New(datum/admin_rank/R, ckey)
if(!ckey)
ERROR("Admin datum created without a ckey argument. Datum has been deleted")
del(src)
return
if(!istype(R))
ERROR("Admin datum created without a rank. Datum has been deleted")
del(src)
return
rank = R
admincaster_signature = "Nanotrasen Officer #[rand(0,9)][rand(0,9)][rand(0,9)]"
admin_datums[ckey] = src
/datum/admins/proc/associate(client/C)
if(istype(C))
owner = C
owner.holder = src
owner.add_admin_verbs() //TODO
admins |= C
/datum/admins/proc/disassociate()
if(owner)
admins -= owner
owner.remove_admin_verbs()
owner.holder = null
owner = null
/*
checks if usr is an admin with at least ONE of the flags in rights_required. (Note, they don't need all the flags)
if rights_required == 0, then it simply checks if they are an admin.
if it doesn't return 1 and show_msg=1 it will prints a message explaining why the check has failed
generally it would be used like so:
proc/admin_proc()
if(!check_rights(R_ADMIN)) return
world << "you have enough rights!"
NOTE: it checks usr! not src! So if you're checking somebody's rank in a proc which they did not call
you will have to do something like if(client.rights & R_ADMIN) yourself.
*/
/proc/check_rights(rights_required, show_msg=1)
if(usr && usr.client)
if (check_rights_for(usr.client, rights_required))
return 1
else
if(show_msg)
usr << "<font color='red'>Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].</font>"
return 0
//probably a bit iffy - will hopefully figure out a better solution
/proc/check_if_greater_rights_than(client/other)
if(usr && usr.client)
if(usr.client.holder)
if(!other || !other.holder)
return 1
if(usr.client.holder.rank.rights != other.holder.rank.rights) //Check values smaller than 65536
if( (usr.client.holder.rank.rights & other.holder.rank.rights) == other.holder.rank.rights )
return 1 //we have all the rights they have and more
usr << "<font color='red'>Error: Cannot proceed. They have greater or equal rights to us.</font>"
return 0
/client/proc/deadmin()
admin_datums -= ckey
if(holder)
holder.disassociate()
del(holder)
return 1
//This proc checks whether subject has at least ONE of the rights specified in rights_required.
/proc/check_rights_for(client/subject, rights_required)
if(subject && subject.holder && subject.holder.rank)
if(rights_required && !(rights_required & subject.holder.rank.rights))
return 0
return 1
return 0
Expected Results:
Server runs fine
Actual Results:
I get the erroes server starts up But I am not a Admin Nor is my ferind witch I Set to Game Master in the config
Does the problem occur:
Every time? Or how often?
In other games?
In other user accounts?
On other computers?
Every Time
No
Yes
I have not trid
When does the problem NOT occur?
Never
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Workarounds:
Unknown