-
Content Count
1,528 -
Joined
-
Last visited
-
Days Won
10
Posts posted by AtotIK
-
-
Банки без вшитого ключа работают. Но при этом ограничение на 200 звуковых файлов действует.
-
По умолчанию при установке на "диск C" система может задать права записи в папку только для администратора. Сталкивался с таким сам.
Нажмите правой клавишей мыши на папку Games, далее "Свойства -- Безопасность", нажимайте кнопку "Изменить", далее "Добавить", вводите в текстовом поле "Все", нажимаете "Проверить имена". Если всё корректно, то "Все" подчеркивается. Потом "Ок", ставите галочку в "Полный доступ" и "Ок" во всех окошках и проверяйте ещё раз.
Таким образом в эту папку смогут записывать и менять её содержимое все пользователи.
- 1
-
Зачем изобретать велосипед, если уже всё сделали и обкатали здесь?
И объединить моды для WG/Lesta в один инсталлятор вообще нет проблем. В том же OpenWG.Utils есть функция CHECK_IsLesta для использования в секции [Files] или [Components].
- 2
-
Для кого придумали это? https://gitlab.com/xvm/xvm/-/blob/master/src/installer/src/xvm.iss
Прекрасно работает, а если попросите у автора - зальёт новую dll с поддержкой WG/Lesta.
- 1
-
Проблема в XVM. Аддон тут не причём.
- 1
-
-
08.08.2022 в 11:47, StranikS_Scan сказал:Проверил результаты работы мода на Прохоровке - всё работает как обычно. Так что обновлять программу мне не нужно.
Хм, а у меня на арте гусеницы на живом танке не перекрашиваются в другой цвет.
Upd. Да, в простом бою тоже не красятся. Реплей с Батчатом. Файлы собраны свежие с 1.18.
20220808_1051_ussr-R52_Object_261_60_asia_miao.wotreplay
20220810_0904_france-F18_Bat_Chatillon25t_31_airfield.wotreplay
-
@StranikS_Scan привет. Будут изменения в программе в связи с переходом на новую реализацию гусениц?
Upd.
Добавился "res\packages\vehicles_level_08-part3.pkg", учитывайте это в конфиге.
- 1
-
Ребята, а можно отдельно в png символ лампочки в ушах, пожалуйста?
-
17 часов назад, P.S.Enot сказал:не просто нужно что бы кто то помог с овсем разобраться для понимания и все будет нормально у же потом . москва не сразу строилась
: =
замени на
:=
-
А вот универсальный метод, но он сложнее. Работает везде.
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;2 минуты назад, P.S.Enot сказал:интересно сказано. но я не понял не чего )))
Тогда может это не твоё?
-
Только что, P.S.Enot сказал:у меня виндовс 10
А у хомячков корч.
-
02.10.2021 в 01:19, P.S.Enot сказал:Ребята кому не сложно поделитесь кодом который определяет что игра запущена.
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 с проверкой на любой странице (первой).
07.10.2021 в 15:20, P.S.Enot сказал:ошибку выдает
Не причастные к друг другу вещи. Ищите ошибку у себя.
-
3 минуты назад, P.S.Enot сказал:еще бы знать что конкретно от туда скачивать какой зип архив и что и как
Скачивать XFW.ExtensionLib_2021.05.01.zip, брать в архиве файл xvmextensions.x86_32.dll, файл примера там же.
-
01.10.2021 в 19:59, P.S.Enot сказал:Здравствуйте подскажите как сделать что бы установщик автоматически определял на каком диске стоит игра ???
Лучше используйте это: https://gitlab.com/xvm/xvm-extensions/xfw.extensionlib/-/releases
-
В XVM можно использовать шаблоны для миникарты под названием vtypeDead, vehicleDead и nickDead из minimapLabelsTemplates.xc.
Подключите их в minimapLabels.xc и minimapLabelsAlt.xc.
- 1
-
4 минуты назад, P.S.Enot сказал:А кроме как обосрать нельзя было что то хорошее написать. Девушка так и написала что это сборка с ее предпочтением . тобишь моды что она использует и хвм с настройками которые ей по душе. Один негатив так и брызжет.
К сборке претензий нет. Претензии к картинке в шапке.
-
Совпадение?
- 1
-
А как она может не появляться при каждом запуске? Вы проверяете какие-то данные и только потом отображаете что на скриншотах? Инсталлятор показывает то, что ему сказали отобразить. А вот если идут дополнительные проверки, то смотрите в них. Какой вопрос, такой ответ.
-
-
%SYSTEMDRIVE%\Users\%USERNAME%\AppData\Roaming\Wargaming.net\WorldOfTanks\preferences.xml
Поиск по параметру <sensitivity>.
- 1
-
По сути должно быть вот так. Проверяй (закинуть в mods\*версия*).
- 1
-
Скорее всего вам сюда:
-
Создание инсталляторов для модпаков на базе Inno Setup
in Modding General Discussion
Posted
Всё уже придумано для вас, осталось только начать пользоваться.