ID:1080097
 
(See the best response by Jemai1.)
Code:
mob/verb
Save()
src.SaveProc()
// set hidden=0

mob/proc/SaveProc()
var/FileName="Players/[ckey(src.key)].sav"
if(fexists("Players/[ckey(src.key)].sav")) fdel("Players/[ckey(src.key)].sav")
var/savefile/F=new(FileName)
F["SaveVersion"]<<GameVersion
F["name"]<<src.name
F["makingchar"]<<src.makingchar
F["Race"]<<src.Race
F["dir"]<<src.dir
F["$Points"]<<src.Points
F["$Points_found"]<<src.Points_found
F["Level"]<<src.Level
F["Admin"]<<src.Admin
F["GM"]<<src.GM
F["Moderator"]<<src.Moderator
F["Lives"]<<src.Lives
F["Attack"]<<src.Attack
F["Armor"]<<src.Arm
F["Weight"]<<src.Weight
F["Max Weight"]<<src.Max_Weight
F["Berryes"]<<src.Berryes
F["Bounty"]<<src.Bounty
F["Stamina"]<<src.Stamina
F["Strength"]<<src.Strength
F["Endureance"]<<src.Endureance
F["Will Power"]<<src.Will_Power
F["Speed"]<<src.Speed
F["Blunt Weapon"]<<src.Blunt_Weapon
F["Footwork"]<<src.Footwork
F["Handwork"]<<src.Handwork
F["Marksmanship"]<<src.Marksmanship
F["Swiming"]<<src.Swiming
F["Swordmanship"]<<src.Swordmanship
F["Health"]<<src.Health
F["Max Health"]<<src.Max_Health
F["Energy"]<<src.Energy
F["Max Energy"]<<src.Max_Energy
F["StaminaExtra"]<<src.StaminaExtra
F["StrengthExtra"]<<src.StrengthExtra
F["EndureanceExtra"]<<src.EndureanceExtra
F["Will PowerExtra"]<<src.Will_PowerExtra
F["SpeedExtra"]<<src.SpeedExtra
F["ExpSta"]<<src.ExpSta
F["ExpStr"]<<src.ExpStr
F["ExpEnd"]<<src.ExpEnd
F["ExpWp"]<<src.ExpWp
F["ExpSpd"]<<src.ExpSpd
F["Need ExpSta"]<<src.Need_ExpSta
F["Need ExpStr"]<<src.Need_ExpStr
F["Need ExpEnd"]<<src.Need_ExpEnd
F["Need ExpWp"]<<src.Need_ExpWp
F["Need ExpSpd"]<<src.Need_ExpSpd
F["ExpBlunt"]<<src.ExpBlunt
F["ExpFoot"]<<src.ExpFoot
F["ExpHand"]<<src.ExpHand
F["ExpMark"]<<src.ExpMark
F["ExpSwim"]<<src.ExpSwim
F["ExpSword"]<<src.ExpSword
F["LeftWepEquipped"]<<src.LeftWepEquipped
F["RightWepEquipped"]<<src.RightWepEquipped
F["InventoryContents"]<<src.contents
F["layer"]<<src.layer
F["src"]<<src
F["suffix"]<<src.suffix
F["Armor_Equipped"]<<src.Armor_Equipped
F["Weapon_Equipped"]<<src.weapon_equipped
F["Need ExpBlunt"]<<src.Need_ExpBlunt
F["Need ExpFoot"]<<src.Need_ExpFoot
F["Need ExpHand"]<<src.Need_ExpHand
F["Need ExpMark"]<<src.Need_ExpMark
F["Need ExpSwim"]<<src.Need_ExpSwim
F["Need ExpSword"]<<src.Need_ExpSword
F["LastX"]<<src.x
F["LastY"]<<src.y
F["LastZ"]<<src.z
src<<"Character Saved..."

/*
F["FontFace"]<<src.FontFace
F["FontColor"]<<src.FontColor
F["NameColor"]<<src.NameColor
F["DisplayNameColor"]<<src.DisplayNameColor
*/


