Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Сравнение текущей карты из списка карт
Сравнение текущей карты из списка карт
Valeriks Дата: Вторник, 11.02.2014, 15:09:08 | Сообщение # 1
Сообщений: 101
Репутация: 3 [ +/- ]
Приветствую всех!
Вчера на этом форуме нашел интересный код, правда страницу потерял =) спать хотел.. но код сохранил.
Код
    decl String:map[125]; GetCurrentMap(map, 125);
      if (strcmp(map, "de_dust2") == 0)
      {
       тра ля ля... и пошло поехало ;)
      }

этот код получает название карты и сверяет с тем что мы указали в кавычках, если сходится то сценарий продолжается.
У меня такой вопрос. Как сделать чтобы проверка шла из файла cfg (или txt не важно) для того чтобы сравнить текущую карту из списка файла?

Например, в нашем файле такой список карт:

Код
cs_italy
de_dust
de_aztec
de_cbble
cs_office
de_chateau
de_dust2
de_piranesi


если текущая карта совпадает с картой из списка - выполняем определенный код, если нет, ничего не делаем.

Можно конечно продолжить данный код через else if (strcmp(map, "de_dust2") == 0) и так раз десять... но это же не дело, правильно?)) да и на будущее всегда проще будут изменить список в файле чем по сто раз править .sp и пре компилировать всё это.

У кого какие есть идеи на этот счёт?
п.с.. прошу не путать с оригинальным списком карт, под списком я имею ввиду мой список, отдельный от стандарта..


Сообщение отредактировал Valeriks - Вторник, 11.02.2014, 15:17:33
 
_wS_ Дата: Вторник, 11.02.2014, 19:13:05 | Сообщение # 2
Код
new Handle:hFile = OpenFile("maplist.txt", "r");
if (hFile == INVALID_HANDLE)
     return;

new bool:bFound = false;
decl String:CurrentMap[125], String:Text[125];
GetCurrentMap(CurrentMap, 125);

while (!IsEndOfFile(hFile) && ReadFileLine(hFile, Text, 125))
{
     if (TrimString(Text) > 0 && strcmp(Text, CurrentMap, true) == 0)
     {
         bFound = true;
         break;
     }
}

CloseHandle(hFile);

if (bFound)
{
     // ..
}
 
Valeriks Дата: Вторник, 11.02.2014, 22:31:11 | Сообщение # 3
Сообщений: 101
Репутация: 3 [ +/- ]
БлагоДарю! То что нужно. klas
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Сравнение текущей карты из списка карт
  • Страница 1 из 1
  • 1
Поиск: