Jump to content
Korean Random

AtotIK

User
  • Content Count

    1,528
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by AtotIK

  1. Всё уже придумано для вас, осталось только начать пользоваться.
  2. Банки без вшитого ключа работают. Но при этом ограничение на 200 звуковых файлов действует.
  3. По умолчанию при установке на "диск C" система может задать права записи в папку только для администратора. Сталкивался с таким сам. Нажмите правой клавишей мыши на папку Games, далее "Свойства -- Безопасность", нажимайте кнопку "Изменить", далее "Добавить", вводите в текстовом поле "Все", нажимаете "Проверить имена". Если всё корректно, то "Все" подчеркивается. Потом "Ок", ставите галочку в "Полный доступ" и "Ок" во всех окошках и проверяйте ещё раз. Таким образом в эту папку смогут записывать и менять её содержимое все пользователи.
  4. Зачем изобретать велосипед, если уже всё сделали и обкатали здесь? И объединить моды для WG/Lesta в один инсталлятор вообще нет проблем. В том же OpenWG.Utils есть функция CHECK_IsLesta для использования в секции [Files] или [Components].
  5. Для кого придумали это? https://gitlab.com/xvm/xvm/-/blob/master/src/installer/src/xvm.iss Прекрасно работает, а если попросите у автора - зальёт новую dll с поддержкой WG/Lesta.
  6. Тут посмотрите: https://bitbucket.org/IzeBerg/
  7. Хм, а у меня на арте гусеницы на живом танке не перекрашиваются в другой цвет. Upd. Да, в простом бою тоже не красятся. Реплей с Батчатом. Файлы собраны свежие с 1.18. 20220808_1051_ussr-R52_Object_261_60_asia_miao.wotreplay 20220810_0904_france-F18_Bat_Chatillon25t_31_airfield.wotreplay
  8. @StranikS_Scan привет. Будут изменения в программе в связи с переходом на новую реализацию гусениц? Upd. Добавился "res\packages\vehicles_level_08-part3.pkg", учитывайте это в конфиге.
  9. Ребята, а можно отдельно в png символ лампочки в ушах, пожалуйста?
  10. А вот универсальный метод, но он сложнее. Работает везде. type HANDLE = LongInt; HMODULE = HANDLE; pHMODULE = Array[0..255] of HMODULE; LPDWORD = DWORD; PDWORD = Array[0..255] of DWORD; LPTSTR = String; function OpenProcess(dwDesiredAccess: DWORD; bInheritHandle: Boolean; dwProcessId: DWORD): HANDLE; external '[email protected] stdcall delayload'; function CloseHandle(hObject: HANDLE): BOOL; external '[email protected] stdcall delayload'; function EnumProcesses(var pProcessIds: PDWORD; cb: DWORD; var pBytesReturned: DWORD): BOOL; external '[email protected] stdcall delayload'; function EnumProcessModules(hProcess: HANDLE; var lphModule: pHMODULE; cb: DWORD; var lpcbNeeded: LPDWORD): BOOL; external '[email protected] stdcall delayload'; function GetModuleFileNameExW(hProcess: HANDLE; hModule: HMODULE; lpFilename: LPTSTR; nSize: DWORD): DWORD; external '[email protected] stdcall delayload'; function IsAppRunning(procName: String; FullPath: Boolean): Boolean; var Found, isModuleShot: Boolean; FilenameEnd: Integer; Filename: AnsiString; NA, Entry, maxEntries: DWORD; Processes: PDWORD; lpFilename: LPTSTR; hProcess: HANDLE; hMod: pHMODULE; begin SetLength(lpFilename, 255); Found := False; if (EnumProcesses(Processes, SizeOf(Processes), maxEntries)) then begin Entry := 0; maxEntries := maxEntries / SizeOf(maxEntries); while ((not Found) and (Entry < maxEntries)) do begin hProcess := OpenProcess($400 or $10, False, Processes[Entry]); if (hProcess <> 0) then begin isModuleShot := False; begin isModuleShot := EnumProcessModules(hProcess, hMod, SizeOf(hMod), NA); end; if (isModuleShot) then if (GetModuleFileNameExW(hProcess, hMod[0], lpFilename, Length(lpFilename)) > 0) then begin FilenameEnd := Pos(#0, lpFilename); Filename := Copy(Lowercase(lpFilename), 1, FilenameEnd - 1); if (not Fullpath) then Filename := ExtractFileName(Filename); if (AnsiLowercase(Filename) = AnsiLowercase(procName)) then Found := True; end; CloseHandle(hProcess); end; Entry := Entry + 1; end; end; Result := Found; end; function NextButtonClick(CurPage: Integer): Boolean; begin Result := True; if CurPage = 1 then begin case IsAppRunning('WorldOfTanks.exe', False) of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result := False; end; False: Result := True; end; end; end; Тогда может это не твоё?
  11. function IsAppRunning(const FileName : AnsiString): Boolean; var FSWbemLocator: Variant; FWMIService : Variant; FWbemObjectSet: Variant; begin Result := False; FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator'); FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', ''); FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"', [FileName])); Result := (FWbemObjectSet.Count > 0); FWbemObjectSet := Unassigned; FWMIService := Unassigned; FSWbemLocator := Unassigned; end; function InitializeSetup(): Boolean; begin case IsAppRunning('WorldOfTanks.exe') of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result := False; end; False: begin Result := True; end; end; end; Работает с Windows 7. Что бы не вылетал с ошибкой инсталлятор на XP и Vista нужно обвернуть это в проверку версии, а лучше запретить инсталлятор запускать на системах ниже Windows 7 (сколько можно уже?). Так же можно закинуть в NextButtonClick с проверкой на любой странице (первой). Не причастные к друг другу вещи. Ищите ошибку у себя.
  12. Скачивать XFW.ExtensionLib_2021.05.01.zip, брать в архиве файл xvmextensions.x86_32.dll, файл примера там же.
  13. Лучше используйте это: https://gitlab.com/xvm/xvm-extensions/xfw.extensionlib/-/releases
  14. В XVM можно использовать шаблоны для миникарты под названием vtypeDead, vehicleDead и nickDead из minimapLabelsTemplates.xc. Подключите их в minimapLabels.xc и minimapLabelsAlt.xc.
  15. К сборке претензий нет. Претензии к картинке в шапке.
  16. А как она может не появляться при каждом запуске? Вы проверяете какие-то данные и только потом отображаете что на скриншотах? Инсталлятор показывает то, что ему сказали отобразить. А вот если идут дополнительные проверки, то смотрите в них. Какой вопрос, такой ответ.
  17. %SYSTEMDRIVE%\Users\%USERNAME%\AppData\Roaming\Wargaming.net\WorldOfTanks\preferences.xml Поиск по параметру <sensitivity>.
  18. По сути должно быть вот так. Проверяй (закинуть в mods\*версия*). no_radio_ally_killed_by_enemy.wotmod
  19. Скорее всего вам сюда:
  20. @ktulho отвалился скрипт на 1.13. В логах ошибок нет. xvm.log python.log
×
×
  • Create New...