[ВОПРОС]Как сломать систему сохранений? - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Модостроительство В этом разделе можно обсуждать все что касается создания модов для Heroes of Might and Magic V.

Ответ
 
Опции темы
#1
Старый 09.04.2023, 21:05
  #1
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 94
Регистрация: 23.04.2019
Сообщения: 94
По умолчанию
[ВОПРОС]Как сломать систему сохранений?

Я делаю карту где целью является выживание на рекорд, однако система сохранений ломает всю концепцию. Я знаю как сломать сохранки в мультиплеере, используя TalkBox, однако не имею понятия как это сделать в одиночном режиме. Кто-нибудь знает рабочий способ сломать сохранения или заставить скрипт понять, что была загрузка и выдать инста поражение? Буду очень рад вашей помощи.
Долгий вне форума
Ответить с цитированием
#2
Старый 10.04.2023, 08:27
  #2
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1973
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1973
Выставка наград
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Есть функции Save() и Load(), возможно, если переписать их, выйдет что-то путное. Кроме того, есть стопроцентный вариант — просто вырезать кнопки сохранения игры из меню, а также убрать хоткей. Но это уже прямо костылище
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3
Старый 10.04.2023, 15:01
  #3
^
psatkha
 
Аватар для psatkha
📖
Регистрация: 15.03.2007
Адрес: Баталпашинск
Сообщения: 2793
Отправить сообщение для  psatkha с помощью ICQ Psatkha
Регистрация: 15.03.2007
Адрес: Баталпашинск
Сообщения: 2793
Отправить сообщение для  psatkha с помощью ICQ Psatkha
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Если игра при помощи скриптов умеет сохранять и загружать файлы, то можно выгружать в файл после нажатия пользователем "Завершить ход" идентификатор игры... началась игра - идёт генерация идентификатора сессии (некий рандом в диапазоне и так 4 раза ну типа как пин-код чтобы получилось, можно и больше переменных сделать, хотя 4 оптимально) и запись файла с этим идентификатором -  всё мы зафиксировали идентификатор сессии и переменная контроль сессии получает это значение... перед очередным нажатием пользователя "Завершить ход" считать этот файл и выполнить проверочную генерацию идентификатора типа пин кода, то есть в четыре разряда - совпадение исключено в принципе!

1
2
3
4
5
6
r = os.clock()
function _random()
  math.randomseed(r);
  r = math.random()
  return r;
end
__________________
С уважением, Psatkha (Псатха)



---------------------------------------------



Неудачное планирование ведёт к неудаче ...


NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
С уважением, Psatkha (Псатха)



---------------------------------------------



Неудачное планирование ведёт к неудаче ...


NCF - мод, добавляющий дополнительных существ в HeroesV 3.1
psatkha вне форума
Ответить с цитированием
#4
Старый 10.04.2023, 18:44
  #4
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 94
Регистрация: 23.04.2019
Сообщения: 94
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Спасибо большое за советы. Мне удалось сломать систему сохранений. Я сделал пустой ссылку shared в файлах /UI/Load.(WindowScreen).xdb и /UI/Save.(WindowScreen).xdb. Теперь нажимая на кнопку сохранить или загрузить, а также f6 игра просто вылетает. Меня это более чем устраивает 😀
Долгий вне форума
Ответить с цитированием
#5
Старый 10.04.2023, 19:14
  #5
^
Mооnst@r
📖
Регистрация: 07.08.2019
Сообщения: 294
Регистрация: 07.08.2019
Сообщения: 294
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Если есть возможность сделать по-нормальному - сделай. С подходом "устраивающим тебя", человеку, привыкшему часто прожимать f5, такое точно придётся не по нраву. На третий - четвёртый "сейв" обложит матом и удалит сценарий.
Mооnst@r вне форума
Ответить с цитированием
#6
Старый 10.04.2023, 19:26
  #6
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 94
Регистрация: 23.04.2019
Сообщения: 94
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Ну а если серьёзно, вот что мне удалось сделать: В файлах /UI/Load.(WindowScreenShared).xdb и /UI/Save.(WindowScreenShared).xdb в Children удалил ссылки на кнопку "Сохранить"/"Загрузить". После этого кнопки пропали, но осталась возможность сохранять/заугружать с помощью 2 клика лкм на сам файл в списке. Это пофиксил в файлах /UI/SaveLoad/SavesList.(WindowScrolllableContainer).xdb и LoadsList.(WindowScrollableContainer).xdb удалив блок двойного клика мыши. После этого сохранять файлы можно только с помощью f5, а загружать невозможно вообще (кажется). Мод прикрепил к комментарию.
Вложения
Тип файла: zip NoSavesMod.zip (120.8 Кбайт, 5 просмотров)
Долгий вне форума
Ответить с цитированием
#7
Старый 10.04.2023, 19:27
  #7
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 94
Регистрация: 23.04.2019
Сообщения: 94
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Mооnst@rЕсли есть возможность сделать по-нормальному - сделай. С подходом "устраивающим тебя", человеку, привыкшему часто прожимать f5, такое точно придётся не по нраву. На третий - четвёртый "сейв" обложит матом и удалит сценарий.

