ID:1947922
 
(See the best response by Lummox JR.)
Code:
mob/LoggingIn/verb
DeleteChar()
set hidden = 1
var _name = usr.client.LoadSome_name(usr._saveSlot, FALSE)
switch(alert("Are you sure you want to delete [_name]?","Delete Character","Yes, I'm sure.","No, don't delete."))
if("Yes, I'm sure.")
var/confirm = input("To confirm deletion, please type \"DELETE\" (case sensitive).","Confirm Deletion") as null|text
if(confirm == "DELETE")
var/firstletter=copytext(usr.ckey, 1, 2)
var/savefile/F = new("Saves/[firstletter]/[usr.ckey].sav")
F.cd = "/[ckey]"
F.dir.Remove("slot_[usr._saveSlot]")
for(var/i = usr._saveSlot, i<=5, i++)
var/firstletter=copytext(src.ckey, 1, 2)
var/savefile/F = new("Saves/[firstletter]/[src.ckey].sav")
F.cd = "/[ckey]/slot_[i]/"
//RELEVANT PART
//Rename the CD as slot[i-1]

//Re-loads the interface.
usr.LoadSlots()


Problem description:
I included it all here to show how I'm naming directories within save files etc.

In the above, I've defined the location of the current directory ("F.cd"), and I simply want to rename it. e.g. slot_4 becomes slot_3.

I don't know of a rename() proc, so I can't think of a way to do it without calling Load and Save procs a bunch of times... That seems clunky as hell.

(Note I know the code can be cleaned up a bit, e.g. making firstletter a proc.)
Best response
I don't think there's any method for renaming savefile dirs. But why are you using a slot system? The slot mechanic made sense for the days of the NES and up through platforms like the Nintendo DS, but on a PC the save slot system is completely nonsensical at best, annoying to players at worst.
In response to Lummox JR
My primary muse for most of my character creation and login interface is Diablo III (i feel it handles character creation and whatnot better than most games, without complicating things). Secondary sources of inspiration are MMOs generally. I can't think of one that doesn't use a similar system.

Which probably means one of two things

a) I misunderstand how their mechanics translate into this environment
b) You misunderstand how my mechanics are being applied

It could well be both, with an added "I've approached the mechanic incorrectly in the first place".

Basically, I don't want the client to be able to create more than 5 heroes - (for file size and interface aesthetic reasons).

But should the client delete, for example, the 3rd character of the 5 available, I don't want there to be an awkward gap in the interface. Instead, I want the lower players to all move up one.

Here's a more visual example.

*forgive the hastey work/typos
In response to ZOMGbies
Have you tried Deadron's Character Handling? Although somewhat dated, it can do exactly what you describe.
In response to AERProductions
IIRC, my system is from exactly that (I've more or less pasted into this project from a 5-8 year old project of mine). I'll have a look and see what I can see now.
In response to ZOMGbies
The way I got mine functioning as intended was to use dantom's htmllib library and use html/css for the character creation/login menus.
Bah. I am a scrub. My save system was haphazard at best, broken at worst.

In the midst of redoing a rather [over]complex character handling, involving referencing the player name rather than a dir within the file.

Its hurting my brain, but its good for me. My way made one insignificant part very easy, but limited everything else tremendously.

Sorry for the post; thanks for the help.