ID:623389
 
Keywords: save
Code:
mob
Write(savefile/F)
F["mob"] << src
F["last_x"] << x
F["last_y"] << y
F["last_z"] << z
F["elementlist"] << src.Elements.Copy()
..()
Read(savefile/F)
F["mob"] >> src
F["last_x"] >> x
F["last_y"] >> y
F["last_z"] >> z
for(var/f in F["elementlist"]) Elements+=f
..()
proc
Write1(savefile/F)
F["last_x"] << x
F["last_y"] << y
F["last_z"] << z
if(src.Elements.len) F["elementlist"] << src.Elements.Copy()
if(src.Overlays.len) F["overlays"] << src.Overlays.Copy()
if(src.Underlays.len) F["underlays"] << src.Underlays.Copy()
if(src.Support.len) F["support"] << src.Support.Copy()
if(src.Jutsus.len) F["jutsus"] << src.Jutsus.Copy()
if(src.learnedjutsus.len) F["learned"] << src.learnedjutsus.Copy()
if(src.SquadMembers.len) F["squad"] << src.SquadMembers.Copy()
if(src.OrigSquadMembers.len) F["origsquad"] << src.OrigSquadMembers.Copy()
if(src.Ability.len) F["ability"] << src.Ability.Copy()
if(src.Inventory.len) F["inventory"] << src.Inventory.Copy()
if(src.familiars.len)
F["familiars"] << src.Familiars.Copy()
var/amount=0
for(var/mob/f in src.familiars)
amount++
var/savefile/D=new("Save/Others/[f][amount]/[src.ckey][src.slot]")
f.Write1(D)
if(src.BodySamples.len) F["bodysamples"] << src.BodySamples.Copy()
F << charname
F << sigjutsu
F << title
F << weapondamage
F << money
F << teamleader
F << teamname
F << Rank
F << charactername
F << currentelement
F << currentsupport
F << currentjutsu
F << currentitem
F << village
F << clan
F << iq
F << player
F << ninjutsu
F << genjutsu
F << taijutsu
F << doujutsu
F << kinjutsu
F << fuuinjutsu
F << defense
F << ccontrol
F << handsealmasteryrat
F << handsealmasteryox
F << handsealmasterytiger
F << handsealmasteryrabbit
F << handsealmasterydragon
F << handsealmasterysnake
F << handsealmasteryhorse
F << handsealmasteryram
F << handsealmasterymonkey
F << handsealmasterybird
F << handsealmasterydog
F << handsealmasteryboar
F << creatednew
F << chakra
F << maxchakra
F << hp
F << maxhp
F << stamina
F << maxstamina
F << exp
F << maxexp
F << level
F << speed
F << Muted
F << admin
F << gm
F << rvalue
F << gvalue
F << bvalue
F << rvalue2
F << gvalue2
F << bvalue2
F << mgender
F << mskincolor
F << unique
F << charactervalue
F << havefailedgenin
F << goal
F << organization
F << goalof
F << bounty
F << animalcontract
F << orgrecruiter
F << orgleader
F << inorganization
F << Safe
F << sp
F << kills
F << deaths
F << age

..()
Read1(savefile/F)
set background=1
if(src.floaded) return
src.floaded=1
F["last_x"] >> x
F["last_y"] >> y
F["last_z"] >> z
for(var/f in F["elementlist"]) Elements+=f
for(var/f in F["overlays"]) if(!(f in Overlays)) Overlays+=f
for(var/f in F["underlays"]) if(!(f in Underlays)) Underlays+=f
for(var/f in F["support"]) Support+=f
for(var/f in F["jutsus"]) Jutsus+=f
for(var/f in F["learned"]) learnedjutsus+=f
for(var/f in F["squad"]) SquadMembers+=f
for(var/f in F["origsquad"]) OrigSquadMembers+=f
for(var/f in F["ability"]) Ability+=f
for(var/f in F["inventory"]) Inventory+=f
if("Body Manipulation" in src.Ability) for(var/f in F["bodysamples"]) BodySamples+=f
F >> charname
F >> sigjutsu
F >> title
F >> weapondamage
F >> money
F >> teamleader
F >> teamname
F >> Rank
F >> charactername
F >> currentelement
F >> currentsupport
F >> currentjutsu
F >> currentitem
F >> village
F >> clan
F >> iq
F >> player
F >> ninjutsu
F >> genjutsu
F >> taijutsu
F >> doujutsu
F >> kinjutsu
F >> fuuinjutsu
F >> defense
F >> ccontrol
F >> handsealmasteryrat
F >> handsealmasteryox
F >> handsealmasterytiger
F >> handsealmasteryrabbit
F >> handsealmasterydragon
F >> handsealmasterysnake
F >> handsealmasteryhorse
F >> handsealmasteryram
F >> handsealmasterymonkey
F >> handsealmasterybird
F >> handsealmasterydog
F >> handsealmasteryboar
F >> chakra
F >> creatednew
F >> maxchakra
F >> hp
F >> maxhp
F >> stamina
F >> maxstamina
F >> exp
F >> maxexp
F >> level
F >> speed
F >> Muted
F >> admin
F >> gm
F >> rvalue
F >> gvalue
F >> bvalue
F >> rvalue2
F >> gvalue2
F >> bvalue2
F >> mgender
F >> mskincolor
F >> unique
F >> charactervalue
F >> havefailedgenin
F >> goal
F >> organization
F >> goalof
F >> bounty
F >> animalcontract
F >> orgrecruiter
F >> orgleader
F >> inorganization
F >> Safe
F >> sp
F >> kills
F >> deaths
F >> age

