ID:169438
 
Game error

When start hosting my game i got this error

runtime error: Cannot read null.name
proc name: SaveMob (/client/proc/SaveMob)
source file: new_char_handling.dm,63
usr: null
src: EvilEsKiMo666 (/client)
call stack:
EvilEsKiMo666 (/client): SaveMob()
EvilEsKiMo666 (/client): Del()
runtime error: bad output
proc name: Del (/client/Del)
source file: GUILD_SAVING.dm,13
usr: null
src: EvilEsKiMo666 (/client)
call stack:
EvilEsKiMo666 (/client): Del()
EvilEsKiMo666 (/client): Del()
EvilEsKiMo666 (/client): Del()
EvilEsKiMo666 (/client): Del()

My Host tried to run it locally and he got this error

How can we fix this?
Sounds to me like it's usr abuse. You're probably using usr somewhere where you should not. Can we see these two procedures? With line 63 and line 13 marked?

Incidentally, are those two libraries that you've included with the game? Deadron's Character Handling and... something else? Deadron's probably doesn't have usr abuse, but if you've changed one of the procedures... And the other one probably just sucks.
In response to Jp
Jp wrote:
Deadron's probably doesn't have usr abuse, but if you've changed one of the procedures...

Or passed a bad value in to one of the procedures. Like a null value. =)
In response to Crispy
one line 63 i get this the new char handling

     
if(guildrecruit2==1)//For this var...


and in guild saving i have this

    var/savefile/F=new("guild_data.sav")//Save the info to this file  
In response to Govegtos
Can anyone help?
In response to Govegtos
It would help if we actually saw the entire procedure. It's fairly difficult to diagnose a problem when the only lines you can see are the ones 'causing' the errors.
In response to Jp
k heres the full file of the new character handling and guild save

New Character handling is

mob/Login()
..()
src.loc=locate(100,125,10)
src.move = 1
src.ko = 0
src.blocking = 0
src.ptime = 0
src.kiin = 0
src.grav = 0
src.combo = 0
src.angered = 0
// src.oicon = src.icon
src.powerlevel = src.maxpowerlevel
src.tech = 0
src.gainzenni = 0
src.slap = 0
src.entime = 0
src.sight = 0
src.overlays -= /obj/kame
src.overlays -= /obj/kame
src.overlays -= /obj/kame
src.overlays -= /obj/kame
src.overlays -= /obj/kame
src.overlays -= /obj/kame
src.focused = 0
src.spar = 0
src.icon_state = ""
src.ased = 0
src.talk = 1
src.plarper = 1
src.absorb = 0
src.flight = 0
src.tayio = 0
src.training = 0
src.density = 1
src.safe = 0
src.meditate = 0
src.medtime = 0
src.talk = 1
src.entime = 0
src.medtime = 0
src.move = 1
src:sight = 0

usr << "Please click EXTRA and Reload Corner to view the news, player's corners (little websites)"
sample_report()
if(guilds2)//For this var...
usr.guilds=guilds2//This happens
if(guildrecruit2)//For this var...
usr.guildrecruit=guildrecruit2//This happens
if(guildleaders2)//For this var...
usr.guildleaders=guildleaders2//This happens
if(guildtitle2)//For this var...
usr.guildtitle=guildtitle2//This happens
if(guild2)//For this var...
usr.guild=guild2//This happens
if(guildrecruiter2)//For this var...
usr.guildrecruiter=guildrecruiter2//This happens
if(guildleader2)//For this var...
usr.guildleader=guildleader2//This happens
if(guilds2==1)//For this var...
addguildcommands()//This happens
if(guildrecruit2==1)//For this var...
addguildrecruitcommands()//This happens
if(guildleaders2==1)//For this var...
addguildleadercommands()//This happens


mob/Logout()

del(src)

client/proc/SaveMob()
var/firstletter=copytext(src.ckey, 1, 2)
var/savefile/F = new("players/[firstletter]/[src.ckey].sav")
var/char_ckey = cKey(src.mob.name)
F["/[ckey]/[char_ckey]"]<<src.mob

