Mr_KeyN Posted June 25, 2014 Share Posted June 25, 2014 Всем привет, кто подскажет что прописать что бы перед установкой модов очищался кэш игры ???? @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted June 26, 2014 Share Posted June 26, 2014 очищался кэш игры О чем это? @ Quote Link to comment Short link Share on other sites More sharing options...
Yusha Posted June 26, 2014 Share Posted June 26, 2014 (edited) Всем привет, кто подскажет что прописать что бы перед установкой модов очищался кэш игры ???? [InstallDelete] //Очистка кеша Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\account_caches Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\battle_results Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\custom_data Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\dossier_cache Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\tutorial_cache Edited June 26, 2014 by Yusha @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 26, 2014 Share Posted June 26, 2014 О чем это? Я так понял, что имеются ввиду настройки игры и т.д. @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted June 26, 2014 Share Posted June 26, 2014 (edited) Я так понял, что имеются ввиду настройки игры и т.д. Обычно настройки игры просят оставить. Такой вот скрипт, если я правильно понял: Set fso = CreateObject("Scripting.FileSystemObject")Set WshShell = CreateObject("WScript.Shell") Set strFolder = fso.GetFolder(WshShell.ExpandEnvironmentStrings("%APPDATA%")) TempGameFolder = (strFolder & "\" & "Wargaming.net" & "\" & "WorldOfTanks") Set objFSO=Createobject("Scripting.Filesystemobject") Set objFolder=objFSO.GetFolder(TempGameFolder) Set objFiles=objFolder.Files For Each objFile In objFiles If objFile.Name <> "preferences.xml" Then objFSO.DeleteFile TempGameFolder & "\" & objFile.Name, True End if Next For Each objSubFolder In objFolder.SubFolders objFSO.DeleteFolder TempGameFolder & "\" & objSubFolder.Name Next MsgBox TempGameFolder & chr(13) & oFolder & chr(13) & TempSysFolder & chr(13) & chr(13) & chr(13) & " ----- ОЧИЩЕНО -----" Edited June 26, 2014 by ventura69 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 26, 2014 Share Posted June 26, 2014 (edited) Обычно настройки игры просят оставить. Просто если это действительно настройки игры, то вариант, предложенный @Yusha, будет делать это автоматом. Я, как пользователь, не хочу, чтобы мои настройки сбивались. По-этому, лучше это осуществить чекбоксом (где-то на странице с бекапом). Edited June 26, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted June 26, 2014 Share Posted June 26, 2014 (edited) Просто если это действительно настройки игры, то вариант, предложенный @Yusha, будет делать это автоматом. Я, как пользователь, не хочу, чтобы мои настройки сбивались. По-этому, лучше это осуществить чекбоксом (где-то на странице с бекапом). Тогда встречный вопрос. Опять туплю. Я всегда чистил кеш скриптом, который выложил. Сейчас попытался прикрутить от Yusha кусок кода. Создал блок, вставил такое: varQuick: TCheckBox; function MakeQuick: Boolean;beginIf Quick.Checked thenbegin //Очистка кешаType: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\account_cachesType: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\battle_resultsType: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\custom_dataType: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\dossier_cacheType: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\tutorial_cacheChecked := True;end else beginChecked := False;end;end; procedure InitializeWizard3;beginQuick := TCheckBox.Create(WizardForm);with Quick dobeginParent := WizardForm.SelectDirPage;Caption := Очистить кеш?';Left := ScaleX(0);// Left := WizardForm.DirEdit.Top + 100;Top := WizardForm.DirEdit.Top + 117;Width := ScaleX(300);Height := ScaleY(15);TabOrder := 0;Checked := False;end;end;Появилось окошко, в нем можно ставить галочку (до тех пор, пока не вписал реакцию на появившуюся галочку), но начало ругаться "Identifier expected" на строке 12, колонка 1. То есть на Type. Что ему не нравится, что я упустил? p.s. Вот чего не понимаю, так это подленьких минусов! К чему это? Форум создан для общения и помощи. На вопрос и просьбу о помощи какой-то придурок с раздутым самомнением ставит минус... И к чему это сделано? Я много не умею, но стремлюсь узнать... На минус плевать, а вот от отношения такого всякое желание отбивается... :-( Edited June 28, 2014 by ventura69 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 26, 2014 Share Posted June 26, 2014 (edited) @ventura69, а с какого ты вот это: //Очистка кеша Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\account_caches Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\battle_results Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\custom_data Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\dossier_cache Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\tutorial_cache вписал в секцию Code? Просмотри внимательнее сообщение Юши. Всё это нужно вписывать в отдельную секцию [installDelete]. Если тебе нужно сделать через секцию Code, с чекбоксом - то нужно делать по-другому, и конструкция не будет даже похожа не эту (кроме путей). Edited June 26, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted June 26, 2014 Share Posted June 26, 2014 @ventura69, а с какого ты вот это: вписал в секцию Code? Просмотри внимательнее сообщение Юши. Всё это нужно вписывать в отдельную секцию [installDelete]. Если тебе нужно сделать через секцию Code, с чекбоксом - то нужно делать по-другому, и конструкция не будет даже похожа не эту (кроме путей). Потому как я балбес невнимательный! Спасибо. Пошел снова штудировать справку. Уважаемые, а такой вариант? Не могу понять, почему не реагирует на галку в окошке. varQuick: TCheckBox; function MakeQuick: Boolean;beginResult:=Quick.Checked;DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\account_caches'), True, True, True);DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\battle_results'), True, True, True);DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\custom_data'), True, True, True);DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\dossier_cache'), True, True, True);DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\tutorial_cache'), True, True, True);end; procedure InitializeWizard3;beginQuick := TCheckBox.Create(WizardForm);with Quick dobeginParent := WizardForm.SelectDirPage;Caption := 'Очистка кеш';Left := ScaleX(0);// Left := WizardForm.DirEdit.Top + 100;Top := WizardForm.DirEdit.Top + 117;Width := ScaleX(300);Height := ScaleY(15);TabOrder := 0;Checked := False;end;end; @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 26, 2014 Share Posted June 26, 2014 (edited) @ventura69, function MakeQuick: Boolean; begin if Quick.Checked:=True then begin DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\account_caches'), True, True, True); DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\battle_results'), True, True, True); DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\custom_data'), True, True, True); DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\dossier_cache'), True, True, True); DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\tutorial_cache'), True, True, True); end; end; а так? Edited June 26, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted June 26, 2014 Share Posted June 26, 2014 @ventura69, а так? Я тоже дошел до этого, вот только пока не проверить (на работе). Пытался смоделировать расположение файлов, не получилось. Вечером дома проверю - отпишусь. @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 26, 2014 Share Posted June 26, 2014 Я так понял, что имеются ввиду настройки игры и т.д. Короче, ничего не понял. Зачем нужно удаление кэша? чем это помогает? @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted June 26, 2014 Share Posted June 26, 2014 Короче, ничего не понял. Зачем нужно удаление кэша? чем это помогает? Присоединяюсь к вопросу. @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted June 26, 2014 Share Posted June 26, 2014 Короче, ничего не понял. Зачем нужно удаление кэша? чем это помогает? Присоединяюсь к вопросу. Была проблема в свое время: вис у народа клиент, помогала очистка кэш. Точно уже не помню, было это пару патчей назад. И сейчас часто спрашивают, как его чистить. Зачем - не помню. По поводу решения моего вопроса. Плюнул я на создание окна с галочкой по очистке кэша и вот такое решение получилось... Комплексное. Вспомнил кое-что из Делфи. Блок делает: создает новое окно после выбора директории установки (чтобы запомнить путь установки и переброски файлов), создает 4 чека (удалить моды, создать копию своей сборки, отмена всех действий и отдельно очистка кэш). По умолчанию: не делать ничего. Можно еще добавить восстановление сборки из сохраненки. Из минусов: привязан к версии клиента 0.9.1 (решение для универсальности где-то попадалось, но пока не вспомнил где). Если кому надо - пользуйтесь на здоровье :-) claerkash.rar Ну и скрин для наглядности: @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 26, 2014 Share Posted June 26, 2014 @ventura69, вот это я и предлагал сделать) Из минусов: привязан к версии клиента 0.9.1 Решение:1) Прописываешь, где-то в начале скрипта (вне всяких секций типа [setup], [Files] и т.д.) директиву, типа: #define Patch "0.9.1" 2) В коде, где нужно подставить эту версию, вписываешь {#Patch}. В итоге, возвращаемое значение от вписанной директивы будет такое, какое ты прописал в 1-м шаге. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted June 26, 2014 Share Posted June 26, 2014 (edited) Решение: 1) Прописываешь, где-то в начале скрипта (вне всяких секций типа [setup], [Files] и т.д.) директиву, типа: #define Patch "0.9.1" 2) В коде, где нужно подставить эту версию, вписываешь {#Patch}. В итоге, возвращаемое значение от вписанной директивы будет такое, какое ты прописал в 1-м шаге. Принял к сведению, вписал, проверил. Работает. Спасибо!!! Edited June 26, 2014 by ventura69 @ Quote Link to comment Short link Share on other sites More sharing options...
Yusha Posted June 27, 2014 Share Posted June 27, 2014 (edited) Просто если это действительно настройки игры, то вариант, предложенный @Yusha, будет делать это автоматом. Я, как пользователь, не хочу, чтобы мои настройки сбивались. По-этому, лучше это осуществить чекбоксом (где-то на странице с бекапом). Я дал решение в соответствии с формулировкой вопроса... у меня самого записано вот так: [InstallDelete] //Очистка кеша и логов Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\account_caches; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\battle_results; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\custom_data; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\dossier_cache; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\tutorial_cache; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: files; Name: {app}\python.log; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: files; Name: {app}\xvm.log; Check: IsAdditionalTaskChecked('ClearCacheTask') Соответственно для этого всего еще прописан код. Короче, ничего не понял. Зачем нужно удаление кэша? чем это помогает? Данная процедура рекомендована при выходе нового обновления. Еще была темка на оф. форуме по данному вопросу... но беглым поиском я не нашел.... можете сами поискать. Edited June 27, 2014 by Yusha @ Quote Link to comment Short link Share on other sites More sharing options...
Mr_KeyN Posted June 27, 2014 Share Posted June 27, 2014 Я дал решение в соответствии с формулировкой вопроса... у меня самого записано вот так: [installDelete] //Очистка кеша и логов Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\account_caches; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\battle_results; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\custom_data; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\dossier_cache; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\tutorial_cache; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: files; Name: {app}\python.log; Check: IsAdditionalTaskChecked('ClearCacheTask') Type: files; Name: {app}\xvm.log; Check: IsAdditionalTaskChecked('ClearCacheTask') Соответственно для этого всего еще прописан код. Если можно ещё и код на возможность выбора.....очищать или нет... @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted June 27, 2014 Share Posted June 27, 2014 Если можно ещё и код на возможность выбора.....очищать или нет... Так возьмите мой. Он полностью рабочий. Проверил на своем клиенте. @ Quote Link to comment Short link Share on other sites More sharing options...
Mr_KeyN Posted June 27, 2014 Share Posted June 27, 2014 Так возьмите мой. Он полностью рабочий. Проверил на своем клиенте. такой мне не подходит... @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.