I have a mod which set the player's model to custom models if you select that in the menu

An example from the ui_mp/objects1.menu

PHP Code:
execKey "a" play "mouse_click"scriptMenuResponse "xmodel/brush_desertshrubgroup01"close objects1 }

itemDef 
        
{
            
name            "button_a"
            
visible            1
            rect            0 0 128 20
            origin            ORIGIN_CHOICEA
            forecolor        GLOBAL_UNFOCUSED_COLOR
            type            ITEM_TYPE_BUTTON
            text            
"@OBJ_OBJ1_1"
            
textfont        UI_FONT_NORMAL
            textscale        .3
            textstyle        ITEM_TEXTSTYLE_SHADOWED
            textaligny        20
            action
            
{
                
play "mouse_click";
                
scriptMenuResponse "xmodel/brush_desertshrubgroup01";
                
close objects1
            
}
        } 
This is set a custom player model on mouse click or button_a, if I'm right.

Now I want to make this model to invisible I found a script which was made by IzNoGoD:

PHP Code:
makeInvisible(arg)
{
    if(!
isdefined(self.isInv)) self.isInvfalse;
    
    if((
arg) && (!self.isInv))
    {
        
self detachall();
        
self setmodel("");
        
self.isInvtrue;
    }
    else
    {
        if(!
isdefined(self.pers["savedmodel"]))
            
maps\mp\gametypes\_teams::model();
        else
            
maps\mp\_utility::loadModel(self.pers["savedmodel"]);
        
self.isInvfalse;
    }

Okay, this is make the model to invisible if I'm calling makeInvisible(true); but after that I can't set the model back which was before... (xmodel/brush_desertshrubgroup01) I'm always getting back the default allies model

I see in the maps\mp\_utility.gsc have 2 functions which save and load model but how can I save these models like that if the script changing the custom models in a menu file?

PHP Code:
saveModel()
{
    
info["model"] = self.model;
    
info["viewmodel"] = self getViewModel();
    
attachSize self getAttachSize();
    
info["attach"] = [];
    
    for(
0attachSizei++)
    {
        
info["attach"][i]["model"] = self getAttachModelName(i);
        
info["attach"][i]["tag"] = self getAttachTagName(i);
        
info["attach"][i]["ignoreCollision"] = self getAttachIgnoreCollision(i);
    }
    
    return 
info;
}

loadModel(info)
{
    
self detachAll();
    
self setModel(info["model"]);
    
self setViewModel(info["viewmodel"]);

    
attachInfo info["attach"];
    
attachSize attachInfo.size;
    
    for(
0attachSizei++)
        
self attach(attachInfo[i]["model"], attachInfo[i]["tag"], attachInfo[i]["ignoreCollision"]);