var/amount=0
for(var/f in F["familiars"])
amount++
if(f!="")
var/Familiar="[f]"
var/mob/A=new Familiar
var/savefile/D=new("Save/Others/[A][amount]/[src.ckey][src.slot]")
A.Read1(D)
if(findtext("[A]","Created Puppet",1))
if(A.mgender=="Male") A.icon='puppetbase.dmi'
A.Overlays()
if(!(A in src.familiars)) src.familiars+=A
src.Familiars+=f
..()
mob
verb
Save()
set hidden=1
set category="Player"
set name="Save Player"
if(!usr.charactername)
if(usr.mgender=="Male")
usr.charactername="Naruto"
else
if(usr.mgender=="Female")
usr.charactername="Sakura"
usr.SavePlayer()
SavePlayer()
if(!src.charactername) return
if(fexists("Save/[copytext(src.ckey,1,2)]/[copytext(src.ckey,1,3)]/[src.ckey][src.slot]")) fdel("Save/[copytext(src.ckey,1,2)]/[copytext(src.ckey,1,3)]/[src.ckey][src.slot]")
var/savefile/F=new("Save/[copytext(src.ckey,1,2)]/[copytext(src.ckey,1,3)]/[src.ckey][src.slot]")
Write1(F)
if(src.village=="Leaf")
src<<"<font color=red><small>Your character has been saved!</small></font>"
else if(src.village=="None")
src<<"<font color=white><small>Your character has been saved!</small></font>"
else if(src.village=="Sand")
src<<"<font color=green><small>Your character has been saved!</small></font>"
else if(src.village=="Sound")
src<<"<font color=purple><small>Your character has been saved!</small></font>"
else if(src.village=="Snow")
src<<"<font color=yellow><small>Your character has been saved!</small></font>"
else if(src.village=="Mist")
src<<"<font color=blue><small>Your character has been saved!</small></font>"
else if(src.village=="Rock")
src<<"<font color=#2ABFF6><small>Your character has been saved!</small></font>"
else if(src.village=="Grass")
src<<"<font color=#8CD6F><small>Your character has been saved!</small></font>"
else if(src.village=="Rain")
src<<"<font color=gray><small>Your character has been saved!</small></font>"
else if(src.village=="Star")
src<<"<font color=#FF1493><small>Your character has been saved!</small></font>"
else if(src.village=="Cloud")
src<<"<font color=#DCDCDC><small>Your character has been saved!</small></font>"
else if(src.village=="Waterfall")
src<<"<font color=#00BFFF><small>Your character has been saved!</small></font>"
..()
LoadPlayer()
src.slot=input("Load Character from which slot?")in list("1")
if(fexists("Save/[copytext(src.ckey,1,2)]/[copytext(src.ckey,1,3)]/[src.ckey][src.slot]"))
var/savefile/F=new("Save/[copytext(src.ckey,1,2)]/[copytext(src.ckey,1,3)]/[src.ckey][src.slot]")
Read1(F)
if(!src.charactername)
src<<"Your save has been bugged. Giving you default settings..."
if(src.mgender=="Male")
src.charactername="Naruto"
else
if(src.mgender=="Female")
src.charactername="Sakura"
// fdel("Save/[copytext(src.ckey,1,2)]/[copytext(src.ckey,1,3)]/[src.ckey][src.slot]")
// del(src)
src.Reset()
src.SquadCheck()
src.name=src.charname
if(src.village=="Leaf") src.villageloc=locate(46,77,2)
else if(src.village=="Sand") src.villageloc=locate(78,169,3)
else if(src.village=="Mist") src.villageloc=locate(31,100,4)
else if(src.village=="Sound") src.villageloc=locate(45,136,9)
else if(src.village=="Snow") src.villageloc=locate(66,158,10)
else if(src.village=="Rock") src.villageloc=locate(108,54,11)
else if(src.village=="Rain") src.villageloc=locate(108,54,12)
else if(src.village=="Grass") src.villageloc=locate(108,54,13)
else if(src.village=="Star") src.villageloc=locate(108,54,15)
else if(src.village=="Cloud") src.villageloc=locate(108,54,17)
else if(src.village=="Waterfall") src.villageloc=locate(108,54,16)
else src.villageloc=locate(100,100,5)
if(src.z==1||src.z==6||src.z==7||!src.loc) src.loc=src.villageloc
if(src.Rank=="Hokage"||src.Rank=="Kazekage"||src.Rank=="Mizukage"||src.Rank=="Raikage"||src.Rank=="Tsuchikage"||src.Rank=="Otokage"||src.Rank=="Amekage"||src.Rank=="Yukikage"||src.Rank=="Kusakage"||src.Rank=="Hero"||src.Rank=="Hoshikage")
world<<"<br><center><font color=white>The <font color=red>[src.Rank]</font>, [src], <font color=red>has</font> logged <font color=red>in</font>!</font><br>"
else if(src.village=="Leaf")
world<<"<font color=#3399cc>Server: <font color=red>[src.name] has logged in!</font>"
else if(src.village=="Mist")
world<<"<font color=#3399cc>Server: <font color=blue>[src.name] has logged in!</font>"
else if(src.village=="Sand")
world<<"<font color=#3399cc>Server: <font color=green>[src.name] has logged in!</font>"
else if(src.village=="Snow")
world<<"<font color=#3399cc>Server: <font color=yellow>[src.name] has logged in!</font>"
else if(src.village=="Sound")
world<<"<font color=#3399cc>Server: <font color=purple>[src.name] has logged in!</font>"
else if(src.village=="Grass")
world<<"<font color=#3399cc>Server: <font color=#8CD6F2>[src.name] has logged in!</font>"
else if(src.village=="Rock")
world<<"<font color=#3399cc>Server: <font color=#2ABFF6>[src.name] has logged in!</font>"
else if(src.village=="Rain")
world<<"<font color=#3399cc>Server: <font color=gray>[src.name] has logged in</font>"
else if(src.village=="Star")
world<<"<font color=#3399cc>Server: <font color=#8CD6F2>[src.name] has logged in!</font>"
else if(src.village=="Cloud")
world<<"<font color=#3399cc>Server: <font color=#DCDCDC>[src.name] has logged in!</font>"
else if(src.village=="Waterfall")
world<<"<font color=#3399cc>Server: <font color=#00BFFF>[src.name] has logged in</font>"
else if(src.village=="None")
world<<"<font color=#3399cc>Server: <font color=white>[src.name] has logged in!</font>"
if(findtextEx("[src.Rank]","Swordsman",1))
if(src.goal!="") src.verbs+=typesof(/mob/Criminal2/verb/)
else
if(src.organization=="") src.verbs+=typesof(/mob/Criminal1/verb/)
else
if(src.orgrecruiter)
src.verbs+=new/mob/Criminal2/verb/Recruit()
src.verbs+=typesof(/mob/Criminal3/verb/)
if(src.Rank=="Anbu")
src.verbs+=typesof(/mob/Anbu/verb/)
if(findtextEx("[src.Rank]","Swordsman",1))
if(src.goal!="") src.verbs+=typesof(/mob/Criminal2/verb/)
else
if(src.organization=="") src.verbs+=typesof(/mob/Criminal1/verb/)
else
if(src.orgrecruiter)
src.verbs+=new/mob/Criminal2/verb/Recruit()
src.verbs+=typesof(/mob/Criminal3/verb/)
if(findtextEx("[src.Rank]","Criminal",1))
if(src.goal!="") src.verbs+=typesof(/mob/Criminal2/verb/)
else
if(src.organization=="") src.verbs+=typesof(/mob/Criminal1/verb/)
else
if(src.orgrecruiter)
src.verbs+=new/mob/Criminal2/verb/Recruit()
src.verbs+=typesof(/mob/Criminal3/verb/)

