ID:140698
 
Code:
var
monthlen = 18000
month = 0
year = 1
list/LeafTeachers = list()
list/MistTeachers = list()
WaterMaster = ""
FireMaster = ""
WindMaster = ""
EarthMaster = ""
LightningMaster = ""
Hokage = ""
Mizukage = ""
HyuugaMaster = ""
UchihaMaster = ""
NaraMaster = ""
KaguyaMaster = ""
HakuMaster = ""
TaijutsuMaster = ""
world/proc
SaveTime()
var/savefile/F = new("time_data.sav")
F.cd = "/time/"
F["month"]<<month
F["year"]<<year
F["monthlen"]<<monthlen
F["LeafTeachers"] << LeafTeachers
F["MistTeachers"] << MistTeachers
F["WaterMaster"] << WaterMaster
F["FireMaster"] << FireMaster
F["WindMaster"] << WindMaster
F["EarthMaster"] << EarthMaster
F["LightningMaster"] << LightningMaster
F["Hokage"] << Hokage
F["Mizukage"] << Mizukage
F["HyuugaMaster"] << HyuugaMaster
F["UchihaMaster"] << UchihaMaster
F["KaguyaMaster"] << KaguyaMaster
F["NaraMaster"] << NaraMaster
F["HakuMaster"] << HakuMaster
F["TaijutsuMaster"] << TaijutsuMaster
LoadTime()
var/savefile/F = new("time_data.sav")
F.cd = "/time/"
F["month"]>>month
F["year"]>>year
F["monthlen"]>>monthlen
F["LeafTeachers"] >> LeafTeachers
F["MistTeachers"] >> MistTeachers
F["WaterMaster"] >> WaterMaster
F["WindMaster"] >> WindMaster
F["EarthMaster"] >> EarthMaster
F["LightningMaster"] >> LightningMaster
F["Hokage"] >> Hokage
F["Mizukage"] >> Mizukage
F["HyuugaMaster"] >> HyuugaMaster
F["UchihaMaster"] >> UchihaMaster
F["NaraMaster"] >> NaraMaster
F["KaguyaMaster"] >> KaguyaMaster
F["HakuMaster"] >> HakuMaster
F["TaijutsuMaster"] >> TaijutsuMaster
F["FireMaster"] >> FireMaster
mob/var
mborn = 0
yborn = 1
age=4
trueage=4
decline = 40
mob/verb
ViewRanks()
if(ViewingAssess==0)
ViewingAssess = 1
winset(usr, "AssessWindow", "is-visible=true")
usr << output(null, "AssessWindow.output1")
usr << output("<B>Kages and Village Related</B>","AssessWindow.output1")
usr << output("Hokage: [Hokage]","AssessWindow.output1")
usr << output("Mizukage: [Mizukage]","AssessWindow.output1")
usr << output("Leaf Teachers:","AssessWindow.output1")
if(LeafTeachers.len) usr << output("[LeafTeachers[1]]","AssessWindow.output1")
if(LeafTeachers.len>=2) usr << output("[LeafTeachers[2]]","AssessWindow.output1")
if(LeafTeachers.len>=3) usr << output("[LeafTeachers[3]]","AssessWindow.output1")
if(LeafTeachers.len>=4) usr << output("[LeafTeachers[4]]","AssessWindow.output1")
if(LeafTeachers.len>=5) usr << output("[LeafTeachers[5]]","AssessWindow.output1")
usr << output("Mist Teachers:","AssessWindow.output1")
if(MistTeachers.len) usr << output("[MistTeachers[1]]","AssessWindow.output1")
if(MistTeachers.len>=2) usr << output("[MistTeachers[2]]","AssessWindow.output1")
if(MistTeachers.len>=3) usr << output("[MistTeachers[3]]","AssessWindow.output1")
if(MistTeachers.len>=4) usr << output("[MistTeachers[4]]","AssessWindow.output1")
if(MistTeachers.len>=5) usr << output("[MistTeachers[5]]","AssessWindow.output1")
usr << output("","AssessWindow.output1")
usr << output("<B>Clan Masters</B>","AssessWindow.output1")
usr << output("Hyuuga Clan Leader: [HyuugaMaster]","AssessWindow.output1")
usr << output("Nara Clan Leader: [NaraMaster]","AssessWindow.output1")
usr << output("Uchiha Clan Leader: [UchihaMaster]","AssessWindow.output1")
usr << output("Kaguya Clan Leader: [KaguyaMaster]","AssessWindow.output1")
usr << output("Haku Clan Leader: [HakuMaster]","AssessWindow.output1")
usr << output("","AssessWindow.output1")
usr << output("<B>Masters</B>","AssessWindow.output1")
usr << output("Water Master: [TaijutsuMaster]","AssessWindow.output1")
usr << output("Water Master: [WaterMaster]","AssessWindow.output1")
usr << output("Fire Master: [FireMaster]","AssessWindow.output1")
usr << output("Wind Master: [WindMaster]","AssessWindow.output1")
usr << output("Earth Master: [EarthMaster]","AssessWindow.output1")
usr << output("Lightning Master: [LightningMaster]","AssessWindow.output1")
usr << output("","AssessWindow.output1")
else
ViewingAssess = 0
winset(usr, "AssessWindow", "is-visible=false")
mob/GM/verb
Assess(var/mob/M in world)
set category = "Admin"
if(ViewingAssess==0)
ViewingAssess = 1
winset(usr, "AssessWindow", "is-visible=true")
usr << output(null, "AssessWindow.output1")
usr << output("<B>Personal</B>","AssessWindow.output1")
usr << output("Name: [M.name]","AssessWindow.output1")
usr << output("Village: [M.Village]","AssessWindow.output1")
usr << output("Rank: [M.Rank]","AssessWindow.output1")
usr << output("Clan: [M.Clan]","AssessWindow.output1")
usr << output("Level: [ M.Level]","AssessWindow.output1")
usr << output("<B>Mods</B>","AssessWindow.output1")
usr << output("HP Mod: [M.healthmod]","AssessWindow.output1")
usr << output("Chakra Mod: [M.chakramod]","AssessWindow.output1")
usr << output("Stamina Mod: [M.stammod]","AssessWindow.output1")
usr << output("","AssessWindow.output1")
usr << output("<B>Health Related</B>","AssessWindow.output1")
usr << output("LifeForce: [M.MHP]","AssessWindow.output1")
usr << output("Head: [M.MHEAD]","AssessWindow.output1")
usr << output("Body: [M.MBODY]","AssessWindow.output1")
usr << output("Left Arm: [M.MLARM]","AssessWindow.output1")
usr << output("Right Arm: [M.MRARM]","AssessWindow.output1")
usr << output("Left Leg: [M.MLLEG]","AssessWindow.output1")
usr << output("Right Leg: [M.MRLEG]","AssessWindow.output1")
usr << output("<B>Chakra Related</B>","AssessWindow.output1")
usr << output("Absolute Max Chakra: [M.ChakraTotalMax]","AssessWindow.output1")
usr << output("Normal Max Chakra: [M.ChakraMax]","AssessWindow.output1")
usr << output("Tenketsu Unsealed: [M.JinketsuFree]","AssessWindow.output1")
usr << output("Gates Released: [M.GatesReleased]","AssessWindow.output1")
usr << output("<B>Stamina/Combat Related</B>","AssessWindow.output1")
usr << output("Max Stamina: [M.MSTAM]","AssessWindow.output1")
usr << output("Punch Stamina: [M.Punchst]","AssessWindow.output1")
usr << output("Kick Stamina: [M.Kickst]","AssessWindow.output1")
usr << output("Defense Stamina: [M.Defst]","AssessWindow.output1")
usr << output("Seal Speed: [M.SealSpeed]","AssessWindow.output1")
usr << output("Combat Speed: [M.CombatSpeed]","AssessWindow.output1")
else
ViewingAssess = 0
winset(usr, "AssessWindow", "is-visible=false")
var/time=time2text(world.realtime)//Sets up the time for the time stamp
text2file("[time] - [usr.name] assesses [M]<br>", "logs/admin.txt")


