ID:142637
 
Code:
#include

client/base_num_characters_allowed = 3

mob
Login()
..()

sample_report()

Write(savefile/F)
..()


if (world.maxx)
F["last_x"] << x
F["last_y"] << y
F["last_z"] << z

Read(savefile/F)

..()


if (world.maxx)
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()
src << "

"
src << "\blue You are [name]."

verb
Save()
src.client.base_SaveMob()
src << "\red You have been saved."

world
name = "Star Wars V.02!"
view = 7
mob = /mob/player

mob/player
Login()
sleep(10)
world << "
\red [usr] logs on!"
src.name = input("Whats your name?!","Name",src.key)
var/a = input("Whas your allegence?")in list("Imperial","Rebel","Rouge")


Problem description: When i enter the game it can load the save files but it still makes a new character even after you load it. Any help would be greatly appreciated.

</<></<></<>
sorry my code doesnt work either but perhaps if you blended mine with yours it might work?

mob/Logout()
var/savefile/F = new(ckey)
Write(F)
del(src)

mob/Login()
var/savefile/F = new(ckey)
Read(F)
return ..()
mob
var/tmp
mob/leader
followers[]
mob
var
saved_x
saved_y
saved_z

Write(savefile/F)
saved_x = x
saved_y = y
saved_z = z
..() //store variables
Read(savefile/F)
..() //restore variables
Move(locate(saved_x,saved_y,saved_z))
var/savefile/SaveFile = new("players.sav")

//here below this

mob/Login()
SaveFile.cd = "/" //make sure we are at the root
if(ckey in SaveFile.dir)
SaveFile.cd = ckey
Read(SaveFile)
usr << "Welcome back, [name]!"
else
usr << "Welcome, [name]!"
..()
mob/Write(savefile/F)
//store coordinates
F << x
F << y
F << z
//store variables
..()
mob/Read(savefile/F)
var {saved_x; saved_y; saved_z}
//load coordinates
F >> saved_x
F >> saved_y
F >> saved_z
//restore variables
..()
//restore coordinates
Move(locate(saved_x,saved_y,saved_z))
mob/Write(savefile/F)
F["name"] << name
F["gender"] << gender
F["icon"] << icon
mob/Read(savefile/F)
F["name"] >> name
F["gender"] >> gender
F["icon"] >> icon
client/New()
var/savefile/F = new(ckey)
F >> usr
return ..()
client/Del()
var/savefile/F = new(ckey)
F << usr
del(usr)
mob
Login()
var/savefile/F = client.Import()
if(F) Read(F) //restore properties
..()
proc/SavePlayer()
var/savefile/F = new()
Write(F) //save properties
client.Export(F)
mob/proc/GotoMars()
var/savefile/F = new()
F << src
if(!world.Export("dm.edu:2001#player",F))
usr << "Mars is not correctly aligned at the moment."
return
usr << link("dm.edu:2001")

world/Topic(T)
if(T == "player")
//download and open savefile
var/savefile/F = new(Import())

//load mob
var/mob/M
F >> M

return 1
mob/verb/export(Addr as text)
usr << "Export([Addr]) == \..."
usr << world.Export(Addr)

world/Topic(T,Addr)
world.log << "Topic([T]) from address [Addr]."
return 1

mob/Write(savefile/F)
var/V
for(V in vars)
if(issaved(vars[V]))
if(initial(vars[V]) == vars[V])
F.dir.Remove(V) //just in case
else F[V] << vars[V] //write variable
mob/Read(savefile/F)
var/V
for(V in vars)
if(issaved(vars[V]))
if(V in F.dir)
F[V] >> vars[V] //read variable
client/New()
world.UpdateWorldStatus()
..()