Нету в вас чувства юмора...
Долгий вне форума
Ответить с цитированием
#8
Старый 10.04.2023, 19:57
  #8
^
Mооnst@r
📖
Регистрация: 07.08.2019
Сообщения: 294
Регистрация: 07.08.2019
Сообщения: 294
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Долгий...После этого сохранять файлы можно только с помощью f5, а загружать невозможно вообще (кажется).

Можно сохранить нажав entr в меню "сохранить игру".
Mооnst@r вне форума
Ответить с цитированием
#9
Старый 10.04.2023, 20:13
  #9
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 94
Регистрация: 23.04.2019
Сообщения: 94
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Mооnst@rМожно сохранить нажав entr в меню "сохранить игру".

Спасибо. Радует что enter позволяет лишь сохранить, но не загрузить. Нашел ещё проблему - горячую клавишу f8

Добавлено через 11 минут
И она работает даже в первом моде (там, где вылеты)
Долгий вне форума
Ответить с цитированием
#10
Старый 11.04.2023, 07:43
  #10
^
vova2112
 
Аватар для vova2112
📖
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 115
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 115
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Для отключения кнопок сохранения и загрузки можно подправить файлы -
[UI\SaveLoad\SaveSpecific\Save.(WindowMSButton).xdb ] убрать команду
				<Commands>
					<Item href="/UI/SaveLoad/Save.(UISDirectRunReaction).xdb#xpointer(/UISDirectRunReaction)"/>
				</Commands>

на 

				<Commands/>

аналогично убрать команду на загрузку в [UI\SaveLoad\SaveSpecific\Load.(WindowMSButton).xdb ].
И на двойной клик [UI/SaveLoad/LoadsList.(WindowScrollableContainer).xdb]

		<Commands>
			<Item href="LoadDblClick.(UISDirectRunReaction).xdb#xpointer(/UISDirectRunReaction)"/>
		</Commands>

А вот с [quickload 'F8'] и [quicksave 'F5'] ничего сделать не получится эти команды вшиты в exe, конечно и там можно сломать если через HEX редактор изменить значения например на quicklo1d и quicksa1e. Но это так себе вариант.
__________________
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
vova2112 вне форума
Ответить с цитированием
#11
Старый 11.04.2023, 13:36
  #11
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1973
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1973
Выставка наград
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

Можно попробовать через скриптовую команду прописывать в консоль
unbind ИМЯ_КОМАНДЫ
или bind ИМЯ_КОМАНДЫ "MOUSE_B5"
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#12
Старый 11.04.2023, 16:24
  #12
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 94
Регистрация: 23.04.2019
Сообщения: 94
По умолчанию
Re: [ВОПРОС]Как сломать систему сохранений?

vova2112Для отключения кнопок сохранения и загрузки

Как я уже писал выше, кнопки вообще не появляются в меню сохранения/загрузки, что есть замечательно.
vova2112А вот с [quickload 'F8'] и [quicksave 'F5'] ничего сделать не получится эти команды вшиты в exe, конечно и там можно сломать если через HEX редактор изменить значения например на quicklo1d и quicksa1e. Но это так себе вариант.

Да, idшки quickload и quicksave создаются в exe. Однако бинды на f8, f5 пишутся в файле input_a2.cfg, который находится в документах. Я вчера просто закомментил строчки: bind quicksave 'F5' и
bind quickload 'F8'. Это помогло, но прийдётся объяснять пользователям куда совать этот файл или (упаси господи) делать установочник. Ваша идея с изменением битов в exe мне нравится, так как данная карта уже работает на кастомном exe.


Добавлено через 1 минуту
}{0TT@6bI4Можно попробовать через скриптовую команду прописывать в консоль
unbind ИМЯ_КОМАНДЫ
или bind ИМЯ_КОМАНДЫ "MOUSE_B5"

Пробывал. По каким то неведомым мне причинам работает лишь в ~10% случаев

PS. заработало с помощью
unbind quicksave
unbind quickload
Долгий вне форума
Ответить с цитированием
Ответ


Опции темы



Часовой пояс GMT +4, время: 13:38.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru