Jump to content
Korean Random

AlexChe

User
  • Content Count

    49
  • Joined

  • Last visited

Everything posted by AlexChe

  1. тут да, согласен, все меньше мододелов за идею. Как один из вариантов, создать какую-то глобальную папку для модов и массив определенных маркеров штук 15 под разные блоки игры или категории модулей. Глобальный мод мододела будет работать до тех патчей, пока этот маркер не изменится. К примеру, мод работает только с флешем и пару модулями, а они не меняются 7 патчей подряд (но меняется остальные 20 модулей игры). И все эти семь патчей он будет запускаться. На восьмой патч по флагу "изменения" он не запускается и будет вынужден адаптироваться автором. Тем самым привязываться к папкам будет меньше. А пока идет гонка на выносливость среди мододелов.
  2. Напомните мне критерий, после которого легальный мод становится читом? Если поднять общеизвестный список "запрещенки", то дословно их всех объединяет "предоставление преимущества в игре", так? А где эта грань проходит? Когда под это "предоставление преимущества" можно смело и xvm загнать, и большинство модов из протанков, джова и т.д. Про эту грань даже сами WG не могут точно ответить. По крайней мере так было, когда мы задавали этот вопрос на конкурсе WGDC в Минске. Все читы можно закрыть на запуск за десять строк кода. И глобально не борются с читами только потому, что как и легальные моды, все это популяризирует проект, приводит новичков и держит в игре слишком много игроков. Для примера, просто проанализируйте статистику по сайтам, группам с социалках и объему скачиваний модов у Протанков, Вотспика и остальных. Сколько уже денег это так или иначе принесло WG никто не считает. Но обе стороны понимают, что это на пользу всем. Ну и да, к слову, те кто в теме знают, что читы и легальные моды делают одни и те же люди.
  3. Если сегодня мы знаем, что завтра и послезавтра дня будет патч с изменением методов и модулей (откат), не проще бы было заранее сообщить о изменении методов и объединить все это в одну обнову?
  4. без анонсов, без всего. Клепаете через день. ЗП привязана к количеству патчей в месяц? Вышли с отпусков и погнали отрабатывать план. Четыре дня отпуска вычеркнуты и в режиме аврала все перекраиваем.
  5. "Мы своё призванье не забудем - Смех и радость мы приносим людям" (С)
  6. api опять обновить забыли
  7. 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 сработало и показало микрообнову без смена патча.
  8. Последние микрообновы (с изменением последней четвертой цифры) начали менять версию игры в api, а сегодня опять обновить забыли. Не забывайте пожалуйста. Это важно.
  9. Костя, можно ссылку на типовой запрос в центр? посмотрю тоже. upd. прислушались или совпадение, но сегодня на микрообнове обновились API. Апдейтеры разослали смс о изменениях версии на серверах asia и ru (на текущий момент)
  10. Спасибо Костя, проработаем этот вариант. т.е. тут маркер является <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 новых варианта решения уже есть.
  11. микрообновления со сменой папки это критичные вещи. А если сборками и модами занимаются несколько независимых друг от друга людей, то единое смс уведомление только ускоряет адаптацию модов. Т.е. о смене крупных версий мы узнаем из смс, а не через кучу жалоб и писем пользователей. Уже отработана система.
  12. ну у меня была мысль, парсить эту тему раз в день или посты Darth_Abaddon и по маркерам отслеживать нужные сообщения. А дальше уже смс уведомления мододелам. К примеру в сообщениях сохраняется стабильность в маркерах "микрообновление" и "mods"
  13. А вариант пойти навстречу мододелам и хотя бы api допилить до того, чтобы все эти микрообновления где-то отображались? Потому что единственное место в api https://api.worldoftanks.[zone]/wot/encyclopedia/info/?application_id=[application_id]&fields=tanks_updated_at%2Cgame_version дает только крупные обновы. Микрообновления остаются незамеченными. Я к тому, что мы бы сделали бы смс уведомления себе через эти API и оперативнее и спокойнее бы реагировали на обновы. Или где эти данные еще взять, кроме как чекать эту тему на предмет постов от WG?
  14. 1.5.0.3 3 микрообновления за неделю со сменой версии - это слишком мало. Игровое сообщество просит WG делать обновления каждый день. Долой сон, отпуска и работу. Каждый день перевыпускать моды и сборки - это забота о игроках, мододелах и непрерывное развитие игры! p.s. Не надо так. Спасибо за понимание.
  15. теперь все понятно. Вопрос с проблемами кирилицы решен. Спасибо!
  16. 1. но WizardForm.ComponentsList.Items выдает текстовое название пункта, а не его "name" 'KMP\punkt1' 2. Еще вопрос, как реализовать смену текстовых значений пунктов при выборе другого языка установки (русский, английский).Есть готовые решения?
  17. 1. т.е. только IsComponentSelected('KMP\punkt1').? (кстати работает спасибо) 2. а как функцию выше переделать, чтобы она выдавала все названия 'KMP\***' (т.е. спускалась "ниже")?
  18. мы ищем "включена ли галочка" в 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
  19. Вопрос такой. После инсталяции применяю подстройку конфига путем замены параметра на уже установленном модпаке. Следующим путем 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'); Но при этом ничего не ищет. В общем вот такая задача.
  20. Добрый день. Знаю, что уже было ранее на 230 страницах про это, но подскажите еще раз: Как сделать генерацию текстового файла (конфига) на лету в зависимости от выбранных позиций модов и сохранять на диск?. Как и где прописать проверку на выделение той или иной позиции, и после этого записывать определенное значение в файл с последующим сохранением? Благодарю за советы. p.s. Могу оплатить решение с моего примера (в личку) :)
  21. Да спасибо, на самом деле я уже использовал этот код при бекапе, просто запямятовал, где я еще делал такую проверку ранее )
  22. Напомните пожалуйста как проверить существование папки по определенному пути в inno setup?
  23. честно пытался вникнуть в суть их беседы. Прям старательные парни попались))) Последний пост 20 Nov 2015 . В итоге чем у них все закончилось? Деревья логики красивые получились у них. Заморочились таки, рисовали.
×
×
  • Create New...