Jump to content
Korean Random

AlexChe

User
  • Content Count

    44
  • Joined

  • Last visited

Community Reputation

4 Noob

Basic information

  • Gender
    Мужчина
  • Interests
    .net, c#, mssql, java

Recent Profile Visitors

1569 profile views
  1. api опять обновить забыли
  2. https://api.worldoftanks.[zone]/wot/encyclopedia/info/?application_id=[application_id]&fields=tanks_updated_at%2Cgame_version где [zone]- регион игры (RU,COM,EU,ASIA) [application_id] - персональный application_id, во всех 4 зонах игры он разный. Сегодня, кстати, api сработало и показало микрообнову без смена патча.
  3. Последние микрообновы (с изменением последней четвертой цифры) начали менять версию игры в api, а сегодня опять обновить забыли. Не забывайте пожалуйста. Это важно.
  4. Костя, можно ссылку на типовой запрос в центр? посмотрю тоже. upd. прислушались или совпадение, но сегодня на микрообнове обновились API. Апдейтеры разослали смс о изменениях версии на серверах asia и ru (на текущий момент)
  5. Спасибо Костя, проработаем этот вариант. т.е. тут маркер является <part name="sdcontent" latest="true" /> Пока остается вопрос открытым получение номера клиентской версии без необходимости лезть *.cfg игры. Ведь, чтобы сделать запрос выше, нужно знать этот client_ver изначально. client_ver=9.19.13258 иначе * launcher_ver * This field is required. * locale_ver * This field is required. * client_ver * This field is required. Хотелось бы, к примеру, закинуть этот процесс на сервер и пусть живет там циклично, без необходимости обновлять игру вручную и прописывать этот номер client_ver. Сделать это полностью автоматизированным. Будем думать. Как минимум 2 новых варианта решения уже есть.
  6. микрообновления со сменой папки это критичные вещи. А если сборками и модами занимаются несколько независимых друг от друга людей, то единое смс уведомление только ускоряет адаптацию модов. Т.е. о смене крупных версий мы узнаем из смс, а не через кучу жалоб и писем пользователей. Уже отработана система.
  7. ну у меня была мысль, парсить эту тему раз в день или посты Darth_Abaddon и по маркерам отслеживать нужные сообщения. А дальше уже смс уведомления мододелам. К примеру в сообщениях сохраняется стабильность в маркерах "микрообновление" и "mods"
  8. А вариант пойти навстречу мододелам и хотя бы api допилить до того, чтобы все эти микрообновления где-то отображались? Потому что единственное место в api https://api.worldoftanks.[zone]/wot/encyclopedia/info/?application_id=[application_id]&fields=tanks_updated_at%2Cgame_version дает только крупные обновы. Микрообновления остаются незамеченными. Я к тому, что мы бы сделали бы смс уведомления себе через эти API и оперативнее и спокойнее бы реагировали на обновы. Или где эти данные еще взять, кроме как чекать эту тему на предмет постов от WG?
  9. 1.5.0.3 3 микрообновления за неделю со сменой версии - это слишком мало. Игровое сообщество просит WG делать обновления каждый день. Долой сон, отпуска и работу. Каждый день перевыпускать моды и сборки - это забота о игроках, мододелах и непрерывное развитие игры! p.s. Не надо так. Спасибо за понимание.
  10. теперь все понятно. Вопрос с проблемами кирилицы решен. Спасибо!
  11. 1. но WizardForm.ComponentsList.Items выдает текстовое название пункта, а не его "name" 'KMP\punkt1' 2. Еще вопрос, как реализовать смену текстовых значений пунктов при выборе другого языка установки (русский, английский).Есть готовые решения?
  12. 1. т.е. только IsComponentSelected('KMP\punkt1').? (кстати работает спасибо) 2. а как функцию выше переделать, чтобы она выдавала все названия 'KMP\***' (т.е. спускалась "ниже")?
  13. мы ищем "включена ли галочка" в WizardForm.ComponentsList.Items т.к поиск по имени не срабатывает при отсутствии русской кодировки. сейчас проверю IsComponentSelected('KMP\punkt1'). А как сделать деревянную функцию поиска этого 'KMP\punkt1' в функции ниже? function GetIndexComponent(ComponentName: String): Integer; var J: Integer; Nowstring: String; begin Result:= -1; for J:=0 to WizardForm.ComponentsList.ItemCount-1 do begin Nowstring:=Lowercase(WizardForm.ComponentsList.Items[J]); if (Lowercase(ComponentName)=Nowstring) then begin Result:=J; break; end; end; end; т.к. при функции выше в WizardForm.ComponentsList.Items[J] он выдает опять же текстовое значение пункта, а не Name
  14. Вопрос такой. После инсталяции применяю подстройку конфига путем замены параметра на уже установленном модпаке. Следующим путем 1. Проверяю, был ли checked пункта с именем "Пункт1" следующим видом Function ComponentsChecked(Name: String): Boolean; begin Result := _IsComponentSelected(WizardForm.ComponentsList, Name); end; Function _IsComponentSelected(CheckListBox: TNewCheckListBox; Name: String): Boolean; var I, Idx: Integer; begin Result := False; try Idx := CheckListBox.Items.IndexOf(Name); // Idx := CheckListBox.Items.IndexOfName(Name) for I := 0 to CheckListBox.ItemCount - 1 do if (Idx <= CheckListBox.ItemCount) and (Idx = I) then Result := CheckListBox.Checked[Idx]; except MsgBoxEx(WizardForm.Handle, GetExceptionMessage(), '{#__FILE__}: {#__LINE__}', MB_ICONERROR or MB_OK, 0, 0); Log('[CUSTOM LOG]: ' + 'Checked. I = ' + IntToStr(I) + '. Name: "' + Name + '".'); end; end; 2. Дальше делаю если пункт выбран, делаю замену в конечном фонфиге функцией Procedure ConfigEdit(DefPath, ConfigFile: String; IsComponents: Boolean; OldValue, NewValue: String); var Config: TStringList; ConfigPath: String; back_num: Integer; begin if IsComponents then try Config := TStringList.Create; ConfigPath := ExpandConstant(DefPath + ConfigFile); ChangeConfiguratorStatus(ConfigPath); back_num:=Editor(Config, DefPath, ConfigPath, OldValue, NewValue); if back_num < 1 then MsgBoxEx(WizardForm.Handle, ConfigPath + #13#10 + OldValue + #13#10 + NewValue, 'Config value doesn`t changed', MB_ICONWARNING or MB_OK, 0, 0); finally Config.Free; end; end; 3. Это все замечательно работает, но не не в странах, где нет русской кодировки. т.е. на этапе поиска/одобрения этого пункта идет затык. Как мне обойти этот момент? Есть еще строчки вида Name: KMP\punkt1; Description: "{cm:CompName1}"; Flags: disablenouninstallwarning; Types: custom; Вероятно можно делать поиск по "KMP\punkt1", но тогда какие параметры запроса должны быть в _IsComponentSelected(WizardForm.ComponentsList, Name); и какая сама функция _IsComponentSelected должна быть? Мы должны искать вместо: Idx := CheckListBox.Items.IndexOf(Name); искать Idx := CheckListBox.Items.IndexOfName( 'KMP\punkt1'); Но при этом ничего не ищет. В общем вот такая задача.
  15. Добрый день. Знаю, что уже было ранее на 230 страницах про это, но подскажите еще раз: Как сделать генерацию текстового файла (конфига) на лету в зависимости от выбранных позиций модов и сохранять на диск?. Как и где прописать проверку на выделение той или иной позиции, и после этого записывать определенное значение в файл с последующим сохранением? Благодарю за советы. p.s. Могу оплатить решение с моего примера (в личку) :)
×