client/proc/LoadMob(char_ckey)
var/firstletter=copytext(src.ckey, 1, 2)
var/savefile/F = new("players/[firstletter]/[src.ckey].sav")
F["/[ckey]/[char_ckey]"]>>src.mob

client/Del()
if (istype(src.mob, /mob/other/choosing_character))
return ..()

src.SaveMob()
return ..()

mob/other/choosing_character
Login()
usr.loc=locate(7,7,10)
usr.move = 0
usr.sight = 0


proc
ChooseCharacter()
var/list/characters = src.CharacterList()

var/newCharacterChoice = "New Character"
var/DeleteCharacterChoice = "Delete Character"
var/list/menu = new()
menu += characters
menu += newCharacterChoice
menu += DeleteCharacterChoice

var/result = input("Character Creation", "Dragonball Outcast") in menu

if (result == newCharacterChoice)
src.CreateNewCharacter()
if (result == DeleteCharacterChoice)
src.ChooseCharacter()
else
var/success = src.client.LoadMob(result)

if (success)
del(src)
else
alert("I like cheese..")
src.ChooseCharacter()

CharacterList()
var/firstletter=copytext(src.ckey, 1, 2)
var/savefile/F = new("players/[firstletter]/[src.ckey].sav")
F.cd = "/[ckey]"
var/list/characters = F.dir
return characters

proc/DeleteCharacter()

var/firstletter=copytext(src.ckey, 1, 2)
var/savefile/F = new("players/[firstletter]/[src.ckey].sav")

F.cd = "/[ckey]"
var/list/characters = F.dir

var/CancelCharacterDeletion = "Decline"
var/list/menu = new()
menu += characters
menu += CancelCharacterDeletion


var/result = input("Delete character", "Character Creation") in menu

if (result)
F.cd = "/[ckey]"
F.dir.Remove(result)
// if (result == CancelCharacterDeletion)
//src.ChooseCharacter()
if (result == CancelCharacterDeletion)
src.clickdel = 0
src.clicknew = 0
src.clickabout = 0
src.clickedit = 0
else
src.ChooseCharacter()



mob/other/choosing_character/proc/CreateNewCharacter()

var/prompt_title = "Character Creation"
var/help_text = "What is your name? "
var/default_value = ""
var/char_name = input(src, help_text, prompt_title, default_value) as null|text
if (!char_name)
src.ChooseCharacter()
return

var/ckey_name = ckey(char_name)
var/list/characters = CharacterList()
if (characters.Find(ckey_name))
alert("Cannot use the same name over again!")
src.CreateNewCharacter()
return

help_text = "What race do you wish to be?"
var/list/races = list("Human", "Saiyan", "Half-Saiyan", "Namekian", "Android (Biological)","Android (Mechanical)", "Changling", "MajinBuu")
default_value = "Human"
var/char_race = input(src, help_text, prompt_title, default_value) in races
var/mob/new_mob
switch(char_race)

if("Human")
new_mob = new /mob/characters/humanjin()
new_mob.move = 1
new_mob.focused = 0
new_mob.powerlevel = 5
new_mob.maxpowerlevel = 5
new_mob.strength = 1
new_mob.dead = 0
new_mob.rage = 0
new_mob.rage = 0
new_mob.faceicon = 'default.dmi'
new_mob.gonessj = 0
new_mob.stamina = 100
new_mob.maxstamina = 100
new_mob.zenni = 0
new_mob.will = 0
new_mob.honor = 0
new_mob.gonessj = 0
new_mob.state = "Normal"
new_mob.purity = 0
new_mob.kitech = "None"
new_mob.auratech = "None"
new_mob.kitechlearn = 0
new_mob.bangtechlearn=0
new_mob.auratechlearn = 0
new_mob.kaioken = 0
new_mob.maxstamina = 100
new_mob.mother = "Unknown"
new_mob.father = "Unknown"
new_mob.focustechlearn = 0
new_mob.kicolor = "None"
new_mob.focus = "None"
//new_mob.style = 'style-calming.dmi'
//new_mob.stylename = "Calming"
new_mob.flightlearn = 0
new_mob.race = "Human"
new_mob.overlays += /obj/tail
new_mob.title = ""
new_mob.talk = 1