mob/GM
verb
MonthLen()
set category = "Admin"
if(usr.key!="Asellia"&&usr.key!="AmoraSeq") return
if(usr.key in admin_list)
monthlen = input(usr, "Please select a length for a month in 1/10th a second") as num
world << "The length of a month is now [monthlen/10] seconds long."
proc/DoAge(mob/M)
var/cy = year - M.yborn
var/y = cy*10 - 10
if(y<0) y = 0
if(month>M.mborn)
y += (month - M.mborn)
else
y -= (M.mborn - month)
y += 4
if(y > M.trueage)
M.trueage += y - M.trueage
M.age += y - M.age
if(M.Figure in list("Taijutsu Master", "Leaf Teacher", "Mist Teacher", "Roleplay Spy","Hokage","Mizukage","Fire Master","Water Master","Wind Master","Earth Mastery","Lightning Master","Nara Leader","Hyuuga Leader","Uchiha Leader","Haku Leader","Kaguya Leader"))
if(M.Figure=="Roleplay Spy")
M.teachesleft = 2
if(M.Figure=="Hokage"||M.Figure=="Mizukage")
M.teachesleft= 7
if(M.Figure=="Mist Teacher"||M.Figure=="Leaf Teacher")
M.teachesleft = 20
else
M.teachesleft = 12

