oleg_nelasy
Участник
- Сообщения
- 664
- Реакции
- 46
Всем привет. Вопрос такой надо из файла в зависимости от карты и игры помещать помещать путь mdl в чар.
На данный момент разобрался только как читать сам конфиг а как сделать структуру в тупике.
На данный момент код выглядит так просто читаю файл. То что событие начало раунда это просто для проверки. Разумеется чтение будет происходить при старте новой карты.
Нужно делать проверку на игру после на карту. Проверка на игру уже реализована достаточно if(CSS) или if(CSGO) далее если карта совпала положить в sModelT и sModelCT пути. Если нужная карта не найдена положить default они будут предварительно кэшированы.
На данный момент разобрался только как читать сам конфиг а как сделать структуру в тупике.
На данный момент код выглядит так просто читаю файл. То что событие начало раунда это просто для проверки. Разумеется чтение будет происходить при старте новой карты.
C-подобный:
#include <sdktools_functions.inc>
public void OnPluginStart()
{
HookEvent("round_start", Event_OnStart);
//HookEvent("round_end", OnEnd);
}
public Action Event_OnStart(Handle event, const char[] name, bool dontBroadcast)
{
char ConfigPath[255];
BuildPath(Path_SM, ConfigPath, 255, "configs/krabik/test.cfg");
Handle hFile = OpenFile(ConfigPath, "r");
char sBuffer[255];
while (ReadFileLine(hFile, sBuffer, sizeof(sBuffer)))
{
PrintToChatAll("%s", sBuffer);
}
}
Пример конфига:
"CSGO"
{
"default"
{
"t" "models/player/custom_player/legacy/tm_leet_variantE.mdl"
"ct" "models/player/custom_player/legacy/ctm_idf_variantB.mdl"
}
"de_dust2"
{
"t" "models/player/custom_player/legacy/tm_leet_variantE.mdl"
"ct" "models/player/custom_player/legacy/ctm_idf_variantB.mdl"
}
}
"CSS"
{
"default"
{
"t" "models/player/t_leet.mdl"
"ct" "models/player/ct_sas.mdl"
}
"de_dust2"
{
"t" "models/player/t_leet.mdl"
"ct" "models/player/ct_sas.mdl"
}
}
Нужно делать проверку на игру после на карту. Проверка на игру уже реализована достаточно if(CSS) или if(CSGO) далее если карта совпала положить в sModelT и sModelCT пути. Если нужная карта не найдена положить default они будут предварительно кэшированы.