if("MajinBuu")
new_mob = new /mob/characters/Buu()
new_mob.move = 1
new_mob.focused = 0
new_mob.powerlevel = 5
new_mob.maxpowerlevel = 5
new_mob.strength = 1
new_mob.dead = 0
new_mob.rage = 0
new_mob.rage = 0
new_mob.faceicon = 'default.dmi'
new_mob.gonessj = 0
new_mob.stamina = 100
new_mob.maxstamina = 100
new_mob.zenni = 0
new_mob.will = 0
new_mob.honor = 0
new_mob.gonessj = 0
new_mob.state = "Normal"
new_mob.purity = 0
new_mob.kitech = "None"
new_mob.auratech = "None"
new_mob.kitechlearn = 0
new_mob.bangtechlearn=0
new_mob.auratechlearn = 0
new_mob.kaioken = 0
new_mob.maxstamina = 100
new_mob.mother = "Unknown"
new_mob.father = "Unknown"
new_mob.focustechlearn = 0
new_mob.kicolor = "None"
new_mob.focus = "None"
//new_mob.style = 'style-calming.dmi'
//new_mob.stylename = "Calming"
new_mob.flightlearn = 0
new_mob.race = "Majin"
new_mob.title = ""
new_mob.talk = 1

if("Saiyan")
new_mob = new /mob/characters/saiyajin()
new_mob.move = 1
new_mob.focused = 0
new_mob.powerlevel = 5
new_mob.maxpowerlevel = 5
new_mob.strength = 1
new_mob.dead = 0
new_mob.rage = 0
new_mob.rage = 0
new_mob.faceicon = 'default.dmi'
new_mob.gonessj = 0
new_mob.stamina = 100
new_mob.maxstamina = 100
new_mob.zenni = 0
new_mob.will = 0
new_mob.honor = 0
new_mob.gonessj = 0
new_mob.state = "Normal"
new_mob.purity = 0
new_mob.kitech = "None"
new_mob.auratech = "None"
new_mob.kitechlearn = 0
new_mob.bangtechlearn=0
new_mob.auratechlearn = 0
new_mob.kaioken = 0
new_mob.maxstamina = 100
new_mob.mother = "Unknown"
new_mob.father = "Unknown"
new_mob.focustechlearn = 0
new_mob.kicolor = "None"
new_mob.focus = "None"
//new_mob.style = 'style-calming.dmi'
//new_mob.stylename = "Calming"
new_mob.flightlearn = 0
new_mob.race = "Saiyan"
new_mob.overlays += /obj/tail
new_mob.title = ""
new_mob.talk = 1

if("Half-Saiyan")
new_mob = new /mob/characters/halfieh()
new_mob.move = 1
new_mob.focused = 0
new_mob.powerlevel = 5
new_mob.maxpowerlevel = 5
new_mob.strength = 1
new_mob.rage = 0
new_mob.rage = 0
new_mob.faceicon = 'default.dmi'
new_mob.stamina = 100
new_mob.maxstamina = 100
new_mob.zenni = 0
new_mob.gonessj = 0
new_mob.will = 0
new_mob.honor = 0
new_mob.state = "Normal"
new_mob.gonessj = 0
new_mob.purity = 0
new_mob.dead = 0
new_mob.kitech = "None"
new_mob.auratech = "None"
new_mob.kitechlearn = 0
new_mob.maxstamina = 100
new_mob.mother = "Unknown"
new_mob.bangtechlearn = 0
new_mob.father = "Unknown"
new_mob.kaioken = 0
new_mob.auratechlearn = 0
new_mob.focustechlearn = 0
new_mob.kicolor = "None"
new_mob.focus = "None"
//new_mob.style = 'style-calming.dmi'
//new_mob.stylename = "Calming"
new_mob.flightlearn = 0
new_mob.race = "Half-Saiyan"
new_mob.title = ""
new_mob.talk = 1


if("Namekian")