proc/Decline()
for(var/mob/M in world)
if(M&&isclient(M))
DoAge(M)
var/cy = year - M.yborn
var/y = cy*10 - 10
if(y<0) y = 0
if(month>M.mborn)
y += (month - M.mborn)
else
y -= (M.mborn - month)
y+=4
if(y>M.decline)
M.ChakraMax -= 10
M.Chakra -= 10
if(M.ChakraMax < 200)
M.ChakraMax = 200
if(M.Chakra < 0)
M.Chakra = 0
M.MSTAM -= 30
M.STAM -= 30
if(M.MSTAM < 500)
M.MSTAM = 500
if(M.STAM < 0)
M.STAM = 0
if(y > (M.decline + 30))
M.ChakraMax = 1
M.Chakra = 1
M.MSTAM = 1
M.STAM = 1
M.HP = 1
M.MHP = 1
M.MHEAD = 1
M.HEAD = 1
M.MBODY = 1
M.BODY = 1
M.RARM = 1
M.MRARM = 1
M.LARM = 1
M.MLARM = 1
M.LLEG = 1
M.MLLEG = 1
M.MRLEG = 1
M.RLEG = 1
proc/Time()
while(1)
sleep(monthlen)
if(year==0)
year = 1
month = 0
if(month==9)
month = 0
year++
world << "It is now Month [month] of Year [year]"
Decline()
for(var/mob/M in world)
if(M)
if(M.Figure in list("Taijutsu Master", "Leaf Teacher", "Mist Teacher", "Roleplay Spy","Hokage","Mizukage","Fire Master","Water Master","Wind Master","Earth Mastery","Lightning Master","Nara Leader","Hyuuga Leader","Uchiha Leader","Haku Leader","Kaguya Leader"))
if(M.Figure=="Roleplay Spy")
M.teachesleft = 2
if(M.Figure=="Hokage"||M.Figure=="Mizukage")
M.teachesleft= 7
if(M.Figure=="Mist Teacher"||M.Figure=="Leaf Teacher")
M.teachesleft = 20
else
M.teachesleft = 12
world.SaveTime()
else
month++
world << "It is now Month [month] of Year [year]"
Decline()
for(var/mob/M in world)
if(M)
if(M.Figure in list("Taijutsu Master", "Leaf Teacher", "Mist Teacher", "Roleplay Spy","Hokage","Mizukage","Fire Master","Water Master","Wind Master","Earth Mastery","Lightning Master","Nara Leader","Hyuuga Leader","Uchiha Leader","Haku Leader","Kaguya Leader"))
if(M.Figure=="Roleplay Spy")
M.teachesleft = 2
if(M.Figure=="Hokage"||M.Figure=="Mizukage")
M.teachesleft= 7
if(M.Figure=="Mist Teacher"||M.Figure=="Leaf Teacher")
M.teachesleft = 20
else
M.teachesleft = 12
world.SaveTime()


world
New() //when the world begins, this happens
//z_layer_check()
..()
if(fexists("time_data.sav"))
LoadTime() //the time is loaded,
Time() //and the time begins to count.
Del()
SaveTime()
..()


Problem description:
Basically, I load the file in Dream Daemon, then start it, and the dream daemon freezes completely.
No savefile exists, so you are creating a new, empty one. When you attempt to load monthlen from that, you just get null. When you then sleep(monthlen), it's sleep(0), which puts in an absolute minimum of delay. You then loop through every mob in the world twice and write to a savefile (by the way: the savefile DOES exist now, but it contains a bunch of null values, so you're going to need to delete that).

There are, of course, a whole ton of other errors there, but I believe people have already attempted to tell you how to fix them to no avail, so I'm not even going to bother.

Oh, right, I have to also tell you how to fix it: delete your current junk savefile, and use fexists().
In response to Garthor
Why are you talking to me like that? I've never posted about this problem before, nor one relating to it.

More so then that, if no save file exists doesn't it use the default values automatically?
In response to Garthor
Apparently the game was freezing because of my map, not the time. Although, I fixed the time. So thank you.
In response to Asellia
Asellia wrote:
More so then that, if no save file exists doesn't it use the default values automatically?

Instead of asking questions like these on the forum, you should test it yourself. That's what I did:

var/t = 100

world/New()
var/savefile/F = new()
F["t"] >> t

mob/Login()
usr << ".[t]."