• Пожалуйста, создайте название темы отражающее ее смысл
  • Для ускорения решения Вашего вопроса заполните обязательные поля и подробно опишите возникшую проблему

Помощь Сделать возможность сохранение скинов в [ReAPI] SF Level Skins

pollfank

Участник
Сообщения
167
Решения
1
Реакции
32
Баллы
28
Есть такой плагин SF Levl Skins (выдача скинов по рангу)
Я его немножко переделал под плагин CMSStats Ranks
Теперь стоит задача, как сделать так, чтобы настройка скинов сохранялась и на следующую карту.
Возьмем на примере конфиг:

Код:
[WEAPON]
; LVL    WEAPON                MODEL_V                        MODEL_W                        MODEL_P                        NAME
"0-10"    "weapon_glock18"    "models/v_glock18.mdl"        "models/w_glock18.mdl"        "models/p_glock18.mdl"        "GLOCK18 (BRONZE)"
"10-20"    "weapon_deagle"        "models/v_deagle.mdl"        "models/w_deagle.mdl"        "models/p_deagle.mdl"        "DEAGLE (SILVER)"
"15-20"    "weapon_usp"        "models/v_usp.mdl"            "models/w_usp.mdl"            "models/p_usp.mdl"            "USP (GOLD)"

[PLAYER]
; LVL        MODEL T            MODEL CT    NAME
"5"            "vip"            "vip"        "Скин №1"
"10"        "vip2"            "vip2"        "Скин №2"

Если учесть натив
Код:
native cmsapi_get_user_setting(iClient, szSettingName[], value[] = "", value_length = 0)
Который есть уже у версии 5.2.9 плагина GameCMS API
Строка сохранения по конкретной модели должна быть
Код:
cmsapi_set_user_setting(id, "weapon_glock18", "GLOCK18 (BRONZE)");
Если брать с примеру конфига. Вот здесь пока не совсем понятно, нуждаюсь в помощи...)
 
C++:
//После выбора скина игрока в меню:
cmsapi_set_user_setting(id, "sf_player_skin_t", plrmodel[PLRSKIN_MODEL_T]);
cmsapi_set_user_setting(id, "sf_player_skin_сt", plrmodel[PLRSKIN_MODEL_СT]);

//После выбора скина оружия в меню:
cmsapi_set_user_setting(id, "sf_weapon_skin", si_id);


//При входе игрока, т.к. настройки сохраняются только у зарегистрированных:
public OnAPIMemberConnected(id, memberId, memberName[])
{
    //установка скина игрока
    new szSkin[MAX_NAME_LENGTH];
    if(cmsapi_get_user_setting(id, "sf_player_skin_t", szSkin, charsmax(szSkin)) != -1)
        copy(player_models[id][MODEL_T], charsmax(player_models[][MODEL_T]), szSkin);
    if(cmsapi_get_user_setting(id, "sf_player_skin_сt", szSkin, charsmax(szSkin)) != -1)
        copy(player_models[id][MODEL_T], charsmax(player_models[][MODEL_СT]), szSkin);
   
    //установка скина оружия
    new iSkin = cmsapi_get_user_setting(id, "sf_weapon_skin");
    if(iSkin!= -1)
    {
        player_weapon_models[id][w_id][SKIN_ON] = true;
        player_weapon_models[id][w_id][SKIN_ID] = iSkin;
    }
}

//Сброс скинов в меню
//- меню игроков
cmsapi_set_user_setting(id, "sf_player_skin_t", .delete = true);
cmsapi_set_user_setting(id, "sf_player_skin_ct", .delete = true);

//-меню оружия
cmsapi_set_user_setting(id, "sf_weapon_skin", .delete = true);
 
Назад
Сверху