new_mob = new /mob/characters/namekjin()
new_mob.hair = "Bald"
new_mob.move = 1
new_mob.focused = 0
new_mob.powerlevel = 5
new_mob.maxpowerlevel = 5
new_mob.strength = 1
new_mob.rage = 0
new_mob.rage = 0
new_mob.maxstamina = 100
new_mob.mother = "Unknown"
new_mob.father = "Unknown"
new_mob.stamina = 100
new_mob.maxstamina = 100
new_mob.state = "Normal"
new_mob.bangtechlearn=0
new_mob.kaioken = 0
new_mob.zenni = 0
new_mob.will = 0
new_mob.honor = 0
new_mob.purity = 0
new_mob.faceicon = 'default.dmi'
new_mob.kitech = "None"
new_mob.auratech = "None"
new_mob.kitechlearn = 0
new_mob.dead = 0
new_mob.auratechlearn = 0
new_mob.focustechlearn = 0
new_mob.kicolor = "None"
new_mob.focus = "None"
//new_mob.style = 'style-calming.dmi'
//new_mob.stylename = "Calming"
new_mob.flightlearn = 0
new_mob.title = ""
new_mob.race = "Namekian"
new_mob.icon = 'namek.dmi'
new_mob.talk = 1




if("Android (Biological)")
usr.icon = 'Cell.dmi'
new_mob = new /mob/characters/bioanndroidcell()
new_mob.move = 1
new_mob.focused = 0
new_mob.powerlevel = 1000
new_mob.maxpowerlevel = 1000
new_mob.strength = 1
new_mob.mother = "None"
new_mob.father = "None"
new_mob.rage = 0
new_mob.kaioken = 0
new_mob.rage = 0
new_mob.stamina = 100
new_mob.state = "Normal"
new_mob.bangtechlearn=0
new_mob.maxstamina = 100
new_mob.faceicon = 'default.dmi'
new_mob.zenni = 0
new_mob.will = 0
new_mob.dead = 0
new_mob.honor = 0
new_mob.purity = 0
new_mob.kitech = "None"
new_mob.auratech = "None"
new_mob.kitechlearn = 0
new_mob.auratechlearn = 0
new_mob.focustechlearn = 0
new_mob.kicolor = "None"
new_mob.focus = "None"
//new_mob.style = 'style-calming.dmi'
//new_mob.stylename = "Calming"
new_mob.flightlearn = 0
new_mob.title = ""
new_mob.race = "Android (Biological)"
new_mob.talk = 1


if("Android (Mechanical)")

new_mob = new /mob/characters/android()
new_mob.move = 1
new_mob.focused = 0
new_mob.powerlevel = 1000
new_mob.maxpowerlevel = 1000
new_mob.strength = 1
new_mob.rage = 0
new_mob.rage = 0
new_mob.faceicon = 'default.dmi'
new_mob.stamina = 100
new_mob.maxstamina = 100
new_mob.zenni = 0
new_mob.will = 0
new_mob.dead = 0
new_mob.state = "Normal"
new_mob.kaioken = 0
new_mob.mother = "None"
new_mob.father = "None"
new_mob.honor = 0
new_mob.purity = 0
new_mob.kitech = "None"
new_mob.bangtechlearn=0
new_mob.auratech = "None"
new_mob.kitechlearn = 0
new_mob.auratechlearn = 0
new_mob.focustechlearn = 0
new_mob.kicolor = "None"
new_mob.focus = "None"
//new_mob.style = 'style-calming.dmi'
//new_mob.stylename = "Calming"
new_mob.flightlearn = 0
new_mob.title = ""
new_mob.race = "Android (Mechanical)"
new_mob.talk = 1




