So anyways in my preview problems thread i had the problem of garbage collection yatta yatta and for the most part (i think its solved) anyways thats not the problem, the problem is that Kaioken mentioned vars that are only used during character creation (that i currently have set to tmp so there not saved) and i know this is a ineffective method i think.
So im gonna give a quick snip of codes in my creation thing and am hoping for some way to deny the vars being in the "original mob" without having to be declared tmp.
//first up a global variable that simply defines each family type so that it can be written to the boxes on winset.
var
listFamily = list("Vongola", "Cavallone", "Giglio_Nero", "Gesso")
listFamilyPic = list('Avatar_Vongola.png', 'Avatar_Cavallone.png', 'Avatar_Giglio.png', 'Avatar_Gesso.png')
listFamilyBio = list('Avatar_Vongola.png', 'Avatar_Cavallone.png', 'Avatar_Giglio.png', 'Avatar_Gesso.png')
//mob/var/tmp/CF=1//in note state due to experimenting
//second up the code that selects family etc.
FamilyRight()
usr.CF++
if(usr.CF>4) usr.CF=1
winset(src,null,"familypic.image=[listFamilyPic[usr.CF]]; familyname.text=[listFamily[usr.CF]]; familybio.image=[listFamilyBio[usr.CF]]")
usr.Family = listFamily[usr.CF]
//third up the code that is repeated in 3 different formats to output a bunch of objects to grids.
//mob/var/tmp/Skinoptions //currently in note state due to experimenting.
mob/proc/BuildSkinGrid() //as seen in the code it pulls all the objects under the type of skinselection.
var/mob/creation/p = new() //links this to the mob creation so that it will display the skins
var/list/SkinoptionsA = list()
for(var/V in typesof(/obj/SkinSelection)-/obj/SkinSelection)
SkinoptionsA += new V
p.Skinoptions = SkinoptionsA //makes it so that list what is created is set to the mob creation so it will output
var/Skins = 0
for(var/obj/SkinSelection/O in p.Skinoptions)
src << output(O, "basegrid:[++Skins]")
//and finally the junky experiment thing which is currently failing.
mob/creation
var/Skinoptions
Family = "Choc"
CF=1
so yeah what i was experimenting with was a new mob of some form that would take the vars that define the position of the family slider,and the var that holds the skins.
Now what this experiment did was.
1. For the family slider i could only slide across one of the family's and it would just freeze in place.
2. for the outputter of the skins it outputs them perfectly but is now getting garbage collected(unlike previously where it worked fine) but im trying to eliminate those unneeded vars etc from the mob so there not stuck with it forever.
So yeah, any thoughts on this are appreciate, Preferred if being linked to decent guides/demos that cover this in detail would be nice. just a general point in the right direction and any "code improvement tips" are welcomed .
Thanks Again
~Midget
You could also create a modal input which isn't covered much in BYOND. Here would be an example:
That's one way to eliminate one-time use vars, and I use this method for hub://Crashed.crashColour if you want to see it in action. Hope it helps.