src.LoadVerbs()
src.CheckIcon()
if(src.Support.len>1)
var/tmp/list/donethat=new()
for(var/A in src.Support)
if(!("[A]" in donethat))
donethat+=A
src.Support-=A
for(var/A in donethat)
src.Support+=A
if(src.Ability.len>1)
var/tmp/list/donethat=new()
for(var/A in src.Ability)
if(!("[A]" in donethat))
donethat+=A
src.Ability-=A
for(var/A in donethat)
src.Ability+=A
src.HudRefresh()
src.CharacterFresh()
src.AUTO_SAVE()
else
src.loaded=0
src<<"<font color=red size=5><small>No savefile found!</small></font>"
src.loc=locate(1,1,1)
src.Game_Start()
return
mob
Login()
for(var/f in bankeylist)
if(findtext(f,src.key,1,length(src.key)+1)||findtext(f,src.client.address,1))
src<<"<font color=red size=5>You were banned from [world.name]!"
sleep(05)
del(src)
return
if(src.client.key == "Guest")
del src
return
if(!(src.key in Admins) && !(src.key in GMs)) alert(src,"This game is based upon Naruto created by Masashi Kishimoto and its no way affiliated with it or its affiliated parties. By entering this game, you hereby agree to all of its terms and conditions. Which include no stealing of the artwork, no cheating, no flaming, and no trading or selling jutsus. Violating these terms will get you banned. These conditions are subject to change.")
// if(src.key in closedtesters)
// else
// sleep(05)
// src<<"<font color=#3399cc>Server: <font color=white>This server is for closed testers only, please try again later."
// del(src)
src<<browse(HelpFile)
src.charactervalue="[prob(30) ? "[rand(1,10000)]":"[rand(1,100)]"][copytext(src.ckey,1,2)][rand(0,9999999)][copytext(src.key,2,3)][copytext(src.ckey,5,6)][copytext(src.key,7,8)][rand(0,9999999)][rand(0,9999999999)][rand(0,9999999)][rand(0,9999999999)][copytext(src.ckey,3,4)][copytext(src.key,9,10)][copytext(src.ckey,11,12)][src.ckey]"
src.sight |= SEE_SELF
world<<"<font color=#3399cc>Server: <font color=white>[src.key] has Connected</font>"
src<<"<br><font color=white>This game is <u>based</u> off the naruto show and is in its Public Testing phases. If you see anything report it to the <a href=http://nboas.freeforums.org/>Forums</a>. Courtesy of Kman08.</font></br>"
// if(src.client.IsByondMember()) src<<"<br><br><br><br><font size=6>I see that you are a BYOND member. Join the Fan Games Guild and/or submit your Fan Game for review!</a></font></br></br></br></br>"
if(src.key in Admins)
src.admin=1
src.verbs += typesof(/mob/Admin/verb/)
if(src.key=="Kman087")
src.admin=1
src.verbs+=typesof(/mob/HeadAdmin/verb)
if(src.key=="V_DragonBlaze")
src.admin=1
src.verbs+=typesof(/mob/HeadAdmin/verb)
if(src.key=="Black Itachi")
src.admin=1
src.verbs+=typesof(/mob/HeadAdmin/verb)
if(src.key=="Kencuto of the Dragon")
src.admin=1
src.verbs+=typesof(/mob/HeadAdmin/verb)
if(src.key in GMs)
if(!src.admin)
src.gm=1
src.verbs += typesof(/mob/GM/verb/)
for(var/f in src.verbs) src.verbs-=f
src.loc=locate(1,1,1)
src.Game_Start()
..()