if("Changling")
new_mob = new /mob/characters/changling()
new_mob.move = 1
new_mob.focused = 0
new_mob.powerlevel = 5
new_mob.dead = 0
new_mob.maxpowerlevel = 5
new_mob.strength = 1
new_mob.rage = 0
new_mob.kaioken = 0
new_mob.rage = 0
new_mob.stamina = 100
new_mob.maxstamina = 100
new_mob.mother = "Unknown"
new_mob.father = "Unknown"
new_mob.bangtechlearn=0
new_mob.zenni = 0
new_mob.faceicon = 'default.dmi'
new_mob.will = 0
new_mob.honor = 0
new_mob.gonessj = 0
new_mob.state = "Normal"
new_mob.purity = 0
new_mob.talk = 1
new_mob.kitech = "None"
new_mob.auratech = "None"
new_mob.kitechlearn = 0
new_mob.auratechlearn = 0
new_mob.focustechlearn = 0
new_mob.kicolor = "None"
new_mob.focus = "None"
//new_mob.style = 'style-calming.dmi'
//new_mob.stylename = "Calming"
new_mob.flightlearn = 0
new_mob.race = "Changling"
new_mob.title = ""

if(new_mob.race=="Android (Mechanical)"||new_mob.race=="Saiyan"||new_mob.race=="Human"||new_mob.race=="Half-Saiyan")
switch(alert("Whats your Gender?","Gender Selection","Male","Female"))
if("Male")
new_mob.icon = 'male.dmi'
if("Female")
new_mob.icon='female2.dmi'


switch(alert("What will your alignment be?", "Alignment Choosing", "Good", "Rogue", "Evil"))
if("Good")
new_mob.alignment = "Good"
if("Rogue")
new_mob.alignment = "Rogue"
if("Evil")
new_mob.alignment = "Evil"

if(new_mob.race=="Android (Mechanical)")
switch(input("What hair style do you want?", "Customization", text) in list ("Bald Type","Spikey Type","Short Type","Long Type"))
if("Bald Type")
new_mob.hair = "Bald"
if("Short Type")
new_mob.hair = "Short"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_black_short.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
new_mob.overlays += hairover
if("Spikey Type")
new_mob.hair = "Spikey"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_black_spikey.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
new_mob.overlays += hairover
if("Long Type")
new_mob.hair = "long"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_black_long.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
new_mob.overlays += hairover
if(new_mob.race=="Saiyan"||new_mob.race=="Human"||new_mob.race=="Half-Saiyan")
switch(input("What hair style do you want?", "Customization", text) in list ("Bald Type","Spikey Type","Short Type","Long Type","Vegeta Type","Goku Type","Gohan Type"))
if("Bald Type")
switch(input("What kind of facial hair do you want?", "Customization", text) in list ("None","Goatee","Goat", "Mustache"))
if("None")
..()
if("Goatee")
new_mob.overlays += 'black_goatee.dmi'
..()
if("Goat")
new_mob.overlays += 'black_goat.dmi'
..()
if("Mustache")
new_mob.overlays += 'black_mustache.dmi'
..()
new_mob.hair = "Bald"
if("Gohan Type")
switch(input("What kind of facial hair do you want?", "Customization", text) in list ("None","Goatee","Goat", "Mustache"))
if("None")
..()
if("Goatee")
new_mob.overlays += 'black_goatee.dmi'
..()
if("Goat")
new_mob.overlays += 'black_goat.dmi'
..()
if("Mustache")
new_mob.overlays += 'black_mustache.dmi'
..()
new_mob.hair = "Gohan"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_Gohan.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
new_mob.overlays += hairover
if("Short Type")
switch(input("What kind of facial hair do you want?", "Customization", text) in list ("None","Goatee","Goat", "Mustache"))
if("None")
..()
if("Goatee")
new_mob.overlays += 'black_goatee.dmi'
..()
if("Goat")
new_mob.overlays += 'black_goat.dmi'
..()
if("Mustache")
new_mob.overlays += 'black_mustache.dmi'
..()
new_mob.hair = "Short"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_black_short.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
new_mob.overlays += hairover


if("Spikey Type")
switch(input("What kind of facial hair do you want?", "Customization", text) in list ("None","Goatee","Goat", "Mustache"))
if("None")
..()
if("Goatee")
new_mob.overlays += 'black_goatee.dmi'
..()
if("Goat")
new_mob.overlays += 'black_goat.dmi'
..()
if("Mustache")
new_mob.overlays += 'black_mustache.dmi'
..()
new_mob.hair = "Spikey"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_black_spikey.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
new_mob.overlays += hairover