mob/proc/NewCharacter()
src.loc=locate(22,34,10)
icon = 'samus.dmi'
icon_state = "varia"
sleep(20)
up
var/name=input("Let's begin with your name. What is it?"," ")as text
if(!name)name=src.key
sleep(5)
switch(alert("Right...So your name is [name]?"," ","Yes","No"))
if("Yes")
src.name=name
if("No")
goto up
sleep(20)
src.loc=locate(4,4,4)
src.client.mob=src
var/savefile/F = new("Save Files/[client.ckey]storage.sav")
for(var/i = 1;i<=20;i++)
F["box[i]"] << list()
world<<"<font color=green>[src.name] has logged on."
mob/proc
LoadCharacter()
switch(input("What would you like to do today?","[world.name]")in list("Load Character"))
if("Load Character"){
var/list{players=src.PlayerList();listing=new()};
listing+=players;
var/selection=input("which character do you wish to load?", "Load Character") in listing;
client.Load(selection)}


mob/proc
DeleteCharacter()
switch(input("What would you like to do today?","[world.name]")in list("Delete Character","Nevermind"))
if("Delete Character"){there;
var/savefile/F=new("players/[src.ckey]/mobs.sav");
F.cd="/[ckey]";var/list{Players=F.dir;listing=new()};
var/Cancel="Cancel";listing+=Players;listing+=Cancel;
var/selection=input("Which character do you wish to delete?","Deleteing Character") in listing;
if(selection){F.cd="/[ckey]";F.dir.Remove(selection)};if(sel ection==Cancel){usr<<"Character Deleted.."()};
else goto there}
if("Nevermind")
usr<<"Ok."

mob/proc
// SavePlayer(){src.CV=src.verbs;
// var/savefile/F
// F=new("players/[src.ckey]/mobs.sav");
// var/char_ckey=cKey(src.name);F["/[ckey]/[char_ckey]"]<< ;src}
// LoadPlayer(char_ckey)
// var/savefile/F=new("Save Files/[src.mob.ckey].sav")
// F["/[ckey]/[char_ckey]"]>>src

PlayerList(){
var/savefile/F=new("players/[src.ckey]/mobs.sav");
F.cd="/[ckey]";var/list/players=F.dir;return players}
mob/Logout()
if(src.gender==null)
del(src)
return
else
client.Save()
world<<"<font color=red>[src] has logged out."
del(src)
..()
mob
Login()
..()

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)

turf/login/NewChar
name=" "
Click()
if (fexists("players/[usr.ckey]/mobs.sav")) // Check if they have a save file
switch(alert("You are making a new character. When you save in-game, your old character will be deleted. Continue?","[world.name]","Yes","No"))
if ("Yes")
usr.NewCharacter()
return ..()
if ("No")
return ..()
else
usr.NewCharacter() // No savefile found, create a new character
return ..()
..()



turf/login/LoadChar
name=" "
Click()
switch(input("What would you like to do today?","Menu")in list("Delete Character","Load Character","Leave"))
if("Load Character")
usr.LoadCharacter()
if("Delete Character")
usr.DeleteCharacter()
if("Leave")
usr.Logout()

var/versiontext="1"
var/hostkey
world/proc/UpdateWorldStatus()
var/i
for(var/mob/L in world) if(L.client) i++
var/stattext = "<font color=red>Version: [versiontext]</font> | "
if(hostkey) stattext += "<font color=red> Host: [hostkey]</font> |"
stattext += "<font color=red> Players: [i]/</font>"
if(!world.port) stattext += "|<font color=red> Open Testing </font>"
world.status = stattext



client/proc/Save()
var/savefile/F = new("Save Files/[src.mob.ckey].sav")
F["mob"] << src.mob
F["x"] << src.mob.x
F["y"] << src.mob.y
F["z"] << src.mob.z

client/proc/Load()
var/savefile/F = new("Save Files/[src.mob.ckey].sav")
F["mob"] >> src.mob
F["x"] >> src.mob.x
F["y"] >> src.mob.y
F["z"] >> src.mob.z

thats all i can do =\ so if anyone can revise his or mine to work i will be very grateful or however u spell it cuz i will use it 2 O_O