Skinchooser, работа конфигов по префиксу карты

Lima

Участник
Сообщения
159
Реакции
57
Всем привет, прошу небольшой помощи по плагину Sm_Skinchooser, хочу переделать его, чтобы плагин использовал не название карты в файлах конфигурации, а префикс карты, подробнее:
Сейчас для карты de_dust2 необходимо переименовывать конфиги так:
C-подобный:
de_dust2_arms.ini
de_dust2_arms_downloads.ini
de_dust2_skins.ini
de_dust2_skins_downloads.ini
и сохранение скинов происходить в следующем порядке:
C-подобный:
data/de_dust2_skinchooser_armsmodels.ini
data/de_dust2_skinchooser_playermodels.ini

Я же хочу сделать чтобы следующая настройка распространялась на все карты с префиксом de_, пример:
C-подобный:
de_arms.ini
de_arms_downloads.ini
de_skins.ini
de_skins_downloads.ini
и соответственно сохраняло так же, по префиксу:
C-подобный:
data/de_skinchooser_armsmodels.ini
data/de_skinchooser_playermodels.ini

Спасибо @AlmazON за то, что довольно сильно приблизил к желаемому результату.
После 264 строки:
C-подобный:
GetCurrentMap(curmap, sizeof(curmap));
Добавь:
PHP:
decl position;
if ((position = FindCharInString(curmap, '_', true)) != -1) curmap[position] = '\0';
Так же вставлял после 429.

Это помогло, но есть 1 проблемка:
С обычными картами (пример de_dust2), которые содержат один "_" (пробел), сохраняет нормально, как и надо:
C-подобный:
data/de_skinchooser_armsmodels.ini
data/de_skinchooser_playermodels.ini
А вот если карта содержит боле 1 "_" (пробела), пример awp_lego_2, то сохраняет так:
C-подобный:
data/awp_lego_skinchooser_armsmodels.ini
data/awp_lego_skinchooser_playermodels.ini
а нужно так:
C-подобный:
data/awp_skinchooser_armsmodels.ini
data/awp_skinchooser_playermodels.ini
То есть обрезает только _2, может можно еще какую проверку впихнуть? (а ведь есть карты где больше 4 пробелов в названии карты...)

Сам плагин:
sm_skinchooser/sm_skinchooser.sp at master · NomisCZ/sm_skinchooser · GitHub
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
в FindCharInString(curmap, '_', true) убери последний параметр и будет тебе счастье
должно получиться FindCharInString(curmap, '_')
 
  • Мне нравится
Реакции: Lima
Сверху Снизу