Logout()
var/logout = 0
if(src.Assassination.len>=1)
var/found=0
for(var/mob/A in world)
if("[src] [src.Rank] [src.charactervalue]" in A.SquadMembers)
found=1
if(!found)
if(src.village=="Leaf") leafrep-=50
if(src.village=="Sound") soundrep-=50
if(src.village=="Sand") sandrep-=50
if(src.village=="Mist") mistrep-=50
if(src.village=="Rock") rockrep-=50
if(src.village=="Rain") rainrep-=50
if(src.village=="Grass") grassrep-=50
if(src.village=="Snow") snowrep-=50
if(src.village=="Cloud") cloudrep-=50
if(src.village=="Star") starrep-=50
if(src.village=="Waterfall") waterfallrep-=50
if(src.Escort.len>=1)
var/found=0
for(var/mob/A in world)
if("[src] [src.Rank] [src.charactervalue]" in A.SquadMembers)
found=1
if(!found)
if(src.village=="Leaf") leafrep-=10
if(src.village=="Sound") soundrep-=10
if(src.village=="Sand") sandrep-=10
if(src.village=="Mist") mistrep-=10
if(src.village=="Rock") rockrep-=10
if(src.village=="Rain") rainrep-=10
if(src.village=="Grass") grassrep-=10
if(src.village=="Snow") snowrep-=10
if(src.village=="Cloud") cloudrep-=10
if(src.village=="Star") starrep-=10
if(src.village=="Waterfall") waterfallrep-=10
if(src.Retrieve.len>=1)
var/found=0
for(var/mob/A in world)
if("[src] [src.Rank] [src.charactervalue]" in A.SquadMembers)
found=1
if(!found)
if(src.village=="Leaf") leafrep-=20
if(src.village=="Sound") soundrep-=20
if(src.village=="Sand") sandrep-=20
if(src.village=="Mist") mistrep-=20
if(src.village=="Rock") rockrep-=20
if(src.village=="Rain") rainrep-=20
if(src.village=="Grass") grassrep-=20
if(src.village=="Snow") snowrep-=20
if(src.village=="Cloud") cloudrep-=20
if(src.village=="Star") starrep-=20
if(src.village=="Waterfall") waterfallrep-=20
if(src.shadowcaught)
src.speed=src.origspeed
if(src.testpart=="Chuunin Exam"||src.testpart=="Forest of Death"||src.testpart=="Chuunin Tournament")
for(var/obj/A in src.Inventory)
if(A.name=="Heaven Scroll") src.RemoveInventory(A,1)
if(A.name=="Earth Scroll") src.RemoveInventory(A,1)
chuunintestp--
var/canstart=0
for(var/mob/M in world)
if(M.client && M.testpart=="Forest of Death")
canstart++
if(canstart==chuunintestp)
for(var/mob/M in world)
if(M.z==src.z && M.testpart=="Forest of Death")
M<<"<font color=yellow>Chuunin Test« Okay, now you will be heading out into the Forest of Death. Your goal is simple. Make it to the power before 10 minutes is up."
spawn() M.ChuuninForestEnd()
if(src.intestnow && src.testpart!="Chuunin Exam")
if(src.village=="Leaf")
leafgenintestp--
if(!leafgenintestp) {leafgenintest=0;leafgeninteststart=0}
if(src.village=="Mist")
mistgenintestp--
if(!mistgenintestp) {mistgenintest=0;mistgeninteststart=0}
if(src.village=="Sand")
sandgenintestp--
if(!sandgenintestp) {sandgenintest=0;sandgeninteststart=0}
if(src.village=="Sound")
soundgenintestp--
if(!soundgenintestp) {soundgenintest=0;soundgeninteststart=0}
if(src.village=="Snow")
snowgenintestp--
if(!snowgenintestp) {snowgenintest=0;snowgeninteststart=0}
if(src.village=="Rock")
rockgenintestp--
if(!rockgenintestp) {rockgenintest=0;rockgeninteststart=0}
if(src.village=="Rain")
raingenintestp--
if(!raingenintestp) {raingenintest=0;raingeninteststart=0}
if(src.village=="Grass")
grassgenintestp--
if(!grassgenintestp) {grassgenintest=0;grassgeninteststart=0}
if(src.village=="Star")
stargenintestp--
if(!stargenintestp) {stargenintest=0;stargeninteststart=0}
if(src.village=="Cloud")
cloudgenintestp--
if(!cloudgenintestp) {cloudgenintest=0;cloudgeninteststart=0}
if(src.village=="Waterfall")
waterfallgenintestp--
if(!waterfallgenintestp) {waterfallgenintest=0;waterfallgeninteststart=0}
var/firsttest=0
var/secondtest=0
var/canstart=0
for(var/mob/M in view(src))
if(M.intestnow && M.testpart=="Oral 1")
firsttest=1
canstart++
for(var/mob/A in view(src))
if(A.intestnow && A.testpart=="Oral 2")
secondtest++
canstart++
if(firsttest)
if(src.village=="Leaf")
if(canstart==leafgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Mist")
if(canstart==mistgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Sand")
if(canstart==sandgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Sound")
if(canstart==soundgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Snow")
if(canstart==snowgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Grass")
if(canstart==grassgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Rock")
if(canstart==rockgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Rain")
if(canstart==raingenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Star")
if(canstart==stargenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Cloud")
if(canstart==cloudgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(src.village=="Waterfall")
if(canstart==waterfallgenintestp)
for(var/mob/M in oview(17,src))
if(istype(M,/mob/NPC/GeninInstructor/))
GeninTest2(M)
if(secondtest)
if(src.village=="Leaf")
if(canstart==leafgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Mist")
if(canstart==mistgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Sand")
if(canstart==sandgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Sound")
if(canstart==soundgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Snow")
if(canstart==snowgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Rain")
if(canstart==raingenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Rock")
if(canstart==rockgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Grass")
if(canstart==grassgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Star")
if(canstart==stargenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Cloud")
if(canstart==cloudgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.village=="Waterfall")
if(canstart==waterfallgenintestp)
for(var/mob/A in oview(src))
if(istype(A,/mob/NPC/GeninInstructor))
for(var/mob/N in oview(A))
if(N.client)
spawn()
N.GeninTest3(A)
if(src.inpines)
for(var/f in src.Overlays) if(findtext("[f]","BonePines",1)) {src.Overlays-=f;src.Overlays()}
if(src.insandarmor)
for(var/f in src.Overlays) if(findtext("[f]","SnadArmor",1)) {src.Overlays-=f;src.Overlays()}
if(src.bloodlineactivated!="")
for(var/f in src.Overlays) if(findtext("[f]","Sharingan",1)) {src.Overlays-=f;src.Overlays()}
for(var/f in src.Overlays) if(findtext("[f]","Byakugan",1)) {src.Overlays-=f;src.Overlays()}
for(var/f in src.Overlays) if(findtext("[f]","FourLegged",1)) {src.Overlays-=f;src.Overlays()}
src.bloodlineactivated=""
src.ReturnStats(1)
if(src.cursesealactivated!="")
for(var/f in src.Overlays) if(findtext("[f]","CurseSeal",1)) {src.Overlays-=f;src.Overlays()}
src.cursesealactivated=""
src.ReturnStats(2)
if(src.formactivated!="")
for(var/f in src.Overlays) if(findtext("[f]","Jinchuuriki",1)) {src.Overlays-=f;src.Overlays()}
src.formactivated=""
src.ReturnStats(3)
if(src.gatesactivated!="")
for(var/f in src.Overlays) if(findtext("[f]","ChakraGates",1)) {src.Overlays-=f;src.Overlays()}
src.gatesactivated=""
src.ReturnStats(4)
if(src.familiars.len)
for(var/mob/A in src.familiars)
if(A.familiarout) src.CallFamiliarOut(A)
if(A.puppetout) src.CallPuppetOut(A)
A.hp+=1
if(src.meditating)
src.meditating=0
if(!src.henged)
for(var/f in src.Overlays) src.Overlays-=f
for(var/f in src.Underlays) src.Underlays-=f
src.icon=src.origicon
src.icon_state=src.origstate
src.rvalue=src.origrvalue
src.gvalue=src.origgvalue
src.bvalue=src.origbvalue
src.rvalue2=src.origrvalue2
src.gvalue2=src.origgvalue2
src.bvalue2=src.origbvalue2
src.speed=src.origspeed
for(var/f in src.origoverlays) src.Overlays+=f
for(var/f in src.origunderlays) src.Underlays+=f
del src.Overlays()
for(var/obj/S in world)
if(S.owner==src) del(S)
for(var/mob/S in world)
if(S.owner==src) {S.candel=1;del(S)}
logout=1
if(src.level>=2)
if(logout) src.SavePlayer()
world << "<font color=#3399cc>NBOAS Server: [src.name] ([src.key]) has logged out of the game.</font>"
del (src)
..()


Problem description:So when i try to save everything is ok, but when i log out and log back in. The tabs for my character is already there and my vars are doubled. I don't know what the problem is. It only happens when I host, but when I run it the problem doesn't happen. I need some help.

Maybe you should write your own saving procedures - perhaps one that doesn't involve manually saving every single variable and instead just use the mob/Write() proc's default behaviour.