mob/proc/LoadProc()
var/FileName="Players/[ckey(src.key)].sav"
if(fexists("Players/[ckey(src.key)].sav"))
var/savefile/F=new(FileName)
F["name"]>>src.name
F["dir"]>>src.dir
F["Level"]>>src.Level
F["makingchar"]>>src.makingchar
F["Race"]>>src.Race
F["Admin"]>>src.Admin
F["GM"]>>src.GM
F["Moderator"]>>src.Moderator
F["Lives"]>>src.Lives
F["Attack"]>>src.Attack
F["$Points"]>>src.Points
F["$Points_found"]>>src.Points_found
F["Armor"]>>src.Arm
F["Weight"]>>src.Weight
F["Max Weight"]>>src.Max_Weight
F["Berryes"]>>src.Berryes
F["Bounty"]>>src.Bounty
F["Stamina"]>>src.Stamina
F["Strength"]>>src.Strength
F["Endureance"]>>src.Endureance
F["Will Power"]>>src.Will_Power
F["Speed"]>>src.Speed
F["Blunt Weapon"]>>src.Blunt_Weapon
F["Footwork"]>>src.Footwork
F["Handwork"]>>src.Handwork
F["Marksmanship"]>>src.Marksmanship
F["Swiming"]>>src.Swiming
F["Swordmanship"]>>src.Swordmanship
F["Health"]>>src.Health
F["Max Health"]>>src.Max_Health
F["Energy"]>>src.Energy
F["Max Energy"]>>src.Max_Energy
F["StaminaExtra"]>>src.StaminaExtra
F["StrengthExtra"]>>src.StrengthExtra
F["EndureanceExtra"]>>src.EndureanceExtra
F["Will PowerExtra"]>>src.Will_PowerExtra
F["SpeedExtra"]>>src.SpeedExtra
F["ExpSta"]>>src.ExpSta
F["ExpStr"]>>src.ExpStr
F["ExpEnd"]>>src.ExpEnd
F["ExpWp"]>>src.ExpWp
F["ExpSpd"]>>src.ExpSpd
F["Need ExpSta"]>>src.Need_ExpSta
F["Need ExpStr"]>>src.Need_ExpStr
F["Need ExpEnd"]>>src.Need_ExpEnd
F["Need ExpWp"]>>src.Need_ExpWp
F["Need ExpSpd"]>>src.Need_ExpSpd
F["ExpBlunt"]>>src.ExpBlunt
F["ExpFoot"]>>src.ExpFoot
F["ExpHand"]>>src.ExpHand
F["ExpMark"]>>src.ExpMark
F["ExpSwim"]>>src.ExpSwim
F["ExpSword"]>>src.ExpSword
F["LeftWepEquipped"]>>src.LeftWepEquipped
F["RightWepEquipped"]>>src.RightWepEquipped
F["suffix"]>>src.suffix
F["InventoryContents"]>>src.contents
F["layer"]>>src.layer
F["Armor_Equipped"]>>src.Armor_Equipped
F["Weapon_Equipped"]>>src.weapon_equipped
F["Need ExpBlunt"]>>src.Need_ExpBlunt
F["Need ExpFoot"]>>src.Need_ExpFoot
F["Need ExpHand"]>>src.Need_ExpHand
F["Need ExpMark"]>>src.Need_ExpMark
F["Need ExpSwim"]>>src.Need_ExpSwim
F["Need ExpSword"]>>src.Need_ExpSword
src.loc=locate(F["LastX"],F["LastY"],F["LastZ"])
src<<"Character Loaded..."
return 1


The Problem is when i save my player and this have equipped an armor or a sword when i load this stills equipped but agin the item src don't shows in player, i know why, this is because i miss something to add in the save and load but i don't know whats, can someone help me?


It's probably something wrong with your armors and swords code. Post your armor and sword code.
ok
// --------------------- Sword ---------------------
obj
Equipables
Swords
Left_Blue_Sword
icon = 'Armors.dmi'
icon_state = "Sword"
Right_Wep
layer = RIGHTWEAPON_LAYER

mob
var
LeftWepEquipped = 0
RightWepEquipped = 0

obj
Equipables
Swords
Left_Blue_Sword
Get()
set src in oview(1)

// Attempt to Move() the item to the player. If it succeeds, you receive a message.
if(Move(usr))
usr << "You pick up [src]."
Drop()
if(Move(usr.loc))
usr << "You drop [src]."
Equip()
if(usr.LeftWepEquipped == 0)
usr.overlays += /obj/Equipables/Swords/Left_Blue_Sword
usr.StrengthExtra += 5
usr.Attack +=10
usr.LeftWepEquipped = 1
view() << "[usr] wears a Sword."
src.suffix = "(Equipped)"
else
usr << "You are already wearing a Weapon on your left Hand."
Unequip()
if(usr.LeftWepEquipped == 1)
usr.overlays -= /obj/Equipables/Swords/Left_Blue_Sword
usr.StrengthExtra -= 5
usr.Attack -=10
view() << "[usr] takes off a Weapon."
src.suffix = ""
usr.LeftWepEquipped = 0
else
usr << "You aren't wearing this."

mob
proc
Player()
usr.overlays += /obj/Equipables/Swords/Left_Blue_Sword
usr.overlays -= /obj/Equipables/Swords/Left_Blue_Sword


This is my weapon code
            Get()
set src in oview(1)
src.loc = usr
usr<<"You picked up a [src]"
Could you try with this code if they will still disappear? It's probably still equipped only because overlays were saved.
Best response
It is natural for it to disappear since icon and overlay data are not being saved/loaded.

I recommend this to you: Dream Tutor: The Pitfalls of Savefiles
lets me try all 2 answers
In response to Rbyrby
Rbyrby wrote:
            Get()
> set src in oview(1)
> src.loc = usr
> usr<<"You picked up a [src]"
Could you try with this code if they will still disappear? It's probably still equipped only because overlays were saved.
This don't work
This code is showed on Lummox JR tutorial
mob/proc/BuildEquipmentOverlays()
overlays.Cut()
var/obj/olay = new
for(var/obj/item/O in equipment)
if(O.has_overlay)
olay.icon = O.icon
olay.icon_state = "equipped"
olay.layer = (O.equipment_layer || MOB_LAYER+1)
overlays += olay

I changed to this because i have difernet variables
mob/proc/BuildEquipmentOverlays()
overlays.Cut()
var/obj/olay = new
for(var/obj/Equipables/O in LeftWepEquipped)
if(O.has_overlay)
olay.icon = O.icon
olay.icon_state = "(Equipped)"
olay.layer = (O.LeftWepEquipped_layer || MOB_LAYER+1)
overlays += olay

But i still get some errosr too becuase i dont know for that variables i have to change this look down:
Codes\Character Lists Hairstyle and color.dm:22:error: O.has_overlay: undefined var
Codes\Character Lists Hairstyle and color.dm:25:error: O.LeftWepEquipped_layer: undefined var
It is as the error says. has_overlay and LeftWepEquipped_layer vars are not defined under /obj/Equipables.