if("Long Type")
switch(input("What kind of facial hair do you want?", "Customization", text) in list ("None","Goatee","Goat", "Mustache"))
if("None")
..()
if("Goatee")
new_mob.overlays += 'black_goatee.dmi'
..()
if("Goat")
new_mob.overlays += 'black_goat.dmi'
..()
if("Mustache")
new_mob.overlays += 'black_mustache.dmi'
..()
new_mob.hair = "long"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_black_long.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
new_mob.overlays += hairover
if("Vegeta Type")
switch(input("What kind of facial hair do you want?", "Customization", text) in list ("None","Goatee","Goat", "Mustache"))
if("None")
..()
if("Goatee")
new_mob.overlays += 'black_goatee.dmi'
..()
if("Goat")
new_mob.overlays += 'black_goat.dmi'
..()
if("Mustache")
new_mob.overlays += 'black_mustache.dmi'
..()
new_mob.hair = "Vegeta"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_vegeta.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
if("Goku Type")
switch(input("What kind of facial hair do you want?", "Customization", text) in list ("None","Goatee","Goat", "Mustache"))
if("None")
..()
if("Goatee")
new_mob.overlays += 'black_goatee.dmi'
..()
if("Goat")
new_mob.overlays += 'black_goat.dmi'
..()
if("Mustache")
new_mob.overlays += 'black_mustache.dmi'
..()
new_mob.hair = "Goku"
var/hairred = input("How much red do you want to put into your hair?") as num
var/hairblue = input("How much blue do you want to put into your hair?") as num
var/hairgreen = input("How much green do you want to put into your hair?") as num
var/hairover = 'hair_goku.dmi'
hairover += rgb(hairred,hairgreen,hairblue)
new_mob.rhair = hairred
new_mob.ghair = hairgreen
new_mob.bhair = hairblue
new_mob.overlays += hairover

new_mob.oicon = new_mob.icon
new_mob.npp = 0
new_mob.name = char_name

src.client.mob = new_mob
var/turf/first_location = locate(70,82,10)
new_mob.loc = first_location
del(src)



mob
Login()
..()
if (!istype(src, /mob/other/choosing_character))
sample_report()

Write(savefile/F)
..()

F["last_x"] << x
F["last_y"] << y
F["last_z"] << z

Read(savefile/F)
..()

var/last_x
var/last_y
var/last_z
F["last_x"] >> last_x
F["last_y"] >> last_y
F["last_z"] >> last_z
loc = locate(last_x, last_y, last_z)

proc
sample_report()
for(var/mob/M in world)
if(M.key)
if(!M.corner)
A+= "[M.name] has not created his corner (yet).<br><br>"
else
A+= "[M.name]'s Corner<br><br>"
A+= "[M.corner]"
A+= "<br><br>"
src << browse(A)

var/A
var/gendar


For guild saving i have is

client//For the client of the world
New()//A thing occuring
..()//Go on to normal activity
var/savefile/F=new("guild_data.sav")//Create a file to hold the guild data
F >> guild2//Variable to be loaded
F >> guildrecruiter2//Variable to be loaded
F >> guildleader2//Variable to be loaded
F >> guildtitle2//Variable to be loaded
F >> guilds2//Variable to be loaded
F >> guildrecruit2//Variable to be loaded
F >> guildleaders2//Variable to be loaded
Del()//When the world is deled...
var/savefile/F=new("guild_data.sav")//Save the info to this file
F << guild2//Variable to be saved
F << guildrecruiter2//Variable to be saved
F << guildleader2//Variable to be saved
F << guildtitle2//Variable to be saved
F << guilds2//Variable to be saved
F << guildrecruit2//Variable to be saved
F << guildleaders2//Variable to be saved
..()//Go on to normal activity


atom/movable
var
guild="None"//Starting off with NO guild
guildrecruiter=0//You do NOT have recruiting abilities to begin with
guildleader=0//You are NOT a leader of no guild
guildtitle="None"//You AREN'T in a guild so you don't have a title
guilds=0//Regular guild verbs are NOT there
guildrecruit=0//Recruit verbs are NOT there
guildleaders=0//Leader verbs are NOT there